Clojure Gazette 1.32
Ode to Smalltalk
Issue 1.32 - February 20, 2013
Clojure Video Kickstarter Status
I am happy to report that we have reached over $2000 on the Kickstarter project to create intro to Clojure videos ! There is still a ways to go and there are now two stretch goals that will add new videos. Now is the time to let all of your friends know about the videos. One hour only costs $5. Everyone knows someone who is this close to getting into Clojure. These videos would be perfect for them. Please let them know about the great deal they can get.
I have to thank all of the backers. It really shows how much people care about building a strong community around Clojure that supports businesses and learning materials. I am truly proud to be a part of it. I especially have to thank an extremely generous backer, Lambda Jam , for sponsoring at the company level. They will get their logo placed in the video. There is still one more company level slot available.
Lambda Jam is a new conference by the people who organize Strange Loop and Clojure/West. It will take place in Chicago in July and features a great lineup of speakers. In addition, the afternoons are focused on hands-on workshops. Their call for presentations is now open. Do check them out.
Please check out the project , tweet about it, like it, share it on Hacker News, etc. The more people involved, the better these videos will be.
**Eric Normand **
PS. I love to hear from you. Just hit reply!
Redline Smalltalk (indiegogo.com)
In short, Redline is real Smalltalk for modern software developers. With your help, it can put a dent in the software industry and make the development world a better place to be.
One of the coolest things about Clojure programmers is how willing we are to learn from other programming languages. Smalltalk, though not extremely popular today, has had a huge effect on programming in general. Objects with classes and methods, message passing, and encapsulation can trace their origins through Smalltalk. Most languages today have these features, yet they miss something essential that made Smalltalk so special. I think Lisp programmers can relate.
I was lucky enough to come across Redline Smalltalk . Redline is a Smalltalk for the JVM that is trying to get to version 1.0. They are running a campaign to get financial support to bring the project up to production quality. Redline already has an Eclipse plugin, a web framework, and more.
Supporting this project will help expand the JVM ecosystem. They don't have much time left on the campaign, so if you are interested, please check it out .
This article introduces the main concepts underlying the Smalltalk system. It is a great way to get started at a high level and dive deeper. You will probably be familiar with most of the concepts from experience with other languages. But there is a warning:
Terms such as "object," "class," "type," "method" and hence "object-oriented programming" itself, as used in the context of Smalltalk, do not have the same meanings as they do when used in the context of other programming languages. The termobject-oriented programming("OOP") was coined by Dr. Alan Kay , the inventor of Smalltalk. He intended the term to describe the essential nature of Smalltalk. Unlike Smalltalk, most of the programming languages that market themselves as "object oriented" do not satisfy Dr. Kay's definition of object oriented programming:
"OOP to me means only messaging, local retention and protection and hiding of state-process, and extreme late-binding of all things. It can be done in Smalltalk and in LISP. There are possibly other systems in which this is possible, but I'm not aware of them."
Why has Smalltalk had such an influence on software development, yet the languages that borrow many of the concepts from Smalltalk have only a small fraction of the productivity. This can possibly be measured. Smalltalk spawned object-oriented programming, the modern GUI found on nearly all PCs today, and networked computing. These are the three things that are still being built-out in the commercial computing realm, but were in existence at Xerox PARC forty years ago. Has Java, the most popular programming language, produced so many innovations? I don't think so. What is missing from Java?
Imagine a world where Newton had invented differential calculus in order to invent mechanics, kinematics, optics, and a theory of gravity. Then, people used mechanics and optics, but they never used calculus to analyze other phenomena. What could possibly cause people to abandon something so useful as calculus?
This article explores these ideas a bit from the perspective of reading classics to learn from the past. But, unfortunately, there are no answers. Alan Kay has said that it was the rapid commercialization of the PC , otherwise known as the PC revolution, which killed the momentum of progress. Steve Jobs described the process of building out the ideas that were developed at Xerox PARC (which are finally being realized in iCloud) from that initial visit in 1979 .