Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

 



Forgot your password?
typodupeerror
×
Programming IT Technology

The Year in Scripting Languages 248

Mitchell writes "People from several language communities came together to create a joint year-in-review for Lua, Perl, Python, Ruby, and Tcl."
This discussion has been archived. No new comments can be posted.

The Year in Scripting Languages

Comments Filter:
  • by dildatron ( 611498 ) on Tuesday January 14, 2003 @04:36PM (#5083415)
    I can't believe all the biased articles on this place! I can't believe the would cover Perl, tcl, etc, and leave out the Windows Batch file scripting language! This is dispicable! It's so powerful, no wonder it's #1.
    • Re:What about... (Score:2, Interesting)

      by dirvish ( 574948 )
      and PHP?
    • That's because MSFT have replaced it with the more functional Windows Scripting Host. Haven't you been paying attention to all the WSH security issues?
      • batch:sh::wsh:perl (Score:2, Informative)

        by Osty ( 16825 )

        That's because MSFT have replaced it with the more functional Windows Scripting Host. Haven't you been paying attention to all the WSH security issues?

        Incorrect. CMD/Batch scripting is still alive and well, and much more powerful in its cmd.exe "cmd scripting" form than it ever was in the DOS "batch scripting" days. Batch/CMD is to sh as WSH is to perl (especially since you can use perl to write WSH code -- WSH is not a language, but a framework that can support many languages).

    • > It's so powerful, no wonder it's #1.

      And speaking of #1, I was reading the article out to my business partners, who heard me say "Joint Urine Review".

      They began wondering exactly when programmers were getting drug-tested?

      Solomon
    • Re:What about... (Score:3, Interesting)

      I can't believe the would cover Perl, tcl, etc, and leave out the Windows Batch file scripting language! This is dispicable! It's so powerful, no wonder it's #1.

      DOS scripting is no longer Microsoft's preferred scripting feature.

      Windows batch files are a holdover from DOS. DOS as we know it originally ran on IBM PCs and early descendants, which were cheap, slow, 16-bit, underfeatured toy computers. At that same time, Unix was running on expensive, fast, 32-bit, featurful computers. Before that, Unix did run on 16-bit computers (various submodels of PDP-11), but PDP-11s were certainly more expensive and more featureful than 8086- and 80286-based PCs, and PDPs were most definitely not toys.

      The point? Unix scripting was better than DOS scripting. Windows evolved from DOS, and as a result it got DOS's scripting capabilities. That evolution is only now reaching the stage where it can be said with any regularity that Windows is evolving from itself rather than from DOS. Win2K and (maybe) WinNT4 were the first incarnations of Windows with this property. It is a very slow process.

      What we see now is Windows evolving its own scripting engines. I'm not savvy about some of these things, but I do know that there are VBScript or Windows Scripting Host for automating things in the OS, and VBA for scripting inside individual apps like Excel or Access. Granted, these are all based on VB, which is lacking when compared to Java or C++, but these are quite well-suited for scripting in a Windows environment.

      Just yesterday, for example, I wrote a simple Windows script that renames files in a directory tree by doing regular expression search and replace. This clearly represents an improvement over the legacy DOS scripting capabilities.

  • by Anonymous Coward on Tuesday January 14, 2003 @04:38PM (#5083437)
    It does have a large market share, ya know.
  • by TokyoBoy ( 217214 ) on Tuesday January 14, 2003 @04:42PM (#5083458) Homepage
    A release of a new PerlQT was made. http://perlqt.sourceforge.net/ [sourceforge.net]
    From the website: "PerlQt-3 is Ashley Winters' full featured object oriented interface to Trolltech's C++ Qt toolkit v3.0. It is based on the SMOKE library, a language independent low-level wrapper generated from Qt headers by Richard Dale's kalyptus thanks to David Faure's module".

    Another thing that's nice is that "All Qt classes are accessed through the prefix Qt::, which replaces the initial Q of Qt classes. When browsing the Qt documentation, you simply need to change the name of classes so that QFoo reads Qt::Foo". So, essentialy the API is similar to QT with reduces the learning curve quite a bit.

  • Missing (Score:4, Interesting)

    by The Bungi ( 221687 ) <thebungi@gmail.com> on Tuesday January 14, 2003 @04:42PM (#5083465) Homepage
    No mention of ActiveState's plugins for Perl [activestate.com] and Python [activestate.com] to Visual Studio.NET?

    Not really ports to the platform itself, but great productivity boosters regardless. I've used VisualPython with VS.NET 1.0 and it rocks.

  • Where is my... (Score:3, Interesting)

    by 216pi ( 461752 ) on Tuesday January 14, 2003 @04:47PM (#5083493) Homepage
    ... PHP [php.net]?

    This [php.net] report shows how it is growing.
    • Re:Where is my... (Score:5, Insightful)

      by JanusFury ( 452699 ) <.moc.liamg. .ta. .ddag.nivek.> on Tuesday January 14, 2003 @04:55PM (#5083543) Homepage Journal
      Unlike Ruby, Python, Lua, Perl, and Tcl, PHP doesn't have any real uses other than websites, and it could be disputed that it doesn't even do websites all that well ;) PHP isn't really a scripting language in the same sense that those others are. ASP/ASP.net and Java Server Pages aren't on there either, you might notice.
      • you are so right... I missed this point...

        But as far I can see, they are trying hard [php.net] to make it usable [php.net] as scripting language.
        • Re:Where is my... (Score:2, Insightful)

          by JanusFury ( 452699 )
          Interesting. Sounds a lot like the equivalent of trying to change HTML into a programming language, though... it's just not designed for it. Almost everything about PHP is designed for webpages.
          • Yeah... I think they should stop trying to make themselves a scripting language for everything. They should concentrate on the web, not ncurses or Qt... PHP wasn't designed for it. Think of the UNIX philosophy - one tool for each job.
            I was going to comment on this too, then saw you already had ;).
          • HTML is not a programming language because it has no branch and control and looping constructs.

            PHP now has a batch mode intended for preprocessing. That is, periodically generating static HTML from PHP pages.

          • Re:Where is my... (Score:2, Informative)

            by shiflett ( 151538 )
            I think you should use PHP before really forming any opinions. HTML is a markup language, whereas things like PHP and Perl are scripting languages. There is nothing really similar in the least. Perl can output HTML just like PHP can.

            I prefer PHP as a scripting language for many tasks, including anything involving database access. People have written complex socket applications in PHP such as HTTP servers and HTTP proxies, simple sysadmin utilities, and everything in between. In fact, many C programmers seem to prefer PHP as a scripting language due to its C-like syntax and clean design.

            PHP and Perl are equivalent in my mind in terms of what can be accomplished. If you are comfortable with the syntax of one, there is no pressing need to learn the other. If you need a shell script, PHP and Perl both work. If you are developing for the Web, PHP and mod_perl do the job. PHP is not limited to Apache, however, which is one of the many reasons it has been more widely adopted in the Web development community.

            I have found that those who think PHP is only useful for Web application development are the same people who think Perl is only useful for shell scripting. See if the mod_perl community agrees with that. :-)
            • Re:Where is my... (Score:2, Interesting)

              by JanusFury ( 452699 )
              Actually, I've used PHP extensively and my personal site (fury.rpgsource.net) is built in it. I've also used ASP, and I personally consider PHP to be a steaming heap of shit.

              '... due to its C-like syntax and clean design.'
              PHP only slightly resembles C (it goes off from C syntax in wild tangents all over the place), and it's not exactly what I'd call cleanly designed. For example, here's a few string functions:
              str_replace
              strlen
              sprintf
              split
              N ow, in real programming languages, similar commands generally have similar names.
              Let's not get into how individual PHP commands have different orders for their parameters even when they do the same thing... (for example, split() takes delimiter first, string second, while strrchr() takes string first, delimiter second. Don't even get me started on how useless PHP's string functions are in general - they all return strings instead of indexes!
              • Re:Where is my... (Score:5, Informative)

                by shiflett ( 151538 ) on Tuesday January 14, 2003 @06:42PM (#5084307) Homepage
                As a C programmer myself, I think it is pretty evident that you are not. That's not meant to be offensive, but you should not attempt to speak from inexperience as a general rule. Try to be more open minded, or at least only form an opinion after you have educated yourself on a particular topic.

                For example, after your attempt to say that PHP only slightly resembles C, you try to point out weaknesses in PHP by mentioning functions that are direct equivalents of C functions (strlen, strchr, sprintf, etc.). Make up your mind. :-)

                Also, since it seems you suggest otherwise, there is a good reason why not every string manipulating function begins with str_. Do you think C should have used str_printf() and str_sprintf()? How about PHP's functions crypt(), echo(), explode(), md5(), trim(), soundex(), etc. Should these all be renamed? Bill Gates may agree with you, but I doubt you will find many open source developers who do.

                In case it is helpful, strchr() and split() do not do the same thing. It sounds like you're heading for trouble there. :-)

                I guess my point is that your inexperience is not a valid complaint against PHP. Yes, it is not the perfect language, but it happens to work well for a lot of people. If you want to bash it, at least use valid reasons (which there are plenty) such as how mod_php is a content generation module and therefore unable to interact with other request phases within Apache (though I think this is being remedied in the apache_hooks API). Or, point to a benchmark showing how Perl parses large text files 20% faster in some cases. Or, show how Python's OO model is more advanced.

                Sorry if this post comes off a bit strong, but I tire of seeing hollow rhetoric.
      • Re:Where is my... (Score:2, Informative)

        by shiflett ( 151538 )
        > PHP isn't really a scripting language in the same
        > sense that those others are.

        Actually, it is.

        #! /usr/local/bin/php
    • This makes your point the best: porn [slashdot.org]
    • PHP 2003 year-in-review [derickrethans.nl] (or go to http://php.net/ [php.net] and click on "PHP Look Back 2002."

      BTW, PHP news is available in RDF format as a Slashbox. Go to your Slashdot "preferences" to add.

      As for Language wars, no language is better, it's just a better tool for a particular job.

  • by MarkWatson ( 189759 ) on Tuesday January 14, 2003 @04:52PM (#5083525) Homepage
    As much as I am able, I try to limit my use of scripting languages to just Python and PHP.

    The reason is simple: I need to use several non-scripting languages (Java, Smalltalk, etc.) and remembering the language syntax and class libraries for more than 4 or 5 programming languages is a hassle.

    BTW, scripting languages are not necessarily horribly inefficient anymore.

    A little off topic, but I compared the resources used for a small web app on the following platforms:

    • Java servlets/JSPs - minimum memory footprint is about 75 megabytes
    • Smalltalk servlets - mimimum memory footprint is about 20 megabytes
    • Python Zope - minimum memory foortprint is about 11 megabytes
    In all three cases, the server processes use negligible CPU time after startup (mostly waiting with select).

    Anyway, for lots of applications, Python is fast enough - no need for high performance compilers like Common Lisp, C++, Smalltalk, etc.

    -Mark

    • Python is an amazing scripting language--I'm just wondering when gcc will be able to compile it! :) (Yes, I know about psyco.) For the next year, one thing I would like to see is either Python switching to wxPython for GUI stuff, or improving tkinter so that it isn't so...1996ish. (On the other hand, wxPython isn't quite as intuitive as pyQT, but isn't hampered by the licensing issue on the Windows side of things.) Also, what are the plans for Python 3+? Is there any site listing future plans, apart from the 2.3 release?

      :Peter
      • From the article it sounds like the Python community was having a hard time keeping up with how fast things were changing (just getting started with Python so I'm just going by the article). As a result it sounds like the next year will see more optimization than major changes. My guess is that this may mean that a Python 3 is a while off.
    • Memory footprint for a small application is going to be high under Java. Each instance (read each new thread, of which the server creates several) has an entire virtual machine running with a copy of the needed libraries. As your application grows, this overhead gets less significant.
    • My results:
      • Java servlets/JSP (Tomcat) - 8 MB
      • Python Zope - 5 MB
    • by pnatural ( 59329 ) on Tuesday January 14, 2003 @05:23PM (#5083685)
      These are exiting times for Python programmers.

      Just a few days ago, the "Minimalist Python" project was announced. Its goal is to two fold: reduce the distribution to a central core and to re-write as much of it as possible in Python. By doing so, and by including Psyco the Python specializing compiler [sourceforge.net] , the folks working on the Minimalist distribution hope to have a Python that outperforms C (initial tests show that Python+Psyco does outperform C code in many cases). I've used Psyco a bit, and it is a marvel. The idea of a Python compiler, written in Python, becomes possible, and has recently been discussed quite actively on comp.lang.python.

      Even with the speed improvements, the Real Benefit(tm) of Python is in not saving machine time, it's in saving my time as a developer, because I'm far, far more expensive to employ than a server.


      • Do you have a link with more info about "Minimalist Python"? Google does not show anything related to such a project.
      • You know what, I wish some guys from the python community would work on get rid of the GIL (global interpreter lock). I develop in zope myself and am a _huge_ fan, but I see clouds on the horizon.

        I fear that products like zope will suffer in the long run, because python server apps just don't scale as well as java apps. Hacks like binding the server process to one cpu and instead spawn multiple processes (each bound to their own cpu) are not the be all and end all of server programming, thei are - well - hacks. And without that binding, the interpreter process will bounce around between cpus and thrash the cache.

        Yes, it's not much of a real concern today, and won't be for the majority of users for a long time, but saying the GIL doesn't matter at all is self-delusion - and that assessement is heard everytime someone asks about the GIL.

        • I understand your frustration, as I too have hit the limitations imposed by the GIL. I don't think it's as bleak as you make it sound; most Python programmers don't even know it exists.

          In the short term, there are plenty of ways around it -- the easiest being to move some code to a separate instance of Python and then use an RPC mechanism for communication. It's simple and effective.

          In the long run, I can't imagine that the GIL will be in Python 3.0. That's a ways away yet, of course, but I'd be very surprised to see it make it that far.
      • by Anonymous Coward
        These are exiting times for Python programmers.

        Exiting to Ruby?

        • What do you see as being better about Ruby?

          I know about how it's full of more "real" OO than Python, but what else that is practical?

          DISCLAIMER: I'm a Smalltalk programmer, and also use Perl when it's applicable. Ruby, which is referred to as (Smalltalk + Perl) / 2 in a number of places, doesn't really rub me right. Python isn't really what I want to use usually either, but it just seems a bit more... cohesive to me in the work I've done. To each her own.
    • Anyway, for lots of applications, Python is fast enough

      And for those it's not, it's easy enough to write your own extensions in C/C++.

      Also, seeing how you mentioned zope, ZODB and ZEO (the coolest parts of zope, IMHO) are available standalone. BTW, if you're looking for low resource consumption, powerful, python web goodness, give Quixote a look.
      • Am I the only one who is amused by the fact that Zope looks a lot like an attempt to make Python into a new version of Smalltalk? Except this new monster is more bloated, not as consistent or simple, and no where near as mature as a regular Smalltalk setup.

        There was a time when Python was used because it was different than the other options- different than perl and Smalltalk. But so many people are just kind of hacking onto Python all the great features of Smalltalk that have been polished and matured over the last 30 years... Object databases, persistency, an actually object-based system, cutting edge virtual machine/bytecode/cross-platform technology among other things. I guess Python's syntax resembles C/C++/Java quite a bit more than Smalltalk does, and that backwards comabilitibility of mind does make a big difference to a lot of people. :)
    • Have you tried to fire some traffic at your applications through a tool like OpenSTA, for example? It would really tell you what the true performance characteristics are like for your software. Just observing the idle state memory footprints isn't going to tell you much.
    • MarkWatson wrote:
      Smalltalk servlets - mimimum memory footprint is about 20 megabytes

      Ouch! What system are you using for that? Sure, that's a lot better than Java, but 20 MB of a footprint is a lot more than it has to be for Smalltalk.

      I am not running a huge setup, but the small group of servlets I have running on my own machine for my personal access has a running RAM footprint of about 3-5 MB, serving regular static web data, webmail-esque access to my email collection (via a custom module I wrote), a web-based Smalltalk class browser and workspace (for doing scripting and such under some circumstances), some XML-RPC methods (again for my personal use) and a Wiki all under ComSwiki and Comanche running in Squeak Smalltalk.

      Granted, I also have a Smalltalk image for this that has been stripped down to only what is needed for the servlet/web setup. One could the default Squeak image, load in Comanche and get a 20 MB footprint- but then again, you'd have the source and binary loaded into RAM for a ton of stuff that isn't related to serving dynamic and static data. A web browser, a complete IDE, debuggers, inspectors, irc clients, email reader, GUI designer among oodles and oodles of other stuff.

      But I'm guessing you're not using an-worked Squeak image for doing servlets- you're probably using VisualWorks and VisualWave. :)

      I personally use Smalltalk because you can get realworld performance that is adequate (usually faster than Python, but Python is fast enough for me too) and development time that is really outstanding.

      That said, Smalltalk isn't right for everyone, and I'm not trying to convince you to quit using VisualWorks or VisualAge (or whatever Smalltalk dialect you're using) and switch to Squeak, I just am a Smalltalk user with experience in some web apps.
  • by Anonymous Coward on Tuesday January 14, 2003 @04:56PM (#5083557)
    scripts are for kids!

    Script reviews and naked girls [google.com].

    Or try Pajonet.com [pajonet.com]
  • I hope Python integrates wxPython. With Python + wxPython, it can take on things like Java, Mono, and .Net.

    • by Anonymous Coward
      As a wxPython user I can say that, for a good reason, wxPython should not be part of Python.
      It's a complete bitch to debug your programs when the wxWindows library goes berserk, and it does, way too often.
      Btw, I think there should be no GUI toolkit at all in Python as default.
    • Where can I find a package for Mac OS X 10.2 for Python+wxPython? Until then, it still won't be actually cross-platform, at least to me. Sure, it supports desktop systems running Window (93%?) and Unix (3%?) but that4% of the Mac OS is what I usually use, so as a user (and a developer), it's worth about as much as MFC until it supports my platform. :)
  • Tcl? (Score:2, Insightful)

    by Anonymous Coward
    Honestly, is there any poor soul out there who codes new projects in Tcl?

    What a hideous language that is.. "Expect" is pretty cool but it gets lost under tcl sillyness.

    Has anybody fixed the whitespace/quoting bogosity in that language? Can you say x++ instead of [incr x] yet?

    Perl or Ruby or death!
    • Re:Tcl? (Score:3, Interesting)

      by WetCat ( 558132 )
      I do! a very large project, btw.
      and please do not put your own opionion as the opinion of the masses.
      People who think in commands and strings choose TCL!
    • Re:Tcl? (Score:2, Informative)

      by Beowabbit ( 306889 )

      Honestly, is there any poor soul out there who codes new projects in Tcl?

      Well, my big project was started before Tcl/Tk had a text widget, and I think before NCSA Mosaic was written, but yes, Tcl is what I use for anything new that needs a GUI or is otherwise beyond the capabilities of a short Bourne-shell script.

      (The main thing I've written is an editor, which you can find along with a bunch of other stuff here [aq.org]. Please don't judge Tcl based on what I do with it in my spare time, though; there are loads of better-maintained and more ambitious Tcl projects out there.)

      Has anybody fixed the whitespace/quoting bogosity in that language? Can you say x++ instead of [incr x] yet?

      Well, the thing I like about Tcl is it's utterly fanatical self-consistency and simplicity. It's about the diametric opposite of Perl (especially pre-Perl5 Perl. Larry Wall wrote "I wanted Perl to work smoothly in the way that natural languages work smoothly, not in the way that mathematics works smoothly." Tcl works smoothly in the way that mathematics works smoothly. It's a very small, very consistent language, and that means you can keep all of it in your head even as a casual user. It's learning curve comes mainly from being simpler than other languages a new Tcl programmer may be familiar with. Yes, that means you can't write DeCSS in half a line of punctuation characters the way you can with some languages :-), but it means that when you understand the syntax you really understand it.

      Honestly, asking why you can't increment a variable by appending ++ to it in Tcl is like asking why you can't indicate the object of a verb by changing a final -us to -um in English instead of having to put the words in a particular order, or why you can't "use Getopt::Std;" in Lisp, or why you can't just push the button for the right floor in a car the way you can in an elevator.

      Tcl and Perl are both excellent languages, but they appeal to very different kinds of people. (I haven't used it much, but from what I've seen Python is somewhere in the middle - a lot of Tcl's consistency, but also a lot of syntax compared to Tcl, which lets you express things somewhat more tersely.)

      Tcl is also great at introspection, which makes it easy to write code that manipulates code.

      Tcl was originally designed as an embedded extension language, to be added on to applications in $COMPILED_LANGUAGE to provide scriptability - it was originally targetted to replace things like sendmail.cf, .fvwmrc, crontab, and that sort of thing. That particular target market drove some of the early design goals - simplicity, very minimal syntax, and small code footprint. A lot of people (somewhat to Ousterhout's surprise) started using it for serious, large apps, and (in many people's opinion) it worked really well for that, but I think a lot of the characteristics that make Tcl different from other languages stem from that origin.

      I actually wish that Tcl had had more success in its original intended niche; since it's a pain to have to learn a new incomplete and clunky mini-language with every new application you want to configure or script - and then not have them be able to talk to each other. If Guile or whatever becomes a bit more ubiquitous for that purpose I'll learn it and be content, I suppose, but I guess everybody who writes a new app wants to write a new language to go along with it rather than steal somebody else's. :-)
  • No Bourne? (Score:5, Insightful)

    by Dan Ost ( 415913 ) on Tuesday January 14, 2003 @05:20PM (#5083669)
    What? Bourne isn't interesting because it's not
    being developed anymore?

    I'm a big fan of Python, but for every Python
    script I write, I write dozens that start out
    #!/bin/sh.

    It may not be sexy, but it's maintainable (every
    admin knows it), portable (any system that has
    sh or bash), and dirt simple to write.
    • or awk (Score:4, Interesting)

      by DrSkwid ( 118965 ) on Tuesday January 14, 2003 @05:40PM (#5083849) Journal
      awk [ed.ac.uk] essential for pipe work.

      you'll see it here used like
      wget -O - http://domain/info.html | awk -f proc.awk | mysql -u news newsdb

      rc shell [bell-labs.com] and it's unix implmentation [le.ac.uk]

      • I actually started programming for real in Awk. The postdoc I was working for knew Awk and C, but not Perl (which, since I'm in bioinformatics, is the de facto standard). So I began learning Awk, and used that until I had to start doing CGI scripts. I still go back to it occasionally; I've written entire BLAST parsers in Awk alone. When I need a very simple, small text-processing script, Awk is usually my first choice, even though I write virtually all my code in Perl.
        • I do work in what could be considered bioinformatics [1]. My boss still uses awk for scripting and processing our ecological and metereological data. Hell, he even writes CGI scripts in it. When he wants to visualize what does he do? Write an AWK script that outputs a POVray file... heh. No wonder everyone was impressed when I wrote the cool Squeak app for browsing and comparing multiple plots along a transcect all in one screen and all in a couple seconds. :P

          [1] Although it's not genomics or anything, rather informatics and computer science applied to ecology.
      • While we're on the subject of awk,
        here's a Lisp implementation [cmu.edu] in awk.

        While we're on the subject of Lisp... well, those of you who know, know. The others might learn one day.
    • I just love the Bourne Shell.
  • by $$$$$exyGal ( 638164 ) on Tuesday January 14, 2003 @05:24PM (#5083690) Homepage Journal
    We all know that the porn industry is always the first adopter of the latest and greatest technologies:
    • php [google.com] - 1.1 million hits
    • perl [google.com] - 56,200 hits
    • lua [google.com] - 478 hits
    • python [google.com] - 27,800
    • ruby [google.com] - 54,400 hits
    • tcl [google.com] - 4,680 hits
    And the winner is: PHP by a landslide!

    --naked [slashdot.org]

  • by Dr. Zowie ( 109983 ) <slashdot.deforest@org> on Tuesday January 14, 2003 @05:38PM (#5083833)
    Perl really has come a long way from its scripting roots -- by itself, it's useful for "small to midsize" computing tasks (says the documentation) but the value of "midsize" keeps shifting to larger and larger things.

    Perl Data Language (http://pdl.perl.org [perl.org]) is a set of C and FORTRAN bindings that make perl into a complete vectorized scientific-computing language that's useful for big tasks like inverting 1000x1000 matrices or fluid-dynamic simulation, but that can also be used interactively to work with image and spectral data.

    That's neat because interactive data analysis is a pretty small niche market with a few proprietary (and, IMHO, seriously broken) languages dominating. With PDL, I can give fresh science data to high school students, straight from the spacecraft. Their L337 gaming machines are plenty powerful enough to run the tools they need, and perl is pretty much universal.

    • How does Perl Data Language compare with Numeric Python? numpy is awesome stuff, and PDL looks rather similar. Anywhere where PDL shines that numpy doesn't, or vice versa? Or is it mostly a matter of language preference?
      • I've looked at numpy briefly. I believe that, starting from scratch, it might be easier to learn -- perl is a write-only language at first.

        PDL has really excellent dimensional manipulation and slicing; and the PGPLOT output is very nice. For me, the main advantage over python is that, well, it's just perl -- so you have access to the whole CPAN library for (e.g.) database I/O, units conversion, uu{en|de}coding, and whatnot.

  • This is the first I've heard of Lua. Any comments from anyone who's used it? It sounds interesting, since it's designed to do a lot of the stuff Guile does, but uses infix notation that most of us will have an easier time reading and writing.
    • Although I can't say anything new, the other comments are only at +1, so I'll add mine: I've been doing some experimenting with Lua for a little while now, and have been impressed with the ease that it interfaces with C, and with the speed.

      My biggest complaints are with the pascal-style syntax: using begin ... end for blocks and things being 1-based rather than 0-based are minor sources of irritation for me. Oh, I'm not too impressed with the lack of block comments, though you can hack around it. However, I suppose that for people that enjoy using Pascal, they'll feel right at home.
    • I don't know. I grew up with this kid named Young Kim who always played as Guile. He was pretty damn good with him to. I always prefered to play Ryu 'cause I could do that whole Ha-yu-kin thing really well, I never got good at the game though.

      Sorry but I don't know anything about "Lua." Maybe she (he?) was released as part of Super Streetfighter 2 or hyper-alpha-streetfighter 2 or some version that I never played.
  • by vga_init ( 589198 ) on Tuesday January 14, 2003 @06:46PM (#5084323) Journal
    Earlier this year I had to use LUA in a project that I was working on, and I must admit that it was a pretty interesting language. I had to use it primarly for scipting: writing generic function calls and tailoring formatted "pages" of code to be submitted into a database (one might think of this as being similar to web pages, though it a little bit different than that). To me the language seemed to be very versatile, and it had some nifty features as well as very simplistic syntax. To someone familiar with other languages like Perl or Python, I guess it might not seem so nifty, but I appreciated its simplicity because it took me less than an hour to learn as much of the language as I needed for the project.
    • I agree, Lua is a pretty fun language. It's pretty darn fast, too, considering what it is. And it's small- the default binary installation is only about 200k! WOWZA! Sure, not all the libraries as Perl or Python by default, but strip anything else in the same class else down to the same functionality and it's sure to be bigger.

      Then again, I'm got a big soft-spot in my heart for NewtonScript, after which Lua was modeled. :)
  • BWK wrote a paper on this: Timing Trials, or, the Trials of Timing: Experiments with Scripting and User-Interface Languages [bell-labs.com]. It compared C, Awk, Perl, Tcl, Java, Visual Basic, Limbo, and Scheme. It tested various areas of the language, such as graphics, text processing, and array manipulation.

    Although K [kx.com] really isn't a scripting langauge (neither is C), results [kx.com] were done for it, too (being faster and having less code). There is also a shallow introduction [kuro5hin.org] to K on Kuro5hin.org.

  • by Wargames ( 91725 ) on Tuesday January 14, 2003 @07:51PM (#5084707) Journal
    For scripting, there are not equals to Rexx the king of scripting languages.

    The programming language Rexx runs great as Regina on Linux/UNIX/NT, or Rexx under OS2 Warp or NT is cross platform with minimal changes.

    Rexx http://www2.hursley.ibm.com/rexx/
    Regina http://regina-rexx.sourceforge.net/

    Can your scripting language do this out of the box:

    -Wargames

    Powers of 2:

    say 2**100
    1267650600228229401496703205376

    say 2**150
    142724769270595988105828596944949513638274 6624
    • Most folks would consider Smalltalk more than just a scripting language, but it can do that easily out of the box. Heck, on my 500 MHz G3 (fast enough for me, but "lowly" to plenty of people these days), Squeak Smalltalk (a relatively slower Smalltalk compared to the commercial implementations) it only takes one second to compute 4 raisedTo: 2000, that is, 4 ** 2000. "1000 factorial" takes a couple of seconds though- but that's not all that bad considering most languages can't support such large numbers out of the box. :)

      Can Rexx do that? Just out of curiousity. Smalltalk can, a lot of Lisps can, but I'd love to add other languages to the list.
    • Can Rexx do:
      2**1000 :
      10715086071862673209484250490600018105614048117 055 33607443750388370351051124936122493198378815695858 12759467291755314682518714528569231404359845775746 98574803934567774824230985421074605062371141877954 18215304647498358194126739876755916554394607706291 45711964776865421676604298316526243868372056680693 76 ...but really, how does being able to do this mean that a scripting language 'has no equal'...

      Or when you say that 'Rexx has no equal' do you mean that you can't check for equality in Rexx? ...must be pretty tough...

  • Ferite (Score:2, Informative)

    It's also good to see newer scripting languages like Ferite [ferite.org] progressing as well.
  • by bahwi ( 43111 ) on Tuesday January 14, 2003 @08:26PM (#5084882)
    Parrot [parrotcode.org] isn't the VM for Perl6. Parrot is a "new language from the creators of Perl and Python." Duh. There's even an O'Reilly book on it [perl.com].

    Seriously though. They barely mentioned Parrot and Parrot is coming along very nicely I think. Even with a Java to Parrot Bytecode program, Brainfuck, Jako, Befunge-93, cola, forth, miniperl, ook, (non-final) perl6 interpreters/compilers, as well as python, ruby and scheme interpreters/compilers coming. Of course it's not finished, so not all of the languages are either, but hey, it's getting there, and damn fast. There's even a Parrot Assembly Lange.

    Parrot is definately not Perl6. It's much more. It's like java, but open source, and independent of Languages. They're hoping to have it compile on as many platforms as perl does now, unlike Java which is Windows, Mac, Linux, and some PDAs, end of story.

    So everyone check it out and throw some patches in too! Of course, the only support I've given so far is moral support. :/
  • VBScript (Score:3, Informative)

    by unfortunateson ( 527551 ) on Tuesday January 14, 2003 @08:36PM (#5084931) Journal
    The real missing item is VBScript. Sure, it's 99% Windoze (1% Macintosh -- who probably don't realize they have it). It's the engine behind ASP -- which isn't a language in its own right. It's the replacement for DOS Shell scripts/batch files. It's the preferred platform for management scripts on Win2K/WinXP (see WMI) It's the preferred platform for trojan horse programs... maybe I shouldn't claim that as a positive, huh? Probably Javascript should have been mentioned too, but it's rarely used as shell-style scripting. Why do I use VBScript when I've got Perl and Python on the same machine? Frobbable code at Microsoft's website. If nothing else, I prototype it there, then acces the same COM objects through Python or Perl.
    • I may be incorrect, but can you not also use JavaScript to interface with ASP?

      • Exactly my point -- ASP isn't the language, it's the environment. VBScript, JavaScript, PerlScript, Ruby? can all be used within HTML pages in IE, I'm not sure about other browsers.

"I'm a mean green mother from outer space" -- Audrey II, The Little Shop of Horrors

Working...