C overtakes Java as the No.1 programming language

129 views
Skip to first unread message

Cédric Beust ♔

unread,
Apr 9, 2012, 6:17:19 PM4/9/12
to java...@googlegroups.com
http://pixelstech.net/article/index.php?id=1333969280

I find it fascinating that a seventeen year old language just lost the first place in mind share to a forty-year old language.

It sure puts these language wars in perspective.

-- 
Cédric


Fabrizio Giudici

unread,
Apr 9, 2012, 7:04:34 PM4/9/12
to java...@googlegroups.com, Cédric Beust ♔
On Tue, 10 Apr 2012 00:17:19 +0200, Cédric Beust ♔ <ced...@beust.com>
wrote:

Taking in the correct way those numbers, there's no real news. They have
been in a close-tie since some time and they still are - it's not correct
to say that one is above the other referring to decimals. The path of slow
declinet of Java is not a surprise to me, it's a surprise that so many
people still use C.


--
Fabrizio Giudici - Java Architect, Project Manager
Tidalwave s.a.s. - "We make Java work. Everywhere."
fabrizio...@tidalwave.it
http://tidalwave.it - http://fabriziogiudici.it

Casper Bang

unread,
Apr 10, 2012, 12:13:59 AM4/10/12
to java...@googlegroups.com, Cédric Beust ♔
The charm of C is that it's like the Matrix red pill, you are never lied to and you see the world for what it really is - ugly but full of potential, There's something nice about being able to write tight, performant code on whichever hardware you see fit - after all, there's *always* a C compiler available. C still has its core audience as a systems programming language, whereas Java has degraded from a rich client domain to a server backend domain (if you disregard Android, which is not technically or legally Java). It thus seems very plausible that in 20 years, C is still around, while Duke has been at a retirement home for decades.

I'll add one more twist of irony to the mix. On the client side, Java was beat by a bastard scripting language invented by NetScape, namely JavaScript - another ugly language, albeit not as ugly as some of the alternatives that appeared along the way (VBScript etc.).

Message has been deleted

Cédric Beust ♔

unread,
Apr 10, 2012, 12:18:05 PM4/10/12
to Alex Turner, java...@googlegroups.com
On Tue, Apr 10, 2012 at 9:03 AM, Alex Turner <ple...@gmail.com> wrote:
I'm not sure how much I believe this ranking is reflective.

I think it's meaningful if it's correlated with other data, such as job boards, presence on Stack Overflow, activity of various online (mailing-lists, reddit, forums) and offline (user groups) communities, etc...

The #1/#2 thing should not be taken too seriously, but what is clear is that the three most widespread languages are most likely the first three languages you see displayed on TIOBE, regardless of the ordering.
 
 Searching for java questions on the web these days yields high quality results very quickly.  Many java technologies in use right now have been around awhile and many of the knotty problems have more libraries than you can shake a stick at.  Maybe it's more an indication the Java has slowed in forward movement rather then declined in popularity?  It's not we've had large new language features in awhile.

You seem to equate getting not getting new features with declining, I don't think this correlation exists. I actually don't think there is any correlation at all if we just look at two mainstream languages: C# has been receiving a steady stream of new features since its inception, Java, very much less so, and yet, both languages are thriving and possess a huge ecosystem.


Sadly Scala drops in two places below Erlang!

Again, I don't think this means much in term of ranking, but it certainly means that Scala is as marginal as it was last year. As marginal as Erlang and other languages that are positioned in the 20+ ranking on that scale.

 
 With play 2.0 now out; I hope that helps pick things up more quickly.

Given the considerable push back that Play 2.0 has been receiving, I'm not so sure about this. I think Play 2 will suffer a lot from their move to Scala because they will lose a lot more users (Play1/Java users) than they will gain new ones (Scala developers).

-- 
Cédric

Kevin Wright

unread,
Apr 10, 2012, 12:36:59 PM4/10/12
to java...@googlegroups.com, Alex Turner
As with all changes in Tiobe, I think most of what we're seeing here is down to changes in the data sources they use, and the choice of disambiguation algorithms.  Unless, of course, you're willing to believe there's been a sudden surge of interest in foxpro and NXT.

TIOBE is inherently flawed (as is the count of job postings, the other frequently quoted metric), and that it's going to fluctuate despite any change in underlying developer sentiment.


TIOBE: Strongly biased towards languages used in schools and with corporate backing to produce large websites of documentation.

Job boards: Strongly biased against languages where developer interest is high, but highly sought-after positions are mostly filled by word-of-mouth.  Also biased against languages used in primarily in start-ups that don't use recruiters.


If this stuff really matters, then my advice is to decide exactly *which* attributes you are concerned about, then look at the rankings on http://hammerprinciple.com/therighttool/browse

(and while you're there, add your own ranking, if you haven't already)



2012/4/10 Cédric Beust ♔ <ced...@beust.com>

--
You received this message because you are subscribed to the Google Groups "The Java Posse" group.
To post to this group, send email to java...@googlegroups.com.
To unsubscribe from this group, send email to javaposse+...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/javaposse?hl=en.


Alex Turner

unread,
Apr 10, 2012, 12:03:13 PM4/10/12
to java...@googlegroups.com, java...@googlegroups.com, Cédric Beust ♔
I'm not sure how much I believe this ranking is reflective. Searching for java questions on the web these days yields high quality results very quickly. Many java technologies in use right now have been around awhile and many of the knotty problems have more libraries than you can shake a stick at. Maybe it's more an indication the Java has slowed in forward movement rather then declined in popularity? It's not we've had large new language features in awhile.

Sadly Scala drops in two places below Erlang! With play 2.0 now out; I hope that helps pick things up more quickly.

Alex

phil swenson

unread,
Apr 10, 2012, 3:00:15 PM4/10/12
to java...@googlegroups.com, Alex Turner
I think top 10 in Tiobe seems reasonable. After that I am skeptical.
I mean Delphi #13? Really?
PL/SQL making a big move?

But Scala is niche. Do a job search for Scala.

Fabrizio Giudici

unread,
Apr 10, 2012, 3:15:09 PM4/10/12
to java...@googlegroups.com, Cédric Beust ♔, Alex Turner
On Tue, 10 Apr 2012 21:08:01 +0200, Cédric Beust ♔ <ced...@beust.com>
wrote:

> On Tue, Apr 10, 2012 at 12:00 PM, phil swenson
> <phil.s...@gmail.com>wrote:


>
>> I think top 10 in Tiobe seems reasonable. After that I am skeptical.
>>
>

> Agreed. I think TIOBE allows us to get a rough feeling for
>
> - Mainstream languages (top 5?)
> - Marginal languages (6-10?)
> - Niche languages (11+)
>
> Obviously, the cut off points between each category can move around.

+1

Cédric Beust ♔

unread,
Apr 10, 2012, 3:08:01 PM4/10/12
to java...@googlegroups.com, Alex Turner
On Tue, Apr 10, 2012 at 12:00 PM, phil swenson <phil.s...@gmail.com> wrote:
I think top 10 in Tiobe seems reasonable.  After that I am skeptical.

Agreed. I think TIOBE allows us to get a rough feeling for
  • Mainstream languages (top 5?)
  • Marginal languages (6-10?)
  • Niche languages (11+)
Obviously, the cut off points between each category can move around.

-- 
Cédric

jon.ki...@gmail.com

unread,
Apr 10, 2012, 3:55:38 PM4/10/12
to java...@googlegroups.com
Cedric, those divisions make sense in reality, but the only way I can get them  from  the tiobe survey is to read the numbers in octal and group by  order of magnitude.
:)

Ricky Clarkson

unread,
Apr 10, 2012, 8:59:22 PM4/10/12
to java...@googlegroups.com
The top 10 is annoying me, I used to be able to claim to know all of them, then Objective-C crops up which I have no use for.  Maybe I can get TIOBE to tweak it out of existence.

As a half-joke, I was once writing a blog post about what Scala would need to do to leapfrog the language above it on the index, but didn't finish it before the index changed again..  It's currently awk, which is nigh-on unbeatable in its niche but I suppose it could be fun to add a DSL emulating it. :)

In the same vein, what does Java have to do to retake the lead from C?  I vote for unsigned types, (typesafe) unions and function pointers.

Ricky.
--
Skype: ricky_clarkson

Jon Kiparsky

unread,
Apr 10, 2012, 10:07:52 PM4/10/12
to java...@googlegroups.com
>In the same vein, what does Java have to do to retake the lead from C?  I vote for unsigned types, (typesafe) unions
>and function pointers.

I like all those things too, but I wonder at what point does it make sense to start over? It seems like it might be easier to make a new java-ish language with all the goodies if you're not trying to keep up the pretense that this is still the same language.
I'm not going to get on a soapbox for this, but it seems like it might make more sense than trying to glue all this stuff onto the existing language.

Casper Bang

unread,
Apr 11, 2012, 3:27:15 AM4/11/12
to java...@googlegroups.com
I like all those things too, but I wonder at what point does it make sense to start over? It seems like it might be easier to make a new java-ish language with all the goodies if you're not trying to keep up the pretense that this is still the same language.
I'm not going to get on a soapbox for this, but it seems like it might make more sense than trying to glue all this stuff onto the existing language.

+1. I've been crying for a reboot for half a decade. At some point it just stop making sense putting lipstick (and chap-stick and lip-gloss and...) on that pig. Scala is niche and will never break into mainstream. C# is disregarded purely by being associated with Microsoft. Fantom doesn't seem to attract people. Dart seems to be skewed towards RIA (EcmaScript). Go seems to be skewed towards systems (C/D). What I am trying to grasp is which language would Google want to put onto Android eventually to replace NotJavaButLooksAWholeLotLikeIt? And does a scenario where we have Go for backend and Dart for frontend, make a lot of sense?

Cédric Beust ♔

unread,
Apr 11, 2012, 3:47:27 AM4/11/12
to java...@googlegroups.com
On Wed, Apr 11, 2012 at 12:27 AM, Casper Bang <caspe...@gmail.com> wrote:
What I am trying to grasp is which language would Google want to put onto Android eventually to replace NotJavaButLooksAWholeLotLikeIt?

What could possibly be the motivation for this? Java seems to be a pretty good match for Android and its minor drawbacks are by far outweighed by its many, many strengths.

-- 
Cédric

Fabrizio Giudici

unread,
Apr 11, 2012, 4:10:35 AM4/11/12
to java...@googlegroups.com, Casper Bang
On Wed, 11 Apr 2012 09:27:15 +0200, Casper Bang <caspe...@gmail.com>
wrote:


> +1. I've been crying for a reboot for half a decade. At some point it
> just
> stop making sense putting lipstick (and chap-stick and lip-gloss and...)
> on
> that pig. Scala is niche and will never break into mainstream. C# is
> disregarded purely by being associated with Microsoft. Fantom doesn't
> seem
> to attract people. Dart seems to be skewed towards RIA (EcmaScript). Go
> seems to be skewed towards systems (C/D).

That's why Java is still #1.

> What I am trying to grasp is
> which language would Google want to put onto Android eventually to
> replace
> NotJavaButLooksAWholeLotLikeIt? And does a scenario where we have Go for
> backend and Dart for frontend, make a lot of sense?

Dart is definitely interesting, but I heard no more news about it since
the danish conference at which it was announced. Go for me is a nogo.

Casper Bang

unread,
Apr 11, 2012, 5:54:23 AM4/11/12
to java...@googlegroups.com
What could possibly be the motivation for this? Java seems to be a pretty good match for Android and its minor drawbacks are by far outweighed by its many, many strengths.

Legislation by court rulings? I think Google chose Java for pragmatic reasons at the time, not because they were particular in love with the language. 

It doesn't take long to spot the rough corners of Android. Interfacing with the native platform is a pain. Google had to invent a special language for 3D (RenderScript). The type-unsafe XML layout stuff integrates funky with casts all over etc. This latter point was also highlighted by Gavin King when he presented Ceylon; "Java is joined at the hip with XML, and this hurts almost every Java developer almost every day" and "There is simply no good way to define a user interface in Java, and that is a language problem".

Since most everything we do as programmers revolve around trees on way or another, it's high time to embrace this a little better. In a way this is also what LINQ (expression trees) is about.

Fabrizio Giudici

unread,
Apr 11, 2012, 6:03:29 AM4/11/12
to java...@googlegroups.com, Casper Bang
On Wed, 11 Apr 2012 11:54:23 +0200, Casper Bang <caspe...@gmail.com>
wrote:

>
>>


>> What could possibly be the motivation for this? Java seems to be a
>> pretty
>> good match for Android and its minor drawbacks are by far outweighed by
>> its
>> many, many strengths.
>>
>
> Legislation by court rulings? I think Google chose Java for pragmatic
> reasons at the time, not because they were particular in love with the
> language.
>
> It doesn't take long to spot the rough corners of Android. Interfacing
> with
> the native platform is a pain. Google had to invent a special language
> for
> 3D (RenderScript). The type-unsafe XML layout stuff integrates funky with
> casts all over etc. This latter point was also highlighted by Gavin King
> when he presented Ceylon; "Java is joined at the hip with XML, and this
> hurts almost every Java developer almost every day" and "There is simply
> no
> good way to define a user interface in Java, and that is a language
> problem".

Casts could be easily solved by using objectized keys rather than pure
ints. We already discussed this in the past and Cèdric asserted that the
choice of ints was done because of performance reasons. Fair enough, but
perhaps this was true at the beginning and could be no more a problem with
recent hardware and Android versions. This is basically the most annoying
point of the Java+XML integration in Android UI. While there can be of
course better solutions, the statement by Gavin King seems excessive to me
in a practical environment.

Unfortunately I've not found the time to try Visage for Android, which on
paper is excellent.

phil swenson

unread,
Apr 11, 2012, 12:38:48 PM4/11/12
to java...@googlegroups.com
Seems like until a big player (google/oracle) goes all out behind a
new JVM lang, we'e stuck with Java for the mainstream.

To take off there are many factors needed. IMO they are something
like: 1) big backer 2) syntax/features that get people excited 3) a
good web framework 4) good deployment story 5) good IDE support ( and
other stuff like REPL, good build system, scripting support, etc)


Dart and Go are kind of interesting. But it seems like the developer
community at large hates Dart. Overly verbose and kinda sorta static
typing didn't seem to go over well. Coffeescript has gotten a much
warmer reception. And personally, any language w/o exceptions I
consider broken (Go)

Cédric Beust ♔

unread,
Apr 11, 2012, 1:29:27 PM4/11/12
to java...@googlegroups.com

On Wed, Apr 11, 2012 at 9:38 AM, phil swenson <phil.s...@gmail.com> wrote:
To take off there are many factors needed.  IMO they are something
like:  1) big backer 2) syntax/features that get people excited 3) a
good web framework  4) good deployment story 5) good IDE support ( and
other stuff like REPL, good build system, scripting support, etc)

I think you are forgetting the most important factor: 0) dissatisfaction with the current mainstream technology.

Java is not just mainstream, it's also quite popular (in the sense that most developers who use it on a daily basis are pretty happy with it). Until this satisfaction rate drops, no replacement will succeed.

-- 
Cédric

phil swenson

unread,
Apr 11, 2012, 1:39:26 PM4/11/12
to java...@googlegroups.com
good point. I do think there is a fair level of dissatisfaction with
java. esp among people who have backgrounds in other languages. but
there really isn't a better general purpose alternative IMO.

but it will take more than just dissatisfaction. a contender it has
to be better than Java, but not just a little bit better - MUCH
better.


2012/4/11 Cédric Beust ♔ <ced...@beust.com>:

Josh Berry

unread,
Apr 11, 2012, 2:04:10 PM4/11/12
to java...@googlegroups.com
On Wed, Apr 11, 2012 at 1:39 PM, phil swenson <phil.s...@gmail.com> wrote:
> good point.  I do think there is a fair level of dissatisfaction with
> java.  esp among people who have backgrounds in other languages.  but
> there really isn't a better general purpose alternative IMO.
>
> but it will take more than just dissatisfaction.  a contender it has
> to be better than Java, but not just a little bit better - MUCH
> better.

I say this every time it comes up. A contender just needs a market.
There is a reason objective-c is rising here, it is a great way for
many to make a pretty penny. As dissatisfied as some are with Java,
many still use it every day because it pays the bills. And many
others are not upset with it. So, for those, what incentive do they
have to learn something new, if it isn't going to make them more
money? (Or do you think people were learning objective-c because it
has technical advantages over the alternatives? I certainly can't
discredit the though, but it seems unlikely to me.)

Cédric Beust ♔

unread,
Apr 11, 2012, 2:56:04 PM4/11/12
to java...@googlegroups.com
Objective C is obviously a different scenario, which can be summarized as follows: if a new technology becomes insanely popular over a few years and opens up a brand new industry with tens of millions of users and hundreds of millions of dollars, whatever programming language it is based on will become equally popular.

-- 
Cédric




Casper Bang

unread,
Apr 12, 2012, 4:13:16 AM4/12/12
to java...@googlegroups.com
if a new technology becomes insanely popular over a few years and opens up a brand new industry with tens of millions of users and hundreds of millions of dollars, whatever programming language it is based on will become equally popular.

That same line also applies to Java via Android. It's very likely Java's popularity would've dropped much more rapidly, had it not been for Google basing their phone SDK on Java. So in that way, Obj-C and Java are a bit in the same category.
Reply all
Reply to author
Forward
0 new messages