Chuck Esterbrook wrote:
> On Wed, Oct 29, 2008 at 1:19 PM, Doug <[EMAIL PROTECTED]> wrote:
>> ** Reply to message from Tracy Reed <[EMAIL PROTECTED]> on Wed, 29 Oct 2008 
>> 11:52:19 -0700
>>
>>> The switch to functional programming
>>> will also raise the bar for programmers giving the truly talented
>>> greater opportunity to compete against the Java spewing body shops of
>>> labor outsource companies whose programmers took a semester of Java
>>> and now consider themselves Software Engineers.
>> are we abit biased against Java maybe. Visual Basic makes sense but
>> Java? oh well, to each his/her own.
> 
> Java has the largest user base so Tracy may have run into more Java
> spewing body shops.
> 
> At the JVM Languages summit, one of the lightning presenters suggested
> that we simply stop using Java. Use the JVM. Use Jython, JRuby,
> Groovy, etc. But stop using Java which is less productive and produces
> more source code for getting the same work done.
> 
> No one objected.

And that's the message from inventor Rich Hickey of clojure as well --
just use the JVM -- it has big benefits.

On clojure, I've been impressed by the videos previously posted
  http://clojure.blip.tv/posts?view=archive&nsfw=dc
and I'm trying to get an education by reading stuff at their website
  http://clojure.org/
and elsewhere, such as
  http://blog.thinkrelevance.com/2008/9/16/pcl-clojure
from Stuart Halloway who is writing a book on clojure, and some blog
posts such as Eric Rochester's

http://writingcoding.blogspot.com/2008/06/clojure-series-table-of-contents.html


I have to say that the propaganda is pretty persuasive (at least to a
lisp-novice such as me even given my relative java-ignoramushood),
leading me to believe that maybe:

- clojure is a better lisp than (say) CLOS/scheme .. largely because of
a broader abstraction of data and operations on "sequences" instead of
(simply) lists, and an absolute definition of immutability, and
syntactically enforced control of those things that have to be mutable
(see next).

- clojure has a very simple and robust concurrency support, thus making
it a more practical (or at least more general purpose) functional
language than say ML/haskell/erlang .. as well as a prime candidate for
making best use of multi-core environments.

- clojure's design approach that JVM is _the platform_ seems to be a win
on several fronts: platform-supplied GC, exceptions, libraries.

- clojure's tight integration with JVM-as-platform gives performance
benefits without sacrificing functional goals, and it also allows total
access to java classes and libraries (although skill is required to
avoid doing damage to the immutability behavior, I gather).

I am trying to determine whether clojure might be suitable to use as the
environment for an intro to programming course, with the idea that it
might instill good habits and useful thinking processes better than
other languages, and it might better prepare the way for the
"concurrency future". So far, the biggest gap is in novice-oriented
documentation, examples and recipes. perhaps Halloway's book will help.
I'm hoping that a few idioms and recipes may postpone the need to learn
much java until a good dose of programming fundamentals is administered.

A side note about clojure is that it quite completely dismisses OO as a
_general_ solution (not that OO doesn't fit _some_ things well). In the
process clojure offers other ways to do function overloading without
requiring classes and inheritance.  I'm kind-of thinking it's time to
give some serious consideration to this approach.

Regards,
..jim

-- 
[email protected]
http://www.kernel-panic.org/cgi-bin/mailman/listinfo/kplug-lpsg

Reply via email to