in reply to New programming language suggestions

For something rather radical, try Prolog. It's a logic programming language. As such, instead of telling the computer how to solve a problem, you tell it what the problem looks like and it figures out how to solve it. You can also install my pure Perl Prolog implementation AI-Prolog to get a simple Prolog shell and programming environment.

Later, you can check out SWI-Prolog for a full-featured implementation. The Amzi! Prolog folks also offer a great (and free) online Prolog tutorial. By the time you're done, you'll have built several Prolog programs and get a good idea of how the language works.

In fact, one nice thing you'll note is the ability to change the syntax on the fly. That combined with built-in grammars allows you to type in natural English (or whatever your preferred native language is) and still get things done.

Cheers,
Ovid

New address of my CGI Course.

  • Comment on Re: New programming language suggestions

Replies are listed 'Best First'.
Re^2: New programming language suggestions
by halley (Prior) on Sep 14, 2005 at 19:49 UTC
    Seconded, but for a broader reason.

    Learn languages which are not merely procedural. Most of the languages simply describe the way to structure data and manipulate data. Essentially, they lay out the opcodes which the machine will execute in order. Go for something that diverges from that: do things with logical, declarative, inference, numerical, symbolic, even visual languages. At the very least, you'll gain insights on how to express procedural code which solves problems more effectively.

    --
    [ e d @ h a l l e y . c c ]

      I second that too. I have "obviously" (due to my studies) some experience with TeX, and in particular with LaTeX which are markup languages, but to a large extent less "static" than more common *ML ones. I also tried MetaPost to draw some graphs, and I noticed it has some declarative features, e.g. a point can be defined implicitly in terms of the intersection of two straigh lines. Quite a niche application, but interesting indeed...