×

Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

C/C++ Back On Top of the Programming Heap?

timothy posted about 2 years ago | from the where's-the-future's-market? dept.

Programming 611

Drethon writes "On this day in 2008, a submission was posted that C/C++ was losing ground so I decided to check out its current state. It seems that C has returned to the top while Java has dropped by the same amount, VB and PHP have dropped drastically, C++ is holding fast but now in third place and Objective-C and C# have climbed quite a bit. 2008 data thanks to SatanicPuppy: 1. Java (20.5%); 2. C (.14.7%); 3. VB (11.6%); 4. PHP (10.3%); 5. C++ (9.9%); 6. Perl (5.9%); 7. Python (4.5%); 8. C# (.3.8%); 9. Ruby(2.9%); 10. Delphi (2.7%). The other 10 in the top 20 are: JavaScript, D, PL/SQL, SAS, Pascal, Lisp/Scheme, FoxPro/xBase, COBOL, Ada, and ColdFusion."

cancel ×
This is a preview of your comment

No Comment Title Entered

Anonymous Coward 1 minute ago

No Comment Entered

611 comments

Because of Windows (0)

who_stole_my_kidneys (1956012) | about 2 years ago | (#39781379)

the whole OS is compiled in C++

Re:Because of Windows (1)

Anonymous Coward | about 2 years ago | (#39781397)

Yeah and that 9.9% just includes vista ;)

Re:Because of Windows (2)

i kan reed (749298) | about 2 years ago | (#39781423)

I'm not sure what you mean by "whole os". The entire kernel is basically C, but technically C++ like Microsoft likes. Substantial amounts of things that come on a windows disc these days are written in C#.

Windows kernel is C (4, Informative)

Comboman (895500) | about 2 years ago | (#39781499)

The Windows OS kernel is mostly in C with some assembly (just like Unix/Linux/BSD/OSX). The Windows GUI is mostly C++ (but so is KDE).

Buffer overflow (-1)

Anonymous Coward | about 2 years ago | (#39781529)

Can we please adopt languages that are not susceptible to buffer overflow/underrun errors? It's really pathetic that after all these years that's still a huge cause of security issues.

Re:Buffer overflow (4, Insightful)

KGBear (71109) | about 2 years ago | (#39781643)

Sure. As soon as someone comes up with a language that produces code that runs half way as fast as C on any OS, and that at least pretends to integrate with the rest of the OS. You know, make it nice for everybody else other than developers. Oh, here's a though: how about developers get their heads out of their butts and learn how to be programmers, instead of whining that real languages don't do everything for them?

Re:Buffer overflow (1, Funny)

Anonymous Coward | about 2 years ago | (#39781839)

Sure. As soon as someone comes up with a language that produces code that runs half way as fast as C on any OS, and that at least pretends to integrate with the rest of the OS. You know, make it nice for everybody else other than developers. Oh, here's a though: how about developers get their heads out of their butts and learn how to be programmers, instead of whining that real languages don't do everything for them?

Switch to Windows. C# and .NET do in fact run at least "half way as fast" as C and integrates with the rest of the OS fine.

In any case, excluding a managed language on the grounds that it is not fast enough sounds like premature optimization to me. Might as well start off writing it all in assembly, since compilers don't always produce the fastest possible code.

Re:Buffer overflow (2)

evil_aaronm (671521) | about 2 years ago | (#39781709)

Because we can't trust programmers to be smart enough to avoid these conditions...?

My pocket knife can be used in a completely safe manner. It can also be used in a completely unsafe manner. How it's used it up to me. Because it can be used dangerously doesn't mean that we shouldn't have pocket knives.

Re:Buffer overflow (0)

Anonymous Coward | about 2 years ago | (#39781793)

Because we can't trust programmers to be smart enough to avoid these conditions...?

Well, obviously we can't [secunia.com].

Re:Buffer overflow (4, Insightful)

cowdung (702933) | about 2 years ago | (#39781843)

A pocket knife doesn't implicitly create objects or fail to cleanup if you forget to make your destructor virtual.

C++ has very complex rules that take years to hone and understand correctly, and even then mistakes are easy to make. The proof is that even today when you go to C++ forums people are still asking about obscure language rules while in Java forums the conversation has moved on to issues of design. Nobody needs to discuss the meaning of language constructs in Java because they are obvious.

It isn't however obvious that an error in your cannonical class definition could cause this code to create a memory leak:

a = b;

Clearly proper use of a tool is important. But tools without safety features are more likely to cause accidents.

Re:Buffer overflow (0)

Anonymous Coward | about 2 years ago | (#39781715)

Modern OS protection schemes make it very, very, very difficult to actually exploit buffer overflows nowadays. Coders really ought to be knowledgeable enough to avoid making the mistakes on their own anyhow.

Re:Buffer overflow (0)

Anonymous Coward | about 2 years ago | (#39781737)

Such as? What language protects you from bad programmers? If they can't add and subtract integers they sure as hell aren't going to be any good at sanitizing input either. If you can't cross your t's and dot your i's you shouldn't be a scribe.

Re:Buffer overflow (2)

The Evil Atheist (2484676) | about 2 years ago | (#39781753)

Yes. It's called the Standard Template Library. C++ has them and should be used. There's hardly any excuse not to use them, especially now that C++ will get move semantics which can increase performance of the containers by an order of magnitude.

Re:Buffer overflow (4, Informative)

Imagix (695350) | about 2 years ago | (#39781863)

now that C++ will get move semantics

Not will, _has_ move semantics. As of last August.

Re:Buffer overflow (5, Insightful)

Artraze (600366) | about 2 years ago | (#39781797)

Given the prevalence of SQL injection attacks, which could be prevented with a single function call, I have to say that buffer over-(and under-) flows are really a red herring. Unless a language makes it literally impossible to write insecure code, lazy and bad programmers will find a way.

Re:Buffer overflow (1)

Skapare (16644) | about 2 years ago | (#39781985)

Can we please adopt programmers that are not susceptible to writing bad code? It's really pathetic that after all these years, that's still a huge cause of security issues.

Eh? (0)

ledow (319597) | about 2 years ago | (#39781405)

How comes the summary list doesn't correlate at all with the list on the article?

And you know your language is dead when it's less popular than Lisp.

Re:Eh? (4, Funny)

i kan reed (749298) | about 2 years ago | (#39781439)

So is Lisp in some sort of state of perpetual undeath then?

Re:Eh? (0)

Anonymous Coward | about 2 years ago | (#39781739)

So is Lisp in some sort of state of perpetual undeath then?

(!(braaiiinnnsss))

Re:Eh? (3, Funny)

azalin (67640) | about 2 years ago | (#39781847)

I would rather suggest it to be the gate to the underworld.

“Through me you pass into the city of woe:
Through me you pass into eternal pain:
Through me among the people lost for aye.
Justice the founder of my fabric moved:
To rear me was the task of Power divine,
Supremest Wisdom, and primeval Love.
Before me things create were none, save things
Eternal, and eternal I endure.
Abandon all hope, ye who enter here.”

Re:Eh? (0)

Anonymous Coward | about 2 years ago | (#39781447)

The summary list is the 2008 data.

Re:Eh? (1)

Sponge Bath (413667) | about 2 years ago | (#39781459)

Summary contains 2008 data, article contains current data. C is awesome incarnate: lean, readable and full of low level goodness.

Readable C? (2)

waterbear (190559) | about 2 years ago | (#39781855)

C is awesome incarnate: lean, readable and full of low level goodness.

C can be readable .... if the programmer has kept to a reasonable kind of discipline and order in the coding, that is. (FTFY)

Obfuscating C can be as hard to read as old 'spaghetti Fortran', I think.

-wb-

Re:Eh? (1)

ledow (319597) | about 2 years ago | (#39781469)

Doh.

My mistake. Can't read years properly.

But still, how pointless to put the OLD data in the summary and the 4+ years more modern data in the article?

Re:Eh? (2)

PhilHibbs (4537) | about 2 years ago | (#39781531)

Because the linked article is about the current state, the Slashdot article is about the comparison with 2008 and so includes the missing information that the linked article does not.

Re:Eh? (5, Informative)

FrootLoops (1817694) | about 2 years ago | (#39781687)

The site was loading very slowly so I scraped the 2012 rankings for the curious but impatient:

1 - C - 17.555%
2 - Java - 17.026%
3 - C++ - 8.896%
4 - Objective-C - 8.236%
5 - C# - 7.348%
6 - PHP - 5.288%
7 - (Visual) Basic - 4.962%
8 - Python - 3.665%
9 - JavaScript - 2.879%
10 - Perl - 2.387%
11 - Ruby - 1.510%
12 - PL/SQL - 1.373%
13 - Delphi/Object Pascal - 1.370%
14 - Visual Basic .NET - 0.978%
15 - Lisp - 0.951%
16 - Pascal - 0.812%
17 - Ada - 0.783%
18 - Transact-SQL - 0.760%
19 - Logo - 0.652%
20 - NXT-G - 0.578%

Re:Eh? (1)

ZorinLynx (31751) | about 2 years ago | (#39781917)

>19 - Logo - 0.652%

People still use this? I remember this being a toy language for kids to learn how to program.

Re:Eh? (1)

phantomfive (622387) | about 2 years ago | (#39781981)

I think that's what it's used for. My cousin recently took a course using Logo. She used it to write cursive letters, I was impressed.

64 bit porting? (1)

jellomizer (103300) | about 2 years ago | (#39781429)

I would expect that a lot of companies are probably working on importing their legacy systems to work for the new 64 bit systems.
Now that most PC's are out with more then 4 gigs of RAM. Many OS's are going towards 64 bit OS's and a lot of those old 32 bit systems programmed in C for performance, needs to be upgraded.
A lot of those programs that seemed to run fine in windows 3.1 are finally stop working in windows 7 64 bit.

I am not saying C coding is just for legacy systems, but a good amount of legacy systems are written in C, and most of those C written programs are fairly optimized for their platform they were designed to run, and we are starting to switch to 64 bit and multi-core architecture.

Re:64 bit porting? (3, Interesting)

vlm (69642) | about 2 years ago | (#39781761)

I would expect that a lot of companies are probably working on importing their legacy systems to work for the new 64 bit systems.

a good amount of legacy systems are written in C, and most of those C written programs are fairly optimized for their platform they were designed to run, and we are starting to switch to 64 bit and multi-core architecture.

You're more or less paraphrasing an email I recall from Linus back in '94 when the 64 bit Digital Alpha port was just beginning. Of course that's 18 years ago not anything new. I think we still have many more years of the "64 bits is new" meme left. With more GOOG effort I could probably find that email. Or it might have been an old Linux Journal article about the alpha port rather than an email. Hmm.

I was pretty late to the conversion to 64 bits compared to most people in the biz. I don't think the debian amd64 port was released until 2007 ish, I think as part of Debian 4.0/etch, although I was using the amd64 port as "testing" (before it became "etch") for at least a year or two earlier.

Some of our amd64 hardware at work is considered legacy now, just because its so old.

I remember in the early years of the 32/64 bit conversion, like half a decade ago, running legacy non-free software like the 32 bit flash player on a 64 bit OS was a pretty interesting problem, but it was all solved a long time ago, so its not interesting anymore. I would imagine someday in the future the windows folks will have similar interesting experiences when they catch up to linux, as they always eventually do.

Re:64 bit porting? (1)

jellomizer (103300) | about 2 years ago | (#39781827)

The 64 bit migration first was on the Server Side, Linux is a Server OS. So Linux, Solaris, etc... Had been ported to 64bit a while ago. But now standard PC's are now 64 bit. So we are now pushing towards the Desktop move to 64 bit code.
While migrating to 64 bit on the servers wasn't seamless. However most Server Side code was more 64 bit ready then Desktop code. As the migration to 64 bit is one part, the second part is moving to Multi-cores. Servers had been using Parallel processors for a while now. Multi-Core is new to the Desktop. So a lot of old Apps are being redesigned to run more parallel.

Migration to 64 bit roughly is a recompile away in C. However you are compiling on a newer Compiler so your code may need some altering (usually for the better). But going from a single CPU to multi-core use. That requires redesign on how your program works.

Re:64 bit porting? (0)

Anonymous Coward | about 2 years ago | (#39781773)

I didn't find what systems are included in this index but for every computer you have you probably have a couple of embedded systems. Pretty much every 8-bit controller is programmed with C today, perhaps some assembly for the legacy stuff.

iOS, games, etc ... (0)

perpenso (1613749) | about 2 years ago | (#39781877)

64-bit hardware doesn't require reworking old apps, most 32-bit apps will run just fine as is. Unless you need more memory than your 32-bit environment can provide I doubt many 32-bit apps are being revisited.

Games are an area where C/C++ has always been strong, one needs the performance, except possibly for casual games.

iOS is another thing that may contribute to increased C/C++ usage. When you target iOS you have to use Objective C, this is what the iOS API uses. However there is no problem using C/C++ code in the non-user interface portions of your code. For example in an iOS calculator app (rpn, scientific, statistics, business, hex) [perpenso.com] the user interface code is all Objective C but all the handlers for the button presses and all the math is in C/C++. This makes porting and testing easier. With respect to testing I can build regression and fuzzing test apps for the Linux console that include the button handlers and math code, these test apps then simulate button presses and check "displayed" results and various calculator registers (stack, memory, special purpose, etc).

And of course there is the combination of the two. iOS games. The core of the game itself should be written in C/C++ for performance and portability.

Re:iOS, games, etc ... (0)

Anonymous Coward | about 2 years ago | (#39781929)

It's not just about needing more memory. Lots of 32-bit apps made/make lots of assumptions about data type sizes, such as default int size, that can cause issues when moving to 64-bit. You've not worked with much legacy code if you think most apps will run just fine as is.

When will people learn... (4, Insightful)

wpi97 (901954) | about 2 years ago | (#39781433)

C and C++ are two separate and very different languages.

Re:When will people learn... (1)

jellomizer (103300) | about 2 years ago | (#39781451)

Not that different.
For the most part if you write C code in C++ the code works fine.

Re:When will people learn... (4, Insightful)

wpi97 (901954) | about 2 years ago | (#39781505)

Yes, for the most part... Except when you write in C++ as though it is C, you get really bad C++ code. C++ has a different philosophy and a very different set of idioms.
Remember, a good Fortran programmer can write good Fortran code in any language. But that doesn't mean that every language is like Fortran.

Re:When will people learn... (1)

jellomizer (103300) | about 2 years ago | (#39781755)

Well the difference is this.

FORTRAN
PROGRAM HELLOWORLD
      WRITE *, "HELLO WORLD"
END

vs.

C++/C
#include
int main (char argc, char** argv) {
      printf("HELLO WORLD");
      return 0;
}

When you write FORTRAN code it only really works in fortran. When you write C code it work most of the time in C++. Although C++ is designed to program it differently. So if you see Real C++ code you know you are not in C. However C++ has a lot of back wards compatibility to C. And a lot of the details still match C.

Re:When will people learn... (1)

Anonymous Coward | about 2 years ago | (#39781791)

Writing C that cannot be compiled as C++ is extremely short-sighted. It is an established best practice to code C to be compatible with C++ compilers. C is callable from C++ (and vice-versa) on all reasonable platforms. Those who emphasize "two separate languages" are promoting a futile and needless divergence. They're the same kind of "talk is cheap" programmers that like to frustrate useful optimizations by blogging about esoteric implementations of inheritance and arcane architectures with weird sizes of primitive types. It is extremely useful, and depended on by most mainstream C/C++ development, that C remains, for all practical purposes, a subset of C++, which is why the useful C99 features are in C++.

Re:When will people learn... (5, Interesting)

UnknownSoldier (67820) | about 2 years ago | (#39781801)

> except when you write in C++ as though it is C, you get really bad C++

Total nonsense. Almost every game these days is written in C++ and while they all vary in the amount of applied OOP and generic meta programming, the fastest ones use a data driven approach because OOP is SLOW - raw C++ makes dealing with ONE type of object easy, but it doesn't help dealing with performance issues when you have MANY objects. I.e. Template Bloat, lack of virtual dead stripping, and inflated deep hierarchies, to start with.

C is a good language because it forces one to think about runtime performance. When you have some junior coder sticking a virtual function call inside a for loop because he doesn't the three levels of pointers being applied the problem is not the language per say, but programmers who don't understand enough of the hardware to know "There Is No Such Thing As A Free Lunch"

Higher level languages tend to help minimize *developer* time, at the expense of run-time.

Re:When will people learn... (1)

Hentes (2461350) | about 2 years ago | (#39781825)

C++ is a multi-paradigm language which means that it doesn't have a single philosophy like Java, but permits you to write in any style you want. What is horrible is writing C++ code in C, trying to painfully emulate OO and other functions of the language, but not using C++ because it's not l33t enough.

Re:When will people learn... (5, Interesting)

robthebloke (1308483) | about 2 years ago | (#39781937)

Except when you write in C++ as though it is C, you get really bad C++ code.

When you write C++ as though it were C++, you get really bad, terribly inefficient code. If you need to extract maximum performance from your code, a C-with-classes approach to SIMD & multi-core optimisations tends to lead to better results imho. It's very difficult to adhere to what most people refer to 'good C++', because 'good C++' implies nicely encapsulated objects. This doesn't really work so well when you have 256bit wide SIMD registers. Suddenly you find your C++ classes are actually maintaining the state of 8+ objects, and then some of the idioms start unravelling. OOP is currently being stabbed to death by concurrency & parallelism, and there is nothing anyone can do to save it.

Re:When will people learn... (1)

vlm (69642) | about 2 years ago | (#39781837)

Its all in the libraries.

Kind of like how I am intimately familiar with Perl and Ruby and they're similar, sorta, in how Perl can usually be trivially dumped into Ruby and then search and replaced and hacked up to run.

However, I'm not really a Perl programmer, I'm a CPAN programmer. My "perl" scripts are merely some glue and bug/issue fixes between weird CPAN routines. That is the problem with going from Perl to Ruby.

z=x+y; doesn't require much work either in the Perl-Ruby transition or the C-C++ transition. Outside/addon libraries are a hairpulling nightmare.

Its not just the syntax changes either to use a different library name and maybe some different limitations and parameters... its the crazy code I put in Perl to work around some bug/issue that needs to be removed and then new crazy code in Ruby to work around some ruby gem limitation.

Oh and then testing.

Re:When will people learn... (1)

Drethon (1445051) | about 2 years ago | (#39781615)

I think people need to learn that all languages just create a bunch of machine language and is mostly just statements, loops and branches so there isn't a great amount of difference between any language. Anything you can make in Java or C# (are these truly high level these days or more of a medium level?) I can do in C. The only difference is I have to implement how these features are done in C (or find a library) rather than using language features. Not saying its better, just saying it is all ultimately the same thing at the advanced level.

Re:When will people learn... (1)

Artraze (600366) | about 2 years ago | (#39781679)

With C++ basically being a superset of C, I wouldn't say that's entirely true.

Regardless, though, when you look at the wide world of programming languages, they are _far_ more distinct from everything else than they are from each other. Java, C#, Python, Ruby, JS, HTML(?!) I can't think of a single mainstream language aside from "C/C++" that uses pointers lacks a garbage collector. So in regard to practical application and required skills, they are effectively quite similar.

Good news! (2)

19thNervousBreakdown (768619) | about 2 years ago | (#39781435)

My two favorite languages aren't dying!

Whatever anyone else thinks, I think they're not only extremely solid languages that have stood the test of time, but they're both really fun to program in. I know it's at least somewhat subjective, and right tool for the job and all, but that doesn't mean you can't have preferences and it's good to see the "Yankees" of programming not headed into obscurity.

Re:Good news! (5, Funny)

goombah99 (560566) | about 2 years ago | (#39781463)

My two favorite languages aren't dying!

Yes, Perl and Ruby combined have twice the share of python. It's really more like 20 times, since you can get ten times as much done in a single line of perl.

Re:Good news! (4, Funny)

spatley (191233) | about 2 years ago | (#39781869)

...since you can get ten times as much done in a single line of perl.

Yes and you will be the only human on earth that knows what it does.

Re:Good news! (2)

Hentes (2461350) | about 2 years ago | (#39781493)

Programming is fun when it poses a challenge. So while I agree that C++ coding is fun, it's inefficient for a lot of purposes.

Re:Good news! (1)

Drethon (1445051) | about 2 years ago | (#39781905)

Which purposes do you find it inefficient for? Admittedly I do develop for a lot of high performance and low level type applications so high level languages don't work so well for me.

Re:Good news! (3, Interesting)

Desler (1608317) | about 2 years ago | (#39781593)

They were never dying. C and C++ underpin all OSes, the Internet, pretty much the multimedia apps you use, the vast majority of games/game engines, etc. and they are the implementation languages of all the 'hip' fad languages.

Re:Good news! (2)

zero.kalvin (1231372) | about 2 years ago | (#39781873)

And you forgot scientific programs as well. In our collaboration most of the Monte Carlo simulators were written in FORTRAN, which is not bad, but the problem is finding someone who knows FORTRAN to maintain them. And only recently we have moved to C ( last couple of years). However I noticed that most scientists below the age of 35 use C. Python is used, but only for scripting purpouses ( as it should ). Ps, my domain is astrophysics/astroparticles.

Java dropped by the same amount (3, Interesting)

TaoPhoenix (980487) | about 2 years ago | (#39781437)

Will Java drop even further because of the whole Oracle mess?

  I guess I am surprised that Python is ahead of C#, and that Ruby is so low given its underground buzz.

Re:Java dropped by the same amount (1)

plopez (54068) | about 2 years ago | (#39781489)

If Ruby wasn't such a niche language (at least at this point in time) it wouldn't be an underground language, now would it? Underground means outside of the mainstream which Ruby is for the most part.

Re:Java dropped by the same amount (4, Insightful)

Theophany (2519296) | about 2 years ago | (#39781501)

Probably has something to do with it's buzz being 'underground' and its benefits being widely refuted?

Re:Java dropped by the same amount (0)

Anonymous Coward | about 2 years ago | (#39781609)

The data in summary is from 2008.

Re:Java dropped by the same amount (2)

capnchicken (664317) | about 2 years ago | (#39781617)

Python was ahead of C# , what's listed in the summary is the 2008 index, the 2012 index has C# about three and a half points ahead of python.

Ruby is a hype machine, you can tell by the huge spikes and valleys when you see its popularity graphed out individually over the years. It's seemed to have relegated itself now to about a point and a half now.

http://www.tiobe.com/index.php/paperinfo/tpci/Ruby.html [tiobe.com]

Re:Java dropped by the same amount (4, Insightful)

cjcela (1539859) | about 2 years ago | (#39781639)

My impression is that Java will eventually relegated purely to in-house software, for large companies that are heavily invested in Oracle. Most of the goodness of Java comes from the Java API's, and these are on a legal battle. Most OS's are already not including the platform by default. At the end, for independent software companies, and specially for small shops, it feels too risky to invest one's time in learning or keeping up with a language that is controlled by a suing-happy company. As much as I despise Microsoft's ways of polluting languages (remember J++?), I think they are orders of magnitude more trustworthy than Oracle.

Re:Java dropped by the same amount (1)

marcosdumay (620877) | about 2 years ago | (#39781795)

Python has 3.7%, and C# 7.3%. Python is not ahead. C and Java have nearly the same amount. It is a tie, not a victory for C.

What is interesting is that I'd expect C# to get marketshare from Java and VB, but it got share fom Perl, Python, PHP and VB. Ok, maybe it didn't got its share directly from those, but at the overall picture it did. What that means is that if it took share from Java, then Java (or C/C++) took some share from those languages. I expected the exact oposite.

It would be very interesting to know what role QT plays on that change.

PHP at #4 (2)

TheNinjaroach (878876) | about 2 years ago | (#39781475)

That's interesting to me that PHP is more popular than a language like C#. But I guess when you include VB and all of its legacy, then the whole ".NET" stack is quite a bit more popular.

Re:PHP at #4 (0)

Anonymous Coward | about 2 years ago | (#39781619)

Excepting that VB's legacy doesn't encompass the .NET stack at all, at least until version 7 released in 2002. Everything prior is OLE/COM with a custom framework and VBA in Office is still based on that old model as well. VB.NET represents a relatively small market share within the .NET ecosystem, although likely solidly second place.

Opinion (4, Interesting)

degeneratemonkey (1405019) | about 2 years ago | (#39781481)

Of this list, C#, Ruby, and Python are clearly the best languages as far as I'm concerned.

The C++ longevity is expected. Every engineer worth his weight in salt should be able to write C++ code. (get off my lawn etc.)

I am curious abobut where the C growth is coming from. Embedded stuff? Native libraries for the increasing volume other higher level languages? ;)

Re:Opinion (1)

Drethon (1445051) | about 2 years ago | (#39781721)

I think C/C++ languages will always be around when you want to know exactly what is happening with your memory. I'll agree the languages you mention are better for rapid and clean development but you lack some of the careful memory management capability.

Popularity Contest (2, Insightful)

Anonymous Coward | about 2 years ago | (#39781487)

The Tiobe index is a popularity contest - a pageant for programming languages - so, you get the trend on what's hot, but that is just part of the IT business.

I challenge you to find 5 banks whose core are not built with Cobol, for example.

My point is that real use != trending languages

Trends swinging back (1)

concealment (2447304) | about 2 years ago | (#39781495)

The trend after the web became big in the mid-90s was to find specialized languages and try to code in those.

The trend has swung backward. People are now looking for general purpose languages. They want Swiss army knives, not specialized tools.

Re:Trends swinging back (1)

degeneratemonkey (1405019) | about 2 years ago | (#39781543)

It is unclear to me how 9 out of the top 10 languages in the list are not "general purpose" languages. I'll give you PHP, but nobody likes PHP anyway; do they?

Because of speed and compatibility. (1)

Ateocinico (32734) | about 2 years ago | (#39781549)

Because you NEVER have enough speed. Besides most useful libraries are written in C or C++
and lather binds are built for other languages. So, if you want or need to use the latest
version, or the library hasn't bindings, you must go for C or C++.

NXT-G ? (2)

godrik (1287354) | about 2 years ago | (#39781553)

The 20th language is NXT-G. What the fuck is that? Is it really lego's programming language for robots as wikipedia indicates (http://en.wikipedia.org/wiki/NXT-G) ? And that is more popular than bash or matlab?

Re:NXT-G ? (0)

Anonymous Coward | about 2 years ago | (#39781777)

Yes, and yes.

Does it surprise you that more people are writing Lego robotics programs than are writing bash scripts? Bash is a terrible scripting language; I avoid it at all costs myself.

Re:NXT-G ? (2)

flabordec (984984) | about 2 years ago | (#39781779)

Because programming LEGOs is awesome! Really, take a look at some of these [youtube.com] videos [youtube.com]. There are also a lot of competitions for middle level school children and there is a big push to get it into computer science classes at elementary and middle school level, so it is being used a lot by younger kids.

Not a ranking of the best or the most (5, Insightful)

Relayman (1068986) | about 2 years ago | (#39781571)

From the article: "Observe that the TIOBE index is not about the best programming language or the language in which most lines of code have been written." [Emphasis added]

It's a survey, no more, no less. Using it to make decisions about your career is foolhardy at best.

C++ (0)

Anonymous Coward | about 2 years ago | (#39781573)

C++ is the hard core, it must work, programming language of choice. The F-35's software is being developed in C++.

Re:C++ (1)

Drethon (1445051) | about 2 years ago | (#39781667)

Just my opinion but C++ isn't so much the code must work but more the code must do exactly what the developer thinks it is. Higher level languages may not implement a statement the way you think it is so requirement/code coverage is more difficult.

The TIOBE index is *ABSOLUTELY MEANINGLESS* (5, Interesting)

Anonymous Coward | about 2 years ago | (#39781637)

It's unbelievable that people still pay any attention whatsoever to it. Some company comes up with a ridiculous 'methodology' to gauge the popularity of languages, and people assume that it's actually related in any way to reality.

Further reading:

The best place to start is at TIOBE's own methodology description page: http://bit.ly/h3ftBa
No need to go much beyond that, to figure out that it's a meaningless index. To save you the reading, it more or less boils down to this:

---
The ratings are calculated by counting hits of the most popular search engines. The search query that is used is

+" programming"
---

That's all.

Still need some more convincing:

Why TIOBE isn't all that useful (mild): http://bit.ly/IeG0yA
The TIOBE index is being gamed: http://bit.ly/IeGnt1

It's no short of ridiculous. Time to stop paying attention to it, move along!

C growing? (1)

16K Ram Pack (690082) | about 2 years ago | (#39781641)

The whole survey looks odd to me. I work on MS sites and a decade or so ago, there was quite a lot of C around, but with today's hardware, I hardly see any of it now. Maybe I'm hanging around in the wrong sites or job boards, but most of the demand on places like Jobserve seems to be around .net, Java and php. Any chance that this survey is including a load of c# results in c?

Re:C growing? (0)

Anonymous Coward | about 2 years ago | (#39781817)

all those cool little mobile devices. They need firmware, and you're not going to be doing that in .net, java or php are you?

Pascal but no Delphi (2)

doconnor (134648) | about 2 years ago | (#39781649)

What compiler are Pascal developers using that isn't Delphi. Aren't most Pascal compilers capable of handling Delphi's Object Pascal anyway?

Shouldn't the Pascal and Delphi be combined into one grouping the way that all the different C++ are combined?

On the subject of comparison... (5, Interesting)

Twinbee (767046) | about 2 years ago | (#39781661)

A shout goes out to this site [hammerprinciple.com] which actually does a pretty good job of comparing all the languages on 'subjective' attributes such as "I find it easy to write efficient code in this language" (C being top here), or "Code written in this language tends to be verbose" (Cobol and Assembler are worst here, but Java is 3rd place, and that's bad considering it's meant to be a modern higher level language).

You can even click each language and see what comment it is best for. For example, Haskell is top for "This language has a strong static type system" and "When I write code in this language I can be very sure it is correct". Meanwhile, something like PHP is top for "I am sometimes embarrassed to admit to my peers that I know this language" and "This language has many features which feel "tacked on"".

Re:On the subject of comparison... (1)

Drethon (1445051) | about 2 years ago | (#39781775)

Very interesting, thanks for posting. I am curious from that website why people think that C++ often doesn't do what you think it should but maybe I've spent too much time developing it...

Re:On the subject of comparison... (0)

Anonymous Coward | about 2 years ago | (#39781939)

This site apparently lumps VB.NET and VisualBasic into the same bucket...it's like saying that a vagina and a velociraptor are the same thing because they both begin with "V".

Re:On the subject of comparison... (0)

Anonymous Coward | about 2 years ago | (#39781979)

compare these two links

http://hammerprinciple.com/therighttool/items/c/c-2

http://hammerprinciple.com/therighttool/items/c-2/c

shouldn't the results be the same ?

It is good that java loses ground to C/C++ (2)

ctrl-alt-canc (977108) | about 2 years ago | (#39781669)

Java floating point management is flawed by design. Using java for controlling anything serious opens up a Pandora box: just look at this [berkeley.edu] (and look here [berkeley.edu] if you don't know dr. Kahan)

How odd... (1)

tompaulco (629533) | about 2 years ago | (#39781711)

Strange, Classic ASP doesn't seem to be on the list anywhere. Some people where I work seem to think that our "enterprise" processing system is just fine written in Classic ASP. Well, at least they migrated most of the Access crap to Classic ASP. Baby steps.

So much for "new" technology (1)

msobkow (48369) | about 2 years ago | (#39781745)

I find it endlessly amusing that the only "new" tool in that list is Ruby (and even that's been around a few years.)

Particularly in light of yesterday's Bloomberg article claiming that the income and job pressure on senior developers is because they weren't trained in the "new tools." It looks to me like marketshare demonstrates companies are more interested in stable technology than new technology.

I'm not surprised Java is sliding, though. It's really become a server-centric language over time, which means there are far fewer deployments per customer than there are for the client-side components of the whole system, such as C# and Objective C++ clients that access those Java servers.

Still, I'm quite comfortable continuing my Java development work. My focus in computing life has always been the server, though I did spend several years on client-side programming as well. While client-side GUI programming is fun, it's also far more time consuming and tedious. I find server-side coding and the performance tuning aspects of it are far more entertaining and challenging. (You can write shitty client code and get away with it because the load is distributed, but if you write shitty server code you have thousands of cranky users, not just a few who's devices are underpowered.)

Re:So much for "new" technology (0)

msobkow (48369) | about 2 years ago | (#39781763)

"whose devices", not "who's devices"
-- The self-deprecating grammar nazi :P

In Other News... (3, Funny)

Anonymous Coward | about 2 years ago | (#39781767)

Home Depot has reported that the hammer has moved up 2 places in the rankings overtaking the Phillips head screwdriver and pliers as the most widely used hand tool. Also moving up in the ranks were the flashlight and the crescent wrench, precipitating the further decline of the Allen wrench and the drill bit in the rankings.

Haha, who still uses the Allen wrench? Clearly the Phillips head screwdriver is superior. Newbs.

The method (1)

Hentes (2461350) | about 2 years ago | (#39781781)

Here is their detailed method [tiobe.com]. It's far simpler than it claims to be, basically just summing up the search results for a particular language. I couldn't find any mention of the "number of skilled engineers world-wide, courses and third party vendors". Also, there are some shortcomings such as excluding AJAX hits from Javascript and Rails hits from Ruby, the reasoning behind that not being convincing. Still, this list is similar to other comparisons using search results, and i don't think we will invent a method better than that soon.

flawed data? (0)

Anonymous Coward | about 2 years ago | (#39781819)

Github thinks my Python web projects are mostly Javascript because I stuck dependencies like JQuery in the repo.

If you are going to combine (0)

Anonymous Coward | about 2 years ago | (#39781821)

Two separate languages to make a more impressive total I say java is still on top: Java/VB = 32%

Logo (1)

teg (97890) | about 2 years ago | (#39781945)

The list in the article isn't the same as in the submission... there is no trace of cold fusion, but there is Logo [wikipedia.org](!... !!!!) in spot 19. Is there something that would explain why the moving turtle of my childhood can be found on such a list?

could these numbers be any softer? (0)

Anonymous Coward | about 2 years ago | (#39781971)

Based on the "number of skilled engineers" as evaluated by a scraper.

Tell me again about the tenths of a percent.

Load More Comments
Slashdot Account

Need an Account?

Forgot your password?

Don't worry, we never post anything without your permission.

Submission Text Formatting Tips

We support a small subset of HTML, namely these tags:

  • b
  • i
  • p
  • br
  • a
  • ol
  • ul
  • li
  • dl
  • dt
  • dd
  • em
  • strong
  • tt
  • blockquote
  • div
  • quote
  • ecode

"ecode" can be used for code snippets, for example:

<ecode>    while(1) { do_something(); } </ecode>
Sign up for Slashdot Newsletters
Create a Slashdot Account

Loading...