As I do so often, I now feel tempted to quote the pragmatic programmers. From the paper “Never Build an Application” (http://www.pragmaticprogrammer.com/ppllc/papers/1998_03.html) I’ve selected two interesting quotes:
“Library design is language design”
“Design a domain specific ‘language’ that can be used to talk about applications in this domain”
These two statements can be simplified to “Design a domain specific ‘library’ that can be used to talk about applications in this domain”? Have you changed your mind? If so why? I still believe these two quotes to be entirely valid.
Fra: Dave Thomas [mailto:Dave@PragmaticProgrammer.com]
Sendt: to 22-08-2002 17:06
Til: ruby-talk ML
Emne: Re: A Repeat: New Language After Ruby?
firstname.lastname@example.org (Email55555) writes: > Is it just learn the syntax of language ? It is much much > difference depend on your definition of "learn". Think about this, > learn java language, I think you can spend a little bit of time to > learn java syntax. But if you want learn the entire API, Oops, that > take may-be not in one year ( J2SE, J2EE ). Learning a language means coming to understand it: the philosophy, the idioms, and the "way things are done". Doing that gives insight, insight that can often be applied in different arenas. With Java, I see little point in learning all the libraries if Java is simply one of your "languages of the year". The incremental benefit of studying the 804th API set is marginal. However, it _is_ interesting to study the Java libraries at a higher level. One of the things I learned from Java is the entire concept of library-based programming. Libraries are pervasive in Java, to the eternal detriment of the Java community (and computing at large). Developers writing java are pretty much taught not to write applications, but instead to write libraries, and then glue these together with a minimal application core. The result: remarkably bloated applications, full of code that's never used, and full of patterns because "that's the way to code libraries". Josh Bloch's Effective java is a great book, but it is redolent with library thinking--write these methods because someone may need them... So (ending my rant), I think there's much to learn from all languages, and some of it is far outside the actual syntax of the language itself. In the case of Java, the sheer size of the libraries, and therefore the barrier to learning they present, it itself an opportunity to reflect and learn. Cheers Dave