Sean Middleditch <elanthis / users.sourceforge.net> wrote: : language such as Ruby, would require far less code on the interpreter's : end (no need for a compiler to be built in), and IMHO would result in : more readable code that is just as powerful and dynamic. You'll have to prove that assertion. : Yes, I see that eval() is very power in the fact that it can dynamically : generate executable code, and I believe that it is fun (I love playing : with stuff like that myself). But is it really necessary? When one : wants a very small runtime that is very fast, is that power worth : embedding an entire compiler? You're working on game scripting, right? Let's take the Crash Bandicoot series as a data point. The game is scripted in a full LISP interpreter. It runs, and fast, on a 33-MHz PSX chip with 3 M RAM. What are the numbers you have to fit in? It's easy to say "I can't figure out how to write this fast, therefore no one can and you don't need it." : And, to be honest, if you're developing a : large-scale (possibly commercial grade) application, is fun or : robustness/efficiency more important? Fun is. Robustness and efficiency do not exist in a vacuum, and if your programmers can't find the fun, then the project is doomed anyway. And whatever your school is teaching you, far more small, fun hacks grow into complex, critical, *successful* applications than are designed that way. : Some features are fun, and possibly useful, but I still don't at all see : eval() as being necessary, or even wise. Sorry. ^,^ Perhaps I'm just : too old and set in my ways. http://sourceforge.net/people/viewprofile.php?user_id=26193 I'm fairly certain you are bound by state and federal statues not to claim that you are 'too old and set in my ways' before the age of 20. BTW, I used to live in Ann Arbor. Nice place. As for eval(), if you cannot generate code and execute it within a program, then you are incapable of metaprogramming - writing programs that write programs. And while switching editors or methodologies may give you a 2- or 5-fold increase in productivity, only by incorporating the machine into the development process can you find the 1,000-fold increase that we are looking for next. Just a data point. In the general case, well, there is a general question of what you percieve as necessary and how you restrict others who see differently. It looks like your background is in static Algol spawn, and as Paul Graham says "programmers learn not to want what their language cannot provide." And I would contend it's a bad idea *not* to expose as much power and flexibility to the programmer, because languages that talked down to people have historically been bad, or at least non-beloved: PL/1, Ada, COBOL. Lastly, exising features for speed is often a fool's errand. Speed comes from profilers, not compilers and small run-times.