16 ms·
C# is the language of the year, Python of the decade
- deleted 14y ago[deleted]
- Sandman 14y agoIsn't the title a bit misleading? According to the chart, Java is the most popular language of the year (and the decade, if you take a look at https://sites.google.com/site/pydatalog/pypl/PyPL-PopularitY-of-Programming-Language https://sites.google.com/site/pydatalog/pypl/PyPL-PopularitY...).
- jasonlotito 14y agoFirst line of the article: "C# had the highest growth in popularity this year (2.3 %), and Python the highest growth this decade (8%)". One of their key metrics to determine popularity is growth.
- maratd 14y ago> One of their key metrics to determine popularity is growth. I would think one of the key metrics in determining popularity would be popularity ...
- jasonlotito 14y agoIt is. I'd think that's fairly clear and obvious from the languages they were comparing.
- pohl 14y agoI find it hard to believe that some newer, smaller language communities did not have a higher growth rate.
- jasonlotito 14y ago"One of," not "only."
- Drakim 14y agoWouldn't a language that goes from 0 users to 1 user within this year easily win this sort of measurement?
- jQueryIsAwesome 14y agoObligatory xkcd http://xkcd.com/1102/ http://xkcd.com/1102/
- gtani 14y agooblig. Zed shaw http://zedshaw.com/essays/programmer_stats.html http://zedshaw.com/essays/programmer_stats.html
- S4M 14y agoThey must be taking only established languages. Otherwise Clojure, Scala or Go would probably beat them all in term of growth.
- pcarbonn 14y agoNot really. The language of year is the one with the largest growth of "popularity share". C# has gone from 8.2% to 10.5% this year, while your presumed language would go from 0% to 0.0000001 % : not a big increase, really.
- jQueryIsAwesome 14y agoFurthermore, the growing of C# seems to be the almost same as C++ in the worldwide trends (not only USA): http://www.google.com/trends/explore?hl=en-US#q=Java%20tutorial%2C%20python%20tutorial%2C%20tutorial%20c%2B%2B%2C%20c%23%20tutorial%2C%20php%20tutorial&date=today%2012-m&cmpt=q http://www.google.com/trends/explore?hl=en-US#q=Java%20tutor... And also there you can see that India is still the biggest searcher of programming tutorials in the world.
- laveur 14y agoIn addition I would like to point out that according to TIOBE C is the number one language of the year and C# dropped a place. http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html http://www.tiobe.com/index.php/content/paperinfo/tpci/index....
- meaty 14y agoThat's inline with what I'm seeing. Were dropping .net slowly as it's simply unpredictable to manage costs and the staff quality in London to be honest is shit.
- misnome 14y agoI recently started using C#, having not programmed for windows in years, and have to admit I'm greatly impressed by it. It really feels modern, well designed, and very flexible and powerful, in too many ways to list. Unfortunately, I'm finding the .NET libraries that I'm using not quite so well designed - Working with windows forms specifically. Fortunately, a lot of the third party libraries seem pretty well designed, though seems to be a general love-affair with overly verbose XML configuration files. Perhaps I'm just spoilt by the elegance of UIKit (well, most of it), and the clear benefits from a ground-up design. I know there is Mono for other platforms, but don't know how well it is supported/what the performance characteristics are like, but it seems a language that would really, really benefit with a truly platform-independent (i.e. not a thin win32 wrapper) set of libraries; GUI and otherwise.
- dbattaglia 14y agoFrom the Windows/Client UI side, I think you may want to check out WPF. Winforms is exactly what you said, a thin Win32 wrapper in .Net (which is why I found it easy, already knowing some C Win32 APIs and MFC). WPF takes some times to wrap your head around, I still haven't done it, but it seems like a better way to go. Of course now we have Windows 8/WinRT so who knows what's going to happen to WPF.
- eogas 14y agoWPF is definitely the way to go. I started a modest sized project a few years ago at an internship, and this past summer I was allowed the task to move it from Forms to WPF. Let me tell you, working with WPF is so much better. Especially when you get into anything custom. Custom drawing in Forms is always a hack, and you basically have to do it in code. WPF is essentially designed to make creating custom controls with custom drawing incredibly easy. Not to mention all the awesome databinding stuff, and now with async in C# 5, it's easier than ever to create responsive UI. Just reading about the async stuff had me thinking back to that project, saying "yeah, that would make [some chunk of the code] a lot more intelligible". I contribute a lot in the /r/learnprogramming subreddit, and when new programmers are asking about UI with C#, I generally suggest just skipping Forms. There's really no reason to use it anymore. I can't believe I used it so long while WPF was right there, ready to free me of the Forms peril.
- sigzero 14y agoI am looking at the chart and I see C# as third and Java as first.
- rtkwe 14y agoThey're using a mildly questionable 'growth as popularity' for their measure. It has its uses, but does skew things quite a bit.
- tinco 14y agoQuite deservedly so, you can't argue with statistics! Anyway, I saw something interesting in the graph. If you just look at C and C#, then in 2011 you notice that where C made a sharp decline, C# made an almost equally sharp incline. Are these movements correlated? What happened in 2011 that made a bunch of wannabe (since they look for C tutorial) C programmers suddenly turn to wannabe C# programmers? I realise it may very well be two randomly occuring uncorrelated events that causes these jumps. But I'm very much interested in what kinds of events move the worldwide interest in programming languages.
- meaty 14y agoProbably the end of older generation COM C++ stuff that is being pushed to .net (server 2k appears to have finally bit the dust in corporates) and reasonable maturity of WCF.
- tkellogg 14y ago> reasonable maturity of WCF Being a user of WCF, I'm sorry to say, it's terrible. Don't ever make the mistake of thinking WCF is fit for production. This goes for pretty much the whole C#/.NET ecosystem. The Microsoft tools are severely lacking in good design principles and the open source tools are amazing and life changing but don't have the mindshare to be revolutionary. This is mostly just a fact of Microsoft being unfit for open source workflows. Instead of WCF, try ServiceStack (or SignalR if it makes sense). Instead of ASP.NET MVC, try NancyFx or FubuMVC.
- meaty 14y agoOh I completely agree with you and were moving to java slowly. All in saying is that WCF is about the most mature thing that shifts SOAP on windows which is the backend of most of our integrations unfortunately (they are corporates mainly). If i had my choice, I'd do it in Go.
- MortenK 14y agoThe entirery of the centralized European visa, asylum and police systems runs on WCF and C#. These systems are used constantly every day by a large part, if not the majority of European embassies, consulates, immigration ministries, foreign ministries and police departments. Not ready for production?
- carson 14y agoFrom the #code2012 poll on twitter C# is 8th where it was last year: http://www.ioncannon.net/projects/code2012/ http://www.ioncannon.net/projects/code2012/ Not that it is any better a stat than Google searches but the number one language from the poll was Javascript and I tend to think that from a use standpoint that is probably "the language of the year" if there is one.
- RyanZAG 14y agoFar more interesting than the language itself is the "Regional Interest" for the different terms on the Google Trends site: http://www.google.com/trends/explore?hl=en-US#q=Java%20tutorial%2C%20PHP%20tutorial%2C%20Tutorial%20C%2B%2B%2C%20C%23%20tutorial%2C%20c%20tutorial&date=today%2012-m&cmpt=q http://www.google.com/trends/explore?hl=en-US#q=Java%20tutor... India is far ahead of every other country for all of these tutorial searches. eg for Java, India is search index 100, while USA is only search index 11.
- arikrak 14y agoI'm not sure why people don't also look at job sites to see language popularity. I quickly compared a few languages here http://www.zappable.com/2012/12/job-market-for-programming-languages/ http://www.zappable.com/2012/12/job-market-for-programming-l... but one could do a more in-depth analysis. I created a chart with some more languages in this Google Doc: http://bit.ly/UBuI02 http://bit.ly/UBuI02. Java seems to be by far the most popular, though C# seems to be pretty high-demand too. One could probably compare different job sites to see why they have somewhat different rankings. Also, I wasn't sure how to search for C (and even C++) without getting C# results too.
- venomsnake 14y agoIt all depends on the definition of popular. This is not to be confused with widely used. Much more interesting (and catching the Zeitgeist) metric will be: "Languages (and tools) the top 5% developers prefer to use when left on their own" From anecdotal evidence Python is indeed somewhat high ranked there.
- shuma 14y agoThis is because every university in the world teaches Java first to newbie programmers
- pixie_ 14y agoIs it really though?
- ojr 14y agoThis is misleading simply for the fact that java and python are taught heavily in college over php, college students that need extra assistance will "google" tutorials, php is not taught in many colleges, if you add wordpress tutorials, drupal tutorials, and joomla tutorials to the mix you will see a totally different picture
- just2n 14y agoI don't think I can agree that "{{language}} tutorial" as a measure of "growth" is valid. When I am looking to learn a language, I don't Google for tutorials because you end up with mostly worthless information and maybe a single result that has any value -- and 9 times of 10 that result is on the website of the language, so my query becomes "{{language}}". Further, as I'm learning a language, I'm more likely to Google for a language or API reference than I am for tutorials on how to do particular tasks X, Y, and Z. That leads me to write queries like "mdn {{some DOM/HTML/JS/CSS thing}}", which oddly enough, are also the same kinds of queries I write when using a language I'm entirely proficient with. So in that case, I don't think a general "{{language}} tutorial" accurately represents the growth of a language. Perhaps interest, but this isn't limited to programmers, either, which makes me feel like it's even more misleading. For instance, the only time I entered "python tutorial" into Google was when I wanted to see a quick few basic programs to get an idea of whether or not I'd like the language. I don't really use Python personally (<rant>never will, it's terrible</rant>), but I've hacked around in it at work, and I never once used "python tutorial" to get my work done. I think one was "python reference urllib" which took me directly to the python reference page for urllib.
- tinco 14y agoYou missed out on a statistics lecture. It does not matter whether you or anyone else in particular searches for "{language} tutorial" as long as there is a significant amount of people who do, and that amount of people is roughly the same percentage for every language to get an accurate estimate of language popularity. And for estimating popularity growth the percentage does not even have to be the same across languages. For these estimates to work the only thing you need is something that clearly identifies user interaction with that computer language. The internet is big enough to allow this to work for even very small percentages. That said, I don't agree with "{{language}} tutorial" as a measure of language learning popularity. This is because a lot of the growth from the Java programming world comes from formal schooling. Almost every college or university teaches Java, it could be that the percentage of people learning Java through tutorial is significantly less than other languages. edit: downvoted because I am very wrong for a reason stated in that nice comment below >_>
- 14y ago
- bengotow 14y agoI don't understand how searches for '{language} tutorial' is a better metric than TIOBEs. The results of a metric like that would likely under-represents Objective-C in particular, because Objective-C classes are namespaced with the NS prefix and don't require additional search terms. For example, to find code for doing string reversal in C#, I'd need to search for 'C# String Reversal Tutorial' but for Objective-C, I could just search for 'Reverse NSString'.
- nextstep 14y agoPerhaps C# is a particularly terrible language and people need to search for tutorials more.
- wjgeorge 14y agowe're 3 years into the decade. lets review in 7 years, ok?