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@xxxxxxxxx> 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, JoelHave fun, Arnold_______________________________________________ Linux-audio-user mailing list Linux-audio-user@xxxxxxxxxxxxxxxxxxxx http://lists.linuxaudio.org/listinfo/linux-audio-user |
_______________________________________________ Linux-audio-user mailing list Linux-audio-user@xxxxxxxxxxxxxxxxxxxx http://lists.linuxaudio.org/listinfo/linux-audio-user