Path: news.daimi.aau.dk!news.uni-c.dk!sunic!sunic.sunet.se!news.sprintlink.net!cs.utexas.edu!howland.reston.ans.net!Germany.EU.net!news.dfn.de!gina.zfn.uni-bremen.de!marvin.pc-labor.uni-bremen.de!news.uni-stuttgart.de!rz.uni-karlsruhe.de!not-for-mail From: Rainer Neumann Newsgroups: comp.object,comp.lang.beta,comp.lang.c++,comp.lang.eiffel,comp.lang.python,comp.lang.sather,comp.lang.smalltalk Subject: Re: Rapid Prototyping + statically-typed OOPLs? Date: 13 Jul 1995 06:36:58 GMT Organization: University of Karlsruhe, Germany Lines: 42 Message-ID: <3u2eua$h4p@nz12.rz.uni-karlsruhe.de> References: <805548287snz@galacta.demon.co.uk> <3u0tan$gj5@News1.mcs.net> NNTP-Posting-Host: i44s16.info.uni-karlsruhe.de Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Mailer: Mozilla 1.1N (X11; I; SunOS 4.1.3 sun4m) X-URL: news:3u0tan$gj5@News1.mcs.net Xref: news.daimi.aau.dk comp.object:33436 comp.lang.beta:449 comp.lang.c++:128773 comp.lang.eiffel:9204 comp.lang.python:4994 comp.lang.sather:1917 comp.lang.smalltalk:24335 In my opinion the most important need for rapid prototyping or lets say the fast development of an application is to break through the edit-compile-run-crash-debug cycle. The abcense of types will not - or only very few - influence this. I think it is more important to have features like an interpreter or dynamic linkers togethere with ad-hoc-incremental compilers. Using such features makes it possible for the developers to run the program and to modify it by the time an error or mis-design occurs and even to "run" or test smaller parts of a bigger application. Of course - theoretically speaking - such errors may be avoided by better design phases, but - practically speaking - "shit happens". The development environment - not really the language - must enable the developer to remove this "shit". Example: A year ago I developed a "prototype" for a framework for graph editors based on Tcl/Tk and an OO-extension, which I developed on my own. It showed, that the development of "user interaction components" could hardly be designed from the start but had to be worked out or fixed in several ways. The OO-extension I used made it possible to overwrite methods at run-time or even to add features to classes. It turned out, that these features to dynamically influence programs and modules as well as the existance of Object inspectors and debuggers where most important for the rapid development of the framework. The language itself did only play a secondary role. Some days ago I read this article about C+@ in the german iX-magazine (the June-issue) where I was told, that this language - or better the language environment - would provide seemlike features to those described above. If this is really the case, then there is really a big chance for this environment to become very important to the OO world. Being a friend of interpreters has nothing to do with being against types or being against clear design phases. I think for the productive development of applications, libraries, frameworks, etc. it is most important to have all: A good design phase, a typed language and an environment which allows ad-hoc test, changes and bug-fixes. Rainer