On 09/25/2010 02:21 PM, Joel Roth wrote:
...

I thought I would like to learn some other language, either
python, ruby, Tcl or Forth, but usually I have some
practical problem to get done, and the more familiar
language gets used.
  
I'm in the same situation. I've boiled it down to choosing between learning Python or learning Ruby. 

So ... we've been talking about Perl and Python. Does anyone have any observations on how Ruby fits (or doesn't) into this picture? 
-Can it be used for scripting (the original subject)? 
-Is it as C-compatible as Python?

Thanks,

John

On 09/25/2010 02:21 PM, Joel Roth wrote:
On Sat, Sep 25, 2010 at 01:00:29PM +0200, Arnold Krille wrote:
  
On Saturday 25 September 2010 10:49:35 Chris Cannam wrote:
    
On Sat, Sep 25, 2010 at 8:06 AM, Joel Roth <joelz@pobox.com> wrote:
      
I guess I am reacting to what I imagine is language
preference projected onto absolute judgment on merits of a
particular language.

Perhaps you are speaking from years of software development
experience.
        
I have quite a lot of (mostly enjoyable) experience writing Perl over
the years, including some fairly big programs, and hardly any
experience with Python (a language I dislike on instinct).  But my
experience with Perl has been that returning to my own projects is
harder than it should be, and harder than in languages like C and C++.
 That is probably due to my own limitations, particularly when it
comes to discipline, but it's empirically true in my case.

The real assumption I made back there was that Python code is any
easier to return to -- I haven't the experience to judge, really, I'm
just going on hearsay from friends and acquaintances.
      
Python actually forces you to be more disciplined. Which really make returning 
to the code easy.
    

I believe that's the philosophy that there should be one
right way to approach a particular task. Perl suffers (and
benefits) from its motto TIMTOWTDI (pronounced tim-toady --
this is more than one way to do it.)

  
Using python for small apps/tools is easy. Using python for large projects is 
easy.
Extending your C/C++-project with python is easy.
Using your own C/C++ parts in python is easy.
    

That's a big advantage of python over perl right now: python's
ctypes library. There is a project now to port ctypes to 
perl. 

Perl had previously borrowed Python's object mechanism. Just
now it is finally being replaced, by Moose/Mouse in Perl 5,
and the internal object system in Perl 6.

I, for one, have had a great time with the python-derived
perl object system.

Otherwise, perl's vast CPAN libraries, cover many problem
domains.

  
Porting parts of your python project to C/C++ is easy (think prototyping in 
python and port to compiled-language once the interface is finished and the 
optimizations begin).
    

For optimizing perl, we have Devel::NYTProf, which
profiles the time spent in each subroutine. (As the name
suggests, the New York Times underwrote the development
costs.)

  
I for one am very glad I learned python a few years back. Its fun.
    

Good for you!  So is perl. :-)

I thought I would like to learn some other language, either
python, ruby, Tcl or Forth, but usually I have some
practical problem to get done, and the more familiar
language gets used.
 
  
Disclaimer: I don't have any experience in perl, but what I get from the perl-
snapshots in German Linux-Magazin, it looks harder then python...
    

Perl does have a few syntax quirks. The deferencing syntax
is particularly awkward. There is also the oddity (and
feature) of list/scalar context.

For me, reading music is awkward, and so is reading python,
but I don't blame the notation in either case.

Best,

Joel
 
  
Have fun,

Arnold
    



  
_______________________________________________
Linux-audio-user mailing list
Linux-audio-user@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-user