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
pgpIEH1To1gyR.pgp
Description: PGP signature
--- End Message ---
pgpkUT83mu1rI.pgp
Description: PGP signature
-- [email protected] http://www.kernel-panic.org/cgi-bin/mailman/listinfo/kplug-lpsg
