Re: Please stand firm against Steve Yegge's yes language push

2011-07-17 Thread octopusgrabbus
Are Steve Yegge's comments blogged/written anywhere?

The last post I could find on his blog http://steve-yegge.blogspot.com/
was about Haskel and written 12/1/2010.

Thanks.
cmn

On Jul 1, 3:59 pm, James Keats james.w.ke...@gmail.com wrote:
 Hi all. I've been looking at Clojure for the past month, having had a
 previous look at it a couple of years ago and then moved on to other
 things only to return to it now.

 Over the past decade I have looked at many languages and many ways of
 doing things. People may say this language or that language is
 general purpose, but the fact remains that languages have their
 niches in which they excel and beyond which it'd be foolish to
 venture.

 Clojure should not attempt be a mass success language or worry about
 its Tiobe index ranking.

 Clojure, the way I see it, is most suitable for the advanced
 independent developer. It is a language in the image of its creator,
 Rich Hickey. It's not a language for the factory hen. It won't become
 the next Java. Java already fills that niche, and despite what some
 may say, I don't see it going away anytime soon.

 I don't feel Clojure needs to grow - in terms of size of language.
 In fact it would worry me enormously if Clojure's path is to grow in
 size. It is fundamentally unsuited for that. If anything I wish for it
 to shrink even further and further.

 A Rich Hickey's quote comes to mind:
 • (paraphrased) Most Clojure programmers go through an arc.  First
 they think “eww, Java” and try to hide all the Java.  Then they think
 “ooh, Java” and realize that Clojure is a powerful way to write Java
 code
 and As I've said in my talks, most Clojure users go from eww, Java
 libs to ooh, Java libs, leveraging the fact there there is already
 a lib for almost anything they need to do. And using the lib is
 completely transparent, idiomatic and wrapper free. - Google verbatim
 for sources.

 Whereas when Steve Yegge writes: which means that everyone (including
 me!) who is porting Java code to Clojure (which, by golly, is a good
 way to get a lot of people using Clojure) is stuck having to rework
 the code semantically rather than just doing the simplest possible
 straight port.  The more they have to do this, the more you're going
 to shake users off the tree. all I could think on reading this is
 horror, horror, oh God, horror!!!; he really doesn't get it. First,
 he shouldn't be porting Java code to clojure, Second, Clojure IS
 fundamentally different from Java, and third, such said users who
 don't want to touch Java should not touch Clojure.

 Clojure shouldn't worry about growing; java already has innumerable
 libs. Clojure, imho, should continue its - what I would dub -
 middleware begone! path, in which it'd provide an end-to-end, down-
 to-the-metal comprehensible system that an individual developer can
 get his head round and know exactly what's happening with his code and
 its environment here and everywhere.

 I could write more, but I have to run. Regards.
 J.

-- 
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


Re: Please stand firm against Steve Yegge's yes language push

2011-07-17 Thread Sean Corfield
On Sun, Jul 17, 2011 at 10:59 AM, octopusgrabbus
octopusgrab...@gmail.com wrote:
 Are Steve Yegge's comments blogged/written anywhere?

Googling is your friend -- search for:

steve yegge clojure yes language

and it turns up the original thread as the second result:

http://groups.google.com/group/seajure/browse_thread/thread/18baa18ffdbdd790

This thread in which we are participating is the #1 result for that
query on Google, BTW.
-- 
Sean A Corfield -- (904) 302-SEAN
An Architect's View -- http://corfield.org/
World Singles, LLC. -- http://worldsingles.com/
Railo Technologies, Inc. -- http://www.getrailo.com/

Perfection is the enemy of the good.
-- Gustave Flaubert, French realist novelist (1821-1880)

-- 
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


Re: Please stand firm against Steve Yegge's yes language push

2011-07-17 Thread javajosh
On Jul 8, 8:37 pm, Christian Marks 9fv...@gmail.com wrote:
 The moral of this story is: don't let anyone clip your wings.

Well said. That is my take away too. It is surprising how to me how
much weight people give to the assertions of others, famous or not. In
truth, this human endeavor of programming (as all else) is really just
a series of experiments, some grander than others, some will succeed,
some fail, (and sometimes oscillate between success and failure over
time :)

The best thing someone can do, rather than opine loudly about the
outcome of an experiment, is to either a) help to define and execute
the experiment or b) if you don't like the idea, help to define and
execute a different experiment. When the results are in, *then* you
can opine loudly. :)

So that, Chris, is why out of 125 posts (or so) I wanted to respond to
yours, because you have done the experiment. Frankly, I'm not really
sure if it's a good idea or not to reimplement Java libraries like
Swing in Clojure, but I do know that we won't know unless someone
gives it a shot.

-- Josh

-- 
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


Re: Please stand firm against Steve Yegge's yes language push

2011-07-17 Thread octopusgrabbus
Thanks.

On Jul 17, 5:52 pm, Sean Corfield seancorfi...@gmail.com wrote:
 On Sun, Jul 17, 2011 at 10:59 AM, octopusgrabbus

 octopusgrab...@gmail.com wrote:
  Are Steve Yegge's comments blogged/written anywhere?

 Googling is your friend -- search for:

     steve yegge clojure yes language

 and it turns up the original thread as the second result:

 http://groups.google.com/group/seajure/browse_thread/thread/18baa18ff...

 This thread in which we are participating is the #1 result for that
 query on Google, BTW.
 --
 Sean A Corfield -- (904) 302-SEAN
 An Architect's View --http://corfield.org/
 World Singles, LLC. --http://worldsingles.com/
 Railo Technologies, Inc. --http://www.getrailo.com/

 Perfection is the enemy of the good.
 -- Gustave Flaubert, French realist novelist (1821-1880)

-- 
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


Re: Please stand firm against Steve Yegge's yes language push

2011-07-17 Thread Christian Marks


On Jul 17, 6:43 pm, javajosh javaj...@gmail.com wrote:
 On Jul 8, 8:37 pm, Christian Marks 9fv...@gmail.com wrote:

  The moral of this story is: don't let anyone clip your wings.

 Well said. That is my take away too. It is surprising how to me how
 much weight people give to the assertions of others, famous or not. In
 truth, this human endeavor of programming (as all else) is really just
 a series of experiments, some grander than others, some will succeed,
 some fail, (and sometimes oscillate between success and failure over
 time :)

I was responding to the idea that one should play around with Java for
a few
months before getting involved with Clojure. Spending months with a
language
whose idea of a type system is one in which the only operation on
types is
sub-classing sounds like a recipe for instantaneous profound boredom.
Perhaps
Java has improved its type system, but whatever it is, it isn't
homotopy type theory
(cf. http://homotopytypetheory.org/ ).

...
 So that, Chris, is why out of 125 posts (or so) I wanted to respond to
 yours, because you have done the experiment. Frankly, I'm not really
 sure if it's a good idea or not to reimplement Java libraries like
 Swing in Clojure, but I do know that we won't know unless someone
 gives it a shot.

 -- Josh

I didn't re-implement Swing--it was just a translation of a demo from
a
language I didn't know into another I didn't  know, using a build
system
I didn't know. I did manage to learn more by doing several things at
once,
instead of plodding through one language at a time; e.g., I saw how
to
handle resources in Clojure in conjunction with Leiningen (cute name:
the author seems to have been bitten by Ant). What I posted was a
second iteration--I wasn't making use of doto, for or if-let at first,
incidentally.


CM

-- 
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


Re: Please stand firm against Steve Yegge's yes language push

2011-07-17 Thread Christian Marks


On Jul 2, 10:30 am, James Keats james.w.ke...@gmail.com wrote:

 What is actually there in his posts in that thread?! blatherings and
 generalities about community and attitude and language economics
 and marketing that any kid high on weed who'd read a post too many
 on reddit's /r/programming could've wrote, and what little specific
 technical detail shows a clear lack of knowledge about clojure and its
 take on functional programming and java interop and unwillingness to
 learn.

I see I've been gratuitously harsh. I agree with this, having
narrowly
escaped the evangelists for the Information Technology Indoctrination
Library
at my former place of employment. Since I've posted some working code,
I'm going to indulge in my own journalistic, sociological gloss.

I am reminded of the anthropological finding that the human brain
decreased in volume by 10% — about the size of a tennis ball — around
the dawn of civilization 20,000 years ago. It is believed that the
decrease in volume coincided with the emergence of
cooperative, prosocial behavior, which enabled the members of
reduced-cranium groups to solve some problems that eluded their
more amply brained relatives. The larger brains were adapted to more
independent modes of survival. But the question for me--speaking of
weed-addled advocacy of community and attitude--is how
far are we willing to decrease the volume of our brain cases in the
name of cooperation?

I have now vastly exceeded my OT limit. :)

-- 
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


Re: Vagrant setup [was Re: Please stand firm against Steve Yegge's yes language push]

2011-07-09 Thread Vivek Khurana
On Fri, Jul 8, 2011 at 10:28 PM, Lee Spector lspec...@hampshire.edu wrote:

 On Jul 8, 2011, at 12:38 PM, Vivek Khurana wrote:

 That is still not as easy as python. Running VM is a bigger overhead...

 There are different kinds of overhead. If the installation and setup of the 
 VM is simple and bullet proof then this is acceptable overhead for me.

 Tell a newbie that they need to run a VM in order to try clojure...
I dont think many will be interested in doing this.

regards
Vivek

-- 
The hidden harmony is better than the obvious!!

-- 
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


Re: Please stand firm against Steve Yegge's yes language push

2011-07-09 Thread Christian Marks


On Jul 7, 4:58 pm, James Keats james.w.ke...@gmail.com wrote:
 For people's sense of sanity, it's not wise to try to run before you
 walk. ... But fine, people are free to be impatient and get
 frustrated and depressed if they so insist.


I must respectfully disagree. I was interested in learning Clojure,
and decided, not knowing Java, to learn both by translating a Java
ButtonDemo to Clojure. I didn't know Leningren either, but decided
to add this as well. Here's the result of a couple of days work:



(ns buttondemo.core
   (:gen-class)
   (:import [javax.swing AbstractButton JButton JPanel JFrame
ImageIcon]
[java.awt.event ActionEvent KeyEvent ActionListener])
   (:use [clojure.contrib.swing-utils]))

(defn create-image-icon [path]
   (if-let [img-url (clojure.java.io/resource path)]
  (ImageIcon. img-url)
  (.println System/err (str File not found: path

(defn enable-buttons [button-flags]
(doseq [[button flag] button-flags] (.setEnabled button flag)))

(defn initialize-buttons [b1 b2 b3]
   (doto b1
  (add-action-listener
  (fn [_] (enable-buttons [[b1 false][b2 false][b3 true]])))
  (.setVerticalTextPosition AbstractButton/CENTER)
  (.setHorizontalTextPosition  AbstractButton/LEADING)
  (.setToolTipText I can disable the middle button.)
  (.setMnemonic  KeyEvent/VK_D))
   (doto b2
  (add-action-listener (fn [_] (prn I told you not to click
me.)))
  (.setVerticalTextPosition AbstractButton/BOTTOM)
  (.setHorizontalTextPosition AbstractButton/CENTER)
  (.setToolTipText Don't click me.)
  (.setMnemonic KeyEvent/VK_M))
   (doto b3
  (add-action-listener
 (fn [_] (enable-buttons [[b1 true][b2 true][b3 false]])))
  (.setMnemonic KeyEvent/VK_E)
  (.setToolTipText I can enable the middle button.)
  (.setEnabled false))
)

(defn -main []
  (let [[b1 b2 b3 :as buttons] (for [[title file]
 [[Disable middle button
right.gif]
 [Middle button middle.gif]
 [Enable middle button
left.gif]]]
(JButton. title (create-image-icon
file)))
panel (doto (JPanel.) (.setOpaque true))]

 (doseq [b buttons] (doto panel (.add b)))

 (initialize-buttons b1 b2 b3)

 (do-swing-and-wait
(doto (JFrame. Button Demo)
  (.setDefaultCloseOperation  JFrame/EXIT_ON_CLOSE)
  (.setContentPane panel)
  (.pack)
  (.setVisible true
)


If I had waited to attempt the translation before developing some
proficiency in Java and Clojure first, I would not have bothered.
There are even improvements on the java
code; e.g., a test in the action listener in the original code is
eliminated in this version. Not needed.

Here's my Leiningren project file:


(defproject buttondemo 1.0.0-SNAPSHOT
  :description Translation of the abysmal java button demo into
clojure.
  :dependencies [[org.clojure/clojure 1.2.0]
 [org.clojure/clojure-contrib 1.2.0]]
;  :resources-path resources/
  :main buttondemo.core
  :license {:url http://bit.ly/igfXCC;
:comments Derived in April 2011 from the above url.}
)

The moral of this story is: don't let anyone clip your wings.

-- 
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


Re: Please stand firm against Steve Yegge's yes language push

2011-07-08 Thread Lee Spector

On Jul 8, 2011, at 1:19 AM, Ken Wesson wrote:
 
 If your programming experience lies elsewhere, or you're new to
 programming altogether, _insert something here_.
 
 The last one is maybe the trickiest. Best might be a good text editor
 for programming that isn't Emacs, combined with leiningen. Someone had
 been working on a lightweight Clojure IDE/editor here recently but I
 don't know the current status of that.

I'd like to hear more about this IDE/editor if it's still a going concern. 

I tried to find an editor for a setup like this but was unable to find one that 
really fit the bill, with a major sticking point being what I consider minimal 
Lisp editing features: bracket matching and language-aware auto-re-indenting 
(and syntax coloring wouldn't hurt).

 I'm not so sure. For newbs to it, emacs has a steep learning curve
 even if you avoid any installation hiccups.

Certainly true, and this is one of the other reasons that I taught with 
Eclipse/CCW rather than an emacs setup last year. But with a well-configured 
modern emacs some of this can be ameliorated; e.g. there are Mac versions in 
which you can use multiple windows for different buffers in an OS native way, 
and use OS native navigation techniques, and find commands in menus, etc. My 
dream installer would produce as friendly a setup as possible, with versions 
for most common platforms, and if this existed then I think that students could 
go from zero to knowing what they need to know for an edit/run cycle on this 
setup in one session. Yes they could spend years mastering it, but they could 
do real work without mastering it or knowing anything about how to tinker with 
it.

I agree that the emacs interface learning curve would be the roughest spot in 
this particular setup, but I think it would be manageable and worth it to get 
the positives.

  Of course, emacs
 setup for Clojure that works painlessly out of the box wouldn't be a
 bad thing, but I'm not sure it's a priority compared to getting a
 truly newbie-friendly installation option up there and documented for
 people that would be intimidated by Eclipse and Netbeans and would
 have kittens if suddenly confronted with emacs. :)

A lot of the bad complexity of Eclipse (and I guess Netbeans, though I have 
less experience there) has to do with things that will be handled elegantly by 
leiningen from the command line in an emacs/lein setup. 

I guess I would rank the emacs/slime/lein installation/configuration problem as 
a high priority because I think that solving it would produce a good way for 
newbies to get started with just one step (with the downside of the emacs 
interface learning curve, to whatever extent that can't be addressed via 
configuration) while also providing an environment that works well for advanced 
users. At least in my own case I'm pretty sure that if the emacs/slime/lein 
installation/configuration problem was really solved well then I would switch 
to that as my teaching environment (and also as my research coding environment).

BTW I'm an old lisper who has lived a lot in emacs but I've mostly avoided 
having to tinker with it, so the hoops that I had to jump through to set things 
up for Clojure didn't come naturally to me. Part of this is probably because I 
spent a fair amount of time using Lisp machines and then a long stretch using 
MCL which had the wonderful FRED (FRED Resembles Emacs Deliberately) editor 
that combined all of the power of Emacs with single-drag installation and a 
thoroughly OS (Mac) native interface. FRED still lives on in some forms, 
including MCLIDE, which has Clojure support (but it's Mac only and has some 
other issues).

 -Lee

-- 
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


Re: Please stand firm against Steve Yegge's yes language push

2011-07-08 Thread Ken Wesson
On Fri, Jul 8, 2011 at 2:19 AM, Lee Spector lspec...@hampshire.edu wrote:
 Certainly true, and this is one of the other reasons that I taught with 
 Eclipse/CCW rather than an emacs setup last year. But with a well-configured 
 modern emacs some of this can be ameliorated; e.g. there are Mac versions in 
 which you can use multiple windows for different buffers in an OS native way, 
 and use OS native navigation techniques, and find commands in menus, etc.

There are people that would kill for a Windows port of emacs that let
you navigate, find capabilities, and find out about shortcut keys in
an OS native way. Especially if it came with OS native help you could
use the OS native help browser to browse. :)

Well, at the very least, there are people that might actually try
emacs (or try emacs again) if such a thing existed, but not
otherwise...

 My dream installer would produce as friendly a setup as possible, with 
 versions for most common platforms, and if this existed then I think that 
 students could go from zero to knowing what they need to know for an edit/run 
 cycle on this setup in one session. Yes they could spend years mastering it, 
 but they could do real work without mastering it or knowing anything about 
 how to tinker with it.

Yes, a problem with emacs is that it doesn't follow either of the
usual patterns. Some apps have a learning curve that's gentle, then
plateaus -- simple things like Notepad. Others have one that starts
out gentle and then takes off like an exponential function graph --
it's easy to become productive at simple tasks with these, but you can
also do more wizardly things with time and practice. The easy part
also gives you a beachhead in its territory; no matter how complex
the advanced features are, at least such basic things as locating and
searching the documentation, changing the advanced feature's settings,
the general navigation mechanics, etc. are familiar, giving you a
starting point.

The emacs learning curve, by contrast, is like a sheer cliff of solid
ice without hand or foothold. :)

 A lot of the bad complexity of Eclipse (and I guess Netbeans, though I have 
 less experience there) has to do with things that will be handled elegantly 
 by leiningen from the command line in an emacs/lein setup.

Yes, possibly. Would that the Eclipse/CCW modern graphical editor,
namespace browser, REPL, and other features could be used with lein
instead of Eclipse's own build configurators.

 I guess I would rank the emacs/slime/lein installation/configuration problem 
 as a high priority because I think that solving it would produce a good way 
 for newbies to get started with just one step (with the downside of the emacs 
 interface learning curve, to whatever extent that can't be addressed via 
 configuration)

That's not a downside, that's a pit full of sharks with lasers on
their heads, at least from your hypothetical newb's perspective,
unless it was really REALLY tamed. That Mac version MIGHT do it, but
only for Mac users and only if OS-native shortcut keys for common
tasks (save, save as, change to mru nonfocused window, cut, copy,
paste, undo, redo) are supported or an installer can easily configure
that. Nothing will annoy a new user of the app that isn't new to the
OS more than being tripped up if they try to use keyboard shortcuts
instead of the mouse to get a task like that accomplished. Oh, and I
do hope clicking, click-drag-selecting, and so on in the editor
windows would not violate Least Surprise either. With ports of
nonnative software you often can't even count on that. That and
command-X not being bound to format filesystem instead of cut are
the most crucial I'd think there.

Windows users, OTOH, will apparently be SOL for the foreseeable unless
you have an alternative Windows editor that'll do and is sufficiently
native in its UI behavior.

 BTW I'm an old lisper who has lived a lot in emacs but I've mostly avoided 
 having to tinker with it, so the hoops that I had to jump through to set 
 things up for Clojure didn't come naturally to me. Part of this is probably 
 because I spent a fair amount of time using Lisp machines and then a long 
 stretch using MCL which had the wonderful FRED (FRED Resembles Emacs 
 Deliberately) editor

Ah, the familiar hacker GRAT (GRAT Recursive Acronym Trick). Gotta
watch out for that. :)

 that combined all of the power of Emacs with single-drag installation and a 
 thoroughly OS (Mac) native interface. FRED still lives on in some forms, 
 including MCLIDE, which has Clojure support (but it's Mac only and has some 
 other issues).

Why are the poor Windows users left out?

For that matter, why are the poor Gnome/KDE users, many of them
Windows refugees that want a GUI and applications that act Windowslike
(minus all the crashing and viruses), left out?

-- 
Protege: What is this seething mass of parentheses?!
Master: Your father's Lisp REPL. This is the language of a true
hacker. Not as clumsy or random as C++; a 

Re: Please stand firm against Steve Yegge's yes language push

2011-07-08 Thread David Miller
Disclosure: I only began learning/setting up Clojure about a week ago...
Despite putting a relatively sizeable chunk of time into it, I still don't
have what I would consider a pleasant working environment...

How about:

 GETTING STARTED
 snip


This would have been great - one canonical source of information,
up-to-date, without having to scour slightly out of date blog posts...


 If you're coming from a Lisp background, or at least are familiar with
 emacs _here is how to set up with emacs and leiningen_.


As 'this guy', pointers to decent You will also need to know these things
about Java classpaths etc would be also helpful here


  On the emacs/lein option I think the main problem is the messiness of the
 installation and configuration process. If code/instructions were available
 that reliably produced a full and reasonably configured emacs/slime/lein
 setup, on most common platforms, with a single download and double click (or
 something not much more complicated), then this would be a more attractive
 option.


Problem with this is that many Emacs users will already have an installation
that contains all kinds of customizations and configurations that are liable
to be hard to cover/predict...


 On the other hand, for emacs old hands the current rocky road to
 configuring
 emacs/slime/swank-clojure/lein/etc. to play nice with one another is
 the sort of thing they've been coping with for years and in some cases
 even decades; one might argue they can take it.


Doesn't mean we actually enjoy that part of it ;)

-- 
Love regards etc

David Miller
http://www.deadpansincerity.com
07854 880 883

-- 
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

Re: Please stand firm against Steve Yegge's yes language push

2011-07-08 Thread Lee Spector

On Jul 8, 2011, at 2:39 AM, Ken Wesson wrote:
 
 (with the downside of the emacs interface learning curve, to whatever extent 
 that can't be addressed via configuration)
 
 That's not a downside, that's a pit full of sharks with lasers on
 their heads, at least from your hypothetical newb's perspective,
 unless it was really REALLY tamed. 

Yeah, but there are a lot of sharks in these waters, and FWIW an improvement on 
the emacs/slime/lein installation/configuration front would make that the clear 
winner for me, lasers and all. I'm currently leaning this way anyway for the 
fall semester, inspired in part by Sam Aaron's setup and video 
(http://vimeo.com/25190186). Also FWIW our classroom/lab is mac based, although 
students have a mix of platforms and they'll have to set things up on their own 
machines too.

 -Lee

-- 
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


Re: Please stand firm against Steve Yegge's yes language push

2011-07-08 Thread James Keats


On Jul 8, 6:19 am, Ken Wesson kwess...@gmail.com wrote:
 On Fri, Jul 8, 2011 at 1:07 AM, Lee Spector lspec...@hampshire.edu wrote:

  On Jul 7, 2011, at 7:29 PM, Sean Corfield wrote:
  And yet the #1 FAQ we see on lists and reflected in blog posts is
  about getting Clojure up and running... We see Java developers,
  committed to their favorite IDE, still asking Should I install /
  learn Emacs? We see old-time Lispers, happy with Emacs, struggle with
  the Java infrastructure. A lot of n00bs want to be told the One True
  Way to set up their development environment - they don't want to be
  confronted with choices.

  Like you, I don't entirely understand why this is an issue - but I
  accept that it clearly _is_ an issue...

  For me at least the issue isn't that there should be a single blessed 
  setup, but rather that there should be at least one setup (and 
  documentation for that setup) that's a little more newbie-friendly than any 
  of them currently are.

 How about:

 GETTING STARTED

 If you're coming from a Lisp background, or at least are familiar with
 emacs _here is how to set up with emacs and leiningen_.

 If you're coming from a Java background, _download Eclipse and CCW_ or
 _download NetBeans and Enclojure_.

 If your programming experience lies elsewhere, or you're new to
 programming altogether, _insert something here_.

 The last one is maybe the trickiest

May I also add the following caveat emptors:
- If you're new to programming, clojure will overwhelm you. Start with
something like python.
- If you come from python/ruby and have no java background, do not
expect to start hacking clojure in the morning and be productive
and accomplishing work in the afternoon of that same day; go learn
java for a while first (a few months at least). Also, continue using
whatever it is you use now till you're confident you know enough to
jump ship.
- we can't teach you java, please go learn java for a while if you
have no java experience, there are tons and tons of tutorials and
books on teaching you java.
- if all you need is a hello world program, there are simpler
languages for this purpose (python etc). Consider clojure if you have
need for java apis or concurrency needs (concurrency is an advanced,
low level topic and not something most programmers should concern
themselves with).
- and so on... I think it's important to have such caveat emptors, it
seems many of the complaints relate to expectations mismatched to
reality

Regards
J

-- 
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


Re: Please stand firm against Steve Yegge's yes language push

2011-07-08 Thread faenvie
do not
expect to start hacking clojure in the morning and be productive
and accomplishing work in the afternoon of that same day

reality is cruel:  http://norvig.com/21-days.html

but fair ... isn't it ?

-- 
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


Re: Please stand firm against Steve Yegge's yes language push

2011-07-08 Thread Lee Spector

On Jul 8, 2011, at 10:29 AM, James Keats wrote:
 May I also add the following caveat emptors:
 - If you're new to programming, clojure will overwhelm you. Start with
 something like python.

I disagree. This is a subject of religious debates that I don't want to get 
into in detail, but FWIW this educator thinks that Lisp is a perfectly 
defensible first language and that Clojure can serve the purpose quite well as 
long as installation and tooling doesn't make it unnecessarily difficult to 
write and run code.

 - If you come from python/ruby and have no java background, do not
 expect to start hacking clojure in the morning and be productive
 and accomplishing work in the afternoon of that same day; go learn
 java for a while first (a few months at least). Also, continue using
 whatever it is you use now till you're confident you know enough to
 jump ship.
 - we can't teach you java, please go learn java for a while if you
 have no java experience, there are tons and tons of tutorials and
 books on teaching you java.

Disagree and disagree. One can do a lot in Clojure with almost no knowledge of 
the Java language or the Java ecosystem. At least for the kinds of things that 
I do. Yes, I occasionally need to use an interop form for something for which 
there's no Clojure version, but for me that's rare and easy to pick up on a 
case by case basis without being a Java programmer.

 - if all you need is a hello world program, there are simpler
 languages for this purpose (python etc). Consider clojure if you have
 need for java apis or concurrency needs (concurrency is an advanced,
 low level topic and not something most programmers should concern
 themselves with).

Disagree. Nobody *just* wants to write hello world, of course, but Clojure 
can be a great language for many people who have zero need for Java APIs or 
concurrency. I use/teach it because of all of the great features of Lisps more 
generally, and because Clojure is the best Lisp going (IMHO).

 - and so on... I think it's important to have such caveat emptors, it
 seems many of the complaints relate to expectations mismatched to
 reality

Maybe, but since I disagree with every one of your caveats I wouldn't advocate 
making them :-0.

 -Lee

-- 
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


Re: Please stand firm against Steve Yegge's yes language push

2011-07-08 Thread Jonathan Fischer Friberg
On Fri, Jul 8, 2011 at 4:29 PM, James Keats james.w.ke...@gmail.com wrote:

 May I also add the following caveat emptors:
 - If you're new to programming, clojure will overwhelm you. Start with
 something like python.


I think most programming languages overwhelm you if you don't have any prior
experience. I started with C++ and when pointers  references where
introduced to me, my head almost blew out.


 - If you come from python/ruby and have no java background, do not
 expect to start hacking clojure in the morning and be productive
 and accomplishing work in the afternoon of that same day; go learn
 java for a while first (a few months at least). Also, continue using
 whatever it is you use now till you're confident you know enough to
 jump ship.


I'm learning java through clojure. Since clojure and java is so tight, it
works fine.

- if all you need is a hello world program, there are simpler
 languages for this purpose (python etc). Consider clojure if you have
 need for java apis or concurrency needs (concurrency is an advanced,
 low level topic and not something most programmers should concern
 themselves with).


You probably don't mean an actual hello world program, but let's compare
them anyway.

python:
print hello world

clojure:
(print hello world)

Not that much harder, is it?

Jonathan

-- 
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

Re: Please stand firm against Steve Yegge's yes language push

2011-07-08 Thread Timothy Baldridge
 I disagree. This is a subject of religious debates that I don't want to get 
 into in detail, but FWIW this educator thinks that Lisp is a perfectly 
 defensible first language and that Clojure can serve the purpose quite well 
 as long as installation and tooling doesn't make it ?unnecessarily difficult 
 to write and run code.

And this is the crux of the issue. It's the installation and tooling
that's killing Clojure, ATM. Okay, killing is a strong word..but
perhaps killing it for the newbies. Let's say I want to install some
OpenGL libs for Python...I go and install Python. On Windows this is a
simple .exe installer. This puts python into a location on my drive
that makes sense (c:\Python27), and in there I see
(c:\Python27\python.exe). If I run that program, HEY!, I get a REPL.
Now I want to install opengl...so I find pygame...download the .exe,
and run it. The installer finds my Python directory, and after install
I just have to re-load my REPL.

Now compare that to Clojure. I know Clojure does what it does for a
reason, but let's be honest. First I have to download the JDK (and I
have to know what that is), then I have to download something like
lein, and add it to my command path. From there I have to figure out
what on earth a project.clj file is, and what the contents mean. Then
I can do lein deps, and then lein repl. Yay! I have a repl. Now I want
to install OpenGL. That involves some interesting magic with clojars,
lein and other such tools.

As a quick compare...
Python:
python-pygame
Clojure:
JDK-lein-clojure-penumbra

So over all yes, I think Clojure is just fine as a first language,
but it's horrible as a first installed language.

Timothy

-- 
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


Re: Please stand firm against Steve Yegge's yes language push

2011-07-08 Thread Phil Hagelberg
Lee Spector lspec...@hampshire.edu writes:

 On Jul 8, 2011, at 2:39 AM, Ken Wesson wrote:
 
 (with the downside of the emacs interface learning curve, to whatever 
 extent that can't be addressed via configuration)
 
 That's not a downside, that's a pit full of sharks with lasers on
 their heads, at least from your hypothetical newb's perspective,
 unless it was really REALLY tamed. 

 Yeah, but there are a lot of sharks in these waters, and FWIW an
 improvement on the emacs/slime/lein installation/configuration front
 would make that the clear winner for me, lasers and all.

Have you tried the Vagrant approach? It's a one-button
Emacs/Clojure/Leiningen hacking VM setup[1]:

https://github.com/Seajure/emacs-clojure-vagrant

-Phil

[1] - provided you have virtualbox.

-- 
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


Re: Please stand firm against Steve Yegge's yes language push

2011-07-08 Thread Lee Spector

On Jul 8, 2011, at 12:17 PM, Phil Hagelberg wrote:
 
 Have you tried the Vagrant approach? It's a one-button
 Emacs/Clojure/Leiningen hacking VM setup[1]:

I haven't, although I've been watching the list traffic on this. Now I see that 
I must. I will! 

Thanks,

 -Lee

-- 
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


Re: Please stand firm against Steve Yegge's yes language push

2011-07-08 Thread Vivek Khurana
On Fri, Jul 8, 2011 at 9:47 PM, Phil Hagelberg p...@hagelb.org wrote:


 Have you tried the Vagrant approach? It's a one-button
 Emacs/Clojure/Leiningen hacking VM setup[1]:

 https://github.com/Seajure/emacs-clojure-vagrant

 -Phil

 [1] - provided you have virtualbox.

 That is still not as easy as python. Running VM is a bigger overhead...

regards
Vivek

-- 
The hidden harmony is better than the obvious!!

-- 
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


Vagrant setup [was Re: Please stand firm against Steve Yegge's yes language push]

2011-07-08 Thread Lee Spector

On Jul 8, 2011, at 12:38 PM, Vivek Khurana wrote:

 That is still not as easy as python. Running VM is a bigger overhead...

There are different kinds of overhead. If the installation and setup of the VM 
is simple and bullet proof then this is acceptable overhead for me.

On the other hand I just tried it and while the first two steps were fine 
(installing virtualbox and the extension pack) I then got:

lee-spectors-macbook-pro:Seajure-emacs-clojure-vagrant-9a47c23 leespector$ gem 
install vagrant
WARNING:  Installing to ~/.gem since /Library/Ruby/Gems/1.8 and
  /usr/bin aren't both writable.
WARNING:  You don't have /Users/leespector/.gem/ruby/1.8/bin in your PATH,
  gem executables will not run.
Building native extensions.  This could take a while...
ERROR:  Error installing vagrant:
thor requires RubyGems version = 1.3.6

This is on a macbook pro running os x 10.8.7. 

 -Lee

-- 
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


Re: Vagrant setup [was Re: Please stand firm against Steve Yegge's yes language push]

2011-07-08 Thread Jonathan Fischer Friberg
It looks like you haven't got enough privileges, try sudo gem install
vagrant

Jonathan

On Fri, Jul 8, 2011 at 6:58 PM, Lee Spector lspec...@hampshire.edu wrote:


 On Jul 8, 2011, at 12:38 PM, Vivek Khurana wrote:

  That is still not as easy as python. Running VM is a bigger overhead...

 There are different kinds of overhead. If the installation and setup of the
 VM is simple and bullet proof then this is acceptable overhead for me.

 On the other hand I just tried it and while the first two steps were fine
 (installing virtualbox and the extension pack) I then got:

 lee-spectors-macbook-pro:Seajure-emacs-clojure-vagrant-9a47c23 leespector$
 gem install vagrant
 WARNING:  Installing to ~/.gem since /Library/Ruby/Gems/1.8 and
  /usr/bin aren't both writable.
 WARNING:  You don't have /Users/leespector/.gem/ruby/1.8/bin in your PATH,
  gem executables will not run.
 Building native extensions.  This could take a while...
 ERROR:  Error installing vagrant:
thor requires RubyGems version = 1.3.6

 This is on a macbook pro running os x 10.8.7.

  -Lee

 --
 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

-- 
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

Re: Vagrant setup [was Re: Please stand firm against Steve Yegge's yes language push]

2011-07-08 Thread Lee Spector

On Jul 8, 2011, at 1:02 PM, Jonathan Fischer Friberg wrote:

 It looks like you haven't got enough privileges, try sudo gem install 
 vagrant

Thanks. That solved some of the problems (and I would suggest that sudo be 
added to the vagrant readme instructions) but I still get:

ERROR:  Error installing vagrant:
thor requires RubyGems version = 1.3.6

So I guess I need to track that down...

 -Lee

-- 
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


Re: Vagrant setup [was Re: Please stand firm against Steve Yegge's yes language push]

2011-07-08 Thread Michael Klishin
2011/7/8 Lee Spector lspec...@hampshire.edu

 ERROR:  Error installing vagrant:
thor requires RubyGems version = 1.3.6

 So I guess I need to track that down...



what does gem --version output?

To upgrade rubygems, use

[sudo] gem update --system
-- 
MK

http://github.com/michaelklishin
http://twitter.com/michaelklishin

-- 
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

Re: Please stand firm against Steve Yegge's yes language push

2011-07-08 Thread Colin Yates
I think we need to be careful here about the association between Java
and Clojure.  Sure, they run on the JVM, but that is their *only*
relationship (from a consumer's point of view) as far as I can see.

For me, after a decade+ of developing Enterprise Java (primarily web)
applications I am sick and tired of all the hoops and ceremony
involved in building Java applications.  More and more I am coming
(from reading other people's work - not my own discovery!) to realise
that most established best-practice is only required to answer an
insufficiency in the language itself.

The thing that most sold me on Clojure (rather than Scala, the main
other contender) was the simplicity of the language itself and the low
ceremony build-process.  To this end, I am absolutely *not* interested
in having to live inside a huge complex bit of machinery in order to
productively write programs.  Eclipse and IntelliJ (and ilk) are
necessary for serious Java development mainly because they take the
implicit weight of Java applications.  I would see it as a failing
(maybe too strong) if Clojure required either that much machinery.

So, for me, and I appreciate this is maybe unique, I want to go back
and basics and learn Clojure properly.  Getting Clojure installed in
my nice familiar Java IDE _might_ send the wrong, and very dangerous
message that Clojure is on a migration path from Java, when, to my
mind, it isn't.  It is a completely different language, right down to
the fundamental build-deploy cycle.

I guess I am saying how much of IDE _whatever_'s functionality is
actually helpful in building Clojure applications?  As I understand
it, large, deep nested packages (a sign of a nicely decomposed Java
system) probably isn't the right thing in Clojure.  Refactoring
support probably isn't required as much because Clojure *seems* easier
to write the right thing first time  I am being naive and
simplistic, but hopefully you get my point.

I absolutely get that saying forget IDE _whatever_ and use Emacs
isn't the right thing either, but I do think there is something good
about a message of Clojure is a LISP, which have certain behaviours
of development, Emacs is designed for that very purpose and whilst you
can use IDE X, maybe you are trying to fit a square peg into a
ridiculously heavy and complex hole.

I too was pretty disillusioned when, after reading about the purity
of development with the REPL and the bliss that is LISP development in
emacs it turned out that after hours trying to get it all configured,
I still couldn't get it working  A downloaded VM, or a vagrant/
puppet/chef/one line batch/sh script file orr windows (or statically
compiled tar.gz) executable would have made life much much simpler.

P.S  To be transparent, although I have written millions of LOC of
Java on trivial and large enterprise systems, I have written 3 lines
of Clojure code, along the lines of (+ 1 2 3).  I have spent many
hours thinking about what solutions look like in a functional language
and have read 4 books on Clojure, so I am viewing this from afar.

-- 
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


Re: Please stand firm against Steve Yegge's yes language push

2011-07-08 Thread James Keats


On Jul 8, 4:30 pm, Lee Spector lspec...@hampshire.edu wrote:
 On Jul 8, 2011, at 10:29 AM, James Keats wrote:

  May I also add the following caveat emptors:
  - If you're new to programming, clojure will overwhelm you. Start with
  something like python.

 I disagree. This is a subject of religious debates that I don't want to get 
 into in detail, but FWIW this educator thinks that Lisp is a perfectly 
 defensible first language and that Clojure can serve the purpose quite well 
 as long as installation and tooling doesn't make it unnecessarily difficult 
 to write and run code.

  - If you come from python/ruby and have no java background, do not
  expect to start hacking clojure in the morning and be productive
  and accomplishing work in the afternoon of that same day; go learn
  java for a while first (a few months at least). Also, continue using
  whatever it is you use now till you're confident you know enough to
  jump ship.
  - we can't teach you java, please go learn java for a while if you
  have no java experience, there are tons and tons of tutorials and
  books on teaching you java.

 Disagree and disagree. One can do a lot in Clojure with almost no knowledge 
 of the Java language or the Java ecosystem. At least for the kinds of things 
 that I do. Yes, I occasionally need to use an interop form for something for 
 which there's no Clojure version, but for me that's rare and easy to pick up 
 on a case by case basis without being a Java programmer.

  - if all you need is a hello world program, there are simpler
  languages for this purpose (python etc). Consider clojure if you have
  need for java apis or concurrency needs (concurrency is an advanced,
  low level topic and not something most programmers should concern
  themselves with).

 Disagree. Nobody *just* wants to write hello world, of course, but Clojure 
 can be a great language for many people who have zero need for Java APIs or 
 concurrency. I use/teach it because of all of the great features of Lisps 
 more generally, and because Clojure is the best Lisp going (IMHO).

  - and so on... I think it's important to have such caveat emptors, it
  seems many of the complaints relate to expectations mismatched to
  reality

 Maybe, but since I disagree with every one of your caveats I wouldn't 
 advocate making them :-0.

  -Lee

Teaching is a strictly controlled and supervised environment. I
wouldn't mind teaching a lisp curriculum based on clojure that
wouldn't veer from the set path, and which test of learning are a set
of specific and circumscribed exercises. For people who come to learn
clojure though from the internet, they tend to be people who self-
teach, and who'll actually want to use it to do actual work. I am
skeptical about its ease for those. Either that, or all those
experienced programmers who still struggle with it despite their long
experience (I included) are just a bunch of pansies.

-- 
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


Re: Please stand firm against Steve Yegge's yes language push

2011-07-08 Thread Sean Corfield
On Fri, Jul 8, 2011 at 7:29 AM, James Keats james.w.ke...@gmail.com wrote:
 - If you're new to programming, clojure will overwhelm you. Start with
 something like python.

Totally disagree. Lisps have been many people's first introduction to
programming over several decades and it works extremely well as an
introductory language. Very simple syntax, simply data structures,
consistent semantics. If you're new to programming, Lisps are just
about the simplest languages you can pick up.

Now, Clojure does require that a JVM is installed. So do any/all of
the JVM-based languages so I think that's really neither here nor
there. Installing a JVM is not a big deal.

All of the ceremony around the JVM is completely hidden by Leiningen
- no need to understand classpaths or Java runtime commands / options
and no need to deal with dependencies, other than adding them to
project.clj. So one simple download (the 'lein' script), one setup
command ('lein self-install' - ok, maybe you need to make lein
executable). Now you can hack Clojure with almost no ceremony: lein
repl and off you go. Want code in files? lein new scratch; cd scratch;
edit src/scratch/core.clj and off you go.

Read my blog post (written a year ago; updated several times to ensure
it works with newer versions of Clojure and Leiningen):

http://corfield.org/blog/post.cfm/getting-started-with-clojure

Now replace clojure.org/getting_started with something like that and I
think most of the complaints would go away. No one needs a fancy
editor / IDE setup to use Clojure - the key is just getting it
installed and then a REPL to experiment and a way to run Clojure
scripts easily from the command line.

That blog post has gotten a lot of people up and running - with
varying degrees of programming skills and varying degrees of Java/JVM
knowledge (from zero to expert in both areas).
-- 
Sean A Corfield -- (904) 302-SEAN
An Architect's View -- http://corfield.org/
World Singles, LLC. -- http://worldsingles.com/
Railo Technologies, Inc. -- http://www.getrailo.com/

Perfection is the enemy of the good.
-- Gustave Flaubert, French realist novelist (1821-1880)

-- 
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


Re: Please stand firm against Steve Yegge's yes language push

2011-07-08 Thread Jonathan Fischer Friberg
I don't agree that clojure is, or should be seen as something entirely
different than java. If it weren't for java, clojure wouldn't have much use
at all.

When it comes to IDEs, I agree. I write all code in vim (for editing only),
and do the rest from the command line (meaning mostly leiningen). It felt a
bit clunky at first, but I have grown to become very confident in that
environment.

Jonathan

On Fri, Jul 8, 2011 at 7:38 PM, Colin Yates colin.ya...@gmail.com wrote:

 I think we need to be careful here about the association between Java
 and Clojure.  Sure, they run on the JVM, but that is their *only*
 relationship (from a consumer's point of view) as far as I can see.

 For me, after a decade+ of developing Enterprise Java (primarily web)
 applications I am sick and tired of all the hoops and ceremony
 involved in building Java applications.  More and more I am coming
 (from reading other people's work - not my own discovery!) to realise
 that most established best-practice is only required to answer an
 insufficiency in the language itself.

 The thing that most sold me on Clojure (rather than Scala, the main
 other contender) was the simplicity of the language itself and the low
 ceremony build-process.  To this end, I am absolutely *not* interested
 in having to live inside a huge complex bit of machinery in order to
 productively write programs.  Eclipse and IntelliJ (and ilk) are
 necessary for serious Java development mainly because they take the
 implicit weight of Java applications.  I would see it as a failing
 (maybe too strong) if Clojure required either that much machinery.

 So, for me, and I appreciate this is maybe unique, I want to go back
 and basics and learn Clojure properly.  Getting Clojure installed in
 my nice familiar Java IDE _might_ send the wrong, and very dangerous
 message that Clojure is on a migration path from Java, when, to my
 mind, it isn't.  It is a completely different language, right down to
 the fundamental build-deploy cycle.

 I guess I am saying how much of IDE _whatever_'s functionality is
 actually helpful in building Clojure applications?  As I understand
 it, large, deep nested packages (a sign of a nicely decomposed Java
 system) probably isn't the right thing in Clojure.  Refactoring
 support probably isn't required as much because Clojure *seems* easier
 to write the right thing first time  I am being naive and
 simplistic, but hopefully you get my point.

 I absolutely get that saying forget IDE _whatever_ and use Emacs
 isn't the right thing either, but I do think there is something good
 about a message of Clojure is a LISP, which have certain behaviours
 of development, Emacs is designed for that very purpose and whilst you
 can use IDE X, maybe you are trying to fit a square peg into a
 ridiculously heavy and complex hole.

 I too was pretty disillusioned when, after reading about the purity
 of development with the REPL and the bliss that is LISP development in
 emacs it turned out that after hours trying to get it all configured,
 I still couldn't get it working  A downloaded VM, or a vagrant/
 puppet/chef/one line batch/sh script file orr windows (or statically
 compiled tar.gz) executable would have made life much much simpler.

 P.S  To be transparent, although I have written millions of LOC of
 Java on trivial and large enterprise systems, I have written 3 lines
 of Clojure code, along the lines of (+ 1 2 3).  I have spent many
 hours thinking about what solutions look like in a functional language
 and have read 4 books on Clojure, so I am viewing this from afar.

 --
 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


-- 
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

Re: Please stand firm against Steve Yegge's yes language push

2011-07-08 Thread nchubrich
 Read my blog post (written a year ago; updated several times to ensure
 it works with newer versions of Clojure and Leiningen):

 http://corfield.org/blog/post.cfm/getting-started-with-clojure

 Now replace clojure.org/getting_started with something like that and I
 think most of the complaints would go away.

1.  That's really all there is to it.  The starting path needs to
be Lein and lein repl.  If that one section on the Clojure.org website
were changed (it's been there for whattwo years?) it would look so
much better to newcomers.  Lein can at least get people up and
running, and give them time to play with Clojure while they figure out
IDEs.

-- 
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


Re: Vagrant setup [was Re: Please stand firm against Steve Yegge's yes language push]

2011-07-08 Thread Lee Spector

On Jul 8, 2011, at 1:24 PM, Michael Klishin wrote:
 
 what does gem --version output?

It was  1.3.5.

 
 To upgrade rubygems, use
 
 [sudo] gem update --system

Thanks so much. I've now successfully upgraded rubygems and completed the sudo 
gem install vagrant step without error.

I will take the next steps shortly.

Is this an okay place to make suggestions about the vagrant readme? In addition 
to adding sudo I would suggest adding an explicit step with 
links/instructions for installing or upgrading rubygems.

 -Lee

-- 
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


Re: Please stand firm against Steve Yegge's yes language push

2011-07-08 Thread Colin Yates
If it weren't for McDonalds I wouldn't have such a large belly, but my
belly isn't McDonalds ;)  I jest (obviously!), but I do think this is
a fundamental point.  I (like a lot of others I expect) found Clojure
and Scala whilst looking for Java.next.  I read a bit about Scala, and
part of its marketing is that there is no learning curve to start
writing Scala applications, due to Scala being a hybrid OO and
functional language.

On the other hand, the very first thing I started doing when thinking
how do I wield this Clojure tool was trying to see how I can use it
to make OO solutions.  And the answer was painfully - *because I was
asking the wrong question*.

Clojure != Java - different paradigms, different mindsets, different
beasts.  Trying to write Java in Clojure seems to be entirely the
wrong thing to do.  Write Java in Scala is a recommended on-ramp to
integrating Scala in your organisation.

Clarifications:
I use Java to mean more than the language, I use it to mean the
typical shape of implemented solutions using the Java programming
language, i.e. OO with anaemic domain models and a fair chunk of XML
and/or annotations.

I keep mentioning Scala because this whole thread seems to be about
newbie experience (where newbie is in reference only to Clojure) and
I suspect most newbies will be thinking about Scala as well.

On Jul 8, 7:15 pm, Jonathan Fischer Friberg odysso...@gmail.com
wrote:
 I don't agree that clojure is, or should be seen as something entirely
 different than java. If it weren't for java, clojure wouldn't have much use
 at all.

--- snip
  I think we need to be careful here about the association between Java
  and Clojure.  Sure, they run on the JVM, but that is their *only*
  relationship (from a consumer's point of view) as far as I can see.

  For me, after a decade+ of developing Enterprise Java (primarily web)
  applications I am sick and tired of all the hoops and ceremony
  involved in building Java applications.  More and more I am coming
  (from reading other people's work - not my own discovery!) to realise
  that most established best-practice is only required to answer an
  insufficiency in the language itself.
 --- snip

-- 
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


Re: Please stand firm against Steve Yegge's yes language push

2011-07-08 Thread Mark Rathwell
   I think we need to be careful here about the association between Java
   and Clojure.  Sure, they run on the JVM, but that is their *only*
   relationship (from a consumer's point of view) as far as I can see.

 Clojure != Java - different paradigms, different mindsets, different
 beasts.  Trying to write Java in Clojure seems to be entirely the
 wrong thing to do.  Write Java in Scala is a recommended on-ramp to
 integrating Scala in your organisation.

I don't think anyone is arguing that Clojure should be written as if it were
Java, but that new users are often exposed to and have problems
understanding classpaths and installing a jvm.

And if it weren't for the nice Java interop, a significant number of users
(myself included) would probably never have jumped on board.


On Fri, Jul 8, 2011 at 2:29 PM, Colin Yates colin.ya...@gmail.com wrote:

 If it weren't for McDonalds I wouldn't have such a large belly, but my
 belly isn't McDonalds ;)  I jest (obviously!), but I do think this is
 a fundamental point.  I (like a lot of others I expect) found Clojure
 and Scala whilst looking for Java.next.  I read a bit about Scala, and
 part of its marketing is that there is no learning curve to start
 writing Scala applications, due to Scala being a hybrid OO and
 functional language.

 On the other hand, the very first thing I started doing when thinking
 how do I wield this Clojure tool was trying to see how I can use it
 to make OO solutions.  And the answer was painfully - *because I was
 asking the wrong question*.

 Clojure != Java - different paradigms, different mindsets, different
 beasts.  Trying to write Java in Clojure seems to be entirely the
 wrong thing to do.  Write Java in Scala is a recommended on-ramp to
 integrating Scala in your organisation.

 Clarifications:
 I use Java to mean more than the language, I use it to mean the
 typical shape of implemented solutions using the Java programming
 language, i.e. OO with anaemic domain models and a fair chunk of XML
 and/or annotations.

 I keep mentioning Scala because this whole thread seems to be about
 newbie experience (where newbie is in reference only to Clojure) and
 I suspect most newbies will be thinking about Scala as well.

 On Jul 8, 7:15 pm, Jonathan Fischer Friberg odysso...@gmail.com
 wrote:
  I don't agree that clojure is, or should be seen as something entirely
  different than java. If it weren't for java, clojure wouldn't have much
 use
  at all.

 --- snip
   I think we need to be careful here about the association between Java
   and Clojure.  Sure, they run on the JVM, but that is their *only*
   relationship (from a consumer's point of view) as far as I can see.
 
   For me, after a decade+ of developing Enterprise Java (primarily web)
   applications I am sick and tired of all the hoops and ceremony
   involved in building Java applications.  More and more I am coming
   (from reading other people's work - not my own discovery!) to realise
   that most established best-practice is only required to answer an
   insufficiency in the language itself.
  --- snip

 --
 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


-- 
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

Re: Please stand firm against Steve Yegge's yes language push

2011-07-08 Thread Stuart Halloway
 Read my blog post (written a year ago; updated several times to ensure
 it works with newer versions of Clojure and Leiningen):
 
 http://corfield.org/blog/post.cfm/getting-started-with-clojure
 
 Now replace clojure.org/getting_started with something like that and I
 think most of the complaints would go away.
 
 1.  That's really all there is to it.  The starting path needs to
 be Lein and lein repl.  If that one section on the Clojure.org website
 were changed (it's been there for whattwo years?) it would look so
 much better to newcomers.  Lein can at least get people up and
 running, and give them time to play with Clojure while they figure out
 IDEs.

Here's a possible plan:

1. Core will produce a smaller, up-to-date page for 
clojure.org/getting_started. This page will do less, and will link out 
prominently to the contributor wiki. Turnaround time on this: probably not 
before the announcement [1] on July 20. We're quite busy atm.

2. Between now and then, please help make the contributor wiki 
(http://dev.clojure.org/display/doc/Getting+Started) better!  Some obvious 
things:

2a. Create a no decisions needed path for beginners. I share the opinion that 
this should not be IDE-based.

2b. Link out to the various other resources that are particularly useful for 
beginners.

Stu


Stuart Halloway
Clojure/core
http://clojure.com

[1] http://www.meetup.com/Clojure-NYC/events/16166953/



-- 
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

Re: Please stand firm against Steve Yegge's yes language push

2011-07-08 Thread nchubrich
Mailing my contributor agreement today so I can helpreally
excited!

May I just add that at the same level of prominence after the no
decisions beginner path, we might also put a tutorial on Web (via
Noir, perhaps?) and Incanter development?  Those are two amazing
applications of Clojurelet's not be coy to beginners about them!

On Jul 8, 11:50 am, Stuart Halloway stuart.hallo...@gmail.com wrote:
  Read my blog post (written a year ago; updated several times to ensure
  it works with newer versions of Clojure and Leiningen):

 http://corfield.org/blog/post.cfm/getting-started-with-clojure

  Now replace clojure.org/getting_started with something like that and I
  think most of the complaints would go away.

  1.  That's really all there is to it.  The starting path needs to
  be Lein and lein repl.  If that one section on the Clojure.org website
  were changed (it's been there for whattwo years?) it would look so
  much better to newcomers.  Lein can at least get people up and
  running, and give them time to play with Clojure while they figure out
  IDEs.

 Here's a possible plan:

 1. Core will produce a smaller, up-to-date page for 
 clojure.org/getting_started. This page will do less, and will link out 
 prominently to the contributor wiki. Turnaround time on this: probably not 
 before the announcement [1] on July 20. We're quite busy atm.

 2. Between now and then, please help make the contributor wiki 
 (http://dev.clojure.org/display/doc/Getting+Started) better!  Some obvious 
 things:

 2a. Create a no decisions needed path for beginners. I share the opinion 
 that this should not be IDE-based.

 2b. Link out to the various other resources that are particularly useful for 
 beginners.

 Stu

 Stuart Halloway
 Clojure/corehttp://clojure.com

 [1]http://www.meetup.com/Clojure-NYC/events/16166953/

-- 
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


Re: Vagrant setup [was Re: Please stand firm against Steve Yegge's yes language push]

2011-07-08 Thread Phil Hagelberg
Lee Spector lspec...@hampshire.edu writes:

 Thanks so much. I've now successfully upgraded rubygems and completed
 the sudo gem install vagrant step without error.

 I will take the next steps shortly.

 Is this an okay place to make suggestions about the vagrant readme? In
 addition to adding sudo I would suggest adding an explicit step with
 links/instructions for installing or upgrading rubygems.

Maybe a troubleshooting section at the bottom of the readme? Sounds
good to me; feel free to issue a pull request.

-Phil

-- 
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


Re: Please stand firm against Steve Yegge's yes language push

2011-07-08 Thread Lee Spector

On Jul 8, 2011, at 2:13 PM, Sean Corfield wrote:
 Now replace clojure.org/getting_started with something like that and I
 think most of the complaints would go away. No one needs a fancy
 editor / IDE setup to use Clojure - the key is just getting it
 installed and then a REPL to experiment and a way to run Clojure
 scripts easily from the command line.

I'm with you 95% here, but I do think that this much editor fanciness is 
needed to have a sane environment for coding lisp for anything more than a few 
minutes: bracket-matching and language-aware auto-re-indenting. If there's a 
straightforward way to get this along with the rest of your setup then I agree 
that this would be an excellent entry path for newcomers.

 -Lee 

-- 
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


Re: Please stand firm against Steve Yegge's yes language push

2011-07-08 Thread James Keats


On Jul 8, 8:02 pm, Lee Spector lspec...@hampshire.edu wrote:

 I'm with you 95% here, but I do think that this much editor fanciness is 
 needed to have a sane environment for coding lisp for anything more than a 
 few minutes: bracket-matching and language-aware auto-re-indenting. If 
 there's a straightforward way to get this along with the rest of your setup 
 then I agree that this would be an excellent entry path for newcomers.

  -Lee

Sam Aaron's emacs setup with cake's swank is really really nice. It
could possibly be combined with a cheatsheet for emacs' most needed
keyboard shortcuts.

May I also add that I found remapping some keyboard keys quite useful
for a sane emacs lisp editing experience. It gives me 3 ctrl keys on
the right and 3 ctrl keys on the left so I could basically use any of
my fingers, pinky to thumb, for that often needed key (I've also
remapped the meta/alt key to one that's tactilely distinguishable - 6
ctrl may seem a bit overboard but i prefer it this way). Remapping the
parens too is possibly a good thing so they'd not require a shift and
won't be a rather tiresome fourth keyboard row pinky affair, I've done
it, but I haven't yet settled on where to put them. I'm not sure this
remapping is needed for newbies, perhaps, perhaps not, depending on
how annoying emacs finger acrobatics seem to them, but for the heavy
duty use I'd probably recommend it.

-- 
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


Re: Vagrant setup [was Re: Please stand firm against Steve Yegge's yes language push]

2011-07-08 Thread Lee Spector

On Jul 8, 2011, at 3:00 PM, Phil Hagelberg wrote:
 
 Maybe a troubleshooting section at the bottom of the readme? Sounds
 good to me; feel free to issue a pull request.

I don't have the expertise to write such a thing.

In other news, I've now done vagrant up in the directory containing the 
readme, and a long installation ensued ending with:

[default] Copying client components to /root/.config/jark
[default] Copying server components to /root/.cljr
[default] Installed successfully.

but I'm not sure if it's really done or not because it didn't return to the 
shell (I get no new prompt).

In any event I opened another Terminal window to try to proceed with the next 
steps and got:

lee-spectors-macbook-pro:~ leespector$ vagrant ssh
No Vagrant environment detected. Run `vagrant init` to set one up.

So I did:

lee-spectors-macbook-pro:~ leespector$ vagrant init
  create  Vagrantfile

And then:

lee-spectors-macbook-pro:~ leespector$ vagrant ssh
The local file Vagrant uses to store data .vagrant already exists
and is a directory! If you are in your home directory, then please run
this command in another directory. If you aren't in a home directory,
then please rename .vagrant to something else, or configure Vagrant
to use another filename by modifying `config.vagrant.dotfile_name`.

So I did:

lee-spectors-macbook-pro:~ leespector$ mkdir vagrant-foo
lee-spectors-macbook-pro:~ leespector$ cd vagrant-foo/

But still:

lee-spectors-macbook-pro:vagrant-foo leespector$ vagrant ssh
The local file Vagrant uses to store data .vagrant already exists
and is a directory! If you are in your home directory, then please run
this command in another directory. If you aren't in a home directory,
then please rename .vagrant to something else, or configure Vagrant
to use another filename by modifying `config.vagrant.dotfile_name`.

Not sure what to do next.

BTW early in the long output from vagrant up I saw:

[default] The guest additions on this VM do not match the install version of
VirtualBox! This may cause things such as forwarded ports, shared
folders, and more to not work properly. If any of those things fail on
this machine, please update the guest additions and repackage the
box.

I don't know if this may be responsible for my current impasse and/or if how it 
will effect the process of working with this setup if I ever get it working; I 
don't have experience with VirtualBox and I don't have a sense of how files can 
be moved/shared between OSes.


 -Lee

-- 
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


Re: Please stand firm against Steve Yegge's yes language push

2011-07-08 Thread Sean Corfield
On Fri, Jul 8, 2011 at 11:50 AM, Stuart Halloway
stuart.hallo...@gmail.com wrote:
 Here's a possible plan:
 1. Core will produce a smaller, up-to-date page
 for clojure.org/getting_started. This page will do less, and will link out
 prominently to the contributor wiki. Turnaround time on this: probably not
 before the announcement [1] on July 20. We're quite busy atm.

Thank you Stu - much appreciated that Clojure/core are listening on
this and recognize the need for a change.

 2. Between now and then, please help make the contributor wiki
 (http://dev.clojure.org/display/doc/Getting+Started) better!  Some obvious
 things:
 2a. Create a no decisions needed path for beginners. I share the opinion
 that this should not be IDE-based.

Anyone with decent writing skills (i.e., not me) who wants to use my
blog post as a basis for that, I'm happy to donate to the cause. The
only reason I haven't already edited that page to be a version of my
blog post is because I thought it might be controversial and upset
people if the Getting+Started page suddenly recommended Leiningen, a
REPL and simple text editing to get people up and running...

 2b. Link out to the various other resources that are particularly useful for
 beginners.

I'm happy to move / rewrite any of my blog posts over to the dev wiki
so resources are more centralized - if ppl think I have any posts of
valid to folks Getting+Started (perhaps my Clojure and SQL one,
focusing on clojure.java.jdbc?). I don't consider myself much of a
writer so I'd value any editorial assistance folks feel inclined to
give.
-- 
Sean A Corfield -- (904) 302-SEAN
An Architect's View -- http://corfield.org/
World Singles, LLC. -- http://worldsingles.com/
Railo Technologies, Inc. -- http://www.getrailo.com/

Perfection is the enemy of the good.
-- Gustave Flaubert, French realist novelist (1821-1880)

-- 
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


Re: Please stand firm against Steve Yegge's yes language push

2011-07-08 Thread Ken Wesson
On Fri, Jul 8, 2011 at 11:46 AM, Jonathan Fischer Friberg
odysso...@gmail.com wrote:
 You probably don't mean an actual hello world program, but let's compare
 them anyway.

 python:
 print hello world

 clojure:
 (print hello world)

 Not that much harder, is it?

And probably slightly *easier* than what my generation often started with:

10 PRINT HELLO WORLD

Lack of decent screen-oriented editors presumably being to blame for
the weird way those old ROM BASICs had of editing source.

-- 
Protege: What is this seething mass of parentheses?!
Master: Your father's Lisp REPL. This is the language of a true
hacker. Not as clumsy or random as C++; a language for a more
civilized age.

-- 
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


Re: Please stand firm against Steve Yegge's yes language push

2011-07-08 Thread Ken Wesson
On Fri, Jul 8, 2011 at 12:02 PM, Timothy Baldridge tbaldri...@gmail.com wrote:
 As a quick compare...
 Python:
 python-pygame
 Clojure:
 JDK-lein-clojure-penumbra

If you download and install Eclipse or NetBeans they will install a
JDK by default, and if you then use their internal plugin browsers to
find and install CCW resp. Enclojure, they will install Clojure 1.2.0
(last time I checked) for you and set up classpaths. You can be up and
running at a REPL in no time. Of course, adding a third-party library
isn't as simple as install it - restart REPL, because add it to
project dependencies in the IDE comes in between.

I'm not sure how much that could be improved within the Java
ecosystem. A lein frontend with a concept of current project that
lets you just do leinfrontend install foreign-dependency and have
the thing add the dependency to the project.clj and rerun lein deps
under the hood, perhaps...or a feature in Enclojure or CCW that can do
likewise, using the automatic dependency finding stuff that now seems
to exist in the lein/maven world and possibly beyond to allow you to
browse libraries and pick ones to install from within the IDE, then
install the chosen libraries and their dependencies and add them to
the active project's classpath in one go.

-- 
Protege: What is this seething mass of parentheses?!
Master: Your father's Lisp REPL. This is the language of a true
hacker. Not as clumsy or random as C++; a language for a more
civilized age.

-- 
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


Re: Please stand firm against Steve Yegge's yes language push

2011-07-08 Thread Ken Wesson
On Fri, Jul 8, 2011 at 12:38 PM, Vivek Khurana hiddenharm...@gmail.com wrote:
 On Fri, Jul 8, 2011 at 9:47 PM, Phil Hagelberg p...@hagelb.org wrote:

 Have you tried the Vagrant approach? It's a one-button
 Emacs/Clojure/Leiningen hacking VM setup[1]:

 https://github.com/Seajure/emacs-clojure-vagrant

 -Phil

 [1] - provided you have virtualbox.

  That is still not as easy as python. Running VM is a bigger overhead...

The easy we're talking about here is how much users need to learn
before they can be minimally productive (e.g., have a REPL they can
evaluate stuff at, at which point you can already do useful things in
Clojure, especially from a learning-programming perspective where
flashy UIs and complicated DB/file work is initially secondary to such
concerns as arithmetic, algorithms and data structures, flow control
and that -- and using Clojure would teach good, functional habits like
prefer immutable stuff and prefer HOFs to loops and clean loops that
don't bash random mutable state in random ways to messy loops that
have all kinds of side effects.)

How much memory etc. the process consumes when it's running is rather
secondary to all that.

-- 
Protege: What is this seething mass of parentheses?!
Master: Your father's Lisp REPL. This is the language of a true
hacker. Not as clumsy or random as C++; a language for a more
civilized age.

-- 
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


Re: Please stand firm against Steve Yegge's yes language push

2011-07-08 Thread Lee Spector

On Jul 8, 2011, at 3:30 PM, James Keats wrote:
 Sam Aaron's emacs setup with cake's swank is really really nice. It
 could possibly be combined with a cheatsheet for emacs' most needed
 keyboard shortcuts.

inc!

 May I also add that I found remapping some keyboard keys quite useful

I'd personally prefer to avoid this, since emacs keyboarding is going to be 
weird anyway and standard weird is generally better than novel weird unless 
you're already really committed.

The only change that I found I wanted to make in Sam Aaron's setup was to 
comment out lines concerning clutter at the end of 
.emacs.d/live-config/cosmetic.el. At least in the emacs that I used (from 
emacsformacosx.com) this clutter is OS native menus which are a huge plus.

 -Lee


-- 
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


Re: Please stand firm against Steve Yegge's yes language push

2011-07-08 Thread Ken Wesson
On Fri, Jul 8, 2011 at 2:23 PM, nchubrich nchubr...@gmail.com wrote:
 Read my blog post (written a year ago; updated several times to ensure
 it works with newer versions of Clojure and Leiningen):

 http://corfield.org/blog/post.cfm/getting-started-with-clojure

 Now replace clojure.org/getting_started with something like that and I
 think most of the complaints would go away.

 1.  That's really all there is to it.  The starting path needs to
 be Lein and lein repl.  If that one section on the Clojure.org website
 were changed (it's been there for whattwo years?) it would look so
 much better to newcomers.  Lein can at least get people up and
 running, and give them time to play with Clojure while they figure out
 IDEs.

Can it?

Lein is a script which has to be made executable. So presumably it can
for Unix users, probably including MacOS users, that are not
completely intimidated or bewildered by a command prompt window.

But what about Windows users? For better or for worse, that OS has
dominant market share among desktop users, including many likely
Clojure newbies. I'd say for them we need a lein.exe. Lein is written
in what, Python? If it were bash that would be a problem but it
shouldn't be hard to bundle a Python interpreter and the lein script
into a Windows executable that can be run at a Windows command prompt
and will behave there much as the lein script does on a Linux box.

-- 
Protege: What is this seething mass of parentheses?!
Master: Your father's Lisp REPL. This is the language of a true
hacker. Not as clumsy or random as C++; a language for a more
civilized age.

-- 
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


Re: Please stand firm against Steve Yegge's yes language push

2011-07-08 Thread Lee Spector

On Jul 8, 2011, at 6:23 PM, Ken Wesson wrote:
 If you download and install Eclipse or NetBeans they will install a
 JDK by default, and if you then use their internal plugin browsers to
 find and install CCW resp. Enclojure, they will install Clojure 1.2.0
 (last time I checked) for you and set up classpaths. You can be up and
 running at a REPL in no time. Of course, adding a third-party library
 isn't as simple as install it - restart REPL, because add it to
 project dependencies in the IDE comes in between.

I agree that Eclipse/CCW provides a great path for newbies (modulo some Eclipse 
interface weirdness) up to the point of project management, but then it can be 
messier and more opaque to the non-Java-savvy than you imply here, and this can 
trip you up even if you're only trying to do pretty simple things. Eclipse's 
idea of what's where etc. is confusing and often invisible or hidden in the 
interface, etc., and this produced a lot of frustration in my class.

I think I said recently that several setups are about 95% the way to being 
newbie-friendly, and while the missing 5% for emacs/lein is mostly in 
installation/configuration the missing 5% for Eclipse is in project management. 
People have posted recipes for using lein and Eclipse/CCW together, but at 
least as far as I've tried them none is yet really satisfying -- a few too many 
steps doing things that are opaque and weird on the Eclipse side.

 I'm not sure how much that could be improved within the Java
 ecosystem. A lein frontend with a concept of current project that
 lets you just do leinfrontend install foreign-dependency and have
 the thing add the dependency to the project.clj and rerun lein deps
 under the hood, perhaps...or a feature in Enclojure or CCW that can do
 likewise, using the automatic dependency finding stuff that now seems
 to exist in the lein/maven world and possibly beyond to allow you to
 browse libraries and pick ones to install from within the IDE, then
 install the chosen libraries and their dependencies and add them to
 the active project's classpath in one go.

I personally think that lein is clear enough not to need such a front-end. If 
there were a better way of working with lein+Eclipse/CCW, or a better way of 
installing/configuring a lein+emacs+slime setup, then I don't think it'd be a 
terrible barrier for newbies to say that project dependencies are managed by 
editing project.clj. 

 -Lee



-- 
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


Re: Please stand firm against Steve Yegge's yes language push

2011-07-08 Thread Ken Wesson
On Fri, Jul 8, 2011 at 3:30 PM, James Keats james.w.ke...@gmail.com wrote:
 May I also add that I found remapping some keyboard keys quite useful
 for a sane emacs lisp editing experience. It gives me 3 ctrl keys on
 the right and 3 ctrl keys on the left so I could basically use any of
 my fingers, pinky to thumb, for that often needed key (I've also
 remapped the meta/alt key to one that's tactilely distinguishable - 6
 ctrl may seem a bit overboard but i prefer it this way). Remapping the
 parens too is possibly a good thing so they'd not require a shift and
 won't be a rather tiresome fourth keyboard row pinky affair, I've done
 it, but I haven't yet settled on where to put them. I'm not sure this
 remapping is needed for newbies, perhaps, perhaps not, depending on
 how annoying emacs finger acrobatics seem to them, but for the heavy
 duty use I'd probably recommend it.

For newbies, any mapping that results in keys not doing what the
keycaps lead the newbie to expect will be a bad mapping.

-- 
Protege: What is this seething mass of parentheses?!
Master: Your father's Lisp REPL. This is the language of a true
hacker. Not as clumsy or random as C++; a language for a more
civilized age.

-- 
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


Re: Please stand firm against Steve Yegge's yes language push

2011-07-08 Thread Ken Wesson
On Fri, Jul 8, 2011 at 7:02 PM, Lee Spector lspec...@hampshire.edu wrote:
 I think I said recently that several setups are about 95% the way to being 
 newbie-friendly, and while the missing 5% for emacs/lein is mostly in 
 installation/configuration the missing 5% for Eclipse is in project 
 management.
 People have posted recipes for using lein and Eclipse/CCW together,
but at least as far as I've tried them none is yet really satisfying
-- a few too many steps doing things that are opaque and weird on the
Eclipse side.

Yes, the ideal is probably some sort of notemacs/lein combination for
some suitable choice of notemacs and with some kind of one-shot
install clojure, lein, on Windows anything else needed to just do
'lein foo' from the command prompt e.g. Python interpreter, and
notemacs distributable.

 I personally think that lein is clear enough not to need such a front-end. If 
 there were a better way of working with lein+Eclipse/CCW, or a better way of 
 installing/configuring a lein+emacs+slime setup, then I don't think it'd be a 
 terrible barrier for newbies to say that project dependencies are managed by 
 editing project.clj.

My concern there is with newbies just getting their feet wet in
Clojure needing to hack a Clojure file in order to start learning how
to hack Clojure files. :)

-- 
Protege: What is this seething mass of parentheses?!
Master: Your father's Lisp REPL. This is the language of a true
hacker. Not as clumsy or random as C++; a language for a more
civilized age.

-- 
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


Re: Please stand firm against Steve Yegge's yes language push

2011-07-08 Thread Michael Klishin
2011/7/9 Ken Wesson kwess...@gmail.com

 e.g. Python interpreter



Sorry, why does Clojure starter kit need to embed Python? I couldn't
figure it out from
a few recent posts.
-- 
MK

http://github.com/michaelklishin
http://twitter.com/michaelklishin

-- 
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

Re: Please stand firm against Steve Yegge's yes language push

2011-07-08 Thread Ken Wesson
On Fri, Jul 8, 2011 at 7:18 PM, Michael Klishin
michael.s.klis...@gmail.com wrote:
 2011/7/9 Ken Wesson kwess...@gmail.com

 e.g. Python interpreter

 Sorry, why does Clojure starter kit need to embed Python? I couldn't
 figure it out from
 a few recent posts.

Leiningen is a script, and I thought it might be a Python script.

On Windows, the interpreter won't typically already be installed
anyway -- at least, you can't count on it.

So either the Windows version has to come as a standalone executable
(script, tweaked for Windows environment, and interpreter bundled into
one binary) or the Windows installer has to install the interpreter
and set things up to the script will run in it when launched from the
command prompt (so, lein.exe needed again, but this time fires up
external interpreter aimed at external script file after installer
installs all three).

-- 
Protege: What is this seething mass of parentheses?!
Master: Your father's Lisp REPL. This is the language of a true
hacker. Not as clumsy or random as C++; a language for a more
civilized age.

-- 
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


Re: Please stand firm against Steve Yegge's yes language push

2011-07-08 Thread Michael Klishin
2011/7/9 Ken Wesson kwess...@gmail.com

 Leiningen is a script, and I thought it might be a Python script.

 On Windows, the interpreter won't typically already be installed
 anyway -- at least, you can't count on it.


Ken,

Leiningen is not just a script. It is a Clojure application with a script
that makes it possible to
run that application w/o all the java -jar … jazz.

On Linux, Mac OS X and so on that wrapper is a shell script. On Windows it
is .bat file:
https://github.com/technomancy/leiningen/tree/master/bin

What are kind of improvements to the wrapper cannot be implemented without
embedding Python in your opinion?

I like the idea of having lein.exe for Windows users, by the way.
-- 
MK

http://github.com/michaelklishin
http://twitter.com/michaelklishin

-- 
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

Re: Please stand firm against Steve Yegge's yes language push

2011-07-08 Thread Lee Spector

On Jul 8, 2011, at 7:13 PM, Ken Wesson wrote:
 
 My concern there is with newbies just getting their feet wet in
 Clojure needing to hack a Clojure file in order to start learning how
 to hack Clojure files. :)

Yeah, but it's a minimal copy this line and your library name goes here kind 
of edit that you have to make, and the default project.clj gets you started. I 
don't think this is really a problem.

 -Lee

-- 
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


Re: Please stand firm against Steve Yegge's yes language push

2011-07-07 Thread faenvie
@nchubrich

 It did go on too long.  I hope when someone \does read it, they will
 see I am not being wholly unreasonable.

i liked to read through it anyway ...

I was drawn to Clojure because I felt it was another
evolutionary step in programming.  I hope I am not wrong.

i feel and hope that too.

-- 
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


Re: Please stand firm against Steve Yegge's yes language push

2011-07-07 Thread nchubrich
 I think we need to nail the intro / setup experience and I'm nailing
 my colors to Leiningen.  I think that needs to be adopted as the
 default, standard way to get up and running on Clojure and all the
 official tutorials need to be updated to reflect that.

I think getting an experienced Clojurian to agree with that is worth
any (hopefully fixed) logorrhea!  If people can agree to that one
point, I'm really not going to worry about \any of the others (hence I
put it first).

I think it's an important time to be making it (so let's forget about
the other stuff for now).  Clojure was \just put on Herokuand for
the first time in a while, it showed up under Google news.  Steve
Yegge is also (threatening? promising?) to blog about it (after
writing an intro to the Joy of Clojure), and he happens to be one of
the 2 or 3 most-read language bloggers.  That means that a lot of
attention is going to be coming Clojure's way soon.  It would be very
much a travesty if large portions of these people were put off by out-
of-date stuff on the website.  Once they are put off once, it is going
to be much harder to get them in a second time.

Speaking to people who I think would not mind being paid to program
Clojurewe all have a stake in making the language popular and
useful.

(As for Steve Yeggeis he reading all this?if he's totally
wrong, then of course people should feel free to disagree with him,
and forget about the consequences.  But if he happens to be \right,
and I do think he mostly is, then making basically dismissive firm
stands against him is not going to do anybody any good.  This isn't a
political party, thank God.)

It may be that I am really talking about the website (clojure.org, not
any of the auxiliary ones, which are a bit of a mess in themselves)
more than the language itself.  If people receive the \right
instructions, setting up Emacs/Leiningen/Web servers etc. is actually
not so hard.  The trouble is that all of this information is currently
scattered to the four winds (I include things like the Paredit cheat
sheet, Slime commands, which Emacs to use, etc.), and I don't think we
should rely on users to pull this information together themselves
and at any rate, why should they?

Mainstream languages (Java, Python) provide good resources drawn
together onto their websites, painless documentation systems for
contributed packages (where is the Contrib documentation these days?),
and they have a pretty standard option for getting started.  I think
Clojure should fully aspire to that, and provide ways for users to
help with developing it.  That is a long-term project, but in the
meantime, there seem to be some really simple things that can be done
now.

That's not my whole point by any means, but it's more than enough.  I
wish that someone of the stature of Phil Hagelberg would have brought
it up on this thread; but as I have made (enough of) my point, I'll
get off my hobby-horse now.  See (some of) you at the Bay Area meetup
tomorrow!

Nick.

On Jul 6, 11:37 pm, Sean Corfield seancorfi...@gmail.com wrote:
 Much better. Now I can read it and see your points... and respond...

 On Wed, Jul 6, 2011 at 10:42 PM, nchubrich nchubr...@gmail.com wrote:
  * Clojure still ends up turning off new users more than it needs to.

 I think we need to nail the intro / setup experience and I'm nailing
 my colors to Leiningen. I think that needs to be adopted as the
 default, standard way to get up and running on Clojure and all the
 official tutorials need to be updated to reflect that. It's the
 biggest, single roadblock IMO and all that nonsense about downloading
 ZIP files and running some specific Java command is a huge barrier to
 entry. So far everyone I've introduced to Clojure has struggled with
 the Java infrastructure stuff but has got Leiningen instantly.

  * It also can do a better job of attracting and retaining core
  contributors.  I cited an example of someone who posted a patch to
  make refs persistent.  She ended up being ignored, and left for
  Erlang.  But Clojure needs people like her.

 Unfortunate but all open source projects have a bar to entry and lots
 of potential contributors get left by the wayside. I think Clojure
 actually has a pretty good ecosystem around contribution. Could it be
 better? Maybe. Could it maintain the high level of quality and still
 be more inclusive? Hard to say...

  * Putting up barriers to entry is \not a good thing.

 I think most people agree with that but the disagreement is on whether
 Clojure really is putting up such barriers. I think that's debatable.

  * Since Lisp is highly extensible, in the long run being
  'prescriptive' is a losing battle.

 Again, I think this is a debatable point. I don't believe there is any
 direct correlation between the prescriptiveness of a language /
 framework and its success.

  * Clojure is already enough of a new way of thinking, and it may be
  simply too much at once for many people.

 Aye, maybe. 

Re: Please stand firm against Steve Yegge's yes language push

2011-07-07 Thread Jonathan Fischer Friberg
On Thu, Jul 7, 2011 at 7:42 AM, nchubrich nchubr...@gmail.com wrote:

 * Since Lisp is highly extensible, in the long run being
 'prescriptive' is a losing battle.  It is better to eventually add
 standard 'bad' features to the language than to tempt third parties to
 do it in even worse and incompatible ways.


Maybe, but I don't think that the core should change much or at all.
Besides, most of those features are probably already in java.


 * Clojure is already enough of a new way of thinking, and it may be
 simply too much at once for many people.  If a gentle path gets more
 people into the ecosystem, it's worth itonce they are in Clojure
 they can be steered towards better, more functional ways of doing
 things.  In any case, experienced users are always free to ignore
 extra features.


I don't agree, It's like postponing your homework. You have to learn
sometime, and I don't think it's going to be easier later on.


 * It's meant to be a pragmatic language.  This means that a prime goal
 should be to get people writing useful (web, GUI, shell) code in it
 right away.  Having choices is good, but being forced to make all
 these choices your first day of writing Clojure, when you don't have a
 sixth sense about the community and What Really Works, is needlessly
 discouraging.


This is dangerous. One of the main points of clojure (in my opinion), is
that it's written for the actual users, and not the potential users.


 * Final (added) point: while it might have made sense to be
 'prescriptive' initially in order to establish the identity, core, and
 soul of the language, this has been done sufficiently.  Newcomers are
 not going to be confused about what the main points of Clojure are
 now.  There is therefore less risk in making it broadly useful to
 different paradigms.


Run for the hills!
I don't quite know what to say about this point, but an earlier mail comes
to mind. In that mail someone pointed out that it doesn't really matter how
many features a language supports, it will still be specifically good at
doing one thing.

___

Otherwise, I agree with the documentation issue. clojure.org seldom gives me
useful information.

Jonathan

-- 
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

Re: Please stand firm against Steve Yegge's yes language push

2011-07-07 Thread Stuart Halloway
 It may be that I am really talking about the website (clojure.org, not
 any of the auxiliary ones, which are a bit of a mess in themselves)
 more than the language itself.  If people receive the \right
 instructions, setting up Emacs/Leiningen/Web servers etc. is actually
 not so hard.  The trouble is that all of this information is currently
 scattered to the four winds (I include things like the Paredit cheat
 sheet, Slime commands, which Emacs to use, etc.), and I don't think we
 should rely on users to pull this information together themselves
 and at any rate, why should they?

Getting Started documentation is bound to be a high churn area. Here are 
things you can do to help:

(1) Edit and improve the official docs: 
http://dev.clojure.org/display/doc/Getting+Started

(2) Link to the official docs, and help us do the same. clojure.org has a 
slower update process than the dev site (by design!) but if there is something 
wrong, or a place where it needs to link out, please let us know!

(3) Encourage people who wrote a blog post 18 months ago that is now filled 
with misinformation (as things have moved on) to go back and add a link to the 
official docs.

There are now almost 300 signatories to the contributor agreement, and any of 
them can update dev.clojure.org without any review process. This should be 
plenty of horizontal scaling to keep documentation (even high-churn 
documentation) accurate.

Thanks to everyone who is helping out!

Stu


Stuart Halloway
Clojure/core
http://clojure.com

-- 
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

Re: Please stand firm against Steve Yegge's yes language push

2011-07-07 Thread Timothy Washington
On Thu, Jul 7, 2011 at 1:42 AM, nchubrich nchubr...@gmail.com wrote:

 ...

 * It also can do a better job of attracting and retaining core
 contributors.  I cited an example of someone who posted a patch to
 make refs persistent.  She ended up being ignored, and left for
 Erlang.  But Clojure needs people like her.
 ...


Just wanted to address one of your points here, as the patch submission
process has been brought up before. For clojure 1.3, I actually found a
small bug in the accompanying son library. I tried to submit a patch via a
github pull request. But it turns out that's not the correct path to take.
You have to sign a Contributor's Agreement, then submit a patch to Jira.


Discussing both the error and the patch process was all plainly laid
outhttp://groups.google.com/group/clojure/browse_thread/thread/58691da25896a608/d17ba8c265e95fcb?lnk=gstq=ClassCastException+on+%27clojure.data.json%2Fprint-json%27#d17ba8c265e95fcbin
a friendly manner by members of the core team. So I haven't had the
problem your friend experienced. If it has been a problem in the past, it
seems to have improved at this point.

HTH
Tim

-- 
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

Re: Please stand firm against Steve Yegge's yes language push

2011-07-07 Thread James Keats


On Jul 7, 6:42 am, nchubrich nchubr...@gmail.com wrote:
 I'll try :)  It was really a polemical post for a polemical thread,
 but my main points can be extracted here.  Feel free to read as many
 or as few of them as you are inclined

nchubrich, I've read your original post in its entirely, so forgive me
for not having the time to read your points of summary.

To be clear, I do *not* reflect in any way on the clojure community.
As has been pointed out, I've only been around this group for ~3
weeks.

Given though that I've only been around for ~3 weeks, it irked me to
no measure that I saw things in those Steve Yegge's posts in that
thread (here and on hackernews) that could've only indicated that had
he only bothered to read what books had been published and what
screencasts had been put out and what interviews and posts Rich Hickey
and others had made he would've come to an understanding of the
technical reasons why things with the core language are the way they
are - I did - and had answers to his complaints and wouldn't have had
to rant about them. Yup, it irked me that - evidently - he didn't even
bother to learn the language properly and instead ranted vehemently
against things right to its core (compiler etc), demanding they
change.

Those videos that Rich Hickey put out on blip.tv are outstanding. The
guy is a natural teacher, technically brilliant and a joy to listen
to. I think humility should go both ways. People should be humble
enough to realize that no matter how smart they are that they always
have to be willing and eager to learn. Yes, sorry, it's a fact of this
trade that you should always be willing and eager to learn, and not a
particular situation to this language community. You can never get too
smart for these shifting sands of industry. Sorry, there's no excuse
here.

With regard to emacs, I've pointed out that I wasn't a fan and that I
regarded it as too tinkerish for my taste, especially so in a thread
in which I invited others to convince me to use it instead of
netbeans. In any case, if you do want to use emacs and wish for an out
of the box good user experience, then you may wish to have a look at
this post by Sam Aaron in this group. I found it very useful and I
must admit it made me play with emacs a bit. There really is nothing
much to emacs, just knowing the shortcut keystrokes and doing them
until they become finger/muscle memory:

http://groups.google.com/group/clojure/browse_thread/thread/c3c4febb5b0f0208

Again, to be clear, and I believe I pointed this out in my original
post, I was *not* against the language growing in terms of users. I've
emphasized that what I was against was that being seen as more
important a goal than having a technically sound language.

I could reply to more of your points, but not wishing this post to get
too long, I'll stop here. :-)

-- 
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


Re: Please stand firm against Steve Yegge's yes language push

2011-07-07 Thread James Keats


On Jul 7, 8:09 am, nchubrich nchubr...@gmail.com wrote

 (As for Steve Yeggeis he reading all this?if he's totally
 wrong, then of course people should feel free to disagree with him,
 and forget about the consequences.  But if he happens to be \right,
 and I do think he mostly is, then making basically dismissive firm
 stands against him is not going to do anybody any good.  This isn't a
 political party, thank God.)


I agree it isn't a political party, but it isn't a social club either.
It's a technical forum. Technical soundness, rather than social
expansion, should, imho, be the utmost concern. :-)

I empathize with your point regarding how hard it is to deal with
Java. Unfortunately, it is. But I believe it has to be done. Python is
no better in that regard; you still need to understand Unix/C
otherwise you'd be too limited and lost too soon. The other issues you
cited are tangential to the programming language itself, they are
issues of IDE, build system, documentation, etc etc. They do not
affect my original post argument for the language core to be
conservative and technically sound, Python's is. :-)

-- 
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


Re: Please stand firm against Steve Yegge's yes language push

2011-07-07 Thread Stuart Halloway
 For instance, a little while ago I was corresponding with someone who
 had released a patch to Clojure.  (This was Alyssa Kwan, in case you
 want to look up the thread.)  Her patch made refs persistent to
 disksomething that seemed very much in the spirit of Clojure.
 Dealing with disk persistence in a production-ready way may be its own
 discipline, but in a language that wishes to reduce ceremony, there
 is no reason that you should have to worry about which database to use
 when you merely want to write a program that remembers data when you
 re-start it.  The interface needed to do this is \almost there  It
 seemed an eminently useful thing, but it got posted to this list and
 sank without a trace.  Nobody from Core ever contacted her.  (She
 admitted it was a hack, but isn't that how all patches start out?)

Several points worth calling out in the this short paragraph:

(1) It is certainly a shame is somebody got frustrated and left the community, 
esp. if all that was needed was recognition of their input. The core team is 
doing better with this over time, but there is always room for improvement.

(2) Improvements to Clojure do not, in fact, begin as hacks. Or even as 
patches. In general, they begin with a statement of a problem and some possible 
approaches to a solution. This is then followed by months of contemplation on 
and off at different times.  90% of carefully considered ideas are eventually 
rejected, or simply wither from lack of attention/urgency.  (You can see some 
of these at [1], [2], [3], [4], and [5], below). For random patches, the 
failure rate is probably more like 99.5%. 

(3) The specific patch [6] you are discussing fails a bunch of different sniff 
tests: 

* creator acknowledges it is a hack
* IP and licensing issues have not been resolved
* new dependency underneath Clojure? hard coded to one db? 
* open composability issues (what happens to e.g. closed-overs?)
* the patch is compound. There are a number of separate subfeatures hiding in 
the proposal, each also incomplete (e.g. a generic serialization mechanism)
* ACID most of the time is not, IMO, in the spirit of Clojure
* how is this better/worse than using a database?

(4) That's just the sniff tests. It has already taken me about an hour to 
follow the thread and write this response, and I would categorize this idea as 
being in the pre-design phase of its lifecycle. It could easily take several 
more hours just to document the rough edges of this idea, which is tantamount 
to starting the design process. Once started, how long do you think it 
would/should take to design and implement a generic solution bridging Clojure's 
in-memory reference semantics with disk? 

It is absolutely true that as Clojure grows, more attention needs be paid to 
ease-of-use and ease-of-getting-started. Suggestions here are welcome!  I think 
there are a number of issues around user experience that are almost entirely 
orthogonal to deep challenges such as disk-persistent references. As such, they 
are amenable to suggestions and improvements that do not require language 
changes or the same level of vetting that language changes imply. Leiningen [7] 
is a great example of this.

Most of the core team's time is, and will continue to be, focused on solving 
hard problems. Rich will be presenting a great example of this at the NYC 
Clojure group on July 20 [8].

Cheers,
Stu


Stuart Halloway
Clojure/core
http://clojure.com

[1] http://dev.clojure.org/display/design/Error+Handling
[2] http://dev.clojure.org/pages/viewpage.action?pageId=950382 
[3] http://dev.clojure.org/display/design/Resource+Scopes
[4] http://dev.clojure.org/display/design/Asynchronous+Events
[5] http://dev.clojure.org/display/design/Improve+Binding
[6] 
https://groups.google.com/group/clojure/browse_thread/thread/561230749be02f28/655507b9773aa8be?lnk=gstq=alyssa+kwan#655507b9773aa8be
[7] https://github.com/technomancy/leiningen
[8] http://www.meetup.com/Clojure-NYC/events/16166953/


-- 
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

Re: Please stand firm against Steve Yegge's yes language push

2011-07-07 Thread Steve Miner

On Jul 6, 2011, at 10:06 PM, nchubrich wrote:

 And as to improving
 documentation, how is one to go about doing it?  This would be an
 excellent area to have some community effort on, especially from
 relative beginners, and that is an itch I would not mind scratching.


Stuart Halloway responded about how to contribute to the Getting Started 
documentation.

If you want another place for language documentation, take a look at 
ClojureDocs.org. Anyone can sign up and contribute examples and usage notes.


Steve Miner

-- 
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


Re: Please stand firm against Steve Yegge's yes language push

2011-07-07 Thread logan
I think Yegge clarified in a follow-up post that what he really meant
to say was say yes to USERS, not say yes to FEATURES, but in his
typical off-the-cuff ranty writing style, he had accidentally
conflated the two.

As far as saying yes to every feature, I think that is obviously not a
great idea. It is easy to make the argument that one of the reasons
Java became successful are the features that it said no to: No to
pointers, no to multiple inheritance, no to operator overloading.

As far as saying yes to USERS. I think Yegge brings up a really
important point about a critical problem that plagues not just clojure
but all open source communities in general. Basically the blowhard who
thinks he is smarter than the average person and who enjoys letting
other people know it. We all have some element of self-interest in our
hearts. When you get paid to write software the reward is obvious.
When you are contributing to open source what is the motivation? If
you have the soul of an artist maybe you just want to create something
beautiful. But there are a lot of others for whom contributing to open
source is an ego trip. They haven't gotten the recognition that they
feel they deserve in other parts of their life, so they decided that
by writing something cool and putting it on the internet then they
will be cool too.

When you are getting paid for software you have a direct incentive to
make your software as user friendly as possible. If it just works
for the users and they like it and they can happily use it without
ever looking at a manual, then you get more users and more money.
People in open source want more users too but they don't necessarily
want it to be user friendly. In fact often I feel there is this huge
incentive to NOT be user friendly. It is like hazing. You get to say
things like That is not the functional way, I know the right way but
you don't, I am better than you. or Why would anyone want to do
that? The problem you are stumped on has such an obvious solution to
me that I can't even understand why you have a problem, I am better
than you. There is this attitude of I figured how to write my
own .emacs all by myself, from reading the forums and the
documentation, because I was too socially maladjusted to ask anyone
for help. Why can't you?

This poisonous attitude is perfectly exemplified in this thread by
James Keats. I think it's important to recognize that we are all human
beings, which means that we are herd animals, which means that we all
have genetically hardwired responses to desire to be part of a
hierarchy and we desire to place ourselves higher up on that
hierarchy. This is why we have bullies in kindergarten. But just
because you were bullied in kindergarten does not make it okay for you
to bully newbies over the internet now. Back then it was not okay for
the bigger kids to pick on the smaller kids and right now just because
you are smarter than someone does not make you a better person. We are
herd animals but we are also civilized human beings, we can rise above
our base animal desires to put other people down, we don't have to
give in to our desire to feel like we are part of a special club.

I think the clojure community has in general been much better about
this than some other open source communities, but as clojure gets more
popular, the ego trippers are starting to join the party, the guys who
want to say I use clojure, clojure is the best language of all, I am
better than you! The guys who don't care about the pragmatic beauty
of clojure and just want to be a big man in a new tribe. I think it
would be good to not pay too much attention to such people and say yes
to the users. Say yes to the newbies, yes to the object oriented
people not by making clojure more object oriented, but by not shutting
them out of the discourse and laughing them off as just object
oriented people. As someone whose name I can't remember right now
once said, There are no bad students, only bad teachers.



-- 
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


Re: Please stand firm against Steve Yegge's yes language push

2011-07-07 Thread nchubrich
Thank you, Logan, you put it very well.  You're absolutely right there
can be an inherent instinct against user-friendliness in open-source
software, as well as a kind of hierarchyand you've identified the
source and nature of it, I think.  The response to this is not to try
to become commercial.  The response is to realize that it's a piece of
sociology and human nature that we all have to make an extra effort to
rise above.  It's not such a different issue from table manners
good food tends to make people act like pigs unless they are careful,
so people actually have to explicitly learn to eat politely.  It
doesn't happen by instinct, it requires leadership and guidance.

For the present circumstance, I think it means that open source
projects have to make user-friendliness (both on the forums, in the
software, and in the documentation) a core value whether they have any
deep animalistic drive to do so or not.  It needs to become ingrained
in the culture, and examples need to be set.  I think Clojure is not
too far behind the head of the pack on some of these matters.  As Sean
Corfield pointed out, Lein is a big part of making Clojure user-
friendly; unfortunately, its central role isn't really reflected on
Clojure.org.  The documentation meanwhile could stand to be improved
(many people seem to agree on that point), and that I think will go a
long way towards shaping the culture in the right direction.  I need
to reply to Stu's post on that.

(And yes, I intend to help.  But I do want to say that talking about
things is \also useful.  I admit the wrongth of my prolixity in the
first post, but I \don't think it's wrong to talk about cultures and
processes.  Every group of people has to do this at some point, and it
may not always fit under the 140 character limit.  And not all
problems in a programming language community can be solved by
programming.)

Logan's economic explanation makes sense, but there is still an irony
in the way programmers spend their day jobs making life easier for
users, but don't always bring the same ethic to bear on their own
environment.  If I may make yet another homely analogy, it's like a
family that keeps one room in pristine condition for guests, but lets
the rest of their house accumulate cruft.  It's a common but odd
situation.  And (as anyone who has dealt with Makefiles would know) it
can be amazingly durable.  We're already vastly better off than
Makefiles, but this is no reason for complacency.



On Jul 7, 12:03 pm, logan duskli...@gmail.com wrote:
 I think Yegge clarified in a follow-up post that what he really meant
 to say was say yes to USERS, not say yes to FEATURES, but in his
 typical off-the-cuff ranty writing style, he had accidentally
 conflated the two.

 As far as saying yes to every feature, I think that is obviously not a
 great idea. It is easy to make the argument that one of the reasons
 Java became successful are the features that it said no to: No to
 pointers, no to multiple inheritance, no to operator overloading.

 As far as saying yes to USERS. I think Yegge brings up a really
 important point about a critical problem that plagues not just clojure
 but all open source communities in general. Basically the blowhard who
 thinks he is smarter than the average person and who enjoys letting
 other people know it. We all have some element of self-interest in our
 hearts. When you get paid to write software the reward is obvious.
 When you are contributing to open source what is the motivation? If
 you have the soul of an artist maybe you just want to create something
 beautiful. But there are a lot of others for whom contributing to open
 source is an ego trip. They haven't gotten the recognition that they
 feel they deserve in other parts of their life, so they decided that
 by writing something cool and putting it on the internet then they
 will be cool too.

 When you are getting paid for software you have a direct incentive to
 make your software as user friendly as possible. If it just works
 for the users and they like it and they can happily use it without
 ever looking at a manual, then you get more users and more money.
 People in open source want more users too but they don't necessarily
 want it to be user friendly. In fact often I feel there is this huge
 incentive to NOT be user friendly. It is like hazing. You get to say
 things like That is not the functional way, I know the right way but
 you don't, I am better than you. or Why would anyone want to do
 that? The problem you are stumped on has such an obvious solution to
 me that I can't even understand why you have a problem, I am better
 than you. There is this attitude of I figured how to write my
 own .emacs all by myself, from reading the forums and the
 documentation, because I was too socially maladjusted to ask anyone
 for help. Why can't you?

 This poisonous attitude is perfectly exemplified in this thread by
 James Keats. I think it's important to recognize that we 

Re: Please stand firm against Steve Yegge's yes language push

2011-07-07 Thread Sean Corfield
On Thu, Jul 7, 2011 at 6:12 AM, Stuart Halloway
stuart.hallo...@gmail.com wrote:
 (1) Edit and improve the official
 docs: http://dev.clojure.org/display/doc/Getting+Started

I think one sticking point here is that there are (so far) seven
IDEs/editors listed and five build tools. For a n00b, that's too much
choice. There have been discussions about
http://clojure.org/getting_started in the past but it's still showing
the (fairly horrible) instructions that start with talk of a source
code repository, a ZIP file and bytecode generation(!).

There needs to be a decision by the core team on a single,
recommended, _simple_ getting started process and update that page to
show that (please: lein). Beyond that simple process, it can point to
the dev wiki with the list of IDEs and build tools.

The problem here is there needs to be more proscription around Getting
Started so n00bs aren't completely confused by either the primitive
instructions (clojure.org) or overwhelmed by choice (dev.clojure.org).

 (2) Link to the official docs, and help us do the same. clojure.org has a
 slower update process than the dev site (by design!) but if there is
 something wrong, or a place where it needs to link out, please let us know!

See above. Suggestions have been made about making
clojure.org/getting_started better :)

 (3) Encourage people who wrote a blog post 18 months ago that is now filled
 with misinformation (as things have moved on) to go back and add a link to
 the official docs.

Definitely a good point. I'll go back over my blog posts for Clojure
and update anything that's wrong (I think I already updated some of my
Getting Started stuff but I'll double-check).
-- 
Sean A Corfield -- (904) 302-SEAN
An Architect's View -- http://corfield.org/
World Singles, LLC. -- http://worldsingles.com/
Railo Technologies, Inc. -- http://www.getrailo.com/

Perfection is the enemy of the good.
-- Gustave Flaubert, French realist novelist (1821-1880)

-- 
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


Re: Please stand firm against Steve Yegge's yes language push

2011-07-07 Thread James Keats


On Jul 7, 8:03 pm, logan duskli...@gmail.com wrote:


 This poisonous attitude is perfectly exemplified in this thread by
 James Keats.

I completely disagree with your mis-characterization and invite you to
read again what I had maintained:
- I had implored that technical arguments alone should decide
technical issues, not who's who.
- I made clear that I had asked dumb questions, and that I don't
consider myself too smart to read what'd been put out already. I made
a clear distinction between a newbie who'd ask dumb questions (and
explicitly included myself in that category), and a who's who from
elsewhere demanding major changes outright.
- If this is going to turn into a who's against whom (I made it clear
time and again I wasn't against Steve Yegge personally but against his
yes language *features* push, had it come from a Mr firstName
lastName I would've still voiced the same technical concern and titled
it accordingly), I regret that I do not have the time for that.

Regards.
J

-- 
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


Re: Please stand firm against Steve Yegge's yes language push

2011-07-07 Thread nchubrich
Stu---

Thanks for the links.  I took a look at clojure dev and signed up.  I
don't see any way to editdoes that happen after I mail in the
Contributor agreement?  It does seem a little medieval to have to mail
it in.

Clojure dev though doesn't seem like such a direct way of improving
clojure.org, which is what people see and try to use.  (Steve,
ClojureDocs.org is also another outside site.)  The fact that people
are posting tutorials in blog posts that need to be corrected as the
language changes strikes me as an indication that there isn't enough
of a way for them to write these things under Clojure's aegis.

Why not eventually make a beta version of Clojure.org (with the
exact same formatting), that can then be migrated piece-by-piece to
the main site as things get approvedand let anyone edit this, wiki-
style?  What's there on clojure.org is already quite good (with the
exception of Getting Started, which still tells people to do java -
cp ).  There could also be someone responsible overall for each
section, so it doesn't get too messy a la the Emacs Wiki.  I'm happy
to put some time into organizing the API a little better, but I don't
see any way of doing this at the moment.  (I see no API section on
Clojure dev.)

I'd love to see the API reference not only organized into good
groupings with cross-references from a given function (one area where
OOP actually \is a good thingthe only one, so far as I can tell),
but have these groupings include references to related Contribs and
even Java functions with their Clojure call syntax.  So long as there
is a way for users to add these sorts of things, it can grow over
time.  There is probably a way of automatically snarfing things from
JavaDocs as well.  Again, I'm happy to undertake this sort of project,
but I need to see if it's a good idea, and I obviously need guidance.

Why not have clojure.org also include tutorials (the equivalent of
Java trails, perhaps) to get a given thing done: shell scripting; web
server; system programming; Swing; etc.  The best of what people put
on blogs could go straight on the main site, and then be kept up to
date right there.  Once this is done, you might actually get people up
to speed on Clojure fairly quickly.

Best,

Nick.

On Jul 7, 6:12 am, Stuart Halloway stuart.hallo...@gmail.com wrote:
  It may be that I am really talking about the website (clojure.org, not
  any of the auxiliary ones, which are a bit of a mess in themselves)
  more than the language itself.  If people receive the \right
  instructions, setting up Emacs/Leiningen/Web servers etc. is actually
  not so hard.  The trouble is that all of this information is currently
  scattered to the four winds (I include things like the Paredit cheat
  sheet, Slime commands, which Emacs to use, etc.), and I don't think we
  should rely on users to pull this information together themselves
  and at any rate, why should they?

 Getting Started documentation is bound to be a high churn area. Here are 
 things you can do to help:

 (1) Edit and improve the official 
 docs:http://dev.clojure.org/display/doc/Getting+Started

 (2) Link to the official docs, and help us do the same. clojure.org has a 
 slower update process than the dev site (by design!) but if there is 
 something wrong, or a place where it needs to link out, please let us know!

 (3) Encourage people who wrote a blog post 18 months ago that is now filled 
 with misinformation (as things have moved on) to go back and add a link to 
 the official docs.

 There are now almost 300 signatories to the contributor agreement, and any of 
 them can update dev.clojure.org without any review process. This should be 
 plenty of horizontal scaling to keep documentation (even high-churn 
 documentation) accurate.

 Thanks to everyone who is helping out!

 Stu

 Stuart Halloway
 Clojure/corehttp://clojure.com

-- 
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


Re: Please stand firm against Steve Yegge's yes language push

2011-07-07 Thread James Keats


On Jul 7, 8:35 pm, nchubrich nchubr...@gmail.com wrote

someone whose name I can't remember right now
  once said, There are no bad students, only bad teachers.

There are three good books already and more on the way (I look forward
to Clojure in Action later this month), there are excellent videos on
blip.tv (Rich Hickey's are some of the best programming talks I've
ever seen), there are tons and tons and tons of books on Java, and
there's ample, ample lisp literature.

I don't buy the user-friendliness argument or bad teachers. This
is a technical trade, not an end user application for grampa. What's
more, people are not in the business of education; they're gracious
enough to share their code. I also don't understand why people are in
such a rush to get hacking clojure code right away; Peter Norvig has
argued that it takes a long time to learn to program, and I would
suggest to anyone considering a new language to learn to allow
themselves an adequate amount of time well ahead to do the homework
required. I think for those who come to clojure having had some Java
experience, some lisp experience, some functional programming
experience o the ML/Haskell family, then the language is actually such
a leap in simplification.

For people's sense of sanity, it's not wise to try to run before you
walk. Am I being a blowhard by saying this?! I don't believe so,
this is a reality. I have expressed an opinion that clojure is for the
advanced programmer (Java/lisp/ML-Haskell), and there are perhaps some
simpler language (eg. python, which is quite capable and I'm actually
quite fond of). But fine, people are free to be impatient and get
frustrated and depressed if they so insist.

-- 
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


Re: Please stand firm against Steve Yegge's yes language push

2011-07-07 Thread Meikel Brandmeyer
Hi,

Am 07.07.2011 um 21:54 schrieb Sean Corfield:

 I think one sticking point here is that there are (so far) seven
 IDEs/editors listed and five build tools. For a n00b, that's too much
 choice.

I'm always bewildered by this argument. What has a newbie to choose here? Of 
course he uses what he's used to. Many Java devs probably want one of the IDEs 
they already know. Old-time Lispers use emacs.

I don't read this information as “Look, newbie, there is emacs, or eclipse, or 
vim, which you can use to edit Clojure code. And you can build clojure stuff 
with leiningen, or with gradle, or with maven.” I see this list as: “I'm used 
to maven and eclipse, let's see how I get this running with the tools I know 
already.” Isn't that the most natural thing someone would try to do?

Sincerely
Meikel

-- 
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


Re: Please stand firm against Steve Yegge's yes language push

2011-07-07 Thread nchubrich
 I'm always bewildered by this argument. What has a newbie to choose here? Of 
 course he uses what he's used to. Many Java devs probably want one of the 
 IDEs they already know. Old-time Lispers use emacs.

I think it's a question of style and how to present the information
(which is why it would help to have a single person in charge of each
section).  For one thing, the information is really in the wrong
placeit should be on Clojure.org.  Even where it is, there's
something aesthetically wrong about having to wade through all of
those choices right at the outset.  (I say this even as an admitted
long-poster)

Having text describing emacs and lein setup, followed by links to all
the other options for those who know about them, seems like a good
compromise.  The information is still there, and people who need it
will know to click on it.  Everyone else can have setup instructions
that are simple and concise (and Emacs and Lein really do seem to be
emerging standards).

On Jul 7, 2:37 pm, Meikel Brandmeyer m...@kotka.de wrote:
 Hi,

 Am 07.07.2011 um 21:54 schrieb Sean Corfield:

  I think one sticking point here is that there are (so far) seven
  IDEs/editors listed and five build tools. For a n00b, that's too much
  choice.

 I'm always bewildered by this argument. What has a newbie to choose here? Of 
 course he uses what he's used to. Many Java devs probably want one of the 
 IDEs they already know. Old-time Lispers use emacs.

 I don't read this information as “Look, newbie, there is emacs, or eclipse, 
 or vim, which you can use to edit Clojure code. And you can build clojure 
 stuff with leiningen, or with gradle, or with maven.” I see this list as: 
 “I'm used to maven and eclipse, let's see how I get this running with the 
 tools I know already.” Isn't that the most natural thing someone would try to 
 do?

 Sincerely
 Meikel

-- 
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


Re: Please stand firm against Steve Yegge's yes language push

2011-07-07 Thread Sean Corfield
On Thu, Jul 7, 2011 at 2:37 PM, Meikel Brandmeyer m...@kotka.de wrote:
 I'm always bewildered by this argument. What has a newbie to choose here? Of 
 course he uses what he's used to. Many Java devs probably want one of the 
 IDEs they already know. Old-time Lispers use emacs.

And yet the #1 FAQ we see on lists and reflected in blog posts is
about getting Clojure up and running... We see Java developers,
committed to their favorite IDE, still asking Should I install /
learn Emacs? We see old-time Lispers, happy with Emacs, struggle with
the Java infrastructure. A lot of n00bs want to be told the One True
Way to set up their development environment - they don't want to be
confronted with choices.

Like you, I don't entirely understand why this is an issue - but I
accept that it clearly _is_ an issue...
-- 
Sean A Corfield -- (904) 302-SEAN
An Architect's View -- http://corfield.org/
World Singles, LLC. -- http://worldsingles.com/
Railo Technologies, Inc. -- http://www.getrailo.com/

Perfection is the enemy of the good.
-- Gustave Flaubert, French realist novelist (1821-1880)

-- 
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


Re: Please stand firm against Steve Yegge's yes language push

2011-07-07 Thread Lee Spector

On Jul 7, 2011, at 7:29 PM, Sean Corfield wrote:
 And yet the #1 FAQ we see on lists and reflected in blog posts is
 about getting Clojure up and running... We see Java developers,
 committed to their favorite IDE, still asking Should I install /
 learn Emacs? We see old-time Lispers, happy with Emacs, struggle with
 the Java infrastructure. A lot of n00bs want to be told the One True
 Way to set up their development environment - they don't want to be
 confronted with choices.
 
 Like you, I don't entirely understand why this is an issue - but I
 accept that it clearly _is_ an issue...

For me at least the issue isn't that there should be a single blessed setup, 
but rather that there should be at least one setup (and documentation for that 
setup) that's a little more newbie-friendly than any of them currently are. 

The available options are definitely getting better (and by the options I 
mean not only the software packages but also the installation recipes etc., 
although a lot of this is scattered) but in my experience and for my purposes, 
which include teaching, they all still have some rough spots. 

On the emacs/lein option I think the main problem is the messiness of the 
installation and configuration process. If code/instructions were available 
that reliably produced a full and reasonably configured emacs/slime/lein setup, 
on most common platforms, with a single download and double click (or something 
not much more complicated), then this would be a more attractive option.

 -Lee

-- 
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


Re: Please stand firm against Steve Yegge's yes language push

2011-07-07 Thread Ken Wesson
On Fri, Jul 8, 2011 at 1:07 AM, Lee Spector lspec...@hampshire.edu wrote:

 On Jul 7, 2011, at 7:29 PM, Sean Corfield wrote:
 And yet the #1 FAQ we see on lists and reflected in blog posts is
 about getting Clojure up and running... We see Java developers,
 committed to their favorite IDE, still asking Should I install /
 learn Emacs? We see old-time Lispers, happy with Emacs, struggle with
 the Java infrastructure. A lot of n00bs want to be told the One True
 Way to set up their development environment - they don't want to be
 confronted with choices.

 Like you, I don't entirely understand why this is an issue - but I
 accept that it clearly _is_ an issue...

 For me at least the issue isn't that there should be a single blessed setup, 
 but rather that there should be at least one setup (and documentation for 
 that setup) that's a little more newbie-friendly than any of them currently 
 are.

How about:

GETTING STARTED

If you're coming from a Lisp background, or at least are familiar with
emacs _here is how to set up with emacs and leiningen_.

If you're coming from a Java background, _download Eclipse and CCW_ or
_download NetBeans and Enclojure_.

If your programming experience lies elsewhere, or you're new to
programming altogether, _insert something here_.

The last one is maybe the trickiest. Best might be a good text editor
for programming that isn't Emacs, combined with leiningen. Someone had
been working on a lightweight Clojure IDE/editor here recently but I
don't know the current status of that. Notepad won't cut it and it
should follow normal GUI text editor conventions. All of the
programmers' editors I know of are either the one built into NetBeans,
the one built into Enclojure, emacs, vi, something that imitates
emacs, something that imitates vi, abandoned, or non-free, though.

 On the emacs/lein option I think the main problem is the messiness of the 
 installation and configuration process. If code/instructions were available 
 that reliably produced a full and reasonably configured emacs/slime/lein 
 setup, on most common platforms, with a single download and double click (or 
 something not much more complicated), then this would be a more attractive 
 option.

I'm not so sure. For newbs to it, emacs has a steep learning curve
even if you avoid any installation hiccups. On the other hand, for
emacs old hands the current rocky road to configuring
emacs/slime/swank-clojure/lein/etc. to play nice with one another is
the sort of thing they've been coping with for years and in some cases
even decades; one might argue they can take it. Of course, emacs
setup for Clojure that works painlessly out of the box wouldn't be a
bad thing, but I'm not sure it's a priority compared to getting a
truly newbie-friendly installation option up there and documented for
people that would be intimidated by Eclipse and Netbeans and would
have kittens if suddenly confronted with emacs. :)

-- 
Protege: What is this seething mass of parentheses?!
Master: Your father's Lisp REPL. This is the language of a true
hacker. Not as clumsy or random as C++; a language for a more
civilized age.

-- 
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


Re: Please stand firm against Steve Yegge's yes language push

2011-07-06 Thread James Keats


On Jul 5, 11:07 pm, faenvie fanny.aen...@gmx.de wrote:
 note on the original posting:

  First, he shouldn't be porting Java code to clojure, Second, Clojure IS
  fundamentally different from Java, and third, such said users who
  don't want to touch Java should not touch Clojure.

 to port java-code to clojure-code is certainly not the
 right thing to do in most cases ... but

 the fact that clojure is not determined to use the jvm as its
 hosting-language could certainly be a driver for the reimplementation
 of popular components.

 even memory-management (gc), io-functions and process-management
 may be candidates for a (re)implementation in clojure some day.

I recently read this and I think it's a very sensible position:


Fogus: Different target hosts would naturally support different
subsets of Clojure’s functionality. How do you plan to unify the
ports?

Hickey: I don’t. It has not been, and will not be, the objective of
Clojure to allow porting of large programs from one host to another.
That is simply a waste of time, and needed by almost no one.
Currently, you often have to change languages when you change hosts—
from Java to C# or Javascript. This is better than that, while short
of some full portability layer. The idea is to be able to take one’s
knowledge of Clojure and its core libraries, and of the host du jour,
and get something done. Certainly, non-IO libraries, like Clojure’s
core, can move between hosts. The JVM and CLR have rough capability
parity. We’ll have to see how restrictive a Javascript host might be.

-- 
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


Re: Please stand firm against Steve Yegge's yes language push

2011-07-06 Thread Carlos Ungil
On Tuesday, July 5, 2011 8:08:51 PM UTC+2, Sean Corfield wrote:

 It might be an interesting community exercise to examine the 23 GoF 

patterns and discuss whether they are applicable in an FP world and, 

if a pattern _is_ still applicable, what it would look like?


Hi Sean,

take a look at http://norvig.com/design-patterns/index.htm 

I think it corresponds to what you're suggesting.

Cheers,

Carlos

-- 
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

Re: Please stand firm against Steve Yegge's yes language push

2011-07-06 Thread James Keats


On Jul 5, 7:30 pm, Sean Corfield seancorfi...@gmail.com wrote:
 On Sun, Jul 3, 2011 at 8:04 PM, Sean Corfield seancorfi...@gmail.com wrote:
  On Sun, Jul 3, 2011 at 3:34 PM, James Keats james.w.ke...@gmail.com wrote:
  For example I suggest you look at this video/transcript and pay
  attention in particular to the point of debate between Joe Armstrong
  of Erlang and Martin Odersky of 
  Scalahttp://www.infoq.com/interviews/functional-langs
  , in particular around the point where Odersky says I’m not quite
  sure I buy that (also of additional relevance to those two points
  arehttp://erlang.org/pipermail/erlang-questions/2011-May/058769.html
  and alsohttp://www.scala-lang.org/node/1637), and if you're further
  interested you may wish to read Eric Meyer's essay in the book
  Beautiful Architecture regarding a previous Simon Peter Jones Haskell-
  related publication, titled Software Architecture: Object-Oriented
  Versus Functional.

  I've read that book (a month or two ago) but I'll go back and re-read
  that essay in light of this thread.

 I think you mean Bertrand Meyer's piece, extolling the virtues of OO
 in general (and Eiffel in particular)? I thought it was a terribly
 self-serving piece. Meyer has a strong bias and quite a bit of disdain
 for anything that isn't Eiffel - which shines right thru that essay to
 the point of making it fairly worthless, IMO. It has no objectivity :)


It was an amusing read somewhat - at points hilarious (I'm actually a
fan of Meyer!), but it needs to be considered within a long... what to
call it... well, debate or dispute that I've long observed between the
Haskell and Eiffel communities; both are concerned with correct
software, but come at it in different ways. I believe both are
relevant, Haskell's statelessness and Meyer's design by contract.

 I read the interview transcript for Syme, Armstrong and Odersky and I
 have to be honest that I found Armstrong almost incoherent and half
 the time couldn't figure out what he was trying to argue at all - so
 I'm not sure what point you're trying to make by referring to that
 interview, sorry. Similarly Armstrong's musings on the Erlang list
 about the entire world being a single flat namespace full of
 functions that are globally unique seems rather incoherent too. He
 talks about the problems with using modules to organize functions
 (and, yes, modularity can be hard) but then proposes something that
 would be no different (functions made unique by either having nearly
 random names or a structured set of metadata that would really be
 indistinguishable from modules in the first place - 
 seehttp://erlang.org/pipermail/erlang-questions/2011-May/058773.html).


Armstrong can come across as incoherent but if you read him again and
again and again I find more and more and more in what he says. In any
case, what he's suggesting there reminds me of something I read years
ago by Dr Richard Hipp of Sqlite and Tcl core, where he suggests
instead of putting your program in files you put it in a database
http://www.tcl.tk/community/tcl2004/Papers/D.RichardHipp/drh.html


 The Scala forum discussion is more useful and relevant: TL;DR -
 objects are occasionally the most natural model for solving a problem.
 And in Clojure, mutable (shared) state is occasionally the most
 natural model for solving a problem. That doesn't seem newsworthy to
 me, just that a pure functional approach might not always lead to the
 cleanest solution. That's kind of a duh! because otherwise why would
 we need STM...

I think the point he was making was not so much that, but that OOP
allows you to defer implementation and there's value in that.


 And then there's the Ruby rant. Yeah, I'd be pretty ticked off that I
 got shot in the foot by combining two or three libraries that
 otherwise ought to behave reasonably together. Global method injection
 is pretty nasty. When I first read about multi-methods and protocols
 in Clojure I was a bit worried that library code might cause a similar
 problem by redefining functions out from under me, by virtue of more
 specific overloading but it hasn't been a problem yet and when I
 look at how those features are used in various libraries, I'm no
 longer so worried.

 I have other reasons for not liking Ruby so it's ability to shoot you
 in the foot like that doesn't change my opinion of the language (nor
 does it change its widespread popularity for a certain class of
 programmers / companies).

 Overall then, modularity is hard and sometimes a shared / mutable
 state solution is cleaner... And I agree with both points. Am I
 missing something in your concerns?

No, you're spot on. I wasn't advocating anything in particular, I was
merely suggesting that some of the finest minds in the industry do
still find this a hard problem and can disagree on to how best to deal
with it. :-)

I personally don't feel that much of a schism between functional and
OO, but perhaps that's because I actually quite like 

Re: Please stand firm against Steve Yegge's yes language push

2011-07-06 Thread nchubrich
I've been using Clojure on and off for a whilecurrently off,
though not because of the language itself.  The thread now seems to
have moved in a different direction, but I have to say (looking at the
Seajure and Y Combinator threads) that Steve Yegge has some good
points.  And ending up here with a thread titled stand firm
against... seems to be exactly the sort of community problem that he
is worried about.

I wish that we did not have to deal with a fundamental disagreement
about what a language is \for.  If a programming language is something
like Hermann Hesse's Glass Bead Gamean intellectual diversion for
superior intellectsthen spending time contemning Joe Developer
and deploring people who want to suggest different directions for
the language is a worthwhile activity.  But ultimately programming
languages are about getting things \done, just as cars are about
\going places.

It is still possible (though increasingly difficult) to tinker with
your own car before driving it.  In the beginning, it was obligatory.
You had to choose a third-party auto-body manufacturer.  You had to
crank the engine yourself.  You even had to manually set the ignition
timing while you were driving.  There was a lot of cruft you had to
deal with that had nothing to do with getting from point A to point
B.  The first users of cars had to be willing to work with them as a
kind of \hobbyyou had to give over a certain amount of time out of
your day just to just keeping the things running.  At some point, a
transition happened.  They became mass-market devices.  The tinkerers
never went away, but their increased numbers, and the increased
numbers of people simply \using cars, led to an increase in simplicity
and reliability.  Every time there was an issue to deal with, there
were that many more people with a stake in fixing it.  Some people may
miss the old hobbyist culture around cars, but I don't think anyone
really wants to go back to Model T days.  The remarkable thing
nowadays is that a \huge number of people become good drivers
(although admittedly there are quite a few that shouldn't be on the
roads)and driving is a fairly demanding and crucial activity.
Sadly, we cannot say the same thing for computer users.

Clojure is still in the Model T days (though it is continuously
improving).  Getting a non-broken Emacs setup is not always easy (I
attended a Clojure class a few weeks ago where we spent the first
couple of hours just trying to get Clojure and Emacs working).  There
is no built-in command-line REPL or interpreter.  Debugging is cryptic
and not particularly helpful, and occasionally outright misleading
(see what someone posted to the Seajure and Y Combinator threads on
his roundabout way of discovering that Clojure needed advance
declarations).  The documentation is not quite as consolidated and
organized as the Java or Python documentation (though it has also
gotten better), and people really wanting to get things done must deal
with two independent sets of documentation, Java and Clojure, the
latter of which is simply organized alphabetically.  Supposing that
they do get over this hump and now wish to develop a practical
project, they are immediately faced with more choices.  There is no
standard, immediate path for developing web apps, GUIs, or even shell
scriptsyou have to use your sixth sense of what libraries may or
may not actually work (which on the Internet can be quite difficult,
as something that doesn't really work rarely \tells you so itself).

You can jump into Python as a complete noob in the morning, and have a
useful program by the afternoon.  This is much less likely to happen
with Clojure.  There are plenty of smart people who lack both the time
and the system administration chops to deal with getting into
Clojure.  This is very sad, because once you get into it, Clojure is
very easy and very sensible.  There are surely many great programs
that are not being writtensome of them would be programs that help
smoothe the way for everyone else.  Many people who would help spread
the functional programming gospel are getting their brains fried in
Python and Javaand teaching them will be that much harder when
they eventually come around (as people have pointed out here).

Now all of the rough edges are perfectly understandable for a new
language, and they continue to get betterand the more you are
willing to Google around and read blogs and so forth, the more
solutions you find.  But what bothers Steve Yegge and many other
people, I suspect, is that fixing this fragmented user experience and
the gaps in the language doesn't really seem to be a prioritywhen
in fact it should be a prime mission.  People actually make the
argument that these difficulties are good weed outs for the joe
developers who would (presumably) get in here and muck everything
up.  I have actually heard people say here that people who don't have
the wherewithal to configure emacs and 

Re: Please stand firm against Steve Yegge's yes language push

2011-07-06 Thread Phil Hagelberg
nchubrich nchubr...@gmail.com writes:

 A few people could spend a few tens of hours making things easier for
 everyone else, thereby saving thousands of man-hours (isn't this
 supposed to be what programming is about in the first place?), and yet
 it doesn't happen.

Really? It doesn't happen?

http://groups.google.com/group/clojure/browse_thread/thread/b87468adeffcd899
http://groups.google.com/group/clojure/browse_thread/thread/bdf5e874f5367b7e
http://groups.google.com/group/clojure/browse_thread/thread/b86a60e252031e74
http://groups.google.com/group/clojure/browse_thread/thread/eb259e999d381d5d
http://groups.google.com/group/clojure/browse_thread/thread/20d314bc0a23b574
http://groups.google.com/group/clojure/browse_thread/thread/48b8fcb3e9b30474

Maybe the twenty minutes spent drafting this voluminous post could have
been better spent doing something a bit more tangible to make things better.

-Phil

-- 
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


Re: Please stand firm against Steve Yegge's yes language push

2011-07-06 Thread Mark Rathwell
 And ending up here with a thread titled stand firm
 against... seems to be exactly the sort of community problem that he
 is worried about.

To be fair, this post and its title were the work of an individual who has
only been in this community for about 3 weeks.  And while that individual,
and everyone else, is completely entitled to their beliefs, and those
beliefs may be justified from the perspective they were written from, it is
unfair to ascribe them to the community as a whole (which is growing large
and very diverse).  You can see in the responses, as is almost always seen
in this community, the calm, reasoned and balanced behavior of the group as
a whole.

 But what bothers Steve Yegge and many other
 people, I suspect, is that fixing this fragmented user experience and
 the gaps in the language doesn't really seem to be a prioritywhen
 in fact it should be a prime mission.

Again, to be fair, the problem is not a lack of effort on the part of the
community.  The problem is multiple fold: everyone has their own idea of
what the ideal new user experience should be, and it is an extraordinarily
massive amount of work and a lot of trial and error to go from zero to easy
for everyone.  Python has had 15+ years to get to that point, Clojure is at
3+.  Needs are seeming to be addressed at a reasonable rate, in my view.
 Not to be rude, only practical: if there are itches you are having that are
not being scratched, it would be far more productive to do something about
it than complain that others are not pulling their weight.




On Wed, Jul 6, 2011 at 7:30 PM, nchubrich nchubr...@gmail.com wrote:

 I've been using Clojure on and off for a whilecurrently off,
 though not because of the language itself.  The thread now seems to
 have moved in a different direction, but I have to say (looking at the
 Seajure and Y Combinator threads) that Steve Yegge has some good
 points.  And ending up here with a thread titled stand firm
 against... seems to be exactly the sort of community problem that he
 is worried about.

 I wish that we did not have to deal with a fundamental disagreement
 about what a language is \for.  If a programming language is something
 like Hermann Hesse's Glass Bead Gamean intellectual diversion for
 superior intellectsthen spending time contemning Joe Developer
 and deploring people who want to suggest different directions for
 the language is a worthwhile activity.  But ultimately programming
 languages are about getting things \done, just as cars are about
 \going places.

 It is still possible (though increasingly difficult) to tinker with
 your own car before driving it.  In the beginning, it was obligatory.
 You had to choose a third-party auto-body manufacturer.  You had to
 crank the engine yourself.  You even had to manually set the ignition
 timing while you were driving.  There was a lot of cruft you had to
 deal with that had nothing to do with getting from point A to point
 B.  The first users of cars had to be willing to work with them as a
 kind of \hobbyyou had to give over a certain amount of time out of
 your day just to just keeping the things running.  At some point, a
 transition happened.  They became mass-market devices.  The tinkerers
 never went away, but their increased numbers, and the increased
 numbers of people simply \using cars, led to an increase in simplicity
 and reliability.  Every time there was an issue to deal with, there
 were that many more people with a stake in fixing it.  Some people may
 miss the old hobbyist culture around cars, but I don't think anyone
 really wants to go back to Model T days.  The remarkable thing
 nowadays is that a \huge number of people become good drivers
 (although admittedly there are quite a few that shouldn't be on the
 roads)and driving is a fairly demanding and crucial activity.
 Sadly, we cannot say the same thing for computer users.

 Clojure is still in the Model T days (though it is continuously
 improving).  Getting a non-broken Emacs setup is not always easy (I
 attended a Clojure class a few weeks ago where we spent the first
 couple of hours just trying to get Clojure and Emacs working).  There
 is no built-in command-line REPL or interpreter.  Debugging is cryptic
 and not particularly helpful, and occasionally outright misleading
 (see what someone posted to the Seajure and Y Combinator threads on
 his roundabout way of discovering that Clojure needed advance
 declarations).  The documentation is not quite as consolidated and
 organized as the Java or Python documentation (though it has also
 gotten better), and people really wanting to get things done must deal
 with two independent sets of documentation, Java and Clojure, the
 latter of which is simply organized alphabetically.  Supposing that
 they do get over this hump and now wish to develop a practical
 project, they are immediately faced with more choices.  There is no
 standard, immediate path for developing web apps, 

Re: Please stand firm against Steve Yegge's yes language push

2011-07-06 Thread nchubrich
To Phil: I am certainly not complaining about your efforts on
Leiningen, Swank, etc.  I appreciate them and use themthey have
already made things vastly easier for people, and the problems with
setting up Emacs, certainly, are probably more to do with Emacs
itself.  I am just pointing out that there is still a long way to go
with the overall user experience, documentation, etc.; and as long as
this remains, Steve Yegge will have a point, and it is not fair to
simply dismiss what he says.  The original poster in this thread was
arguing that Clojure has no need to grow to a larger community.  He
also was arguing essentially that barriers to new users were a \good
thing.  I just wanted to argue against this, and indeed it ended up
being at some length.  If I have offended anyone in doing so, that was
not my intent.

When the transition to a more broad-based language happens, then there
will end up being a lot more users than there are people with the
ability to make fundamental changes in the language.  They may make
small improvements that don't get much attention, or they may simply
be users with suggestions.  There is nothing wrong with either of
these things.  I don't think their experience is any less important
than people who pull their weight.  Telling them always to fix it
yourself is not necessarily going to improve thingsI think we are
all well aware that we should make contributions if we are able.  What
fraction of Python users end up making any contribution at all?  Are
they a bad thing for Python?

As to making contributions, I just pointed out an example of someone
who made a contribution and was ignored.  And as to improving
documentation, how is one to go about doing it?  This would be an
excellent area to have some community effort on, especially from
relative beginners, and that is an itch I would not mind scratching.

It isn't my intention to disparage the community.  It is a very good
and active community; but this doesn't mean it isn't capable of
improving, even based on suggestions from outsiders like Steve Yegge.
Mark has a good point that the original poster is a fairly new member,
and he is also right that there have been a lot of balanced
responses.  I felt however that nobody had really spoken directly and
fully against his basic premiseif someone had, I would not have
said anything.

It is also correct to say that fixing many issues with user experience
is a lot of hard work.  I don't dispute that (and I was certainly
exagerrating to say it would only take tens of hours).  But there also
seem to be things that might make a very big difference in initial
impression, and would also not be too much trouble.  I don't really
know much about packaging, but is it really necessary (for 3+ years)
to tell users under 'getting started' to type java -cp
jline-0_9_5.jar:clojure.jar jline.ConsoleRunner clojure.main as their
first introduction to Clojure?  (This is what I was talking about with
respect to difficulties in shell scripting.)  The fact that it has
remained under getting started for all this time (in a place where
virtually every new user is going to visit within his first five
minutes)this sets the tone to a certain extent, and it makes
impressions about where the priorities of the community might be.  It
also gives a mistaken impression that the language is not ready yet
which is entirely untrue.  When Yegge talks about marketing a
language, this is exactly the kind of thing he is talking about.

There may be points of disagreement as to how exactly the user
experience should improve, but I hope that the goal of getting new
users up to speed and writing useful code quickly is not really a
controversial one.

Needless to say, I have gone on long enough

--Nick.


On Jul 6, 5:53 pm, Mark Rathwell mark.rathw...@gmail.com wrote:
  And ending up here with a thread titled stand firm
  against... seems to be exactly the sort of community problem that he
  is worried about.

 To be fair, this post and its title were the work of an individual who has
 only been in this community for about 3 weeks.  And while that individual,
 and everyone else, is completely entitled to their beliefs, and those
 beliefs may be justified from the perspective they were written from, it is
 unfair to ascribe them to the community as a whole (which is growing large
 and very diverse).  You can see in the responses, as is almost always seen
 in this community, the calm, reasoned and balanced behavior of the group as
 a whole.

  But what bothers Steve Yegge and many other
  people, I suspect, is that fixing this fragmented user experience and
  the gaps in the language doesn't really seem to be a prioritywhen
  in fact it should be a prime mission.

 Again, to be fair, the problem is not a lack of effort on the part of the
 community.  The problem is multiple fold: everyone has their own idea of
 what the ideal new user experience should be, and it is an extraordinarily
 massive 

Re: Please stand firm against Steve Yegge's yes language push

2011-07-06 Thread Ken Wesson
On Wed, Jul 6, 2011 at 10:06 PM, nchubrich nchubr...@gmail.com wrote:
 As to making contributions, I just pointed out an example of someone
 who made a contribution and was ignored.

Does the term tl;dr mean anything to you? I doubt very many people
got that far in the wall of text you posted earlier, especially in
just the few hours it's been since you posted it.

-- 
Protege: What is this seething mass of parentheses?!
Master: Your father's Lisp REPL. This is the language of a true
hacker. Not as clumsy or random as C++; a language for a more
civilized age.

-- 
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


Re: Please stand firm against Steve Yegge's yes language push

2011-07-06 Thread nchubrich
It did go on too long.  I hope when someone \does read it, they will
see I am not being wholly unreasonable.

On Jul 6, 7:21 pm, Ken Wesson kwess...@gmail.com wrote:
 On Wed, Jul 6, 2011 at 10:06 PM, nchubrich nchubr...@gmail.com wrote:
  As to making contributions, I just pointed out an example of someone
  who made a contribution and was ignored.

 Does the term tl;dr mean anything to you? I doubt very many people
 got that far in the wall of text you posted earlier, especially in
 just the few hours it's been since you posted it.

 --
 Protege: What is this seething mass of parentheses?!
 Master: Your father's Lisp REPL. This is the language of a true
 hacker. Not as clumsy or random as C++; a language for a more
 civilized age.

-- 
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


Re: Please stand firm against Steve Yegge's yes language push

2011-07-06 Thread Luc Prefontaine
And I thought my posts were long :)

Luc P.

On Wed, 6 Jul 2011 19:26:04 -0700 (PDT)
nchubrich nchubr...@gmail.com wrote:

 It did go on too long.  I hope when someone \does read it, they will
 see I am not being wholly unreasonable.
 
 On Jul 6, 7:21 pm, Ken Wesson kwess...@gmail.com wrote:
  On Wed, Jul 6, 2011 at 10:06 PM, nchubrich nchubr...@gmail.com
  wrote:
   As to making contributions, I just pointed out an example of
   someone who made a contribution and was ignored.
 
  Does the term tl;dr mean anything to you? I doubt very many people
  got that far in the wall of text you posted earlier, especially in
  just the few hours it's been since you posted it.
 
  --
  Protege: What is this seething mass of parentheses?!
  Master: Your father's Lisp REPL. This is the language of a true
  hacker. Not as clumsy or random as C++; a language for a more
  civilized age.
 



-- 
Luc P.


The rabid Muppet

-- 
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


Re: Please stand firm against Steve Yegge's yes language push

2011-07-06 Thread Sean Corfield
On Wed, Jul 6, 2011 at 7:21 PM, Ken Wesson kwess...@gmail.com wrote:
 Does the term tl;dr mean anything to you?

I'll remember this date - I find myself really liking / agreeing with
one of Ken's posts :)

Sorry nchubrich but that really was far too long - I started reading
but couldn't find any meat in the first few paragraphs and just tuned
out... I may try again later but if you can _summarize_ more ppl  will
read what you're trying to say.
-- 
Sean A Corfield -- (904) 302-SEAN
An Architect's View -- http://corfield.org/
World Singles, LLC. -- http://worldsingles.com/
Railo Technologies, Inc. -- http://www.getrailo.com/

Perfection is the enemy of the good.
-- Gustave Flaubert, French realist novelist (1821-1880)

-- 
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


Re: Please stand firm against Steve Yegge's yes language push

2011-07-06 Thread nchubrich
I'll try :)  It was really a polemical post for a polemical thread,
but my main points can be extracted here.  Feel free to read as many
or as few of them as you are inclined:

* Clojure still ends up turning off new users more than it needs to.
This may be partly an issue of priorities (see the Getting Started
section on clojure.org).  Many good efforts are going into libraries,
but this doesn't necessarily lead to a smoothe starting path.  That
would require choices from the top.

* It also can do a better job of attracting and retaining core
contributors.  I cited an example of someone who posted a patch to
make refs persistent.  She ended up being ignored, and left for
Erlang.  But Clojure needs people like her.

* Putting up barriers to entry is \not a good thing.  The benefits of
getting new users outweigh the drawbacks, because they will bring more
functionality and maturity with them.  It only takes a small effort to
filter out 'noise' in the group (even mine!).

* Since Lisp is highly extensible, in the long run being
'prescriptive' is a losing battle.  It is better to eventually add
standard 'bad' features to the language than to tempt third parties to
do it in even worse and incompatible ways.

* Clojure is already enough of a new way of thinking, and it may be
simply too much at once for many people.  If a gentle path gets more
people into the ecosystem, it's worth itonce they are in Clojure
they can be steered towards better, more functional ways of doing
things.  In any case, experienced users are always free to ignore
extra features.

* It's meant to be a pragmatic language.  This means that a prime goal
should be to get people writing useful (web, GUI, shell) code in it
right away.  Having choices is good, but being forced to make all
these choices your first day of writing Clojure, when you don't have a
sixth sense about the community and What Really Works, is needlessly
discouraging.

* The attitude that Smart People are precisely the ones who will want
to deal with Clojure's existing drawbacks ends up excluding many great
future Clojurians.  (A lot of smart people are busy.)  The attitude
itself is off-putting and self-defeating.  Moreover, dealing with
these issues takes \everyone's time.

* Final (added) point: while it might have made sense to be
'prescriptive' initially in order to establish the identity, core, and
soul of the language, this has been done sufficiently.  Newcomers are
not going to be confused about what the main points of Clojure are
now.  There is therefore less risk in making it broadly useful to
different paradigms.

If you want to read the arguments behind all that, you can wade into
the postor add your own.

On Jul 6, 9:37 pm, Sean Corfield seancorfi...@gmail.com wrote:
 On Wed, Jul 6, 2011 at 7:21 PM, Ken Wesson kwess...@gmail.com wrote:
  Does the term tl;dr mean anything to you?

 I'll remember this date - I find myself really liking / agreeing with
 one of Ken's posts :)

 Sorry nchubrich but that really was far too long - I started reading
 but couldn't find any meat in the first few paragraphs and just tuned
 out... I may try again later but if you can _summarize_ more ppl  will
 read what you're trying to say.
 --
 Sean A Corfield -- (904) 302-SEAN
 An Architect's View --http://corfield.org/
 World Singles, LLC. --http://worldsingles.com/
 Railo Technologies, Inc. --http://www.getrailo.com/

 Perfection is the enemy of the good.
 -- Gustave Flaubert, French realist novelist (1821-1880)

-- 
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


Re: Please stand firm against Steve Yegge's yes language push

2011-07-05 Thread Tassilo Horn
Ken Wesson kwess...@gmail.com writes:

Hi Ken,

 A related case may be when you're not making just a straight wrapper,
 but adding something -- your own pre/post checks, or argument
 transformations, or etc.

 As for binding to a Var, that makes sense if the result is not as
 trivial as #(.meth %) and is going to be used many times. Otherwise
 #(.meth %) is not much longer than a reasonably clear Var name for it
 and is crystal clear as to what it does, so I'd just use that.

Another consideration I take into account is if a functionality is
exposed to users.

For example, I have a clojure graph querying and transformation library
that is built upon our java graph library.  The functionality is
hopefully implemented in idiomatic clojure, like iterating nodes and
edges using lazy seqs.  However, there are two or three functions that
basically wrap only java methods.  I decided to put them in although
it's idiomatic clojure to call java, because then the user gets a
complete, consistent clojure API and doesn't have to know anything about
the java side.

For example, you can write

--8---cut here---start-8---
(reduce + (map #(value %1 :inhabitants)
   (vseq (rg) 'localities.Locality)))
--8---cut here---end---8---

instead of the slightly alien

--8---cut here---start-8---
(reduce + (map #(.getAttribute %1 inhabitants)
   (vseq (rg) 'localities.Locality)))
--8---cut here---end---8---

That's a bit shorter (and allows for giving the attribute name as
keyword, symbol, or string), and most importantly it is documented.  If
that wrapper wasn't there, users that just want to use the clojure
library have to study the javadocs, too.

Bye,
Tassilo

-- 
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


Re: Please stand firm against Steve Yegge's yes language push

2011-07-05 Thread Ken Wesson
So, another justification for wrapping a Java method is when it's a
layer boundary and the Java method is two (or more) layers lower than
the caller, basically.

This suggests a generalization as well: that there's a form of Law of
Demeter applied to layers (and libraries) where one should tend to
talk directly to the levels adjacent but not to a level two steps
down, for instance. The layer two steps down is an implementation
detail of the layer one step down and therefore shouldn't be exposed
to that layer's clients, including your current layer. This would be
more broadly applicable than just when the layer boundary is a
client/library boundary -- then again, maybe in a sense it's the
reverse, and all layer boundaries can be thought of as client/library
boundaries, i.e. every layer of an application but the top should
basically be a library (or set of libraries) that is (or are) used to
implement the next layer up.

-- 
Protege: What is this seething mass of parentheses?!
Master: Your father's Lisp REPL. This is the language of a true
hacker. Not as clumsy or random as C++; a language for a more
civilized age.

-- 
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


Re: Please stand firm against Steve Yegge's yes language push

2011-07-05 Thread faenvie
Of the people I've tried to expose to Clojure over the last six months,
I've definitely found that those with less OO experience tend to pick
it up much quicker.

that's exactly true for me: 40+ years old and OO-centric-Programmer
since 1995.
it takes me one year now to reach a highlevel quality in programming
clojure. i maybe
near but still have the feeling that i am not there ...

the IMO main-reasons for this are:

- i am so deeply entrenched in OO-thinking

- no chance to apply clojure in the job so it's kind of a hobby

- 40+ years - brain is full of stuff - more difficult to learn

IMO one thing that could help OO-people a lot would be  a
detailed guide for implementing classical design-patterns using
clojure (see: head first desing patterns which is a fantastic book) .
'the joy of clojure' touches this subject but not in detail.

Btw. it's not true IMO, that clojure eleminates the benefit of
thinking in design-patterns.

and finally to correct myself: clojure IS a general purpose language.
no doubt about it. - high-level skills in clojure enable programmers
to
do both: system-programming and application-programming.

-- 
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


Re: Please stand firm against Steve Yegge's yes language push

2011-07-05 Thread Sean Corfield
On Tue, Jul 5, 2011 at 4:54 AM, faenvie fanny.aen...@gmx.de wrote:
 that's exactly true for me: 40+ years old and OO-centric-Programmer
 since 1995.
 it takes me one year now to reach a highlevel quality in programming
 clojure.

I sympathize! I turn 49 this week (Thursday) and have been doing OO
since '92. Fortunately I did quite a bit of FP before that so I think
I can still be saved :)

 IMO one thing that could help OO-people a lot would be  a
 detailed guide for implementing classical design-patterns using
 clojure (see: head first desing patterns which is a fantastic book) .

That's an interesting point. Since the Gang of Four book is subtitled
Elements of Reusabled _Object-Oriented_ Software, I wonder whether
it's really the right starting point tho'? Several of those patterns
exist to address problems people run into with OO, much like the Core
J2EE Patterns book contains patterns that exist solely to workaround
problems / deficiencies with J2EE constructs (such as EJBs).

It might be an interesting community exercise to examine the 23 GoF
patterns and discuss whether they are applicable in an FP world and,
if a pattern _is_ still applicable, what it would look like?

For example, Command would probably just be a function or closure, as
would Strategy I suspect? Template Method might be a multi-method or
protocol / extend-type combo, as might Decorator? Facade would be a
new API implemented in a namespace that uses / requires the various
namespaces to which it is a facade? Proxy is relatively
straightforward in the absence of a static type system. Flyweight is
probably not applicable. Singleton could be delay / deref? Iterator is
not needed in Clojure due to the seq abstraction. Just throwing some
ideas out there - I haven't given any of that much thought...
-- 
Sean A Corfield -- (904) 302-SEAN
An Architect's View -- http://corfield.org/
World Singles, LLC. -- http://worldsingles.com/
Railo Technologies, Inc. -- http://www.getrailo.com/

Perfection is the enemy of the good.
-- Gustave Flaubert, French realist novelist (1821-1880)

-- 
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


Re: Please stand firm against Steve Yegge's yes language push

2011-07-05 Thread Sean Corfield
On Sun, Jul 3, 2011 at 8:04 PM, Sean Corfield seancorfi...@gmail.com wrote:
 On Sun, Jul 3, 2011 at 3:34 PM, James Keats james.w.ke...@gmail.com wrote:
 For example I suggest you look at this video/transcript and pay
 attention in particular to the point of debate between Joe Armstrong
 of Erlang and Martin Odersky of Scala 
 http://www.infoq.com/interviews/functional-langs
 , in particular around the point where Odersky says I’m not quite
 sure I buy that (also of additional relevance to those two points
 are http://erlang.org/pipermail/erlang-questions/2011-May/058769.html
 and also http://www.scala-lang.org/node/1637), and if you're further
 interested you may wish to read Eric Meyer's essay in the book
 Beautiful Architecture regarding a previous Simon Peter Jones Haskell-
 related publication, titled Software Architecture: Object-Oriented
 Versus Functional.

 I've read that book (a month or two ago) but I'll go back and re-read
 that essay in light of this thread.

I think you mean Bertrand Meyer's piece, extolling the virtues of OO
in general (and Eiffel in particular)? I thought it was a terribly
self-serving piece. Meyer has a strong bias and quite a bit of disdain
for anything that isn't Eiffel - which shines right thru that essay to
the point of making it fairly worthless, IMO. It has no objectivity :)

I read the interview transcript for Syme, Armstrong and Odersky and I
have to be honest that I found Armstrong almost incoherent and half
the time couldn't figure out what he was trying to argue at all - so
I'm not sure what point you're trying to make by referring to that
interview, sorry. Similarly Armstrong's musings on the Erlang list
about the entire world being a single flat namespace full of
functions that are globally unique seems rather incoherent too. He
talks about the problems with using modules to organize functions
(and, yes, modularity can be hard) but then proposes something that
would be no different (functions made unique by either having nearly
random names or a structured set of metadata that would really be
indistinguishable from modules in the first place - see
http://erlang.org/pipermail/erlang-questions/2011-May/058773.html).

The Scala forum discussion is more useful and relevant: TL;DR -
objects are occasionally the most natural model for solving a problem.
And in Clojure, mutable (shared) state is occasionally the most
natural model for solving a problem. That doesn't seem newsworthy to
me, just that a pure functional approach might not always lead to the
cleanest solution. That's kind of a duh! because otherwise why would
we need STM...

And then there's the Ruby rant. Yeah, I'd be pretty ticked off that I
got shot in the foot by combining two or three libraries that
otherwise ought to behave reasonably together. Global method injection
is pretty nasty. When I first read about multi-methods and protocols
in Clojure I was a bit worried that library code might cause a similar
problem by redefining functions out from under me, by virtue of more
specific overloading but it hasn't been a problem yet and when I
look at how those features are used in various libraries, I'm no
longer so worried.

I have other reasons for not liking Ruby so it's ability to shoot you
in the foot like that doesn't change my opinion of the language (nor
does it change its widespread popularity for a certain class of
programmers / companies).

Overall then, modularity is hard and sometimes a shared / mutable
state solution is cleaner... And I agree with both points. Am I
missing something in your concerns?
-- 
Sean A Corfield -- (904) 302-SEAN
An Architect's View -- http://corfield.org/
World Singles, LLC. -- http://worldsingles.com/
Railo Technologies, Inc. -- http://www.getrailo.com/

Perfection is the enemy of the good.
-- Gustave Flaubert, French realist novelist (1821-1880)

-- 
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


Re: Please stand firm against Steve Yegge's yes language push

2011-07-05 Thread faenvie
note on the original posting:

 First, he shouldn't be porting Java code to clojure, Second, Clojure IS
 fundamentally different from Java, and third, such said users who
 don't want to touch Java should not touch Clojure.

to port java-code to clojure-code is certainly not the
right thing to do in most cases ... but

the fact that clojure is not determined to use the jvm as its
hosting-language could certainly be a driver for the reimplementation
of popular components.

even memory-management (gc), io-functions and process-management
may be candidates for a (re)implementation in clojure some day.

-- 
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


Re: Please stand firm against Steve Yegge's yes language push

2011-07-05 Thread B Smith-Mannschott
On Sat, Jul 2, 2011 at 21:33, David Nolen dnolen.li...@gmail.com wrote:
 On Sat, Jul 2, 2011 at 3:21 PM, James Keats james.w.ke...@gmail.com wrote:

 And once you encounter the
 reality and frustration infamously characterized by likening the
 managing of lispers to the herding of cats then you begin to admire
 languages like python and java and see what they got right in imposing
 restrictions.

 I've yet to see any evidence anecdotal or otherwise that managing a team of
 good Lisp programmers is any more difficult than managing good programmers
 in any other language. Links?


 A very recent quote by Abelson is relevant:
 One of the things I’m learning here (Google) is the experience of
 working on these enormous programs. I just never experienced that
 before. Previously a large program to me was a hundred pages or
 something. Now that’s a tiny, little thing.

 One of the most popular text editors to this day is Emacs. It's near 3
 million lines of Lisp.
 David

It is?

Looks like about 1.4M lines of Lisp and less than 0.4 M lines of C.

[bsmith@pepper:~/w/emacs]
$ for x in h c el ; do printf .%-2s: %7d lines in %5d files\n $x
$(find * -name *.$x | xargs cat | wc -l) $(find * -name *.$x | wc
-l) ; done
.h :   37093 lines in   165 files
.c :  337489 lines in   199 files
.el: 1412477 lines in  1551 files

Not that 1.4M isn't large, but it's not 3M.

// Ben

-- 
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


Re: Please stand firm against Steve Yegge's yes language push

2011-07-04 Thread James Keats


On Jul 3, 6:15 am, Ken Wesson kwess...@gmail.com wrote:

 There's one obvious use case for such a wrapper function, though: if
 you'll want to pass the Java method to HOFs from time to time. You
 can't directly pass a Java method to a HOF, but you can pass such a
 wrapper function.


Pardon me if I'm wrong, but could you not use an anonymous function in
those places where you'd need to pass it to a HOF and continue to use
it directly elsewhere? That would probably be how I'd prefer it, as
it'd mean less functions to keep track of, and less indirection
(decoupling api concerns aside).

 --
 Protege: What is this seething mass of parentheses?!
 Master: Your father's Lisp REPL. This is the language of a true
 hacker. Not as clumsy or random as C++; a language for a more
 civilized age.

-- 
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


Re: Please stand firm against Steve Yegge's yes language push

2011-07-04 Thread Mark Rathwell
A function is a function, whether it is bound to a Var or not.  I think that
was Ken's point, that you need to wrap a Java method in a function
(anonymous or named) in order to pass to an HOF, as Java methods are not
first class.  So, that is one instance where a function whose sole purpose
is to wrap a Java method may make sense.


On Mon, Jul 4, 2011 at 1:20 PM, James Keats james.w.ke...@gmail.com wrote:



 On Jul 3, 6:15 am, Ken Wesson kwess...@gmail.com wrote:
 
  There's one obvious use case for such a wrapper function, though: if
  you'll want to pass the Java method to HOFs from time to time. You
  can't directly pass a Java method to a HOF, but you can pass such a
  wrapper function.
 

 Pardon me if I'm wrong, but could you not use an anonymous function in
 those places where you'd need to pass it to a HOF and continue to use
 it directly elsewhere? That would probably be how I'd prefer it, as
 it'd mean less functions to keep track of, and less indirection
 (decoupling api concerns aside).

  --
  Protege: What is this seething mass of parentheses?!
  Master: Your father's Lisp REPL. This is the language of a true
  hacker. Not as clumsy or random as C++; a language for a more
  civilized age.

 --
 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


-- 
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

Re: Please stand firm against Steve Yegge's yes language push

2011-07-04 Thread Ken Wesson
On Mon, Jul 4, 2011 at 1:44 PM, Mark Rathwell mark.rathw...@gmail.com wrote:

 A function is a function, whether it is bound to a Var or not.  I think that
 was Ken's point, that you need to wrap a Java method in a function
 (anonymous or named) in order to pass to an HOF, as Java methods are not
 first class.  So, that is one instance where a function whose sole purpose
 is to wrap a Java method may make sense.

Exactly.

A related case may be when you're not making just a straight wrapper,
but adding something -- your own pre/post checks, or argument
transformations, or etc.

As for binding to a Var, that makes sense if the result is not as
trivial as #(.meth %) and is going to be used many times. Otherwise
#(.meth %) is not much longer than a reasonably clear Var name for it
and is crystal clear as to what it does, so I'd just use that.

-- 
Protege: What is this seething mass of parentheses?!
Master: Your father's Lisp REPL. This is the language of a true
hacker. Not as clumsy or random as C++; a language for a more
civilized age.

-- 
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


Re: Clojure for large programs, was Re: Please stand firm against Steve Yegge's yes language push

2011-07-03 Thread Sean Corfield
On Sat, Jul 2, 2011 at 8:56 PM, Nick Brown nwbr...@gmail.com wrote:
 But not the lots of developers part.  As much as I like
 Clojure, it has nowhere near the level of developers languages like
 Java or Python.  And to be honest, that constraint is much more
 convincing for most software managers than the library one.

That's an interesting point. Since 2001, I've mostly been working with
CFML - despite my C++ / Java background - and that's a community that
has around 800k developers (according to Evans Data Corporation's
survey in 2008). One of the biggest concerns that is commonly voiced
in the CFML is around the availability of CF developers. We hear of
companies who are switching away from CFML to technology X because
of the difficulty of finding (good) CF developers. It's hard to know
for sure whether that's really the reason for their shift - I think
it's a convenient excuse. Some companies will pick the best
technology, some companies will pick the most popular technology...
-- 
Sean A Corfield -- (904) 302-SEAN
An Architect's View -- http://corfield.org/
World Singles, LLC. -- http://worldsingles.com/
Railo Technologies, Inc. -- http://www.getrailo.com/

Perfection is the enemy of the good.
-- Gustave Flaubert, French realist novelist (1821-1880)

-- 
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


Re: Please stand firm against Steve Yegge's yes language push

2011-07-03 Thread Phil Hagelberg
In addition, completion on vars is usually much better than on methods. Plus
using javadoc when you're used to docstrings feels a bit like using a card
catalog when you're used to having Wikipedia in your pocket.

-Phil
On Jul 2, 2011 10:15 PM, Ken Wesson kwess...@gmail.com wrote:

-- 
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

Re: Please stand firm against Steve Yegge's yes language push

2011-07-03 Thread Sean Corfield
On Sun, Jul 3, 2011 at 3:14 AM, James Keats james.w.ke...@gmail.com wrote:
 Again, to be absolutely clear, I do believe it's easily possible to
 muck up a java or python code base, but I regard the foundational
 design and community cultures of those languages to be conducive to
 large, long-term software and healthy ecosystems, java even more so
 than python.

Perhaps we move in different circles but I've seen as much bad Java
in the large as I ever used to see bad FORTRAN and bad C / C++
code over the years. I think large enterprise Java projects have
just as many below average developers working on them as any other
popular language projects. And by definition, half of all developers
are below average and the more popular a language is, the broader
that spread is likely to be.

I think the only way you can avoid the joe developer that you fear
is to have a language which requires a very high barrier to entry so
only good developers can even write Hello World! in it. I don't
think that actually benefits anyone (since such languages don't get
sufficient critical mass that people ever get the chance to use them
at work to solve real problems).

 Beyond Java, that was, more or less, predicting the demise of
 java and was unimpressed by python, whilst favouring ruby, yet since,
 over those past years, they've only - java and python - gone from
 strength to strength and remain on the ascendency whilst the ruby hype
 machine has imploded and the feasibility of ruby has come apart at the
 seams thanks to an ill-disciplined community culture.

I find it interesting that you offer up a perceived demise of Ruby
when all I see is continued adoption of Ruby/Rails, far and away ahead
of Python. Again, possibly we move in different circles. On Java, I
was just at JAXconf where the overall theme was Don't worry, Java's
not really dead! - it was an almost desperate sense of trying to
rally the (enterprise) Java troops and head off the defections to
other languages, whilst all the time praising how much innovation was
occurring on the (JVM) platform, i.e., in those other languages.
Oracle talked about the big focus for Java EE 6 / 7 / 8 being
simplification - making Java easier to use and removing a lot of the
complexity and configuration that has grown up in that world (exactly
the problems that are causing Java developers to move to more
expressive languages and to adopt convention-based frameworks). The
big inspiration being held up to everyone at the conference was
Ruby/JRuby and the convention-based approach of Rails. I came away
with the sense that even its most stalwart supporters think Java is
very, very sick and needs to clean its act up if it is to avoid
becoming irrelevant as a language. The audience were told that Java
developers need to get used to the idea of learning new languages
frequently. I bumped into a handful of people there using Groovy and
one or two using Scala. I ran into a lot of people who really had no
idea what was going on in the world outside of Java and they seemed
very focused on data-centric enterprise business applications that
really didn't do anything particular complex but yet had grown into
gigantic codebases with a huge amount of complicated infrastructure...

So, overall, I don't share your belief that Java has a foundational
design and community cultures [that is] conducive to large, long-term
software and healthy ecosystems.
-- 
Sean A Corfield -- (904) 302-SEAN
An Architect's View -- http://corfield.org/
World Singles, LLC. -- http://worldsingles.com/
Railo Technologies, Inc. -- http://www.getrailo.com/

Perfection is the enemy of the good.
-- Gustave Flaubert, French realist novelist (1821-1880)

-- 
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


Re: Please stand firm against Steve Yegge's yes language push

2011-07-03 Thread James Keats


On Jul 3, 9:02 pm, Sean Corfield seancorfi...@gmail.com wrote:
 On Sun, Jul 3, 2011 at 3:14 AM, James Keats james.w.ke...@gmail.com wrote:

 Perhaps we move in different circles but I've seen as much bad Java
 in the large as I ever used to see bad FORTRAN and bad C / C++
 code over the years. I think large enterprise Java projects have
 just as many below average developers working on them as any other
 popular language projects. And by definition, half of all developers
 are below average and the more popular a language is, the broader
 that spread is likely to be.

I do not dispute that.


 I think the only way you can avoid the joe developer that you fear
 is to have a language which requires a very high barrier to entry so
 only good developers can even write Hello World! in it. I don't
 think that actually benefits anyone (since such languages don't get
 sufficient critical mass that people ever get the chance to use them
 at work to solve real problems).


I respectfully but unreservedly disagree with the only way you can
avoid the joe developer that you fear is to have a language which
requires a very high barrier to entry. I do not worry so much about
Hello World! taking too long, this is a business case analysis (if
you can't afford to do something right, should you be doing it at
all?!), though I do acknowledge that unfortunately Hello World! is
the measure many developers use to judge things. I do not worry about
that, what I worry about is what happens months or even years down the
line, after much had been invested. Business is business; unless your
motive is simply to scam someone else by passing it on (much of what
startups and VCs nowadays are about - a ponzi scheme of sorts), you do
not want to build on shaky foundations.

There is much bad Java, no doubt, but no one if forcing you to fall
prey to that.


  Beyond Java, that was, more or less, predicting the demise of
  java and was unimpressed by python, whilst favouring ruby, yet since,
  over those past years, they've only - java and python - gone from
  strength to strength and remain on the ascendency whilst the ruby hype
  machine has imploded and the feasibility of ruby has come apart at the
  seams thanks to an ill-disciplined community culture.

 I find it interesting that you offer up a perceived demise of Ruby
 when all I see is continued adoption of Ruby/Rails, far and away ahead
 of Python. Again, possibly we move in different circles. On Java, I
 was just at JAXconf where the overall theme was Don't worry, Java's
 not really dead! - it was an almost desperate sense of trying to
 rally the (enterprise) Java troops and head off the defections to
 other languages, whilst all the time praising how much innovation was
 occurring on the (JVM) platform, i.e., in those other languages.
 Oracle talked about the big focus for Java EE 6 / 7 / 8 being
 simplification - making Java easier to use and removing a lot of the
 complexity and configuration that has grown up in that world (exactly
 the problems that are causing Java developers to move to more
 expressive languages and to adopt convention-based frameworks). The
 big inspiration being held up to everyone at the conference was
 Ruby/JRuby and the convention-based approach of Rails. I came away
 with the sense that even its most stalwart supporters think Java is
 very, very sick and needs to clean its act up if it is to avoid
 becoming irrelevant as a language. The audience were told that Java
 developers need to get used to the idea of learning new languages
 frequently. I bumped into a handful of people there using Groovy and
 one or two using Scala. I ran into a lot of people who really had no
 idea what was going on in the world outside of Java and they seemed
 very focused on data-centric enterprise business applications that
 really didn't do anything particular complex but yet had grown into
 gigantic codebases with a huge amount of complicated infrastructure...

 So, overall, I don't share your belief that Java has a foundational
 design and community cultures [that is] conducive to large, long-term
 software and healthy ecosystems.

Java is vast; there are so many legacy frameworks and legacy ways of
doing things I would not adopt or endorse. After all, there is a
reason why I'm here at clojure.

We need to differentiate between things; how you build your software
is up to you, but it is indisputable that Java has a lot of libraries,
some may be bad, but others are outstanding, and no one is forcing you
to choose the bad ones. I am a big believer that if there's a library
that already does what you do, made by experts and vetted by the
world, then you shouldn't do it yourself. I also believe that Java's
thou shall not do this! and Python's though shall not do this,
unless you have to go towards explaining that. Ruby may have a
tempting Hello World! proposition that makes it appeal to startup
developers, but sooner or later down the road you'll run into this

Re: Please stand firm against Steve Yegge's yes language push

2011-07-03 Thread Sean Corfield
On Sun, Jul 3, 2011 at 3:34 PM, James Keats james.w.ke...@gmail.com wrote:
 For example I suggest you look at this video/transcript and pay
 attention in particular to the point of debate between Joe Armstrong
 of Erlang and Martin Odersky of Scala 
 http://www.infoq.com/interviews/functional-langs
 , in particular around the point where Odersky says I’m not quite
 sure I buy that (also of additional relevance to those two points
 are http://erlang.org/pipermail/erlang-questions/2011-May/058769.html
 and also http://www.scala-lang.org/node/1637), and if you're further
 interested you may wish to read Eric Meyer's essay in the book
 Beautiful Architecture regarding a previous Simon Peter Jones Haskell-
 related publication, titled Software Architecture: Object-Oriented
 Versus Functional.

I've read that book (a month or two ago) but I'll go back and re-read
that essay in light of this thread. I've marked those four links for
View Later (I love RockMelt!). I may come back to this topic after
I've consumed all that information...
-- 
Sean A Corfield -- (904) 302-SEAN
An Architect's View -- http://corfield.org/
World Singles, LLC. -- http://worldsingles.com/
Railo Technologies, Inc. -- http://www.getrailo.com/

Perfection is the enemy of the good.
-- Gustave Flaubert, French realist novelist (1821-1880)

-- 
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


Re: Please stand firm against Steve Yegge's yes language push

2011-07-02 Thread faenvie
I agree, that clojure will not gain java-like popularity in
a forseeable future.

IMO clojure is much more a Language for SystemProgrammers
(high demands, thinking in concurrency) than a Language for
ApplicationProgrammers (midsize demands, thinking singlethread)
it does not have to target general purpose use. But Very well could
clojure become a mainstream-language  for SystemProgrammers.

other promising perspectives for clojure:

- as a base for true innovation (core.logic)

- for programming android (compile to dex)

-- 
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


Re: Please stand firm against Steve Yegge's yes language push

2011-07-02 Thread László Török
I find clojure suitable to pretty much every problem I've come across so
far, since it allows me to write concise, low-ceremony code. The bottom-up
approach helps raising the abstraction level, and soon the concepts of your
domain will surface, so that the code starts reflecting the language you use
in your problem domain.
If you care to code that way of course...

Las

2011/7/2 faenvie faen...@googlemail.com

 I agree, that clojure will not gain java-like popularity in
 a forseeable future.

 IMO clojure is much more a Language for SystemProgrammers
 (high demands, thinking in concurrency) than a Language for
 ApplicationProgrammers (midsize demands, thinking singlethread)
 it does not have to target general purpose use. But Very well could
 clojure become a mainstream-language  for SystemProgrammers.

 other promising perspectives for clojure:

 - as a base for true innovation (core.logic)

 - for programming android (compile to dex)

 --
 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




-- 
László Török

Skype: laczoka2000
Twitter: @laczoka

-- 
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

  1   2   >