Abstract:
Predictions and reality.

Created by Peter Kankowski
Last changed
Filed under Web programming

Share on social sitesReddit Digg Delicious Buzz Facebook Twitter

JavaScript as the Next Big Language

Three years ago, Steve Yegge published an article titled The Next Big Language. He described a language of future as:

  • having C-like syntax;
  • fast;
  • garbage collected;
  • with dynamic typing;
  • with debugger, IDE, and refactoring tools;
  • supporting usual modern features such as regular expressions, associative arrays, closures, and OOP;
  • cross-platform (including GUI apps).

Most commenters guessed he talked about JavaScript (with GUI being Dynamic HTML).

So what do we have now?

Programming tools are still immature, especially on the server side, but we can expect rapid progress in this area.

So is JavaScript the next big language? What is your opinion?

Peter Kankowski
Peter Kankowski

About the author

Peter is the developer of Aba Search and Replace, a tool for replacing text in multiple files. He likes to program in C with a bit of C++, also in x86 assembly language, Python, and PHP.

Created by Peter Kankowski
Last changed

24 comments

Ten recent comments are shown below. Show all comments

ace,
It's also interesting that Apple doesn't allow apps which do any programming language interpretation(!) They also don't allow apps which use API calls they don't like: http://www.threejacks.com/?q=node/104 And finally they don't allow apps which provide "the same functionality as built in apps". Small developers can't do anything when they get banned, and developing too long without the chance to appear on the store can be too much. Some bigger players can enter intentional risks of developing something that most people believe Apple will not allow:

http://www.opera.com/press/releases/2010/03/23_3/
http://my.opera.com/community/countup/
http://www.youtube.com/watch?v=OpTCS3g-cBY

I'm a happy user of Opera Mini on my non-Apple phone, and it is much faster than anything else, thanks to their own good server-side processing of the whole content (before they did it I even considered making a private web pre-processing server to use with my previous, weaker, older wap-based phone). Interestingly enough, that can be major argument for Opera: they don't interpret JavaScript from pages on the client side, and the functionality is technically different from the browser built in in iPhone(!) Still I don't expect they'll manage unless European politicians force Apple to change the rules. But they did so to Microsoft with the famous "browser ballot."

That's one more interesting observation: you have much more chances to win if you can change the rules under which you run. It happens seldom, and if Opera manages it, again it won't be "it just happened" kind of luck. Note that Opera browser is free the last few years and, even more surprising, Opera mini is free on other mobile platforms, even though it involves a lot of servers working on their side. They've spent quite a lot of money up to now!
ace,
One more "first":

"Why Chatroulette Is More Than Just Penises"

http://mashable.com/2010/03/28/chatroulette-2/

"We may think of Jon Stewart’s satirical review of the service as jumping the shark, or the beginning of the end, but it’s really just a sign that Chatroulette has permeated into pop culture. With upwards of 1.5 million visitors a day, that notion is fast becoming inescapable."


"Chatroulette Creator Reveals Himself To NYT As 17-Year-Old Russian Boy"

http://www.geekosystem.com/andrey-ternovskiy-chatroulette-creator/

"According to the report, the man behind the magic is Andrey Ternovskiy, a 17-year-old high school student from Moscow."
Peter Kankowski,

Back to the topic of the article: an SQLite driver was created recently for node.js (server-side JavaScript).

Peter Kankowski,

Apple banned languages other than Objective-C and C/C++. Windows Mobile 7 will support C# apps only (no native C/C++ code). So, developers will be locked to the chosen platform (Apple or Microsoft). There are serious business applications for Windows Mobile 6 written in C/C++, which will not work with the version 7.

The only language supported everywhere is, again, JavaScript (web applications).

ace,
> The only language supported everywhere is, again, JavaScript (web applications).

Yes, if most of your processing is server based, it can be acceptable to have only web-based app. Javascript is then still just, in my opinion, a simpler piece of the whole puzzle. However it appears there's advantage in providing customized apps for the new platforms in order to use the platform-specific features not easily (or at all?) accessible otherwise.

The first computers I've used were 8-bit ones, so all this somehow familiar to me. There was BASIC then but practically all commercial software had to be fully platform-specific and in assembly. Today small platforms, which are sensitive to the resources used are becoming important again. For me good programmers (in engineering sense) are the ones capable of using the maximum of the resources/platform and capable of targeting something new fast. It's still orders of magnitude easier to work today. Bill Gates illegally used the mainframes on his university to develop the code for his first 8-bit computer target.
ace,
Peter Norvig on language choices
http://www.youtube.com/watch?v=hE7k0_9k0VA#t=03m00s
Peter Kankowski,
An article expressing similar ideas: http://antoniocangiano.com/2010/05/14/the-most-important-programming-language-today/
ace,
To me it looks just like an ad for node.js which is only some lib running only on V8 javascript vm, which simply can't sound worse to me, doesn't sound technologically better than .NET and with .NET you have still more functionality right now.

At the same time on another side Google is again in the news for promoting possibility of running delivered native binaries inside of your Chrome browser.

I still believe there's no need searching for "the one and only big one that will rule them all" it can give you a nice warm feeling if you're believer but it won't help you in any way.

But it's good following new developments. You have to know about new technologies and even more targets. Simply by deciding "only this will be enough for me" you limit yourself. And if you say "I won't limit myself" then the search for "the one and only big one" simply doesn't have sense. You only always decide what you're doing next based on the possibilities, preferences and expected benefits you see at the moment you're starting the project. Of course the simplest way to do something, when everything is estimated, should win.
Peter Kankowski,

JavaScript is, certainly, not the only language; the linked article mentions this ("Babel, not Esperanto"). But it's very important now.

As for Google Native Client, it's a great technology, which will be useful for graphic-intensive web apps and games. But it won't replace JavaScript in other areas (e.g., Google Docs word processor or GMail), because JS is already fast enough for them. BTW, Native Client needs a JavaScript wrapper around native code to work. So you have to learn JavaScript, again :)

Darko Nikolic,

Peter,

I am sending You the link to my article about a simple virtual machine created in JavaScript, inspired by your articles.

Here is the link:

http://www.codeproject.com/Articles/417071/JavaScript-Assembler-Language-Specification-JS-ASM

Thank You for excellent article series.

Best regards,

Darko

Your name:


Comment: