Tracy R Reed wrote:

There are no side-affects which can make your programs non-deterministic and hard to debug.

Heh. Until you need to interact with the world or handle an exceptional case.

I have been reading about Lisp, Scheme, Haskell, and Erlang. Note that Lisp is not a "purely functional" language in that you can also do imperative programming with it. But the rest are purely functional. Some day I am going to have to pick one for serious learning.

Go with Common Lisp.

The reason for this is actually pragmatic. With Common Lisp, if you don't "get" one of the concepts, you can still make progress. With the others, there are certain core concepts that you *must* "get" in order to progress.

With Scheme, it's continuations. With Haskell, it's monads. With Erlang, it's pure message passing.

With Common Lisp, you can dodge those bits which you don't yet get until you do.

Erlang was written originally created by Ericsson and they use it on their phone switches and other devices that need high reliability. It seems to have the advantages of Haskell plus it has very strong concurrency support (threads done in a safe and sane way: no locks or shared memory, only message passing), has an emphasis on highly reliable code, you can patch it on the fly without stopping the program (nice for upgrading those switches that require 5 9's of uptime), can be used to do distributed programming in a transparent way, and has built in support for a distributed database called Mnesia. That is pretty much all I know about it so far, haven't written any code yet. But I look forward to trying it out. We really do have an embarrassment of riches when it comes to programming languages.

I wouldn't recommend Erlang to anyone except those with an EE degree. Erlang is almost hardware written as software. It's an abstraction that you really don't want to get saddled with unless you are writing *very* distributed programs.

Of course, Erlang appeals to *me* exactly because I think of things in terms of hardware abstractions.

I never really appreciated the value of RSS until I got the Sage plugin for Firefox.

I no longer do RSS. I found that I'm better off reading one of the "link ranking websites" and going through interesting stuff. Normally, the same websites that I like also hit my link ranker once in a while and then I go through the backlog that I missed.

-a

--
[email protected]
http://www.kernel-panic.org/cgi-bin/mailman/listinfo/kplug-lpsg

Reply via email to