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.

Reply via email to