Just sent this to another list so thought I would forward it here also...

-- 
Tracy Reed
http://tracyreed.org
--- Begin Message ---
On Wed, Oct 29, 2008 at 05:44:19PM -0000, sdclaassen spake thusly:
> Hahaha... I couldn't ask for a better illustration of why reliance on
> synchronous access to scarce resources is a bad scalability paradigm.

Indeed. So Arne, are you really coding in Erlang? I've been keeping an
eye on functional programming languages for the last 4 years. I am
familiar with a little Scheme/Lisp/Haskell/Erlang but only on a very
novice level. I have the recent "Programming Erlang" book from
Armstrong. Very good so far but I'm just getting started. I also look
forward to the upcoming "Real World Haskell".

I believe that functional programming is the way towards making use of
the massively multi-core cpu's coming down the road and it seems quite
possible that in a few years functional programming skills will be in
demand. Even Microsoft sees this writing on the wall. They employ
Simon Peyton-Jones, creator of Haskell. He is helping them out with
the design of F# which is Microsoft's functional programming
languag. F# is a cross between Haskell and C#. With Microsoft pushing
functional programming the technique should gain a lot more visibility
in the programming community. The switch to functional programming
will also raise the bar for programmers giving the truly talented
greater opportunity to compete against the Java spewing body shops of
labor outsource companies whose programmers took a semester of Java
and now consider themselves Software Engineers.

Purely functional languages such as Haskell and message passing such
as Erlang are particularly interesting. So far I'm believing the
claims that minimization of mutable state and relegating state to the
stack greatly reduces errors...for the programmers who can learn to
think functionally, anyhow. But it's a huge change and difficult to
get ones head around.

There has even been a surge of renewed interest in Lisp. Everything
old is new again but this time around it makes sense: These ideas were
simply ahead of their time but now hardware has caught up so their
potential can finally be taken advantage of. Who knows, we may even
see the return of a Lisp machine of sorts as research is being done on
a lambda calculus reducing machine (as opposed to the traditional
Turing model) called the Reduceron:
http://www-users.cs.york.ac.uk/~mfn/reduceron2/ And I recommend "The
Little Schemer" and the two others in the series as an intro to
functional programming for anyone interested in getting started.

I am also following the trend away from using SQL/relational databases
for absolutely everything. Mnesia is a good example although have you
looked into CouchDB? CouchDB looks like a good choice for those who
want a scalable database but don't necessarily want to learn Erlang
and prefer to code in perl/python or whatever. I have recently used
ZODB in a project. Not as scalable or fault tolerant as Mnesia but
very easy to use if you already know Python. No more coding up SQL and
and managing cursors etc. Just instantiate your objects with your data
as attributes and they are persisted in the zodb and has quite good
performance. And being a log structured database which only appends
means data corruption is very unlikely.

-- 
Tracy Reed
http://tracyreed.org

Attachment: pgpIEH1To1gyR.pgp
Description: PGP signature


--- End Message ---

Attachment: pgpkUT83mu1rI.pgp
Description: PGP signature

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

Reply via email to