
The most important programming language today - acangiano
http://antoniocangiano.com/2010/05/14/the-most-important-programming-language-today/
======
keyist
The most important language of yesterday was C. Of today, still C. Of
tomorrow, Go... hahaha no, the answer is still C.

If you really wanted to determine 'most important', think about what software
you'd be left with if all software and dependencies written in a language was
taken away.

Take away JS and a bunch of webapps don't run. Take away C and you have no OS,
no web servers, no languages whose leading implementations don't bootstrap
themselves, no TomToms telling you how to get to JSconf, and so on.

I do understand the renewed hype behind Javascript, but to enshrine it as most
important -- talk about hyperbole and a lack of perspective.

PS: That V8 engine you'd be relying on for your JS -- it's not written in
Javascript either.

~~~
dzorz
> PS: That V8 engine you'd be relying on for your JS -- it's not written in
> Javascript either.

It's not written in C either :-)

~~~
jerf
Well, take the C out of C++ and you're just left with ++, which I think is
just a syntax error in most languages.

Except Brainfuck.

Maybe Brainfuck is the most important programming language today.

~~~
eru
And in Haskell it is the list concatenation operator by default. (You can of
course define it to mean something else.)

------
latortuga
A couple things:

I think Steve Yegge said this kind of thing a few years ago - namely that
javascript is one of the most important programming languages today. I'm not
saying that this invalidates the point, just that it was probably fairly
apparent when he said it and, in my opinion, pretty obvious today.

Also, he mentions "And while we’re at it, maybe use it for desktop
applications too?" which I think is interesting because Mozilla already has
built a framework to do this kind of thing, with xulrunner. It's not based on
V8 but newer builds do incorporate Mozilla's version of a javascript JIT,
tracemonkey.

~~~
rayvega
Yegge's post: [http://steve-yegge.blogspot.com/2007/02/next-big-
language.ht...](http://steve-yegge.blogspot.com/2007/02/next-big-
language.html)

------
cageface
There's absolutely no question that javascript is going to be the single most
important langugage for GUI app development, if it isn't already.

However, I'm still not persuaded that it's a compelling server-side
programming language. Javascript wins in the browser because it has no
competition, but there are already several mature, well-established server-
side programming stacks in langauges with fewer warts.

~~~
WilliamLP
> There's absolutely no question that javascript is going to be the single
> most important langugage for GUI app development

It might or might not be, but this is far overstated. In terms of rich
graphical GUI apps, there is much much more that has been done with either AS3
or Objective C at this point.

I think Javascript optimists vastly underestimate the distance it would need
to go to replace either or both of the above.

~~~
troystribling
I have been working on a project that required clients be implemented in both
Obj-C and JavaScript. They are functionally equivalent. The code base of the
Javascript version is close to 20 times smaller and was coded about twice as
fast. I much prefer Javascript for UI work.

~~~
jemfinch
Out of curiosity, which did you write first?

~~~
troystribling
objective C, but the JavaScript version was my first substantial JavaScript
program.

------
Kilimanjaro
I've been using JS on the server for over a year and let me tell you, it
rocks. It is easy, really easy to do stuff with it. You should give it a try
to understand how easy it is.

    
    
      - Get data from SQL backends, easy.
      - Templates, easy.
      - MVC, easy.
      - Curl, Ajax, easy.
      - JSON, XML, easy.
      - Files, sockets, easy.
    

You name it, I assure you it is easier than any other language you've used
before.

I say, it is just a matter of ONE year to finally mature the most interesting
projects out there, Node.JS and V8CGI

If you want to get your feet wet, go grab V8CGI and play with it, really easy.
If you need to play with the geekiest stuff, get Node.JS then.

I guarantee you, you'll never look back. But please, give it a try before
judging it.

<http://code.google.com/p/v8cgi/>

<http://nodejs.org/>

I don't recommend rhino, ringo, or narwhal, just because I don't like to run
on top of java. You may try spidermonkey or flusspferd if you like C++ more.

Whatever your flavor, give it a try, then come back and share your
experiences.

Yes, I am a JS advocate.

~~~
codexon
Here are some reasons why JS sucks.

\- Global variables by default, which means you will have "var" sprinkled
everywhere.

\- Brain-dead binding.

    
    
        function Constructor() {
          this.foo = 'bar';
          var that = this;
          window.setTimeout(function() {
            alert(that.foo);
          }, 1);
        }
    

\- You can call a function with less arguments than specified, meaning you
potentially have to make sure each argument is not "undefined" .

\- Somehow JS isn't weakly typed when it comes to switch statements.

    
    
        a = 5;
        b = '5';
    
        if( a == b )
            alert("Equal");
    
        switch (a) {
            case b:
                alert("This never shows");
        }
    

I am fairly certain that JS popularity is mostly in part due to its monopoly
on the web. I'm sure there are more experienced JS users who can point out
more flaws.

~~~
Kilimanjaro
Sorry pal, if you write spaghetti code JS will bite you in the butt, but I've
been coding for 20 years and I'm used to declare everything before using it
and to be very careful when choosing names for my stuff and never do silly
equalities.

So no, I've never encountered such problems.

~~~
orangecat
Yes, and I'm sure you never have memory management problems in C and are an
above average driver. But for the mere mortals who occupy most development
positions, having behavior silently and radically change when you forget a
"var" is not a good thing.

------
jackfoxy
Upvoted the article because I think it's time to bet the farm on web client
javascript development, rather than pursuing individual native client
development (unless you have a valid marketing reason to go after one or more
native clients for your app).

------
metamemetics
> _Your experience as a server-side developer will be the bottleneck, not your
> framework of choice._

Agreed. Once you've built your site in X language, you still have to deploy
it, scale it, and do database migrations.

------
eru
Too bad he never mentions spreadsheets. They are one of the most widespread
(and overlooked) programming tool. And you are in for serious money, if you
can improve them (and sell your improvement).

~~~
asmosoinio
The whole article was pretty much from the point-of-view of a web-based
application. Maybe he is assuming web-based applications are the most
important ones.

------
huherto
These are my thoughts about the subject: \- Python and Ruby seem interesting.
But JavaScript is going to be there nevertheless. Furthermore, it seems like
80% of the functionality in a RIA is going to happen in JavaScript anyway.

\- JavaScript in client and server. I haven't done, My guess is that with
JavaScript the talent of the developer to organize a big code base becomes
critical.

\- Java and GWT. I've tried this. It works nicely. Strong typing and a great
IDE with Eclipse. Same language in the server and in the client.

\- Scala and (Scala compiled into JavaScript? This could be nice. We just need
somebody really smart to make it happen.

~~~
huherto
I kept thinking about the last part. Scala is a really nice language. The GWT
route was to create a Java compiler to generate JavaScript. Doing the same for
Scala seems like a huge effort. But what about this option? It is a little bit
crazy though.

What if you use Scala to create a DSL to create JavaScript RIAs? The DSL can
be the framework that will give structure to the RIA. Then you use JavaScript
to fill in the blanks.

------
krmmalik
This post comes at a very interesting time. I'm a non-developer. I did
graduate with a computing science degree, but really struggled getting to
grips with programming and software development, so when i left uni i never
created any of my own apps. I did retain some simple software development
principles knowledge however.

But recently, i've been very keen to get involved in helping developers on my
team improve the user experience of our apps, which is why i started looking
into cappuccino.

Atlas and Cappuccino, I have to say are great as frameworks, but only for
people with Macs.

So, since then i've been heavily looking into jQuery and found it to be great
for helping me create good user experiences, and with the addition of AJAX
things tend to get very interesting.

I'm in no position to comment on what i think to future is since im so new to
development, but from where im standing and certainly for someone that is just
entering the fore, i'm someone that has been through these exact set of
questions in the last few weeks, and came to a very similar conclusion through
my own trial and error.

~~~
asnyder
You should really try NOLOH (<http://www.noloh.com>). I'm not just saying that
because I'm one of the co-founders, but because we've found it to be the
easiest way to create sophisticated websites, and WebApps easily.

Every year we get a batch of interns from high schools and colleges with no
real programming experience, but can start writing full applications without
any training whatsoever.

As part of the application process we require they write a TicTacToe
application in our free hosted sandboxes and 9/10 times the applicant has no
issue and replies with a link to their app. We don't guide them, train them,
or instruct them in any way beforehand.

Watch our recent presentation from Confoo and see for yourself,
<http://vimeo.com/10106797>. It really is that easy.

~~~
inklesspen
Another proprietary web framework _sigh_

~~~
asnyder
I don't understand the negative feelings towards proprietary web frameworks.
We offer a product that solves a problem. We've been working at it for 6
years, have invested hundreds of thousands of dollars into R&D, and have
numerous free options for non-commercial projects, including free educational,
non-profit, developer, and open source project licenses. Compared to our
competitors we're leaps and bounds ahead of them technologically, and we
undercut them on price significantly.

Really, what more can we do? Do you not use a tool because there's a company
behind it providing support, up to date documentation, and other resources? We
even have a clause that says if anything should happen to us, all the source
is opened.

It's unsettling that many developers who charge for their own services and
products let out a sigh when other developers decide to charge for their
services and products.

------
jhancock
It took 6 paragraphs to get to the word JavaScript. JavaScript is here to stay
and its adoption for server apps is on the rise and will be used in some cases
where yesterday ruby or python would have been used. That's it in a nutshell.
No sense in trying to tack on superlatives like "most important".

JavaScript is here to stay because Netscape threw it in the browser and
somehow the browser wars didn't screw it up enough to make it problematic as
cross-browser html & css. So its the only game in town for web browsers and
once you get used to its warts, it does the job.

------
mkramlich
C now. JavaScript will likely grow in use. Python is also clearly growing, in
relative terms. About any other language, I'm not as sure.

~~~
pheon
javascript is clearly the most popular and widely used programming language in
history. c/c with classes has the most software built on top of it, putting
them at the most important languages on opposite sides of the software stack.

what would be interesting is a back of the envelop calculation on # lines of
js vs c executed globally per minute. id guss c probably wins due to frequency
of execution.

~~~
evgen
Considering the fact that every line of js you execute is run in a VM that is
implemented in c/c-with-classes I am guessing this will not really be much of
a contest... :)

~~~
mkramlich
And on an OS mostly/entirely written in C. For most software out there I'd
imagine C was used somewhere in that stack. The same can't be said about
JavaScript.

That said, I bet JavaScript use will increase and C will shrink, relatively
speaking.

------
mdg
You read Yegge also?

