Monday, May 05, 2003

There was a thread on ll1-discuss this weekend that started with a discussion of the background of the Erlang type system. The poster quotes a paper on the development of Erlang that contains the following quote:

The type system has uncovered no errors. The kernel libraries were written by Erlang "experts"--it seems that good programmers don't make type errors. It will be interesting to see if this remains true when we start type checking code written by less experienced programmers.
Funny enough, I had a discussion on Lisp with a co-worker last friday, and he made the assertion that static typing helps less experienced programmers, while more experienced programmers think that it gets in the way. He was actually arguing against dynamic languages and Lisp in particular, but I thought this was an interesting point. There's been a bunch of other discussion on static vs. dynamic typing over the last week or so. Carlos asked the question "Shouldn't languages have more than one mode?" (can't find the original post, but Ted Leung and both cited it). This is a pretty interesting idea, and it sounds like it's already there for certain languages. But it certainly hasn't been exploited in "mainstream" development. The problem, of course, is deciding who's an "expert" and who needs strong typing without getting egos inflamed. I don't know of any compiler theorists who've solved that problem.

Charles Miller also had a great post on using XML as a programming language. Charles makes the excellent point that at least in Java, it's pretty easy to embed an interpreter and write a little language, instead of writing yet another interpreter for an anonymous XML document. The comments on Charles' entry were mostly negative, but I think it's a great idea. Carlos commented that you could go further and define a little language, exposing only the functionality you want. Maybe the sweet spot for Java does lie there: embed something like SISC into your application and expose specific interfaces through DSLs.

Some people reading this are no doubt asking "why?". My thinking on this is that as programmers, we tend to design systems that create more work for ourselves, and that doesn't make sense for the people paying for that work. Sooner or later, the cost of doing development is going to have to be reduced, and I'd prefer that I can still find work after that reduction takes place.

4:24:13 PM  permalink Click here to send an email to the editor of this weblog. 


Stories
DateTitle
1/23/2003 Why XML?
8/13/2002 Resolution for IE and Windows problems
8/10/2002 Supporting VS.NET and NAnt
5/11/2002 When do you stop unit testing?
Contact
jabber: weakliem
YM: gweakliem
MSN: gweakliem@pcisys.net
email: Click here to send an email to the editor of this weblog.
Subscribe to "Gordon Weakliem's Weblog" in Radio UserLand.
Click to see the XML version of this web page.