How was the idea to organize a Smalltalk congress in Argentina born?
What was the first repercussion among your university colleagues and private companies?
How is the congress financed? We know that registration to other conferences is quite expensive but this one is free.
Today, what is the balance of the first congress and what are the motivations for the future?
What can we expect from the second edition?
How many people are working behind the organization?
The last edition of ESUG was a record. Do you think that this congress can repeat this success?
In the last year, there has been a steady growth in the amount of Smalltalk projects in Argentina. In your opinion, what could be the reasons and motivation of this growth, when in the whole world there are a lot of projects based on the trendy languages?
AV: I think this is also related to the cultural background of Argentina. Note that I moved to the US 8 years ago, so maybe this is my idealized rationalization of what is going on. But, while I would say there is a certain amount of people who go with what is most popular, I also remember an environment in which exploration and a desire for more transcendental work is rewarded. Smalltalk is an ideal complement for this.
HW: Well, I think there are many reasons. Some of them I can think of are:
- The importance that dynamically typed languages are gaining around the world. With Ruby, Python and the like, programmers are starting to realize that dynamic typing was not so bad after all, on the contrary, it has many advantages over static typing. So, smart people, people that care about creating good software beyond what tools the "market" imposes, is starting to think "hey, these Smalltalk guys have been saying this for a long time... let see what other things Smalltalk has..."
- There is an important group of people that have been pushing and teaching Smalltalk for quite a long time, no matter what technology is the "hottest" one. I believe that it is paying off... I know people that have been teaching Smalltalk for more that 15 years already! That's quite a long time in "computer technology" terms. So, I believe this is another reason of the importance of Smalltalk in Argentina, the education.
- Another reason is, I believe, the fact that there are companies in Argentina that work with Smalltalk and have been doing it for a while. So this is an indication that working with Smalltalk cannot be that bad after all.
- I think there is a "cultural" reason also. In Argentina we have some kind of "revolutionary" trait; we do not get along with standards so easily. I'm not saying this is good or bad, it is just a way of being. This helps when people have "to go against the flow", and working with Smalltalk is like going against the flow of technology.
Anyway, those are some reasons I can think of right now.
Nowadays, we can see a lot of new languages based on Smalltalk like Ruby, Python but what are the major misunderstandings in the IT industry about Smalltalk? Why do all those companies prefer new languages that maybe aren't so mature instead of a more evolved environment like Smalltalk?
AV: To some extent, I'd say that it is a reflection of the availability of developers. It is here where I think the root of this phenomenon hides. Basically, there is something exciting about going in a new language. Having been there, I think that there is this feeling of most people being basically on the same skill level --- clearly this must be so because for a new language you will not find developers with decades of experience. Also, since the language is new, most of the technical issues that are visible will be the ones that have been solved over and over again in the last 30 years or so. This also means that most problems have a clear solution path, and that to some degree it will be relatively easy to find developers knowledgeable enough to reimplement a known solution in this new language. So at first there seems to be vibrant, unstoppable progress, and this attracts more people. Eventually, however, the more fundamental issues become more apparent. This is when a new language is launched to start the process all over again, in the name of addressing the hard problem.
Note that in the same way that Smalltalk would not be considered trendy because it is not taught to most people in colleges for example, I'd venture that neither is C even though nobody could deny its relevance. Rather, I'd say that most developers are taught Java or something like that. In as much as we go for the apparently easy stuff, we continue to neglect the difficult problems.
Carl Sagan once said that our value is in the courage of our questions and the depth of our answers. Knuth recently complained because he sees rampant one-upmanship in computer science research. To me, what happens in computer languages is just an illustration of their keen observations, and it goes back to our goals for the conference and the FAST foundation.
HW: Well, I think AV put it very clear. We live in a "pop culture" in which "new" is believed to mean "better", and Smalltalk is "old", so why use it? When people are faced with Smalltalk for the first time they ask me, "can you do a web app with it? can you connect to a relational database? can you parse an XML document?". All of these are technical questions, they do not care about the "essentials" of programming, of having a good model, of being able to develop an app in a short time, in getting feedback of your changes immediately, etc., they just care about technology because that is what they have been taught. They think Smalltalk is not prepared because it is old and new technology has appeared. Of course, they do not know if this "new technology" is better or not, they do not know if Smalltalk was a pioneer in that kind of technology, they are just "pushed" by the market... In some sense it is what some people want education to be. Some people just want graduate students to be prepared for the technology of the moment because they want to sell that technology! And it is better to sell new technology than old technology. It is like fashion, does somebody understand why we have to change our shoes every year? Why do they get out of fashion? There is no reason but a commercial one. So I believe this is one reason (Thank God we still have public-free universities in Argentina where the professors are free to choose the technology they want, they are not pushed by the market of some companies).
Another reason is because Smalltalk is still way ahead of the common languages, it is still revolutionary after almost 30 years! In the beginning of the 90s it was revolutionary because of the VM, the Garbage Collector, etc. and it was not accepted because of that. Java killed that myth by the end of the 90s. Now we are starting to see another revolution regarding dynamically typed languages and it is going to get some time before it gets fully accepted, for this to became true Java has to go through the same thing that happened to C++, some similar language has to kill it (Maybe that language is Ruby...)
But Smalltalk has one more revolutionary characteristic that no other programming environment has, the image. That is the last barrier on the revolution. The image is the big difference, the image is what makes you work with objects in "real time", no difference between compile time and execution time, no files at all, just objects. It is going to be difficult to get out of the "file" world imposed by Unix in the 60s but I think that is the last barrier. When I see people trying to get rid off the Smalltalk image I believe they are wrong, I think they are not truly "Smalltalkers". Which Smalltalker wants to get rid off the image? I know nobody! Is losing the image a good price to pay to be "compatible" with the old Unix style? I think not, at least I do not want to lose the inspector neither the great Smalltalk debugger.
So I believe that there is a long way to go for Smalltalk to get really accepted, before that the "files paradigm" has to come to an end, and this change is going to take a long time because it is not only a change in a programming language but in the whole computer architecture (from operating systems up to the applications), and it may be Smalltalk is not the language that will do it, it may be another language, with another name but with the same object-message-meta-circular-image-model Smalltalk has.