InfoQ

InfoQ

News

My Bookmarks

Login or Register to enable bookmarks for unlimited time.

The content has been bookmarked!

There was an error bookmarking this content! Please retry.

Top Scripting Languages: PHP, Ruby, Python

Posted by Sebastien Auvray on Mar 31, 2009

Sections
Process & Practices,
Architecture & Design,
Development
Topics
Ruby ,
Survey ,
Javascript ,
Architecture ,
PHP ,
Scripting
Tags
Python ,
Community ,
Surveys

Evans Data’s published the result of its scripting language survey. PHP, Ruby and Python are the favorite choices of more than 500 developers and IT Professionals. Scripting languages usages in the enterprise changed with times, the survey outlines the drawbacks and merits of each language. Richard Dice (president of the Perl Foundation) stated in a recent interview that scripting languages have an increasing role in the enterprise, and are not tied to simple tasks or prototyping anymore. The range of applications they cover is also getting wide.
In this survey, users were asked to rank the languages they use based on different aspects or features (from the survey):

  • Ease of Use
  • Exception handling
  • Extensibility
  • Maintainability / Readability
  • Cross-platform portability
  • Community
  • Availability of tools
  • Quality of tools
  • Performance
  • Memory management
  • Client side scripting
  • Security

The languages evaluated were: Actionscript, Flex, Javascript, Microsoft F#, Microsoft Powershell, Perl, PHP, Python, Ruby, VB Script. The report is based on the perception of the users of those languages. 

The overall ranking (with weights) brings PHP, Ruby and Python to the top. 

The top languages in this study are open source languages and thus evolve in an organic way. The proprietary Microsoft languages, though backed by the software titan and its many resources, did not satisfy their users as well as any of the open source languages.

Ease of use is the most important for Ruby and PHP users, while Python users rated extensibility highest. Community is also an important attribute of those 3 languages with an advantage for Ruby:

The Ruby community is quite small but very dedicated and very vocal.

The report comes across one of the debates that arise on a regular basis: Ruby performance.

Even the most passionate of Ruby users have some doubt about how well a Ruby application can be expected to perform and some well known Web 2.0 apps that were written in Ruby have seen high profile problems with performance as well as scaling.

The report also emphasizes the uniform low interest of developers for security.

At the end Ruby appears to be the first for ease of use, exception handling, maintainability / readability and community.

While Antonio Cangiano and Peter Cooper disagree on the challenge for Ruby in 2009: technical, or evangelism, the EDC survey reveals that the Ruby platform needs to improve in client side scripting (where JavaScript hits the first place) and Tools (quality and availability).

Funny Comparison by Stefan Wenig Posted
Re: Funny Comparison by Sebastien Auvray Posted
Re: Funny Comparison by Roger Studner Posted
Bah by Ray Krueger Posted
Funny Comparison by Su Jack Posted
What? by Troels Knak-Nielsen Posted
400 developers? by Igor MILOVANOVIĆ Posted
  1. Back to top

    Funny Comparison

    by Stefan Wenig

    Comparing PHP to PowerShell should seem strage enough. It just makes zero sense to compare a web programming language to a shell scripting language.

    However, it gets even better. F# is not a dynamic language. Flex is not a language at all, and here it is compared to ActionScript.

    Sorry, I'm not going to register for my "free, insightful report".

  2. Back to top

    Re: Funny Comparison

    by Sebastien Auvray

    Hi Stefan,
    I totally agree with you that the comparison may look rather strange: the panel chosen, the way it mixes so-called-scripting language, web language, ..., the cryptic way of getting graphs, and "perception" in general which is not an easy thing to measure.
    Still it outlines some piece of information and put some numbers on it (Ruby's perceived performance, Tool lack).

  3. Back to top

    Re: Funny Comparison

    by Roger Studner

    Umm.. no Groovy, at all?

  4. Back to top

    Bah

    by Ray Krueger

    Why is Flex on there? Flex is on there but Groovy isn't? I disregard this whole thing based on those two points :P

  5. Back to top

    Funny Comparison

    by Su Jack

    It's so weird.

  6. Back to top

    What?

    by Troels Knak-Nielsen

    While Antonio Cangiano and Peter Cooper disagree on the challenge for Ruby in 2009: technical, or evangelism, the EDC survey reveals that the Ruby platform needs to improve in client side scripting (where JavaScript hits the first place) and Tools (quality and availability).


    Something's wrong with this survey - Client side and server side scripting are completely different ball games. How can you draw any conclusions from this?

  7. Back to top

    400 developers?

    by Igor MILOVANOVIĆ

    Just 400 developers? This is really small sample to bring such detailed conslusions.

Educational Content

New-age Transactional Systems - Not Your Grandpa's OLTP

John Hugg discusses high volume transaction processing applications with high and low frequency profiles, and how VoltDB can be used for that purpose.

Cool Code

Kevlin Henney examines code samples to see what can be learned from them starting from the premise that one won’t write great code unless he knows how to read it.

Collaboration: At the Extremities of Extreme

Jason Ayers share the observations he made watching a team of developers collaborating in real time on the same code base, pushing XP, pair programming and continuous integration to their extremes.

Yesod Web Framework

Michael Snoyman presents Yesod, a web framework written in Haskell and containing a web server, templating, ORM, libraries (templating, gravatar, etc.).

Transactions without Transactions

Richard Kreuter and Kyle Banker on how to avoid classical RDBMS transactional systems by using compensation mechanisms, transactional messaging or transactional procedures.

Attila Szegedi on JVM and GC Performance Tuning at Twitter

Attila Szegedi talks about performance tuning Java and Scala programs at Twitter: how to approach GC problems, the importance of asynchronous I/O, when to use MySQL/Cassandra/Redis, and much more.

10 tips on how to prevent business value risk

One category of risk that project teams need to ensure they address is business value failure – delivering a product that fails to provide value for the business investor.

Interview: Software Systems Architecture: Working With Stakeholders Using Viewpoints and Perspectives

InfoQ spoke to the authors of Software Systems Architecture on a couple of new topics, the System Context viewpoint and Agile, which have been added to the second edition.