Stories
Slash Boxes
Comments

Dev.SN ♥ developers

posted by NCommander on Wednesday April 02 2014, @03:11PM   Printer-friendly
from the I-remember-Applesoft-BASIC dept.

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

  • High Level
  • Orthogonality
  • Strongly Typed
  • Enforceability of Good Habits
  • Security
  • Feature Uniformity
  • Less Effort for writing simple programs

Environmental Features

  • Demand in Industry
  • Contemporary Features
  • Easy Transition
  • Readable Syntax
  • Quality Coding
  • User Friendly Integrated Development Environment

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.

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.

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.

Using the default weighting, the top five First Programming Languages evaluated are as follows:

Technical
  1. Python
  2. Java
  3. Pascal
  4. Ada
  5. Modula-2

Environmental

  1. Java
  2. Ada
  3. Python
  4. C#
  5. C++

Overall

  1. Java
  2. Python
  3. Ada
  4. C#
  5. Modula-2
 
This discussion has been archived. No new comments can be posted.
Display Options Breakthrough Mark All as Read Mark All as Unread
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
  • (Score: 2) by hybristic on Wednesday April 02 2014, @07:30PM

    by hybristic (10) on Wednesday April 02 2014, @07:30PM (#25242)

    I wont lie, I am a bit surprised to not see Ruby up there. Maybe its because I come from a Python and C background, but I find Ruby to be a pleasure to work with, very readable, easy to learn, and useful for a wide range of tasks. As a stand alone language I am unsure how often it is used in industry, but I know a few friends that work in the medical field that use Ruby as their primary language. Then, for better or worse, you can add it to Rails and make a powerful web application. I still think Python and Java make more sense, but the fact that I didn't see Ruby anywhere in there is a bit of a shock. I am no Ruby pro, so I guess I may be missing the parts of the language that allow it to fall short.

    Starting Score:    1  point
    Karma-Bonus Modifier   +1  

    Total Score:   2  
  • (Score: 1) by gishzida on Wednesday April 02 2014, @07:47PM

    by gishzida (2870) on Wednesday April 02 2014, @07:47PM (#25251) Journal

    As I noted above Lua was not mentioned either... It appears to me that if it wasn't developed in Europe or North America or other European settled countries [R for example is from New Zealand] the authors of the article did not consider it... Ruby was created in Japan and Lua in Brasil. One might consider this as ethnic bias.

    One may wonder if India or China have any "home grown" programming languages that we have not heard about because of a similar kind of bias.

    • (Score: 2) by hybristic on Wednesday April 02 2014, @08:07PM

      by hybristic (10) on Wednesday April 02 2014, @08:07PM (#25258)

      Wow, good point, I seemed to have missed your comment about Lua. But evaluating the list that seems like it could absolutely be possible. I personally want to investigate the languages developed and used in other countries and see if there is in fact a correlation. I imagine that you are correct though.

      • (Score: 2) by lhsi on Thursday April 03 2014, @03:38AM

        by lhsi (711) on Thursday April 03 2014, @03:38AM (#25378)

        In the introduction of the paper they explain why they chose which languages they used in their example - it was because they were popular languages used for teaching in Universities.

        The paper also describes a framework to use (the results presented are just an example using the data they had); the whole point is to grab any languages you want to evaluate and run the numbers yourself.

        Evaluating a different set of languages like those you've mentioned actually sounds like a good story submission for this site.