From: TLOlczyk Date: 2004-07-01T18:47:50+09:00 Subject: Why I don't use Ruby. For a short period I used Ruby and found that I liked it very much, but gave it up after ashort while. Every so often I look for a new language to act as my "second" language, Each time Ruby pops into mind, but I immediately drop it. I thought I would explain why so that some of TPTB can think it over and decide if it might be worth while to make changes. The first comment I would make is that I base my desires on features provided in languages created in the functional programming community. Languages such as Scheme/SML/OCaml/Haskell. I find that these languages are oriented towards academia and research and often fall short for serious work. One of the biggest examples is the inability to provide systems which work the same on Unix and Windows. In effect most of these systems give short shrift to Windows. I preffer my code to work more or less the same on both types of OS. The main thing I am looking for is a basic environment similar to functional languages. In particular a ( native-code ) compiler and an extensible REPL. By REPL I mean read-eval-print-loop, a fancy word for interpreter. To make clear what I want, and why I think it is a superior approach, I will now explain how it is used. Typically you open the file you are working on in emacs,vi or an IDE. ( Typically it would be emacs or vi. The IDEs available tend to be too primitive. Other editors might do but I am not aware of them. ) The you split the session into two windows and start your REPL in one. You edit your file and send one "line" at a time to the REPL to be evaluated. By line I mean command. maybe a function definition, a class definition, a method definition, an assignment to a global variable... basically one "thought". You have problems so you debug the code. Then you send it again. Over and over, till it works right. ( Ok sometimes you have to restart the REPL, because you muck up something in the envornment. ) Sometimes to figure out what went wrong, say there is a global list and you want to see what's inside because you think it's wrong. You switch to the window with the REPL and you type the command to print the list. Afdter a while the file is complete. Then you compile it into a library file or application. This way you get the speed of a compiled program with the flexibility of an interpreted program. And in some cases you need the speed. In others you don't. In others you don't know (eg libwww). Of course it would be nice to be able to build new REPL with libraries incorporated, or at least specified on the commandline. It would also be nice to have an optional core/image. That way if I run tests where testing uses a lot of data, I can save images when i debug later stages and save myself some time initializing. The reply-to email address is olczyk2002@yahoo.com. This is an address I ignore. To reply via email, remove 2002 and change yahoo to interaccess, ** Thaddeus L. Olczyk, PhD There is a difference between *thinking* you know something, and *knowing* you know something.