News for hackers. Stuff that matters.
Re:How to Pick a Language by kragen on Saturday January 24, 2009 @06:11AM (#448009)
This is a different distinction than the one the other poster reported that Matz proposes, but it's not useful either. You can do it in C, even without using the preprocessor; see http://gist.github.com/51416, which does it with weak symbols. Worse, whether C is a "scripting language" or not depends only on the presence or absence of such trivial features.

Your distinction would make Java a "scripting language," because every class can have its own main function, and still leaves x86 assembly as a "scripting language", and now it makes GNU C a "scripting language" too; and given the nondeterministic invocation order of the constructors of static objects, it makes any particular C++ implementation a "scripting language" too.

Re:How to Pick a Language by jballanc on Saturday January 24, 2009 @10:18AM (#448154)
So, I think you're focusing too much on the specific example and not enough on the runtime distinction. The C runtime looks for "main()". If you trick it into looking in different places for it, that's a trick. Ruby (and other scripting languages) goes through the source file sequentially, executing statements and definitions as it goes. There isn't a specific symbol for it to look for. (Well, there is, but that just complicates matters.) The point I'm trying to make is that the distinction between scripting language and programming language shouldn't rely on how it's used, but rather on how it's formatted.

...and by the way, I would consider x86 assembly a scripting language. You're just scripting out the processor's actions...

Re:How to Pick a Language by kragen on Saturday January 24, 2009 @06:51PM (#448536)
I can't prevent you from using that definition of "scripting language" but I don't think it has much in common with the usual meaning of the term.