The language flavor of the decade?

Dynamic languages seem to be enjoying a steady increase in popularity. Perhaps it's just that the developer community needs something different every few years or perhaps weakly typed languages actually fill a real need, I still don't know. In any event, it appears that 3 languages are getting most of the traction:

  1. Ruby, the one that is getting more press, and the one that seems to be the new darling of several Java gurus (supposedly tired of Java stagnation).
  2. Python, an alternative closer to the C heritage, has lost some of the limelight to Ruby, but Microsoft seems to prefer it, as shown by IronPython.
  3. PHP, the older, more specialized (it declares itself as especially suited for Web development)  and less "academic" of all (it's been derided as a "better Perl"), but undisputedly the one with the highest market credentials, after all thousands and thousands of web sites run on PHP.

Overall, it looks like it's a good time to start trying one of these as IBM, Oracle, and Microsoft are showing interest in this kind of languages (as usual, Sun is lagging behind). If you, like me, are a fan of .NET Framework then IronPython is the way to go. Or if you, not like me, are a conservative then you can try VS.Php. Now if somebody would please write Haskell.net…

Published Tuesday, March 14, 2006 10:34 PM by Edgar Sánchez
Filed under:

Comments

# re: The language flavor of the decade?

Wednesday, March 15, 2006 12:26 AM by Eber Irigoyen
so are you going to give IronPython a try?

I've been thinking about giving one of those a try, I have actually tried Python and Ruby, I have them installed on my machines, but I don't know, with .NET 2.0 and even C# 3.0 coming, there is just so much to learn

I'm also getting into CLR stuff (IL)

also, I think Ruby has lost it's momentum

# re: The language flavor of the decade?

Wednesday, March 15, 2006 1:48 AM by Michel
Did you see http://dotnetpowered.com/languages.aspx ? There are 3 Haskell.net ports.

# re: The language flavor of the decade?

Wednesday, March 15, 2006 2:03 AM by John Walker
I guess having used classic ASP and now seeing the benefits of a strongly-typed language, it's tough to see me making a change. Sure, some things were very quick-and-easy with classic ASP, but in the long-run I've seen much improved productivity. Catching errors during compile time rather than run-time and a much better debugging experience is key. At the same time, obviously use what you love...provided where you work will allow for that ;)

# Haskell.net implementations...

Wednesday, March 15, 2006 7:18 AM by Edgar Sánchez
Michel: That's strange, last time I checked... (famous undergraduate student last words.) As you could imagine I rushed to the sites to download *everything*, alas: 1. Hugs98 for .NET is a bridge allowing Hugs functions to be called from .NET languages and viceversa, very interesting but it's not a Haskell compiler/interpreter for .NET; 2. The Mondrian site seems to be down but I think this was a compiler from Haskell to Mondrian (and then you can go from Mondrian to MSIL); 3. Haskell.net Project is a brazilian university team, apparently working on the subject but nothing else. It seems to me that the list at http://dotnetpowered.com/languages.aspx hasn't been adequately polished, but still is a good starting point.

# re: The language flavor of the decade?

Wednesday, March 15, 2006 7:20 AM by Guy Murphy
Ruby seems like a fantastic idea until you profile it and realise it runs at the speed of a sleepy sloth on valium.

Demo sites do not a commercial web application make.

Parse some data into RSS using Ruby and you've burnt the clock cycles you'd spend on the whole web stack end to end under .NET

Runy serves an excellent role in forcing mainstream developers to think of alternative ways of doing things... and it's to be given credit for that... but lets not confuse fun with commercial development.

# Out of time

Wednesday, March 15, 2006 7:21 AM by Edgar Sánchez
Eber: I've got the same problem that you've got: too many things to learn, too little time. So I *wish* I had the time to try IronPython but... On second thought, I think I have to have the time, as dynamic languages really seem to be coming, stay tuned (but don't hold your breadth.)

# Dynamic languages == more runtime errors

Wednesday, March 15, 2006 7:25 AM by Edgar Sánchez
John: You correctly point out one of the problems of late binding: you discover problems too late. That being said, it seems like for small (may be even medium) size projects, the productivity gains are worth the risk, a whole different story for large projects (or high performance needs), where strongly-typed languages like Java or C# seem to be a better alternative.

PD. Of course, this opens the question of what you call a small, medium, or large project...

# "Ruby runs... at the speed of a sleepy sloth on valium"

Wednesday, March 15, 2006 8:57 AM by Edgar Sánchez
:-)) Are you trying to get us slashdoted? Seriously, as most dynamic languages are interpreted they're bound to be slower than C# or Java. Ruby defenders would say it's just a matter of time (he) to have a performing implementation. Besides, managed languages are slower than assembly, but we use them any way because of the productivity gains, so you've got a point Guy but may be not a strong enough one.

# re: The language flavor of the decade?

Wednesday, March 15, 2006 10:04 AM by Scott
www.penny-arcade.com runs on Ruby on Rails. They were getting about 2 million hits per day last I heard. "demo sites" indeed.

Just because they are dynamic doesn't mean they are weakly typed. Objective-C is a dynamic language, but it's strongly typed. It just uses dynamic dispatch rather than mapping out the function tables at compile time. Ruby is the same. Check out the Ruby->.NET bridge. http://www.iunknown.com/

# re: The language flavor of the decade?

Wednesday, March 15, 2006 1:01 PM by Eber Irigoyen
assembler is faster than managed languages, sure!, what most people ignore is that fact that you should know assembler VERY intimately to really make it faster than code generated by higher generation languages

the fact that you write code in (say) assembler doesn't automatically make it faster than the same program written in C, the other thing is that if you want to write something in assembler is going to take you up to hundreds of times longer to create it, so that's basically out of the question for most of us

the same is not true when writing the code in C# or Ruby

now, I think the performance differences between assembler and higher level languages is not as big as the difference between C# and dinamic

and you also have to consider that writing an app in C# and Ruby might take you about the same amount of time

so I guess I'm saying you can't compare assembler/C# with C#/dinamic languages

# re: The language flavor of the decade?

Saturday, August 02, 2008 8:28 AM by Yemi Bedu

Hello,

I think it is a good idea to not compare a single language against a whole class of languages to make proper arguements. The one to one comparison really is only valid as a particular feature and / or architecture may be present in another language you are either not familar with because of lack of use or its popularity.

Also the term dynamic language should be clearly defined or the points for the dynamic nature should individually be discussed. It is again it the case that it may not be pertainant to another language normally grouped for a certain programming style.

Some languages have an FFI (foreign function interface) that allow them to use performant code in their environment. For a language like Ruby utilizing its C FFI, this allows you to achieve a lot and have possibly more succint code in the process. For IronRuby or IronPython utilizing C# or other compile optimized language libraries, you can have a similar advantage on the .Net Runtime.

Thank you. Good day.

Yemi Bedu

Leave a Comment

(required) 
(required) 
(optional)
(required)