Slashdot Mirror


Designing And Building A New Pragmatic Language

ctrimble writes "A bunch of folks on the pragprog Yahoo! Group have banded together to design and implement a 'pragmatic' programming language. Ostensibly, the language is informed by the principles in Hunt and Thomas's well-received book, The Pragmatic Programmer: From Journeyman to Master but the purpose of the language is to help ease some of the pain of development and bridge the impedance mismatch between the academic aspects of a programming language and the discipline of software engineering. The design is still very much in flux. If you're a programmer, this might be a language you'll be using in a few years (or earlier). This is your chance to get in on the ground floor. What kind of features do you want the language to have? What are your PL pain points? Where could this language do better than existing languages?"

4 of 192 comments (clear)

  1. Re:After thinking about it... by slackergod · · Score: 3, Informative

    There's pyrex, a variant of python for writing lowlevel c-code w/o going into C.

    And there's also pysco, a specializing compiler, which generates machine code for python, and gets dramatic speed ups.

  2. Re:Strong emphasis from a GUI standpoint. by pbox · · Score: 4, Informative

    You should try wxWindows + Python.

    Pyhton: pointerless, automtic garbage coll, vary FAST if using psycho.

    wxWindows: portable, yet platform optimized. Very good tools for design.

    --
    Code poet, espresso fiend, starter upper.
  3. Maybe Oz by Szplug · · Score: 3, Informative
    though Oz is a bit wilder than most mainstream languages.

    Get the book free while you can; it's gotten high praise, a real treat for getting a wide view of different styles of computer programming. It compares favorably with SICS.

    --
    Someday we'll all be negroes
  4. Re:Already done by Hawkins · · Score: 3, Informative

    It should be noted that some of this Perlesque is deliberate, and that much of it is simply syntax sugar on top of objects. The regexps, for example, are actually Regexp objects, and as such can be extended or inherited just as any other object would. matz decided to include the /regexp/ construct to aid those who were used to it. As for the $_, $&, and its cousins, if you don't like the look of those you can include the English mixin in the standard library that allows you to say things like $LAST_READ_LINE and $MATCH.

    I have to agree on the variable prefixes. @instance and @@class variables are hard on the eyes, but other than that you don't have to append anything to the beginning of a variable. lowerCase variables are local, Uppercase are constants or classes. If you're using globals in an OO language, may Dog have mercy on your soul.

    And as for the libraries, check out raa.ruby-lang.org. Many there, more being developed all the time.

    _dave