JavaScript ought to be forked – before the transition to JavaScript 2.0 makes a still relatively easy to use and approachable language inevitably OO cryptic, strong typing relentless, and large-scale programming oriented. JavaScript may fall into the Visual Basic and ActionScript traps. In the transition of those languages to undeniably very useful large-scale or complex distributed processing chores, both Microsofts Visual Basic and Adobes ActionScript for Flash, Flex and AIR have left a large constituency of small-scale scripting developers behind. These programmers now have the onerous burden of learning a lot of coding constraints which they simply do not need for most of their tasks; but have to have in order to work with their respective languages.
Microsoft is actually acknowledging this, saying that they will attempt to simplify the scripting of Visual Basic. Good luck guys – but I dont think adding a layer of simplicity is going to work. However, I would be glad to be proved wrong. Clearly Visual Studio and Microsoft do not need 3 languages: Visual Basic, C#, and C++, all vying to be the system programming language for Redmonds software.
In the meantime Visual Basic and ActionScript 3 for Flash have become large scale programming languages with all the encapsulation, strong typing and other protections associated with massive scale coding. But this leaves user customization, macro-coders, and small-scale OS shell scripters either under-powered or confronted with the deviousness that can only be attributed to regular expressions and Linux-like too many shell scripting variants in Windows and Linux..
JavaScript does not need to and should not wreck up on this miasmic sandbar. Fork it! As JavaScript, like ActionScript already, makes the major transition to JavaScript 2 (a radical upgrade to the language) leave the old JavaScript behind. Call it JSEasy. Retain simple typing and all the things that make the language approachable by users not interested in synchronization, distributed processing and large scale application development. Do adopt some clear methods either like JSON or Web Services to talk closely with the latest JavaScript and other programming libraries. But the motto should be KISS – and if that means passing on a lot of syntax/libraries like ActiveX, MediaList, or regular expressions to JavaScript 2 exclusively – fine indeed.
Now some may argue that scripting languages like Curl, Groovy, Perl, Python, Ruby and others provide already too many options for scripting languages. To which I will agree whole heartedly. But still you must take a look at these languages as well for their suitability as Keep-It-Simple-Stupid scripting languages. But be cautioned = > Corels PaintShop Pro adopted Python as their scripting language. Just ask them how successful it has been. Ask them about the thousands of user submitted scripts – NOT. Then look at what Adobe is doing in terms of a macro language for its Dreamweaver, Photoshop, Acrobat, and a dozen other apps. Ask the same question of IBM or Oracle. JavaScript as JSEasy needed here! Do I have to spell out O P P O R T U N I T Y for the likes of Trolltech or some crafty Open Source developers?