Slashdot Mirror


Exploring Some Lesser-Known Scripting Languages

Nerval's Lobster writes: Scripting languages are used in everything from games and Web pages to operating-system shells and general applications, as well as standalone scripts. While many of these scripting languages are common and open to modification, there are some interesting, open-source ones that are worth a look, even if they don't have the substantial audience of some of the popular ones. Wren, Candle, Fancy, Pikt, and PPL all show what a single developer can do if they set out with enough motivation to create open-source scripting languages. The results often prove surprisingly powerful.

14 of 60 comments (clear)

  1. The best part? by Anonymous Coward · · Score: 4, Funny

    The little bit at the bottom of the page that says "Related Jobs: Could not get related jobs".

  2. Oooh is this free "Promote Your Language Day?" by lefticus · · Score: 4, Interesting

    http://chaiscript.com/

    Been working on it for over 5 years now. Stable and easy to use scripting for your C++ application.

    1. Re:Oooh is this free "Promote Your Language Day?" by Dutch+Gun · · Score: 3, Interesting

      Chaiscript looks interesting - something like what I would have probably designed for a language if I was writing one from scratch. I'm currently using Lua for my game engine, but integrating the raw C API with C++ requires a lot of ugly boilerplate code.

      A question while you're here - one of the most useful features of Lua for game development (at least for me) is the support for co-routines. Each lua script (or "chunk") can have it's own stack, and can therefore suspend execution and resume later. This allows a script to sleep for a specified period of time, for example, giving the appearance of being threaded without actually requiring each script to execute on a real thread - which would be far too much overhead.

      This enables me to write simple Lua scripts like:

      DoSomething()
      Sleep(5)
      DoSomethingElse()

      Is there a way to do something similar in Chaiscript? Note: it takes a bunch of external C++ code to be able to pull this off in Lua as well, so doing it via external code is fine.

      --
      Irony: Agile development has too much intertia to be abandoned now.
  3. Who supports it by Snotnose · · Score: 4, Interesting

    I remember 7-8 years ago I was lead on a new project and we were deciding on a scripting language. I wanted Python over Perl. It was clearly easier to both read and write, and had object orientation.

    What shot it down? My boss telling me "we have a thousand engineers world-wide who know perl, and you 6 will be the Python experts. You really wanna support a thousand engineers learning Python over the next 5 years?"

    1. Re:Who supports it by John+Bokma · · Score: 2

      Perl has OO for longer than 7-8 years. Perl is not harder to read/write than Python. Hard to read code can be written in any language, including Python. And yes, one can argue that Perl makes it easier to write hard to read code, but why would one do this? Last but not least a lot of hard to read Perl is the result of cargo cult coding; too many people back in the mid-90's thought: "Oh, I know this, it's just another programming language". Heh.

    2. Re:Who supports it by tcmatthews_jr · · Score: 2

      Python has to be one of the easiest programming languages to learn. In fact it is one of the easiest programming languages I have ever seen. If you think that Perl is even in the same ballpark in difficulty more power to you. I have looked over Python several times in the past and I am sure I could write anything I wanted with it. I don't work The biggest problem with Perl is the fact that you can if you choose write code nobody can understand 6 months from now. Maybe the problems was to may people writing code that way for job security. Who knows.

    3. Re:Who supports it by Marginal+Coward · · Score: 4, Interesting

      I switched from Perl to Python immediately after I discovered Python. Ironically, I first heard of Python when it was offhandedly mentioned in the book "Advanced Perl Programming." In Perl, I had developed the habit of writing a comment for nearly every line of code - much as most assembly programmers do. Python had similar semantics but much better syntax. It practically documents itself if you do it right. I never did figure out Perl's object syntax (bless, 'em), but objects are easy in Python.

      When I first learned Python, there were lots of Perl books on the shelf in the tech section of any large bookstore, and just a couple of Python books. As a Python fan, I was hoping it would catch on, and couldn't figure out why it wasn't taking the world by storm. Perl was the dominant player in CGI at that time, which made it a big thing. Over the years, I kept taking my little bookshelf polls every now and then, and the ratio changed. Turns out it just took awhile. Now, there are very few Perl books and lots of Python books.

      Thank you, Python. Oh, and thank you, Perl 6.

    4. Re:Who supports it by LordLucless · · Score: 3, Interesting

      As a Python fan, I was hoping it would catch on, and couldn't figure out why it wasn't taking the world by storm. Perl was the dominant player in CGI at that time, which made it a big thing. Over the years, I kept taking my little bookshelf polls every now and then, and the ratio changed. Turns out it just took awhile. Now, there are very few Perl books and lots of Python books.

      I think the problem was that the world didn't migrate from Perl CGI to a better CGI language; it went from CGI to PHP/Coldfusion/ASP, and python wasn't really relevant there. It wasn't until the flaws in those sort of systems became apparent, and OO, MVC frameworks like Django, Web2py, Pylons, etc, came into their own that python started appealing to the masses.

      --
      Just because you're paranoid doesn't mean there isn't an invisible demon about to eat your face
    5. Re:Who supports it by Dragonslicer · · Score: 2

      The way python wants to use indentation to indicate blocks of code is much more difficult to read for anything of modest complexity.

      At the abstract level, I understand why people have trouble with the idea that whitespace is significant in Python (I'm one of them). But after using it for a few years now, I've realized that if you don't indent your code the same way in Python as you would in any other language anyway, you're almost certainly doing something wrong.

  4. Instant R.Y.O. language? by Tablizer · · Score: 2

    How about a "language" that makes it easy to generate a language how I personally want it so that I'm not stuck with somebody else's goofy preferences:

    http://www.c2.com/cgi/wiki?Ins...

    1. Re:Instant R.Y.O. language? by K.+S.+Kyosuke · · Score: 2

      The thing you want is called OMeta.

      --
      Ezekiel 23:20
    2. Re:Instant R.Y.O. language? by phantomfive · · Score: 2

      I once read about a team that couldn't agree on formatting, so they finally set up a system that pretty-printed code as soon as it was checked out of CVS, adjusting tabs/spaces/braces etc, according to each user's preference.

      If you had a language-generator as you suggest, then you could automatically convert the source code to match the preferred language of each user on checkout. It would be easy.

      --
      "First they came for the slanderers and i said nothing."
  5. C++ by Roger+W+Moore · · Score: 3, Informative

    C++ might be a well known language but it is generally never though of as a script language. However if you are curious you can have a look at ROOT C++ or as some of us like to call it C+/-...because it is only C++ to within some (wide) margin of error.

  6. GameMonkey by greggman · · Score: 2

    I know Q-Games, makers of PixelJunk Shooter, PixelJunk Eden, The Tomorrow Children, NomNom Galaxy, etc, has used GameMonkey extensively for many of their games and I know several people who've left Q-Games, formed new companies and are still using it in their own engines.