Latest news about Bitcoin and all cryptocurrencies. Your daily crypto news habit.
I just returned from the Smalltalks 2018 conference in Salta, Argentina, where I gave a keynote address. It was well received, and it inspired Vance Kershner, CEO and founder of LabWare, to fully fund The James Robertson Memorial Programming Competition. I am most pleased with theĀ outcome.
What follows is the transcript.
Thank you for that kind introduction.
It is a pleasure to be here to deliver this keynote, especially in your beautiful country. Iād like to thank Leandro Caniglia for inviting me and making thisĀ happen.
Iāve been a staunch advocate for Smalltalk over the past four years. I would like to explain why I did it, what my motivation was, what my strategy was, and what the outcomeĀ was.
But, first, letās begin with a little bit ofĀ historyā¦
The IT industry has held a dirty little secret for more than five decades. Since the 1960s, we wrote programs in a singularly consistent fashion using textual programming languages and text editors, and storing our source code in files and folders. These files contained long reams of code that were arduous toĀ read.
We compiled our source code and built our application from the command line. Even with todayās modern IDEs, we are indirectly still doingĀ this.
We tested our application and if it failed, we had to diagnose the problem, edit the code, and recompile. And if it failed again, we had to repeat. This edit-compile-test-debug cycle was time-consuming and inefficient.
Very little has changed today. Our languages are a bit fancier. Our text editors are more comprehensive. But we are still slaves to files, folders, and the command line. To borrow a phrase from Star Trekās āThe City on the Edge of Forever,ā we are effectively programming āusing stone knives and bearskins.ā
As a result, our productivity has suffered. With the right tools, we could double our productivity. We could create software in half the time that it takes us now, on average. How much is that worth to our economy and our industry?
Ironically, this possible future has been staring us in the face for more than 40 years, but weāve been too blind to seeĀ it.
There is a Peter Allen song that goes likeĀ this:
Donāt throw the past awayYou might need it some rainy dayDreams can come true againWhen everything old is newĀ again
This is most applicable to Smalltalk.
It has a great historical legacy. It has been proven in the field countless times. According to Capers Jones of Namcook Analytics, the leading authority on software metrics, Smalltalk is the most productive of all the major programming languages. Only languages like MUMPS and Mathematica are more productive, but who really wants to use those languages for general programming?
Ever since a friend of mine introduced me to Smalltalk about eleven years ago, Iāve been fascinated by the language. I wondered why it wasnāt more popular. Despite all the technical material you could find on the web about Smalltalk, including some advocacy, people just werenāt paying much attention toĀ it.
I believed it was because Smalltalk wasnāt being marketed properly. Technical conferences didnāt reach enough people. Technical articles full of code examples werenāt compelling.
Smalltalk was roundly ignored in social media. A loud voice was needed, in my opinion. And I decided to be that voice, because, frankly, nobody else was stepping up to theĀ plate.
My strategy was to publish lots and lots of articles extolling the virtues of Smalltalk. These articles would have to be eye-catching, so I adorned them with attractive images. I made heavy use of the famous hot air balloon motif that was popularized by BYTE magazine.
When BYTE published a cover story on Smalltalk in August of 1981, Smalltalk became something of a sensation in the programming community. It was so influential that languages like Objective-C and Erlang and the Common Lisp Object System would draw their inspiration from it. Much later, Ruby and Python and Groovy and Scala and Dart and others would followĀ suit.
Hereās a favourite image that Iāve used frequently. It is simply breathtaking. It evokes freedom and adventure in oneāsĀ mind.
Hereās another. I have a collection of about two dozen similar images, and Iāve used them very effectively.
I hammered home the six key advantages of Smalltalk. In particular, I emphasized the power of live coding and the fact that Smalltalk is a system of live objects. The IDE organizes code as a collection of classes and methods, not long reams of code stored in textĀ files.
Bret Victor referred to this as representing source code in a two-dimensional spatial fashion. There are no source files. Your eyes are focussed only on classes and methods. On Wednesdayās presentation, Tudor Girba showed us the next major evolution of this idea (the Glamorous Toolkit).
I showed that Smalltalk syntax was supremely simple and easy to learn using a post card that I meticulously created. Smalltalk post cards have been used in the past, but they werenāt particularly attractive.
This one has been quite a hit. It is easily the most viewed image in my collection.
I discussed live coding as the premier quality in Smalltalk programming and how it was responsible for Smalltalkās incredible productivity.
In a 2017 paper, Capers Jones ranked programming languages according to productivity. Here were some of theĀ numbers:
Among the least productive languages are C and Fortran and, most interestingly, JavaScript. JavaScript is currently a very hot language, but not as productive as web developers claim.
Ruby is fairly productive. So is Objective-C. But very few are as productive as Smalltalk.
Itās important to understand that the Namcook Analytics study is not saying all of these languages are productive across the board. Excel is most productive for spreadsheet applications. MUMPS is most productive for hospital and healthcare applications. But the most productive all-round language is Smalltalk.
A word about the apparent clustering in the data, for example, C++, Java, and Python all have the same number of work hours. As Capers Jones explains it, this table represents the synthesis of data sources from numerous client studies collected over the years and ānormalizedā to give you the clustering. The clustering is a side effect of statistical methods applied to theĀ data.
In the 1990s, Smalltalk became the most popular OO language in the world, after C++. C++ had the lionās share, but Smalltalk got a respectable 15 per cent, well above the rest of theĀ field.
Hereās a page from Computerworld, November 6, 1995, showing Smalltalk and C++ duking itĀ out.
Smalltalk was so good for business use that IBM chose Smalltalk as the centrepiece of their VisualAge enterprise initiative to replace COBOL. Obviously, IBM did not make this decisionĀ lightly.
So, how do you market Smalltalk? My strategy was simple. For years, people had written numerous technical articles, and given numerous technical talks. People had been contributing to various open source Smalltalk projects.
However, the āif you build it, they will comeā philosophy wasnāt working. Appealing to people on an intellectual basis wasnāt working. Smalltalk was still being ignored. What needed to be done, I surmised, was to appeal to people on an emotional level, the way itās done in marketing and advertising. Smalltalk needed to promote itself in the same way that Apple promotes iPhone and Elon Musk promotesĀ Tesla.
I recounted the numerous historical contributions by Smalltalk. I reminded the public of Smalltalkās popularity three decades ago. I listed major users of Smalltalk. I showed how versatile Smalltalk couldĀ be.
I kept the marketing messages clear, simple, and focussed. And I repeated these messages over and overĀ again.
The result is that my articles have reached many tens of thousands of people around the world. One of them, entitled āHow learning Smalltalk can make you a better developer,ā garnered over 70,000 views. At Code Project, a similar article received 12,000Ā views.
On Quora, I answered thousands of questions with recommendations to learn Smalltalk programming. These answers were read by tens of thousands, as well. So, overall, a lot more people today are aware of Smalltalk. I believe Iāve dispelled the perception of Smalltalkās demise, but perhaps thatās justĀ hubris.
I tried to create a Smalltalk programming competition in my home country of Canada. Unfortunately, I couldnāt secure the funding. However, my effort may give you some more marketing ideas.
Hereās a poster IĀ created.
Hereās the competition website IĀ createdā¦
Hereās the promoĀ video:
Here are a couple of T-shirtĀ designs:
And
Another thing Iām hoping for is continuing advocacy from the Smalltalk community. Iāve made a lot of noise these past four years, but it mustnāt stop with me. I urge all Smalltalkers around the globe to continue the work that Iāve done. Make your voice heard on social media. Write blogs that target newcomers and business executives. Go beyond just technical writing.
Make the marketing of Smalltalk a priority.
I have some suggestions for making your voice heard more clearly. When you write, write with clarity and passion. Use attractive eye-catching images in yourĀ blogs.
Itās not easy to develop oneās writing skills. It can only come from practice. Just like programming, the more you write, the better youāllĀ become.
Let passion be your guide. It will show in your writing. Use your imagination. It never ceases to amaze me how many ideas pop into my head when Iām relaxed and focussed on Smalltalk.
Tell people your story. Why did you choose Smalltalk? Why did you stay with it? What makes you happy when you use Smalltalk?
Know the history of the language so that you can present lots of intriguing facts to support your recommendations. Many of my articles contain good examples.
In closing, let me just say this. Smalltalk deserves a better fate than it has received in the past 20 years. Far too many developers today have either never heard of Smalltalk, or they believe Smalltalk is a defunct language.
Smalltalk has the potential to double the worldās software development productivity, on average. This would be hugely impactful on the IT industry, as well as ourĀ economy.
For me, however, the greatest benefit of Smalltalk is that it brings fun back into programming. The cognitive load presented by Java and Python and JavaScript and C++ was never fun for me. With Smalltalk, I can understand the entire system. There are no dark corners. Programming in Smalltalk brings a smile to myĀ face.
And at the end of the day, thatās the only thing that truly matters. MuchasĀ gracias.
My Keynote at the Salta Conference was originally published in Hacker Noon on Medium, where people are continuing the conversation by highlighting and responding to this story.
Disclaimer
The views and opinions expressed in this article are solely those of the authors and do not reflect the views of Bitcoin Insider. Every investment and trading move involves risk - this is especially true for cryptocurrencies given their volatility. We strongly advise our readers to conduct their own research when making a decision.