On 11 July 2010 00:21, Wildam Martin <[email protected]> wrote: > I tend to think that the features of a programming language itself is > often overrated. > I mean, who cares about about a particular thing you can solve in 1 > line of code in Scala (or whatever) instead of using 3 or 5 in Java. > Basically, all work I need more than 5 lines of code for it, gets a a > subroutine in my "personal" library that I link to each project. >
Modularity is good practice in any language, but it isn't an automatic cure-all. There are some problems that really demand a paradigm shift for the best solution (i.e. to a functional or declarative model) Such a shift can't simply be achieved through writing smaller methods. Though it can, ironically, sometimes be achieved by writing bigger ones; such as functional programming via google collections, which demands that you implement bloated SAM (single abstract method) interfaces everywhere that you just really want a small closure. The catch then is added boilerplate and verbosity, and this is where a language change helps. Languages with built-in support for your expanded repertoire of paradigms will allow you to use the best techniques available while still keeping your code clean and elegant. Of course, it's a moving target. As concurrency becomes ever more important, I'd expect to see the rise of languages drawing on the theoretical work of π calculus. This is not something that Java can efficiently represent. > What really makes sense is using libraries like iText or IcePDF or > whatever instead of doing that all by hand. By changing technology to > an incompatible level (e.g. changing from Cobol to Java) you have a > lot of work re-implementing a whole lot of stuff. > Yes and no, it depends on the exact nature of the change. So Java -> Scala/Clojure/JRuby/Jaskell/Jython/etc... will give you varying levels of reusability with regards to 3rd party components. > I think, Vince meant that programs with approximately the same size > and scope still need about the same time to develop, no matter which > language you are using. There exist definitions of "size" and "scope" for which this is true, but they're not the only possible definitions. Nor are they (arguably) the most useful ones > And I tend to agree. Sure, if you have 3rd > party libraries you can use then is better, but this applies to > whatever language you are using. > Most definitely > -- > Martin Wildam > > -- > You received this message because you are subscribed to the Google Groups > "The Java Posse" group. > To post to this group, send email to [email protected]. > To unsubscribe from this group, send email to > [email protected]<javaposse%[email protected]> > . > For more options, visit this group at > http://groups.google.com/group/javaposse?hl=en. > > -- Kevin Wright mail/google talk: [email protected] wave: [email protected] skype: kev.lee.wright twitter: @thecoda -- You received this message because you are subscribed to the Google Groups "The Java Posse" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/javaposse?hl=en.
