On Jun 28, 2010, at 5:26 PM, Brian Hurt wrote:
> On Mon, Jun 28, 2010 at 3:33 PM, Lee Spector <lspec...@hampshire.edu> wrote:
> 
>  (B) I want to teach Clojure to students who don't necessarily know emacs. 
> Some of these students may know another editor in your list, but many won't 
> and many will never have touched Java.
> 
> This is the core distinction I keep trying to make, and people keep ignoring. 
>  There are two *completely different* types of newbies:
> 1. People who are already familiar with some other development environment 
> and programming language
> 2. People who have never programmed before at all.
> 
> Yes, there are a lot of problems Clojure has with regards to group #2, the 
> students.  So what?

I think you've missed my point entirely -- or I failed to make it.

Many of the students I'm talking about (for example the students who meet the 
prerequisites for a particular course I'm teaching this fall) will have 
programmed, but not necessarily using emacs, vim, eclipse, or Java. Many will 
have written C or C++ in who knows what environment. Or Python. Or (in fact 
many of them, because it's what I taught last year) in Scheme in the DrScheme 
environment. Or Common Lisp. Or the subset of Java used in Processing. Or 
Basic. They are programmers. But they don't necessarily know emacs or vi (maybe 
some know one or the other, but many don't). They don't necessarily know how 
java projects have to be organized on disk or how to set up classpaths. Etc. 
It'd be great for them (and me) to have an environment that we can simply 
download and use, without learning anything about specialized editors or java 
conventions etc. until we want to do something that demands it.

These folks are technically in your type #1 but that experience doesn't help 
them with the issues I was raising, involving getting a Clojure programming 
environment set up and running simple projects.

> I'd argue that it's a bad idea to teach students a "professionals" language 
> as their first language.  You don't learn to fly in a 747, even if that's 
> what the professionals fly.  There are reasons for this.
> 

IMHO Lisp is among the best languages for beginners and Clojure is among the 
best Lisps. Scheme is used in many introductory curricula (for example at MIT) 
to great success. We could argue about a lot here, but I don't think it would 
be productive. In any event my comments were not really about beginners, but in 
point of fact I think it'd be a very good idea to make environments that 
complete beginners can deal with too (as there are for many other 
professional-level languages).

> Addressing most of these complains- not to put too fine a point on it, 
> dumbing the language and development environment down until it's easy for a 
> complete neophyte to grasp- means making the language significantly less 
> useful to me, the professional developer.  And it makes it harder for me to 
> find (or create) jobs using Clojure.

Nothing I've suggested was intended to affect what people *can* do, just the 
kind of support that is provided to newcomers.

MCL's editor is interesting in this regard. Called FRED (for FRED Resembles 
Emacs Deliberately) it was as powerful as emacs (and better too because it 
could be programmed in Common Lisp and with everything extra built into MCL) 
and yet to the new user it acted just like any other mac text editor (but with 
extras to do paren-matching, indentation, evaluation, etc.). You didn't have to 
learn emacs key commands etc. And of course the existence of FRED didn't mean 
that every Common Lisp programmer was limited to it.

> Is this what you're reallying advocating Clojure to become- Basic 2.0?

I think of it as the latest and greatest Lisp, and as a language suitable for a 
wide range of uses by a wide range of users.



--
Lee Spector, Professor of Computer Science
School of Cognitive Science, Hampshire College
893 West Street, Amherst, MA 01002-3359
lspec...@hampshire.edu, http://hampshire.edu/lspector/
Phone: 413-559-5352, Fax: 413-559-5438

Check out Genetic Programming and Evolvable Machines:
http://www.springer.com/10710 - http://gpemjournal.blogspot.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

Reply via email to