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

ASM,
Yes add to it HTML5 features, you should be able to build a full scale desktop application, with your browser as the platform.
ace,
I've read Yegge's article, and it looks very, very trollish.

And the "what do we have now" list doesn't look like something that will really change the current pattern of JavaScript use? It's a long way from "something can be done" to "something is actually widely used." Based just on "what can be done" and how the language fan boys present it, any language would rule the world. It's much more complex than that, the devil is on one side in details but much more the end result is the sum of the different interests of different influential entities on the market. Most of the programmers most of the time have no choice in selecting what they will use. And when there is a choice, there's no "the big language" but "one more language."
ace,
And how about Objective C, most recently known as the language of iPhone and iPad?

As far as I know (never really used it):
having C-like syntax (check)
fast (check)
garbage collected (check)
etc...

Mentioned Tiobe link gives JavaScript as "2.651% -0.96%" and Objective C as "1.970% +1.79%" for March.
Peter Kankowski,

Objective C is valuable for Mac computers (and, recently, their cell phones) only, and it's developed and promoted by one company (Apple). JavaScript is used on different OSes, processors, and browsers. Google and Opera Software invested in creating fast implementations. It's the only language for client-side web development (you are right that programmers usually have no choice), and may be used in other areas in future.

When I first read about NodeJS and server-side JavaScript, I remembered classic ASP by Microsoft. It used JavaScript, too (though VBScript was more popular).

ace,
http://blogs.wsj.com/digits/2010/03/17/studies-forecast-rapid-growth-in-mobile-apps/

"Global revenue from mobile applications — including paid downloads and mobile advertising — could increase to $17.5 billion by 2012, from $4.1 billion last year, according to an independent study commissioned by GetJar, an app marketplace and rival to Apple’s App store. The study also estimates that downloads of applications could increase to almost 50 billion by 2012 from about 7 billion in 2009."

Note also that Apple managed to create an ecosystem where most of the customers don't pirate (and can't unless they jailbreak the phone). I have neither iPhone nor iPod, but I'd have more time I'd definitely develop something to be sold on the App Store (iPad is also potentially hot). It's one of a few places where a single developer can with earn significant sum of money for a relatively modest work (if he matches the interests of the potential byers).

Some sample of some apps:
http://mashable.com/2008/08/22/iphone-drinking-apps/

The app can also connect to the server of the app writer, so you can have server side content or processing too.

And as you see Microsoft tries very hard to xerox Apple concepts in Phone 7.
Peter Kankowski,

Unfortunately, I'm teetotal and don't have iPhone either :)

Speaking seriously, mobile apps (mostly casual games and entertainment products) are very profitable. Thank you for the idea.

I would only add that mobile landscape is diverse and quickly changing. Nokia (Symbian OS) is the most popular platform now, but there are many shareware apps for other platforms (including Apple iPhone and Windows Mobile). I use Pocket Total Commander (freeware) on my smartphone.

ace,
> Nokia (Symbian OS) is the most popular platform now

Try to find for which platform most of applications are *sold*. I can bet it's Apple iPhone/iTouch.

Other platforms don't have a single place for users to safely buy the app from the phone. But of course, there is a lot of money selling ringtones, screens and short "funny" or sex clips for any mobile phone. Sounds stupid, you can upload ringtone to your phone yourself? Well a lot of users think otherwise -- they see the ad "just sms this number and get a dancing rabbit" and they do so (same story with "and get jumping boobs on your phone"). And if there is a bunch of kids, they will compete with one another who has cooler screen etc.

It's certainly not the world of "users of Pocket Total Commanders." That's why I linked "drinking apps."

If you want story about something more serious:

http://www.newyorker.com/online/blogs/tny/2009/05/jorge-colombo-iphone-cover.html

http://bits.blogs.nytimes.com/2009/05/27/new-yorker-iphone-cover-boosts-sales-for-brushes-app/

Such story (about a product of single programmer becoming famous and earning him two houndred thousand dollars in some months) is impossible for PC today, but happened quite recently for iPhone. And you're late for drawing app, I'm sure there are a lot of competing products now.

I'm not saying everybody earns this much, I'm saying there is a potential, compared to PC apps or other mobile platforms.
ace,
One more article more or less related to the points I wanted to make:

http://www.jwz.org/doc/groupware.html
Peter Kankowski,

Thanks. I agree that boring applications such as "groupware" are bad :) If you are interested in Facebook casual games, you could try to develop something yourself. PHP is an easy language, as I (hopefully) showed to you by reimplementing this site from scratch.

To write games for iPhone, you need Macintosh computer and iPhone. If you happen to own both and have some experience in Objective-C, then why not to try?

Now it's harder to reach success with a very simple game on both Facebook and iPhone, but if you are creative and invest some time, then you will have some chance. But, mostly, it's a mere luck, which is evident from the story of the guy whose program was mentioned by New Yorker.

About the future of the social networks (Facebook, Twitter) themselves, I would say that they are overestimated now. Every company invites to "follow us on Twitter", while a traditional blog/RSS/mail list would be more handy. You don't need to recieve most notifications instantly, and cannot convey an elaborate message in 140 characters. After some years of experimentation, these media will find their niche (which is not so large as seen initially). And crowds of people will run to another "new cool thing"...

ace,
> mostly, it's a mere luck

I'd claim it's not a mere luck, in a sense "it just happened." As far as I understand, the guy was *the first* who made a fully featured finger drawing program on the iPhone. I claim that being the first in the raising market is certainly not just a "it just happened" event.

Maybe you consider him lucky to actually have an iPhone soon after it appeared on the market? But he was certainly not "the" lucky one for that. At the moment he wrote his program, he was one among the millions of iPhone owners. I'm sure that at that very moment enough of big and wealthy companies also considered and/or attempted to "enter" the iPhone market. Except for him being lucky not to bee too poor and be able to afford an iPhone, I don't see how "luck" played in anything that was crucial for his success.

It's like watching the runners racing and claiming that the winner was "lucky." If you compare him with people not in position to run, he is lucky. If you compare him to his competitors, he was simply the fastest of them. If competitors were even better financed from wealthy sponsors, and he wasn't, his win is even more impressive.

You can increase your chance for winning by competing in races where nobody can have too big head start. By competing in market where big corporations didn't have the time to establish their domination, which always happen after a while, the drawing app guy had much bigger chance. Had he now made "the drawing application for PC" in C++, .NET, Java or Javascript, he certainly wouldn't have any buyers. The time for selling "a new drawing application" on PC was 1980-1990.

Being first is seldom "luck" in a sense "it just happened." If you try to analyze the preconditions, you'll see that almost always there's a serious work behind. Not because it's some axiom, but just because most of the time there are enough competitors around. Running the race where competitors have less advantages and there's less of them is seldom an effect of chance -- everybody tries to recognize such races, but the fear of unknown or simply lack of enough readiness limits the number of competitors in anything not established.

True story: recently I had a conversation with a young guy who finished university at the computer department, had a few years of work and complained to me that "it's hard to get a new job." "So what do you know?" "Dot net, and I search for job where I can do that." "OK, what else do you know?" "Nothing." "Why?" "I don't think it has sense, isn't it better to simply learn always more and more of .NET to become a real master?" "That way you'll never become a master," I answered him, and he didn't understand.
Peter Kankowski,
I meant he was lucky because his app was mentioned by a credible magazine. Most likely, his program is not the only drawing application for iPhone.
ace,
> Most likely, his program is not the only drawing application for iPhone.

Now. But as far as I understand he was really the first to have a good app and after the article apeared a lot of others tried to take the piece of that new cake.

Remember http://en.wikipedia.org/wiki/The_Million_Dollar_Homepage ?

He was the first, managing to earn one million dollars based on the relatively stupid idea. Of course:

(copycats) ""popped up almost immediately; now there are hundreds of Web sites selling pixels. The copycats are all competing with each other."[1] "They have very little ads, therefore I guess it’s not going too well for them. The idea only works once and relies on novelty. Any copy-cat sites will only have pure comedy value""

In this case I believe he was really lucky to get the media coverage, maybe he really knew somebody in the big media. Also, try to imagine that the same first page was produced by some Russian student. No positive reaction would have happened. He was also lucky to be an English student.

But to make the first drawing application on the new iPhone that works good with the new touch interface and to put it early enough on the AppStore, that's not that kind of "luck".

Sure, once you do everything right, a little luck can help too. But most of the people (and companies even more!) do most of things wrong and when they are running right they still don't even try to think if they are running the wrong race, with no award possible.
Peter Kankowski,
Thank you. I will pay more attention to the "emerging markets".
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:


Please ignore this field: