Rocco Moretti <[EMAIL PROTECTED]> wrote: > The OP doesn't mention his application, but there is something to be > said about domain specific scripting languages. A well designed > domain-specific scripting language(*) with the appropriate high level > constructs can make script writing simpler.
This is a bit of a sore point with me. I've been involved with several projects where people felt the need to invent their own scripting languages. It usually starts with "we don't need the power of a full programming language, we only need to be able to do X, Y, and Z". So they write a little language which lets them do X, Y, and Z. Then they discover they need more complex data structures than they originally thought. And nested loops. And functions. And more sophisticated variable scoping rules. And a regex library. And 47 other things. So they duct-tape all those into the system. A few years later, you end up with most of a real programming language, except with a whole bunch of warts. The syntax is usually quirky (the one I'm working with today does not allow any space before the open paren of a function call, but requires it before the opening paren of an "if" statement). It generally has poor error reporting. It doesn't have the whole family of free tools that grow up around any real language (editor customization packages, syntax checkers, debuggers, extensions, etc). You doesn't have a gaggle of tutorial books written about it that you can buy from your favorite on-line bookseller. Worse, when you need more brains/bodies on the project, you can't put an add on Hot Jobs for "experienced OurOwnScriptingLanguage programmer" and expect to get anybody who can be productive quickly. What it does have is a body of code dependent on it which is now so large that porting it to something else is an unthinkably large task. And it's got a small cadre of language gurus who spend all day defending the language with answers like, "But, it was never *intended* that people would do stuff like this with it". Anyway, that's my little rant on inventing your own scripting language. Imbed Python, or Perl, or TCL, or Ruby, or PHP, or Java, or whatever floats your boat. Almost any choice has got to be better than rolling your own. Invest your intellectual capital doing what you can do best, and don't get bogged down developing a new language. -- http://mail.python.org/mailman/listinfo/python-list