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.