Prophecies and The Rise and Fall of Programming Languages

Just having read was must be the annual piece in Dr. Dobbs on the state of programming languages entitled: “The Rise and Fall of Programming Languages”, it was with some concern I observed my local minicpan mirror reports being seriously reduced in size.

From January 9th.

authors/01mailrc.txt.gz … updated
modules/02packages.details.txt.gz … updated
modules/03modlist.data.gz … updated
authors/id/J/JI/JIMI/Statistics-Reproducibility-0.04.tar.gz … updated
authors/id/J/JI/JIMI/CHECKSUMS … updated
authors/id/J/JI/JIMI/Statistics-TheilSenEstimator-0.04.tar.gz … updated
authors/id/L/LT/LTP/Audio-Play-MPlayer-0.05.tar.gz … updated
authors/id/L/LT/LTP/CHECKSUMS … updated
authors/id/O/OV/OVNTATAR/GitHub-Jobs-0.05.tar.gz … updated
authors/id/O/OV/OVNTATAR/CHECKSUMS … updated
authors/id/S/SE/SEKIA/Algorithm-LibLinear-0.09.tar.gz … updated
authors/id/S/SE/SEKIA/CHECKSUMS … updated
authors/id/T/TH/THALJEF/Pinto-0.097.tar.gz
http://cpan.dk/authors/id/T/TH/THALJEF/Pinto-0.097.tar.gz: 500 read timeout
authors/id/V/VT/VTI/Attribute-Contract-0.05.tar.gz … updated
authors/id/V/VT/VTI/CHECKSUMS … up to date
authors/id/Y/YT/YTURTLE/Nephia-Setup-Plugin-Assets-Bootstrap-0.04.tar.gz … updated
authors/id/Y/YT/YTURTLE/CHECKSUMS … updated
cleaning /Users/jonasbn/.minicpan/authors/id/J/JI/JIMI/Statistics-Reproducibility-0.03.tar.gz …done
cleaning /Users/jonasbn/.minicpan/authors/id/L/LT/LTP/Audio-Play-MPlayer-0.04.tar.gz …done
cleaning /Users/jonasbn/.minicpan/authors/id/O/OV/OVNTATAR/GitHub-Jobs-0.04.tar.gz …done
cleaning /Users/jonasbn/.minicpan/authors/id/R/RW/RWSTAUNER/Dist-Zilla-Plugin-CPANChangesTests-1.002.tar.gz …done
cleaning /Users/jonasbn/.minicpan/authors/id/R/RW/RWSTAUNER/Dist-Zilla-Plugin-PodLinkTests-1.006.tar.gz …done
cleaning /Users/jonasbn/.minicpan/authors/id/T/TH/THALJEF/Pinto-0.096.tar.gz …done
cleaning /Users/jonasbn/.minicpan/authors/id/Y/YT/YTURTLE/Nephia-Setup-Plugin-Assets-Bootstrap-0.03.tar.gz …done

From January 10th.

authors/01mailrc.txt.gz … updated
modules/02packages.details.txt.gz … updated
modules/03modlist.data.gz … updated
authors/id/T/TH/THALJEF/Pinto-0.097.tar.gz … updated
authors/id/T/TH/THALJEF/CHECKSUMS … updated

With some horror I thought that the prophecies were coming true? – Perl is dying?

As always Perl is declared dead or dying and in this article Perl is mentioned explicitly. I always take these articles with a grain of salt. I write Perl on a daily basis and I am really busy, so I do not consider Perl dead. The article however did not only list the always problematic TIOBE index, but also Ohloh. I actually considered Ohloh dead (sorry, we should not go around considering things dead), but still it hurt since I love Perl and I worry that Perl dies at little every time this is mentioned, so writing the blog post is probably not a good idea at all – since I might be assisting in fulfilling a prophecy.

Anyway – visiting Ohloh, I found out that all of my CPAN contributions listed there had b0rken links to repositories. I have just migrated a large part of my repositories from a hosted Subversion solution, so I quickly ran through all my projects and updated the repository links.

I know that my small contributions are insignificant, but at least I could flag that my CPAN contributions are out there, they are being somewhat actively maintained, as I wrote I am busy, so open source activities are not always on the top of my TODO for whatever little CPU time I have available.

Then the minicpan reports started coming in, in normal size and when I read Perl Weekly issue #129 and discovered that PAUSE had had issues I felt relieved, fear leads to … yoda yada yada.

Tiobe and Ohloh might be statistics trying to say something about how Perl is doing compared to other languages, but judging by the number of updated modules coming to PAUSE (CPAN) on a daily basis, a lot of active development is actually going on.

I did a swift comparison of some package repositories (numbers from the time of writing).

Perl (CPAN): 28.992 distributions (http://search.cpan.org/)
Ruby: (rubygems): 68.915 gems (http://rubygems.org/)
Python (PyPI): 38.887 packages (https://pypi.python.org/pypi)
PHP (PEAR): 595 packages (http://pear.php.net/index.php)

I cannot conclude anything from these numbers, since they say more about the communities and the concept of code distribution and packaging. A statistic from github would perhaps be more interesting. Gabor Szabo wrote a blog post mentioning another blog post on the topic. Here PHP is actually doing quite well compared to Perl.

So taking a step back and looking at the statistics on all the languages I am thrilled to see the sheer number of different programming languages represented on Github (20). That is awesome. I love Perl and I love programming, so seeing how many open source projects and languages are available makes me happy. And it seems that no matter what the statistics say there is still and always room for Perl as a language.

So a note to self is “do not believe in statistics and prophecies”, even though my name is Jonas

But if you however want to play the statistics game on the Perl team, you could do the following:

– join the Questhub quest of releasing a new Perl distribution every month
– put your Perl projects on Github
– mention your projects on Ohloh

Have a nice and productive day programming in whatever language that solves your problem the best.

jonasbn, Copenhagen

Advertisements
Prophecies and The Rise and Fall of Programming Languages

Communities

Following the Open Source Days 2012 conference, where I did a presentation of ActiveStates micro-cloud solution Stackato, I decided to put the slides to work.

Via my network in the Copenhagen Perl Mongers, our local Perl user group, where I am a long time member, I got in contact with, both a local Ruby user group (Copenhagen Ruby Brigade) and a local Javascript group (CopenhagenJS).

The idea of interaction with local user groups have for long time been intriguing to me. I remember hearing about the Perl mongers on Taiwan organizing an event embracing more than just Perl, but representing several dynamic languages, such as PHP, Python and Perl (I think the event was named P3P, where the last P stood for Party).

I got the fantastic opportunity to do a presentation to both groups and by accident both events was scheduled for the same week. At the same time I decided to do a follow-up with the Copenhagen Perl Mongers. I had made a brief presentation of Stackato earlier, but since we often lag presentation at our meetings, I decided to give my full presentation also in this fora.

So with something resembling a tour I started out with modifying my Open Source Days presentation to accommodate the presentation aimed at the Copenhagen Ruby Brigade. Not having worked with Ruby at all, I decided to try out coding an example using Ruby on Rails version 3.

Making quite a few rookie mistakes, I got quite fond of both Rails and the gem system. After some attempts I was able to build a basic example in Ruby using Rails and the everlasting ‘Hello World’ example.

The event was held at a local company Podio and I only met a single person I had met before. The number of attendees was at about 12-15. The questions and comments were good and in general it was a very pleasant experience presenting to the Copenhagen Ruby Brigade.

The following day was my presentation to the CopenhagenJS. For this presentation I focused on Node(.js). I had done some prior experimentation with Node, but nothing serious. The concept of Node is very intriguing and I am sure this is not the last time I am going to do some Node work.

The presentation went fairly well and as for the meeting with the Ruby Brigade I am sure I am going to attend meeting with both user groups in the future.

About the future, I think it is about time that the idea of a “party” is revisited for all the programmers, developers and hackers in Copenhagen…

Slides are available on Slideshare:

Presentation given to Copenhagen Ruby Brigade
Presentation given to CopenhagenJS

Communities