RSS feed

Linkedin Profile

Tags:
programming
seattle
things that bug me
wall art

Posts by month: 10/08 (2)
08/08 (1)
06/08 (2)
05/08 (1)
03/08 (3)
02/08 (1)
01/08 (2)
12/07 (2)
11/07 (1)
07/07 (1)
05/07 (2)
02/07 (1)
01/07 (1)
12/06 (1)
11/06 (1)
10/06 (1)
08/06 (1)
07/06 (1)
06/06 (2)
05/06 (1)
04/06 (2)
02/06 (1)
01/06 (2)
12/05 (3)
11/05 (2)
09/05 (5)
08/05 (5)
07/05 (7)
06/05 (3)
05/05 (6)
04/05 (8)
03/05 (7)
02/05 (7)
01/05 (6)
12/04 (2)
11/04 (3)
10/04 (5)
09/04 (3)
08/04 (5)
07/04 (5)
06/04 (4)
05/04 (4)
04/04 (9)
03/04 (4)
02/04 (3)
01/04 (5)
12/03 (1)
11/03 (14)
10/03 (8)


Languages
2005-12-22

Tim Bray brings together some threads on languages, some in (Ruby) and others out (Java) of fashion. It is an interesting clash of world views, and I can't help gawking. Some snapshots from the discussion: Bruce Eckel explains Java's list APIs (among other things); the virtues of bracketing and indentation as delimiters are argued and countered; extensive language comparisons are made and criticized (Ruby vs. Python Vs. Perl Vs. Java). I think these things matter to some extent. I also think it is great to be passionate about choice of language, particularly given how much time one can spend at the keyboard.

So what's missing from this debate? One snippet stands out for me: "I'm tired of all impositions by a language upon my thinking process." This is a strong hint that finding a better general-purpose programming languages might not really be the answer. What if we set about making our own abstractions into programming languages1? I am talking, of course, about DSLs and their potential to move many of us working programmers away from this kind of discussion. It might just the caffeine talking, of course, but who really needs a better flavor of list? My message to you: "Quit worrying about bracing and start thinking in domain models!"

Next actions: Read the Generative Programming book, and if Microsoft.Net is your thing then check out the DSL Tools.

1 Of course the economics are likely not good at the individual level, depending on tooling, problem domain, and intended use. Get some help.

Back to weblog