September 22, 2008

Expansion? Sure

I’ve taken a break from Rails to just learn Ruby - have some programs I can make in Ruby for systems administration and some task automation - doing this has produced a TON of lightbulb moments relating to Rails.  I don’t like dealing with Rails magic and not understanding what’s going on - so I’ve also been reading rails source here and there.

After hearing a Rails podcast featuring a talk from Jim Weirich about concurrent programming and Erlang I’m now compiling Erland on my macbook.

$ erl
Erlang (BEAM) emulator version 5.6.4 [source] [smp:2] [async-threads:0] [kernel-poll:false]

Eshell V5.6.4  (abort with ^G)
1>

There it is.  Apparently Erlang’s, and some other languages around, handle concurrent programming outside of your typical thread model - and these seem to make more sense to me.

Why do Erlang?  Why learn something else d00d?

Anytime I jump into some new kind of development, a new language, whatever - I get a ton of ideas that I apply back to current projects.  I think it’s a great thing to do, if you have the time.  I technically don’t but I do feel languages that do concurrent code well will end up being towards the top of my list for developing as systems begin to see less single core speed increases…”Now that we’ve neared the physical limitations of the cpu, lets just add a ton of cores to the chip”

Look I’m not saying “ditch Ruby, it just can’t shake the threaded model for concurrent programming”  I _KNOW_ concurrent programming is hard, I’ve had my share of lock problems and shared memory stomping all over the place when it shouldn’t, thread based concurrent programming is HARD to get right ALL the time..and unfortunately is pretty much HAS to be right all the time.

I’m still convinced Ruby is a break through language..its just too damn fun to code with..and does a ton of work for me with little code.

I’m also lightly learning Java - just as an exercise - I never plan to use Java..I think learning Ruby..the Rails frame, Erlang, Python and maybe the Django framework will give me plenty of nice tools to tackle projects.

Comments (View)
blog comments powered by Disqus