First, just to gather a gestalt here (names elided as I'm not trying
to single anyone out):
On Jun 28, 2010, at 10:54 PM, XXX wrote:
If you are going to go to all the trouble to work with Clojure, you
might as well be exposed to the reality of a semi-production Clojure
project. Put the waterwings on the kid, but then throw him in the
deep end. If he can't swim, he isn't ready for macros anyway.
On Jun 28, 2010, at 11:50 PM, XXX wrote:
If folks find the Java stack intimidating, maybe Clojure isn't for
them? Lots of language run on the JVM and they all require some basic
knowledge of classpaths, build tools and existing IDEs such as
Ecliper, NetBeans, IntelliJ etc. If folks are new to all that, I don't
think it's Clojure's job to teach them - there's plenty of literature
out there about the JVM environment and tools.
On Jun 29, 2010, at 1:11 AM, XXX wrote:
The fact remains though that Clojure trades in heavy concepts. The
syntax alone will simply be a non-starter for at least half the
potential audience. Toss in concurrency and non-mutability and
ubiquitous recursion which are tricky concepts no matter how cleanly
exposed in the language. As many posters have said in this thread, you
really do have to have a decent grasp on Java to do real work in
Clojure so you're already on the hook for two languages, one of which
is a baroque and provincial monster. Like any engineering problem,
language design is about tradeoffs. Obviously Rich has worked hard to
make Clojure as approachable as possible but you can't simultaneously
emphasize tackling the really hard problems in software engineering
and making CRUDDY webapps as painless as possible for the average
programmer.
Stop. Please, just stop.
The discussion about newcomers is *not* about what one needs to know
or should know in order to build über-complicated applications for
deployment in "production" -- it's about what the learning curve looks
and feels like to various constituencies.
Any talk about how Clojure might be "too much" for some, for whatever
reason, is out of bounds IMO. Clojure, as a language, is *simpler*
than just about all of the popular alternatives out there, and the
language is eminently approachable and practical for programmers from
varying domains and with varying levels of experience.
The key is making the sometimes-tricky, sometimes-unfamiliar
operational details of the underlying platform less of a burden, or
ideally, nonexistent for that critical first couple of weeks or months
of exploratory, experimental programming. As I said in a prior note,
this challenge will remain for any flavor of Clojure, so it'd be best
if we embraced the fact that plastering over platform minutiae is
going to be a constant requirement, and thoughtfully approach the
problem rather than reverting to showing people the door if they don't
grok the full stack or simply believe that it's not relevant to them
(e.g. within a purely pedagogical environment).
Cheers,
- Chas
--
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en