Tuesday, January 11, 2005

Concurrent Computing

a.k.a Parallel processing is going to be the new direction of hw and sw technology.
"The Free Lunch Is Over: A Fundamental Turn Toward Concurrency in Software"
is a really good article explaining this.

Which also means that an interesting thing to do will be to create compilers that can parallelize code written in current (non-parallel) languages safely (beyond what instruction reordering cpu's can already do). I guess functional languages with lazy evaluation might have an edge here, since there is no predefined order of evaluations.

There do exist parallel languages already as well. e.g.s are DPCE, Brook and whatnot.

So I guess the future lies somewhere in between the two.
Which means I should think and read about compilers.

Wednesday, January 05, 2005

Haskell

I am trying to learn Haskell nowadays. Seems to be a pretty nifty language, i.e. leads to concise code. It is also the most accessible functional language I have found so far. Lisp/Scheme had too much jargon to actually allow you to think. Caml was decent but not mainstream enough.

This is the course I am following. The Haskell Home Page is also a great resource.

As an aside, it is great to take a course without any deadlines. Keeps you interested much longer. Homework and assignment deadlines just get in the way of actually learning stuff.

Monday, January 03, 2005

asicengg

Deeply punny title :
ASIC Engineer - That's my job.
A Sic engineer - Potential description, the way it sounds ;-)
A Sic enginner - an engineer who copies. Probably most of the stuff on this blog won't be original.