39 comments

[ 3.2 ms ] story [ 88.1 ms ] thread
An intellectual hackers' site like this one tends to be home to people playing with Scala, Erlang, Haskell, etc. Hacker News in particular was started by Paul Graham, so its seed community had a significant number of Lisp adherents. The startup community in general is biased towards dynamic languages, in particular, Ruby.

All this makes me think that Hacker News readers will tend to be on the leading edge of language popularity. But it is interesting to see the progress of mainstream adoption.

Sometimes a language and its community are so focused around flexibility and power that I don't believe the language is meant for widestream adoption. Erlang is really, really cool, but php gets websites built.
PHP gets websites built. But what use do I have for it if I want to make software? you know, something other than pumping ascii over a socket descriptor?
The toolbelt of even the least experienced craftsman has more than a single tool.
Careful, that's a form of heresy around these parts.
Give me an example of something you can't do in PHP. The language is turing complete .. your statement makes no sense.
Given the needed supporting technology, you can write a filesystem driver in PHP. With FUSE, you can.

What we should be questioning is how pointless would such endeavor be.

Like kenjackson pointed out (and, oddly, this time I agree with him ;-)), your toolbox should not be restricted to PHP, however Turing-complete it may be.

I wonder if you could write FUSE in PHP...
You would need to extend PHP somehow and make the kernel and its data structures visible.

But I have no intention of even dedicating one minute to such thoughts

I think the issue is whether one would even want to attempt to develop certain types of software using languages and environments that were designed to be used in a specific way. PHP would certainly not be one's first choice for developing native Windows desktop applications, for example.
An intellectual hackers' site like this one [..]

That article is not about HN, rather, it's a rehash of the recent TIOBE report, itself widely discredited.

Besides, HN readership is not that sophisticated, if at all. For straters, DDJ itself is a respected institution in computing (up there with USENIX) and is read-widely by actual programmers, software engineers, and scientists.

I think you're on to something here, at least about the HN community being at the leading edge of what's cool.

Just anecdotal, but I saw that statement in the article of "python surged" and had a WTF moment. Just yesterday I was putzing around with python and Fuse to make a silly filesystem, and found myself thinking "man python should really stop being my go-to language, it's making me seem so old-fashoned". Lately I have had a lot of those thoughts about python. It's my trusty language, and probably my first true love, but this last project and the article was my "python jumped the shark" moment.

So, the question now is:

I have a crapload of useful tools in python, and I don't want to rewrite them in other languages - has anyone made serious progress into calling into one runtime from another? Kind of like the JVM or .Net worlds, but universal?

I still use python for my utility scripts. There isn't a "next thing" for the niche yet AFAIK, all the hot activity seems to be in web-application languages(eg. Clojure, Scala, HaXe, Fantom) which don't do a lot to get down-and-dirty on the backend.
Isn't server-side javascript the Next Big Thing for utility scripts? I still use python, because of the difficulties of getting new runtimes approved in $bigco, but I got the impression that's where things were going.
Python "jumped the shark" because more people have started adopting it?
That puts things in perspective, doesn't it? There are buzzworthy languages and there are languages the rest of the world uses to get things done.
> Over the years, the index has been both praised and vilified. The latter by language adherents who are unhappy over the decline of their favorite idiom.

I can't say that I trust TIOBE's methodology (looking at search result volume), and that's as an ardent Pythonista.

I agree and think this article gives a perfect example of why it isn't accurate. Why would Javascript fall out of the top 10 last year? It makes no sense if you trust the methodology. BUT...if you think about it a system that gives a lot of weight to "mentions" falls apart when frameworks start drawing attention because it divides the number of mentions (how many times have you seen a jquery or Sproutcore article that never mentions the word Javascript?). Hence the drop
I almost sent them a critic-gram about this one, then I stopped and thought. I suspect their method is measuring the fraction of JS activity which is self-perceived as "programming" in the sense of software engineering. Rightly or wrongly, laying out pulldown menus with JQuery and the like is broadly (not universally) perceived as the practice of "design". Surely all of us know that plenty of echt programming is done in JS, and also plenty of let's-make-this-widget-dynamic work by people whose skills do not include structuring large blocks of code. The distinction is not an XOR, but it is both clear and real, and I believe the Tiobe results reflect it. My further W.A.G. is that their method under-represents the level of software engineering activity done in JS relative to, say, Ruby and Python, but that it does so because developers themselves are lagging in their perceptions.
Not only that, relative ranking is deceptive as a statistic even if it is measured accurately.

C++ moved "up a notch" but the chart's absolute levels would lead one to deduce that this mostly through Python splitting some of PHP's thunder and actual C++ usage continued it's predictable but slow decline.

And given that relative ranking is a dubious statistic, change in relative ranking brings us down to sports-announcer levels... (statistically meaningless but emotionally compelling)

> I can't say that I trust TIOBE's methodology (looking at search result volume), and that's as an ardent Pythonista.

I try and throw in more metrics in http://langpop.com in order to give people more things to play with - you can tweak the weights of the results in order to generate your own charts.

I also don't make pronouncements about which language dropped exactly how many places and things of that ilk. I think the results I have are good, but certainly not precise enough for that sort of hand waving. I guess that harms efforts to market my site: despite having superior methodology, TIOBE gets talked about more because of these 'reports'.

On the other hand, I don't make money off it in any case, so it doesn't really matter if I get a bit more or less traffic.

> http://langpop.com

Your website design breaks for lower-width browser windows (the chart extends out of the right edge of the main content column).

Indeed- browsing at 1024x600 is often a frustrating experience.
I can't say that I trust TIOBE's methodology judging from the fact that the Hall of Fame Spot for 2009 was occupied by Go.
> "I expect this trend will continue, as I strongly doubt that many new green field projects would today choose Perl as the principal development language."

Maybe but checking regularly the CPAN recent updates ( http://search.cpan.org/recent/ ), it seems that Perl is still very active and especially in the activity of providing API or pipe to other technologies/libraries.

At the end, large or medium sized projects are using different programming languages for different tasks and there is no such thing as the "principal development language". Diversity is great...

> Perl is still very active and especially in the activity of providing API or pipe to other technologies/libraries.

If Parrot comes to full fruition, CPAN should be available to (at least) both Ruby and Python about as easily as it's available to Perl.

If Parrot comes to full fruition.

You can already run some CPAN modules in Rakudo (Perl 6) on Parrot. See Blizkost (which comes with Rakudo): https://github.com/jnthn/blizkost

Here is an example which works (using CGI module from perl5/CPAN):

    use v6;
    use CGI:from<perl5>;

    my $q = CGI.new;
    print $q.header,
        $q.start_html('Hello World'),
        $q.h1('Hello World'),
        $q.end_html;
PS. re: some CPAN modules - Only "well behaved" Perl5 modules will work. I've tried four and got one to work. However this is a good start methinks!
Since a lot of the big technology winners from 2010 were infrastructure plays, I wonder if back-end still plays more of a role than client interface, which, putting node and backbone aside, is where most of the JavaScript is written right now.
Three things struck me:

1) The persistence of C. Looks like it will remain "the glue" between the machine and "higher level" operations for the next decade and beyond. It's strong niche in the "must be fast as possible and still portable" arena helps, too.

2) The rise of Python.

3) The decline of VB.

The biggest thing that draws this into question for me is the fact that Visual Basic and Javascript supposedly dropped by the similar amounts.... ??

Among a dozen other languages, I still frequently develop in VB as I have a huge code library for it (crawling back into the 90's) and it still works well as a general Swiss Army knife tool. I have seen the community plummet though and of course it's rapidly fading in it's significance.

Javascript however is on a meteoric rise development wise. It seems it is being adapted to anything possible and I see regular talk of it being used server side now too.

Yet supposedly they both dropped similar amounts? I'm surprised VB didn't drop more, and Javascript "dropped" at all.

Maybe interfacing to javascript libraries has replaced actual new javascript development and people search for, for instance, "jquery" instead of javascript.
That could very well be the case. Perhaps its position was artificially high as well. The transition from static to dynamic web pages forced a glut of developers to learn it, and hence a lot of searches for answers. Maybe this is just a sign than we're all getting more seasoned in the language on average.
That seems to be the main problems with these metrics. They aren't looking at the popular libraries that make use of the language. If I search "Android OpenGL development" it should count as a query directed at Java. This survey doesn't seem to do that though.
Could Python be capturing the dissidents of Java?
I'm extremely dubious of a metric that claims JavaScript and Delphi have the same market penetration.
The article comments with respect to Python: "What is surprising is that several factors might have argued against a break-out year for Python: Two incompatible versions of the language and the uncertain fate of the Unladen Swallow project."

The two "incompatible" versions of Python, presumably Python 2 and Python 3, is really an indication of the strength and foresight of the Python developers and users. Python 3 has new features, new libraries, and is missing some of the cruft of Python 2. I see this a sign of vibrant growth and long term viability, not of weakness.

The article did not mention the PyPy project, python in python targeting performance on a par or better than CPython. It's Python 2 compatible at the moment, and a lovely piece of work. There will be a webcast Stanford talk by Armin Ringo, one of the developers, on the PyPy system on March 2, 4:15PM Pacific. http://ee380.stanford.edu.

And, frankly, I do not see how the "uncertain fate of the Unladen Swallow project" has anything to do with the acceptance of Python.