Andrew Lentvorski wrote:
[snip]
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.
[snip]
I resemble that. But after looking at the Erlang tutorial at
<http://www.erlang.org/doc/doc-5.5/doc/getting_started/>, I see that
whoever wrote the tutorial is either deliberately trying to obfuscate
the programs (not likely) or has lapsed into the lazy mindset that it's
too hard to come up with unique names for variables, functions and atoms
(identifiers).
Problem one: The examples immediately start to use function overloading
even when the functions are not related except for the fact they happen
to be in the same module. To me this is the epitome of stupid
instruction as well as bad programming. Not only does it introduce a
concept before its time but it serves to confuse and obscure the
operation of the program.
Problem two: Using the same word for functions and atoms. In section
three, you can see they use the same words for the functions and the
atoms despite the fact they are used for different things and are
commingled. This causes unnecessary confusion and again is bad form.
The basic concepts seem fairly straightforward. The message passing with
processes listening on queues is actually very similar to how MS Windows
GUI works except for the distributed part.
Gus
--
[email protected]
http://www.kernel-panic.org/cgi-bin/mailman/listinfo/kplug-lpsg