What programming languages should a beginner learn?

On Quora: From the following programming languages, in which order should a beginner learn them?:

HTML, CSS, Python, Ruby, PHP, Asp.net, C++, Flash, Javascript, SQL

Granted the question said nothing about Perl but then neither did a single answer even mention it as an addition. This makes Sad Panda sad.

3 Comments

Hi Jay

Given that the question was rigged, don't worry about it.

The answers tell you something about the audience, but nothing about Perl, and perhaps very little about programming :-)).

Cheers Ron

Note that two of the options aren't even programming languages; that alone makes the question meaningless, as it shows the intended audience was not competent to answer it.

Disclaimer: I'm a heavy perl user.

Nobody mentions perl because literally all "modern perl" projects are massively complex to master and require up to hundreds of CPAN dependencies that don't reliably build. Take anything using Catalyst as an example.

When you make MooseX the de facto prereq for "modern perl," it turns it into a different language. People aren't talking about learning perl because the mass of the perl community is not using perl -- they're using Moose.

For better or worse, there is now more than one hurdle to "learning perl." You have to learn perl, and then you have to learn the huge infrastructures people deploy with perl. As a sysadmin, I'm not a part of that. I use many more perl one-liners than I use huge web projects... but that's where the community focus is. Almost every post on blogs.perl.org on any given day is about refactoring some obscure OO addon, or optimizing some web dispatch package, or deciding which of the competing infrastructures to use.

The days of JAPH are gone, and now the community is full of JAOOPSE.

Leave a comment

About Jay Allen

user-pic Long-time perl and Movable Type developer. Principal of Endevver (http://endevver.com). Former MT Product Manager at Six Apart. Co-founder and Board Member of the Open Melody Software Group (http://openmelody.org)