An article was recently published that looks at evaluating First Programming Languages (FPL) the language to use for an introductory course of programming.
An existing issue is that formally assessing a programming language isn't really defined, with a lot of evidence being anecdotal. The proposed evaluation framework looks at technical and environmental feature sets. "The technical feature set covers the language theoretical aspects, whereas, the environmental feature set helps evaluating the external factors." These feature sets are covered in table 2 of the article (link to PDF) and consist of the following:
Technical Features
Environmental Features
The article explains each of these points in details, and gives each of the languages being evaluated a rating based on this explanation, followed by a detailed explanation of how the scores of each rating can be compared this includes allowing an evaluator to weigh certain criteria they deem important against the others. As this is for choosing a language to teach someone to program with, different places will have different reasons and goals, so would want to weight things differently.
NCommander adds: lhsi was kind enough to include a summary of the results. I looked through the paper and it seems like a fairly interesting read.As the default weight settings do not conform to the original popularity index of the languages, so there should be a different weighting criterion. However, it is very hard to come up with a generic and correct weighting criterion. Therefore, the scoring function should be customizable and the user should be able to tune the weight of each feature based on her preferences. As an example, consider the fact that Ada holds 3rd position in overall scoring, but is not being considered among highly used FPLs as of now.
Environmental
Overall
(Score: 2) by VLM on Wednesday April 02 2014, @07:53PM
I have no idea how rom based microsoft basic didn't win.
I glanced thru the paper, and the criteria listed are awesome for community college vocational job training in it, but nominally claim to be for education in cs, which I thought was pretty funny. If you're trying to educate someone in cs you can make a decent argument for a lisp family, but obviously priorities are a little different if you're just trying to turn out as many job trained ruby on rails web developers as possible to push salaries down.
You can have a lot of fun with this topic in general by using whatever criteria is proposed to design a curriculum for english literature or drivers ed. I've seen some pretty comical examples for each. The english lit one usually ends up with people magazine as being the pinnacle of human knowledge, and the drivers ed one usually turns out to be a ten speed bicycle.
Having been in this biz since '81, my observations more or less match the claimed data. At least with respect to what is the current .edu fad. Whats used in industry has always been quite a bit different.
Also I'm getting pretty f-ing tired of "filter error: please don't use so many caps. using caps is like yelling!" no its called using acronyms, mr ee f-ing all lowercase cummings.
(Score: 1) by dvader on Thursday April 03 2014, @07:30AM
Now that I think of it, a 10-speed bicycle isn't such a bad choice for drivers ed if their level of knowledge is similar to what people know about computers and programming. Actually, walking by foot would be even better.
If people knew as much about driving as they do about computers, the first questions would be:
* What's a road?
* Speed? What is it and why is there a limited supply of it? If my mother goes below the limit, does that mean I can go above it?
* Traffic? Oh, that is way too difficult. It's a very peculiar and abstract concept representing a large set of vehicles occupying a limited physical space. It's such an advanced topic they don't teach it until 3rd year at university. Seriously, I don't see how anyone could ever have use for such a silly concept.
Just walking or biking would be a very good start for drivers ed.