Andrew Lentvorski wrote: > James G. Sack (jim) wrote: >.. >> - clojure has a very simple and robust concurrency support, thus making >> it a more practical (or at least more general purpose) functional >> language than say ML/haskell/erlang .. as well as a prime candidate for >> making best use of multi-core environments. > > I don't know about simple, but it is one of the few languages that has > actually even *THOUGHT* about concurrency. That gets my attention.
Well, what I meant is that the programmer interface (re: anything mutable) is very explicitly defined, only involves a few pieces of syntax and, and I thought it was quite easy to grasp. Whether it works well and meets all needs remains to be seen, I suppose. ;-) >.. >> I am trying to determine whether clojure might be suitable to use as the >> environment for an intro to programming course > > NO! Dear Diety, no! > > The problem with Clojure is that it is immature. You need to be good > enough at programming that when you get bit in the ass, you can sort out > whether it's: > > A) PEBKAC--you being stupid > B) PEBKAC--not quite understanding Clojure's abstractions > C) Clojure--incorrect semantics > D) Clojure--incorrect code generation > E) JVM--corner case that Java doesn't hit > > That's too tall an order for someone new to programming. <heh> I gather at least you're not objecting to throwing functional programming at the rank beginner? Well, Sussman and Abelson did it, but they're MIT gods .. can it be done by mere mortals? You may even have left out one more problem -- syntax. Sure lispy is supposed to mean simpler, but by the time you add in quoting and reader shortcuts and special symbols for macros, there is plenty of stuff to get confused about. That certainly needs careful organization and presentation to avoid beginner indigestion. >.. > His OO anti-bias may be a problem. You quite often do need some way to > bind together related functions and their data structure. Doing a good job of it without classes and inheritance seems like a worthwhile challenge. I recall Hickey talking about some conferences starting to pay big time attention to immutability vis-a-vis concurrency. Then on another blog, http://bc.tech.coop/blog/ I came across a link to a video interview of Anders Hejlsberg and Guy Steele on Concurrency and Language Design at the JAOO conference http://channel9.msdn.com/posts/Charles/Anders-Hejlsberg-and-Guy-Steele-Concurrency-and-Language-Design/ As the blogger (Bill Clementson) says "Nothing too technically deep, but the interview does manage to crystalize some of the high level issues that face language designers." Maybe that's the sort of thing that Hickey was referring to. Regards, ..jim -- [email protected] http://www.kernel-panic.org/cgi-bin/mailman/listinfo/kplug-lpsg
