Home
entries friends calendar user info Previous Previous Next Next
DEF1 - Dynamic programming languages.
Musings on Lisp, Life and Everything.

Advertisement

clynbech
[info]clynbech
Add to Memories
Tell a Friend
Dynamic programming languages.
The jaoo.dk conference is taking place in Århus these days and following this there was an interview with Lars Bak, one of the drivers behind the V8 Javscript engine, in a danish newsletter. Here he talks about the joys and wonders of dynamic typing over static ditto. He makes manay good points on how dynamic typing helps to increase programmer productivity.

At least two of these points was something I had no thought so much about before.

One was that the tools surrounding statically typed languages tends to be very phase oriented. You make a chance, compile, do a test run to see if it worked and then you get back to editing. Dynamic languages such as Lisp, Smalltalk or (I guess) Javascript allows you to work much more directly with the (running) program, interleaving thinking, editing and testing almost seemlessly.

The other thought provoking point, one I also absolutely believes in, is that programmers working in dynamic languages tends to focus on the program logic whereas programmers working with static languages tends to focus on all of the much less important trimmings surrounding the logic.

The bottom line,as he puts it, is that the bottleneck today is not those last 20-30 % of performance but rather programmer productivity and everything we can do to facilitate that should be pursued. And even if one does get concerned over performance, one should rather seek to solve the problems rather than giving up without trying. Lisp was not born as efficient as it is today (neither was C) but can not fix a problem if one does not try to fix it.

Just a big a problem, I think, in many languages is the apperent view from the language designers that the biggest threat to the purity of the program is the programmer. This is most dominant in static languages where the type diciplines provides the language architect with a multitude of ways to fence those rascal programmers in but even in dynamic languages such as Erlang one can find traces of this.

The logic seems to be that we want to prevent the programmers from making mistakes, and that logic is not as such flawed, there are mistakes you just do not make in a statically typed programming language. Unfortunately, the statement that a program is typecorrect is an incredible weak statement about its usefulness!

profile
clynbech
User: [info]clynbech
Name: clynbech
calendar
Back March 2009
1234567
891011121314
15161718192021
22232425262728
293031
page summary
tags

Advertisement

Customize