Slash Boxes

SoylentNews is people

SoylentNews is powered by your submissions, so send in your scoop. Only 13 submissions in the queue.
posted by NCommander on Wednesday April 02 2014, @07: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:

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


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


  1. Java
  2. Python
  3. Ada
  4. C#
  5. Modula-2
This discussion has been archived. No new comments can be posted.
Display Options Threshold/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: 3, Interesting) by weeds on Wednesday April 02 2014, @07:46PM

    by weeds (611) on Wednesday April 02 2014, @07:46PM (#25114) Journal

    I think it depends on what age you are when you take that first course. If the students are younger, the focus should be on easily translating stepwise thinking into getting something done; Easy to get variables from the screen and easy to get results out.
    My first language in high school was FORTRAN. First application (written on a Decwriter over an acoustic coupler) was a quadratic equation solver. It was easy and quick to get the hang of it.
    There seems to be some presumption that you have to study this language for a year (school year) before moving on. I don't see why you couldn't start with BASIC (or even a short stroll through assembler) to get off the ground and then switch to something more comprehensive. I also don't think that marketability or security should ever be considerations when learning a first language. A first language (or languages) should teach programming concepts and give the prospective developer a chance to see if they have an aptitude for this type of work and if they like it.
    When I got to the university, the engineers were learning FORTRAN and the CS students were learning Pascal. Developers use the tools they are given to solve problems. I would bet that any developer who's been at it for more than 10 years is not writing in the same language they started with.

    Starting Score:    1  point
    Moderation   +1  
       Interesting=1, Total=1
    Extra 'Interesting' Modifier   0  
    Karma-Bonus Modifier   +1  

    Total Score:   3