language popularity survey

B

BGB

In the growing struggle of software language popularity,
C++ is currently #3 and dropping (according to these
people):
http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html

Java is #1, C is #2. C# is #4 and rising rapidly.
Objective C is #6 and also rising.

partial possible reasons:
there are many plain C codebases around, and "in the wild" C++ codebases
(solely or dominantly) are not run into nearly as often IME (even then,
they can be roughly divided into 3 major camps: C-like, Java-like, and
"traditional" C++).

Java + C is fairly popular, but Java + C++ is not as much.
partial possible reason: neither JNI nor JNA provide good direct access
to C++, and infact it may work as a hindrance in this case (though
likely more psychological than practical).

although GCC's CNI is a good idea (allowing a more direct mapping
between Java and C++ classes), it has not been embraced by the great
Sun/Oracle ("Sunacle", as some have called it).

actually, one can wonder if they just don't care about providing a nice
native interface, or if they were trying to actively and deliberately
make it painful to discourage people from using it?...


Objective-C has popularity mostly as it is Apples' major language of
choice, and Apple has gotten a lot more popular in recent years.


also possible:
C++, Java, and C#, compete mostly for a partly overlapping target area:
front-end application development.

C++ is not as popular in systems-programming or back-end libraries
(which are more of C's area), although C++ does have an advantage that
Java and C# are mostly unusable in these areas (write kernel or drivers
in Java == no).

however, in terms of ease of use, and providing expansive standardized
library functionality, Java and C# have an advantage (for example, there
is no direct/standardized C++ analogue of AWT/Swing or WinForms or WPF).


not that it is all bad news though, as C and C++ are still the
top-players in areas where performance is important, as, despite some
claims, C# and Java have not generally beaten C or C++ WRT either
performance or memory footprint (meaning an advantage in areas where
this is important).


or such...
 
L

Lynn McGuire

partial possible reasons:
there are many plain C codebases around, and "in the wild" C++ codebases (solely or dominantly) are not run into nearly as often IME
(even then, they can be roughly divided into 3 major camps: C-like, Java-like, and "traditional" C++).

Java + C is fairly popular, but Java + C++ is not as much.
partial possible reason: neither JNI nor JNA provide good direct access to C++, and infact it may work as a hindrance in this case
(though likely more psychological than practical).

although GCC's CNI is a good idea (allowing a more direct mapping between Java and C++ classes), it has not been embraced by the
great Sun/Oracle ("Sunacle", as some have called it).

actually, one can wonder if they just don't care about providing a nice native interface, or if they were trying to actively and
deliberately make it painful to discourage people from using it?...


Objective-C has popularity mostly as it is Apples' major language of choice, and Apple has gotten a lot more popular in recent years.


also possible:
C++, Java, and C#, compete mostly for a partly overlapping target area: front-end application development.

C++ is not as popular in systems-programming or back-end libraries (which are more of C's area), although C++ does have an advantage
that Java and C# are mostly unusable in these areas (write kernel or drivers in Java == no).

however, in terms of ease of use, and providing expansive standardized library functionality, Java and C# have an advantage (for
example, there is no direct/standardized C++ analogue of AWT/Swing or WinForms or WPF).


not that it is all bad news though, as C and C++ are still the top-players in areas where performance is important, as, despite some
claims, C# and Java have not generally beaten C or C++ WRT either performance or memory footprint (meaning an advantage in areas
where this is important).


or such...

C for embedded systems programming is big, very big.

Lynn
 
B

Balog Pal

In the growing struggle of software language popularity,
Which struggle would that be?

Yeah. And we're still facing the olm mosrepresentation of measured "web
noise" as "popularity"...

Btw with C++11 just accepted we can expect a peak of noise very soon that
will make C++ look way more popular -- while in reality I expect at least a
few years before real support become stable in compilers, and even more for
real-life projects to build on the new stuff.
 
S

Stuart Redmann

Which struggle would that be?

Oh, come on. Even if you neglect the fact that many software
manufacturers actually earn their living with compilers, and their
success is tightly coupled to the popularity of their compiler, you'll
have to concede that the popularity of a language also affects the
programmer: If we have a great language (for example Ada95), but no
one uses it, you'll most probably stop using it as well. The
popularity of a language is a major factor for the ecosystem that
evolves around a language in the form of libraries, newsgroups, and so
on (not to forget that even the compilers for the language will
improve, if it is an open source compiler).

Personally, I like C++ most, even though I'd like to see some features
in C++ that will never be added. I don't worry if C++ drops from place
two or three to place ten or eleven, but I'd reconsider if C++ dropped
to place fifty.

Regards,
Stuart
 
J

Jorgen Grahn

Oh, come on. Even if you neglect the fact that many software
manufacturers actually earn their living with compilers, and their
success is tightly coupled to the popularity of their compiler, you'll
have to concede that the popularity of a language also affects the
programmer: If we have a great language (for example Ada95), but no
one uses it, you'll most probably stop using it as well. The
popularity of a language is a major factor for the ecosystem that
evolves around a language in the form of libraries, newsgroups, and so
on (not to forget that even the compilers for the language will
improve, if it is an open source compiler).
Agree.

Personally, I like C++ most, even though I'd like to see some features
in C++ that will never be added. I don't worry if C++ drops from place
two or three to place ten or eleven, but I'd reconsider if C++ dropped
to place fifty.

It depends. In my world (some small subsection of the larger
embedded/Unix world) all that matters is if C++ is seen as a serious
alternative to C, or if someone in power decides that some toy
language/proprietary 4GL environment is the future.

Most of the others on any top list are not applicable.

/Jorgen
 
R

Rui Maciel

Lynn said:
In the growing struggle of software language popularity,
C++ is currently #3 and dropping (according to these
people):
http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html

Java is #1, C is #2. C# is #4 and rising rapidly.
Objective C is #6 and also rising.

This index is meaningless. According to them[1], their index is calculated
the following way:

<quote>
Ratings

The ratings are calculated by counting hits of the most popular search
engines.
</quote>

The search queries are ran in the following sites:
<quote>
Based on these criteria currently the following search engines are used:

Google: 32%
Blogger: 32%
Wikipedia: 16%
YouTube: 10%
Yahoo!: 3%
Bing: 3%
Baidu: 3%
</blockquote>


So, you are effectively trying to claim that some language is "more popular"
than other by counting the number of youtube videos which might pop out in a
search.

So, as it is easy to see, this TIOBE index is bullshit.


Rui Maciel

[1]
http://www.tiobe.com/index.php/content/paperinfo/tpci/tpci_definition.htm
 
R

Rui Maciel

Stuart said:
Oh, come on. Even if you neglect the fact that many software
manufacturers actually earn their living with compilers, and their
success is tightly coupled to the popularity of their compiler, you'll
have to concede that the popularity of a language also affects the
programmer: If we have a great language (for example Ada95), but no
one uses it, you'll most probably stop using it as well.

I find it doubtful that a ongoing project would suddenly be forced to a
complete rewrite due to a change in a dubious popularity chart. One thing
that comes to mind is the demand for COBOL programmers and the time-honoured
use of Fortran in highly technical fields.

On the other hand, the perceived notion of popularity might impact projects
which are just starting off, but for non-technical (and therefore wrong)
reasons. If a large pool of software developers who are skilled with a
specific programming language is available then recruiters are able to exert
some economic pressure (taking advantage of an oversupply of programmers) in
order to pay their prospective developers less. Nevertheless, scrapping the
bottom of the proverbial barrel may look good in a human-resource
perspective (that is, a blind perspective) but it tend to bring a lot of
problems and efficiency issues, not to mention those caused by the quality
of the code, when the project goes on and becomes increasingly more complex.

The
popularity of a language is a major factor for the ecosystem that
evolves around a language in the form of libraries, newsgroups, and so
on (not to forget that even the compilers for the language will
improve, if it is an open source compiler).

Some people actually care if a specific tool is the right tool for the job,
and this tends to be the decisive factor in spite of whatever correlation it
might have with any random perception of popularity.

Personally, I like C++ most, even though I'd like to see some features
in C++ that will never be added. I don't worry if C++ drops from place
two or three to place ten or eleven, but I'd reconsider if C++ dropped
to place fifty.

Well, that would be a stupid thing to do. A tool doesn't suddenly become
better/worse or more/less powerful through a change in a popularity index.
And considering this TIOBE bullshit, and how it relies on search hits
(unfiltered?) on youtube to determine which language is more popular than
others, this would mean that your technical decisions would depend on the
number of videos any random person uploaded to the site. And just imagine
if your technical decisions were influenced by the number of "language X
sucks ass" videos some 12 year old kid posted on youtube.


Rui Maciel
 
S

Stuart Redmann

Rui said:
I find it doubtful that a ongoing project would suddenly be forced to a
complete rewrite due to a change in a dubious popularity chart. One thing
that comes to mind is the demand for COBOL programmers and the time-
honoured use of Fortran in highly technical fields.

Agreed. One of the largest (and probably most important) projects in
our company is written in Fortran, and there is little to no desire to
switch this project to a different language.

However, the Fortran language seems to lag behind: Other programming
languages have a richer set of features (like C or C++) and a better
"ecosystem" (see my earlier posting). Of course, we could simply
enrich the Fortran language with OO, generics and whatever is standard
for a 4GL.

On the other hand we could just transform our Fortran projects to C or
C++. Apparently Fortran thrives because of its rich libraries, but
they have already been ported to other programming languages.

It's a tough decision.

Rui said:
On the other hand, the perceived notion of popularity might
impact projects which are just starting off, but for non-technical
(and therefore wrong) reasons. If a large pool of software developers
who are skilled with a specific programming language is available
then recruiters are able to exert some economic pressure (taking
advantage of an oversupply of programmers) in order to pay their
prospective developers less. Nevertheless, scrapping the
bottom of the proverbial barrel may look good in a human-resource
perspective (that is, a blind perspective) but it tend to bring a lot of
problems and efficiency issues, not to mention those caused by the quality
of the code, when the project goes on and becomes increasingly
more complex.


It is a bad fact that recruiters may have that level of influence. I'm
afraid there is little we can do about this ;-)

[snip]

Regards,
Stuart
 
M

Miles Bader

DeMarcus said:
Objective C is only used in iMac and iPhone, right?

(Hmm, it's just "Mac", right?)

Those seem to be the main users of objective C, though of course there
are objective C compilers / libraries / etc on other systems
(e.g. GNUstep is a free software version of the NeXTStep [etc]
libraries that later became Cocoa on the mac)

-Miles
 
Q

Qi

Objective C is only used in iMac and iPhone, right?

Objective C is becoming popular due to the "fashion"
iPhone and iPad.
When iPhone and iPad fade out, OC will be forgotten again.

Usually beginner may choose OC because they may think
it's the only choice.

IMO C++ is quite good supported by XCode and easier
to develop iOS apps, with very little OC to interact
with the SDK.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,756
Messages
2,569,535
Members
45,007
Latest member
OrderFitnessKetoCapsules

Latest Threads

Top