On Thu, 27 Dec 2007, Ragu wrote:

> 
> I never learned Perl, but it was one of the first languages I looked at 
> when I realized I need to think beyond C/C++. I bumped into the sweet 
> Ruby instead, and never looked at perl again. I stayed farther away from 
> perl when I came across perl code now and then (the perl code was 
> presented as a comparison to ruby, so there may be pro-ruby bias in it).
> 
> Here is my question, is it really worthwhile to look at Perl now? I 
> understand that different languages would induce different kind of 
> thinking about programming problem. But I would probably look at 
> Haskell, and/or Erlang for that purpose than Perl.
> 
> So I am wondering what are the voids in Ruby that could be ably filled 
> by Perl. The answer to this could motivate me to learn Perl.
> 
> Your opinions welcome.
> 
> Cheers,
> Ragu
> 

Hi Ragu:

Syntactic sugar is what most of the programmer's look at
when dating a language !

Most of programming is about modeling a scenario or abstraction.

Usually the abstraction is supplied by an algorithm.

Rest of the code is 
 - processing input
 - error handling
 - logging 
 - presenting the output 
   (on stdout or updating the view in user interface).

Pragmatically speaking, the choice of the language to learn is
decided by *market opportunities*.

If it pays more to be a Java programmer, then most of the people
will learn Java. This also means that more companies will write
software in Java, since that's a readily available skill set.

Given, the above logic, it won't be surprising to see Artificial 
intelligence software written in Java.

On technical merit alone, one should use a language that supports
first order logic, lambda calculus and classifiers !

Every time, i see design of webapps, i feel like modeling them using
continuations. 

Please see Abhijit's article on IBM Developer works
http://www.ibm.com/developerworks/library/j-contin.html

The only suggestion that i have for any programmer including
myself is this:
  
 "In your given domain, select/learn the language
  whose throw-away-the-code affordability is highest".

By this logic,

 for [system administration], scripts that can be cron'd, work across 
 large number of platforms, have mature library support and can be 
 copied and improved upon are valuable.

 There are admin folks, who have 300+ scripts that they wrote and
 then improvised upon and later some more. Today those scripts are
 indispensable.

 The pattern matching engine of PERL (NFA) is so sophisticated that
 it beats a similar handwritten program in C.

 PERL's approach of using 'closures' for accomplishing object-orientedness
 is a pragmatic one.

 The ROI provided by PERL beats Ruby any day, inspite of how the syntax
 looks.

 for modeling [functional behaviour], haskell is very good, particularly
 list comprehensions. Later in the same program when you need to do i/o
 monad is an excellent design device for handling the introduced impurity.
 within the monad you are free to introduce all optimizations you can
 think off.

 Ruby as manifested in Rails does quite well when used with scaffolding,
 convention and agile model (to handle requirements).

 The Rails framework helps create demonstrable value and yet one can
 afford to throw away the prototype code. Hence the agility.

 Hence the great popularity of web framework and webservice platforms
 built on Rails.

 Consider this. You are new game programmer and is looking out for a 
 job. You go for an interview. Chances are you will be interviewed on
 Lua, in case 'game level design, UI layout' related discussions comes
 up. Other languages don't make the cut here.

 Thanks for reading this far.


thanks
Saifi.

 
 

 

Reply via email to