Roy Smith wrote: > 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.
Not only is it short-sighted, I would say it is quite arrogant to believe you can anticipate every possible use of this script you're going to impliement, and can safely hold back essential language features. > Anyway, that's my little rant on inventing your own scripting language. > Imbed EMBED. This spelling error wouldn't bother me if I didn't work with people whose own job title is embedded control engineer, yet who still misspell it "imbedded." > Python, or Perl, or TCL, or Ruby, or PHP, Not PHP. PHP is one of the better (meaning less terrible) examples of what happens when you do this sort of thing, which is not saying a lot. PHP was originally not much more than a template engine with some crude operations and decision-making ability. Only its restricted problem domain has saved it from the junkheap where it belongs. TCL isn't that great in this regard, either, as it makes a lot of common operations that ought to be very simple terribly unweildy. > 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. You're right. I use a custom, domain-specific language in my work. Whenever I use it, all I can think of is how much better this POS would be if they had just extended Python (probably would even be faster). At least they were smart enough to (try to) make it into a complete programming language. -- CARL BANKS -- http://mail.python.org/mailman/listinfo/python-list