17.7 C
New York
Thursday, September 29, 2022

Q&A: Adele Goldberg on the Legacy of Smalltalk – IEEE Spectrum

IEEE websites place cookies on your device to give you the best user experience. By using our websites, you agree to the placement of these cookies. To learn more, read our Privacy Policy.
One of the language’s original developers talks about its influence on modern-day programming
Smalltalk is one of the most influential programming languages, inspiring the object-oriented programming paradigm; the world of graphical user interfaces; and live coding, which allows you to modify your code while it’s running and debug it on the fly. Some of the top programming languages of today—including Java and Ruby—as well as languages such as Lisp and Objective-C have elements of Smalltalk in them. While not widely popular today, Smalltalk is still being used to power applications in variousindustries.
For Smalltalk’s 50th anniversary this year, we spoke with Adele Goldberg, who codeveloped the language along with Alan Kay and Dan Ingalls.
IEEE Spectrum: What was the motivation behind creating Smalltalk?
Adele Goldberg: In the early ’70s, Alan Kay proposed that we should all be carrying around the handheld computer which he called the Dynabook. The question was, “What would you do with a handheld computer—something you can carry with you all the time? Would it be relegated to professionals or could anybody create on it?”
We were interested in understanding the kind of software that would allow what Alan liked to call “children of all ages” to create models of their understanding of how the world worked. It was more than applications—it was the development environment, and we called it a modeling environment, not a programming environment. That translated into the initial experiments on the simulation language, and that’s what motivated the particular ideas behind Smalltalk.
What was your role in developing Smalltalk?
Goldberg: In 1973, Alan Kay was putting a group together at Xerox at their new Palo Alto Research Center and invited me to join. I was very involved in experimenting with various language constructs and what we would need as we moved from Smalltalk-72 to Smalltalk-80. By 1978, Allan had taken a sabbatical and did not return to Xerox; I then became the group manager and eventually a research-laboratory manager.
I was running a lab and helping direct what to work on, but I was very focused on getting the results out the door for broader use in the world. So, I worked with the team to get a version of Smalltalk that would run on multiple machines—not just Xerox proprietary workstations, but microprocessor technology that was becoming quite popular and available. Eventually, we got Xerox to let us spin out our own commercial company, and I was the founding CEO.
When Smalltalk was developed, what do you think made it different from the existing programming languages at that time?
Goldberg: When you start thinking about how Smalltalk was different from the type of software that was then available, it was geared up to provide a components-based, reuse-based approach to software development—something that was very iterative and you could prototype and evolve toward an understanding of what it is you wanted to do. And because of the structure, object-oriented technology was a good way to rapidly make changes with predictability in terms of maintaining the reliability or stability of the system.
Would you say during that time it was groundbreaking?
A woman sits in front of a microphoneAdele GoldbergComputer History Museum
Goldberg: You always build on the shoulders of other people. The whole approach that was the foundation of objects and message sending comes from Simula. What we were focused on was not language alone, but how the language supports and influences that larger use in the development environment and the ability to just look at something running.
I remember people in the ’80s were arguing about low-level user-interface issues. In particular, when you select text, are you underlining, boxing the selected text, or reversing black and white to white and black? Back then, we had visitors in the lab, and one of my colleagues was doing the demonstrations. I could see that these two gentlemen were not happy, so I asked what’s wrong. They said that’s not the way to show a selection and explained what they wanted. My colleague showed a running text editor as an example of building media on top of the language environment, and he interrupted the active process, found where the highlighting action was, and changed it to do what they wanted. The entire tone of the room changed—you could feel it… These guys were sitting up and then they relaxed.
We had the live flexibility to change things, and we were saying, “How can we empower you to have what you want?” But we got attacked for that too. It meant that people were dealing with a virtual machine and an interpretive system and they assumed it was inherently slow. We had to prove that wasn’t the case and that you could incrementally compile. I remember the days when one of my engineers was quilting and other people were doing other things while they waited for a compile to finish. It took a while, and you lose the immediacy. When you lose the immediacy, you lose the energy that goes into creativity. So, we were excited about the idea—the fun of “It’s always live; it’s always running, and you get what you want.”
How has Smalltalk influenced the world of object-oriented programming?
Goldberg: One original mission of our research lab was education, but the other one was dealing with a new paradigm for software development. So the influence there is in software engineering and proving the case for switching from structured programming to object-oriented programming. That impact in the flow from the programming environment to software engineering meant that lots of work went into methodology. This new approach to software development changed how you organized the team, your planning, and your analysis of the problem.
Then, there have been new programming languages that either took an existing language and added objects or had a whole new approach to their idea of what it meant to have more of a components-based technology.
We get a lot of credit for graphical user interfaces. We were trying to figure out the best way to allow a person to touch that computer and say what they want to do with senses other than a keyboard. We certainly demonstrated a lot of that, and a lot of our applications were initial enablers for new ways of doing text editing or painting or building animations and integrating multimedia and graphics. Those applications were often the first time people would see something like overlapping windows, or the kind of spreadsheets or text editing we did that were objects and embedding objects—again, a components-based approach.
Why does Smalltalk continue to be an influential programming language, even today?
Goldberg: I’m pretty confident that Smalltalk remains the only language system that does a couple of things differently. One is that everything really is an object. When we did Smalltalk-80, we made sure everything’s an object, all activities are done by message sending, all objects are instances of a class. Then, you should be able to build general hierarchies of objects and classes. It’s more consistent in the model of how things work, so it makes it easier for people to learn and take the risk and change.
Another big point is that you learn to write by reading, and it's the same with programming. Smalltalk-80 was specifically orchestrated to be readable—not just by looking at the object descriptions, but there’s the set of tools written in the language itself. People can essentially write whole new worlds in Smalltalk so that the experimentation flows better. You could say, “What are you and what do you do? Show me your definition. Show me who’s calling on you and who you call on.” All that comes out of an object-oriented approach.
It’s a fun place to play but also do serious work, which is why you still see people who are into Smalltalk.
Do you hope Smalltalk will go on to live for another 50 years?
Goldberg: It’s not something I even think about. In the world of computer science, designing languages for specific needs and uses is part of the fun, so whether it’s called Smalltalk or not, I think it’s nice to see the paradigm living on.
This transcript has been edited for brevity and clarity.
Rina Diane Caballar is a journalist and former software engineer based in Wellington, New Zealand.
A cautionary tale of NFTs, Ethereum, and cryptocurrency security
On 4 September 2018, someone known only as Rabono bought an angry cartoon cat named Dragon for 600 ether—an amount of Ethereum cryptocurrency worth about US $170,000 at the time, or $745,000 at the cryptocurrency’s value in July 2022.
It was by far the highest transaction yet for a nonfungible token (NFT), the then-new concept of a unique digital asset. And it was a headline-grabbing opportunity for CryptoKitties, the world’s first blockchain gaming hit. But the sky-high transaction obscured a more difficult truth: CryptoKitties was dying, and it had been for some time.
Dragon was never resold—a strange fate for one of the most historically relevant NFTs ever. Newer NFTs such as “The Merge,” a piece of digital art that sold for the equivalent of $92 million, left Dragon behind as the NFT market surged to record sales, totaling roughly $18 billion in 2021. Has the world simply moved on to newer blockchain projects? Or is this the fate that awaits all NFTs?
To understand the slow death of CryptoKitties, you have to start at the beginning. Blockchain technology arguably began with a 1982 paper by the computer scientist David Chaum, but it reached mainstream attention with the success of Bitcoin, a cryptocurrency created by the anonymous person or persons known as Satoshi Nakamoto. At its core, a blockchain is a simple ledger of transactions placed one after another—not unlike a very long Excel spreadsheet.
The complexity comes in how blockchains keep the ledger stable and secure without a central authority; the details of how that’s done vary among blockchains. Bitcoin, though popular as an asset and useful for money-like transactions, has limited support for doing anything else. Newer alternatives, such as Ethereum, gained popularity because they allow for complex “smart contracts”—executable code stored in the blockchain.
“Before CryptoKitties, if you were to say ‘blockchain,’ everyone would have assumed you’re talking about cryptocurrency”—Bryce Bladon
CryptoKitties was among the first projects to harness smart contracts by attaching code to data constructs called tokens, on the Ethereum blockchain. Each chunk of the game’s code (which it refers to as a “gene”) describes the attributes of a digital cat. Players buy, collect, sell, and even breed new felines. Just like individual Ethereum tokens and bitcoins, the cat’s code also ensures that the token representing each cat is unique, which is where the nonfungible token, or NFT, comes in. A fungible good is, by definition, one that can be replaced by an identical item—one bitcoin is as good as any other bitcoin. An NFT, by contrast, has unique code that applies to no other NFT.
There’s one final piece of the blockchain puzzle you need to understand: “gas.” Some blockchains, including Ethereum, charge a fee for the computational work the network must do to verify a transaction. This creates an obstacle to overworking the blockchain’s network. High demand means high fees, encouraging users to think twice before making a transaction. The resulting reduction in demand protects the network from being overloaded and transaction times from becoming excessively long. But it can be a weakness when an NFT game goes viral.
Launched on 28 November 2017 after a five-day closed beta, CryptoKitties skyrocketed in popularity on an alluring tagline: the world’s first Ethereum game.
“As soon as it launched, it pretty much immediately went viral,” says Bryce Bladon, a founding member of the team that created CryptoKitties. “That was an incredibly bewildering time.”
Sales volume surged from just 1,500 nonfungible felines on launch day to more than 52,000 on 10 December 2017, according to nonfungible.com, with many CryptoKitties selling for valuations in the hundreds or thousands of dollars. The value of the game’s algorithmically generated cats led to coverage in hundreds of publications.
Each CryptoKitty is a token, a set of data on the Ethereum blockchain. Unlike the cryptocurrencies Ethereum and Bitcoin, these tokens are nonfungible; that is, they are not interchangeable.

Dapper Labs
What’s more, the game arguably drove the success of Ethereum, the blockchain used by the game. Ethereum took off like a rocket in tandem with the release of CryptoKitties, climbing from just under $300 per token at the beginning of November 2017 to just over $1,360 in January 2018.
Ethereum’s rise continued with the launch of dozens of new blockchain games based on the cryptocurrency through late 2017 and 2018. Ethermon, Ethercraft, Ether Goo, CryptoCountries, CryptoCelebrities, and CryptoCities are among the better-known examples. Some arrived within weeks of CryptoKitties.
This was the break fans of Ethereum were waiting for. Yet, in what would prove an ominous sign for the health of blockchain gaming, CryptoKitties stumbled as Ethereum dashed higher.
Daily sales peaked in early December 2017, then slid into January and, by March, averaged less than 3,000. The value of the NFTs themselves declined more slowly, a sign the game had a base of dedicated fans like Rabono, who bought Dragon well after the game’s peak. Their activity set records for the value of NFTs through 2018. This kept the game in the news but failed to lure new players.
Today, CryptoKitties is lucky to break 100 sales a day, and the total value is often less than $10,000. Large transactions, like the sale of Founder Cat #71 for 60 ether (roughly $170,000) on 30 April 2022, do still occur—but only once every few months. Most nonfungible fur-babies sell for tiny fractions of 1 ether, worth just tens of dollars in July 2022.
CryptoKitties’ plunge into obscurity is unlikely to reverse.Dapper Labs, which owns CryptoKitties, has moved on to projects such as NBA Top Shot, a platform that lets basketball fans purchase NFT “moments”—essentially video clips—from NBA games. Dapper Labs did not respond to requests for an interview about CryptoKitties. Bladon left Dapper in 2019.
One clue to the game’s demise can be found in the last post on the game’s blog (4 June 2021), which celebrates the breeding of the 2 millionth CryptoKitty. Breeding, a core mechanic of the game, lets owners pair their existing NFTs to create algorithmically generated offspring. This gave the NFTs inherent value in the game’s ecosystem. Each NFT was able to generate more NFTs, which players could then resell for profit. But this game mechanism also saturated the market. Xiaofan Liu, an assistant professor in the department of media and communication at City University of Hong Kong who coauthored a paper on CryptoKitties’ rise and fall, sees this as a flaw the game could never overcome.
“The price of a kitty depends first on rarity, and that depends on the gene side. And the second dimension is just how many kitties are on the market,” Liu says. “With more people came more kitties.”
More players meant more demand, but it also meant more opportunities to create supply through breeding new cats. This quickly diluted the rarity of each NFT.
Bladon agrees with that assessment of the breeding mechanism. “I think the criticism is valid,” he says, explaining that it was meant to provide a sense of discovery and excitement. He also hoped it would encourage players to hold on to NFTs instead of immediately selling, as breeding, in theory, provided lasting value.
A flow chart with arrows between cartoon kittens.The CryptoKitties blockchain game involves collecting, selling, and breeding nonfungible felines. The example here assumes your kitty is female.Dapper Labs
The sheer volume of CryptoKitties caused another, more immediate problem: It functionally broke the Ethereum blockchain, which is the world’s second most valuable cryptocurrency by market capitalization (after Bitcoin). As explained earlier, Ethereum uses a fee called gas to price the cost of transactions. Any spike in transactions—buying, siring, and so on—will cause a spike in gas fees, and that’s exactly what happened when CryptoKitties went to the moon.
“Anything that was emblematic of CryptoKitties’ success was aped. Anything that wasn’t immediately visible was mostly ignored.”—Bryce Bladon
“Players who wanted to buy CryptoKitties incurred high gas fees,” Mihai Vicol, market analyst at Newzoo, said in an interview. “Those gas fees were anywhere from $100 to $200 per transaction. You had to pay the price of the CryptoKitty, plus the gas fee. That’s a major issue.”
The high fees weren’t just a problem for CryptoKitties. It was an issue for the entire blockchain. Anyone who wanted to transact in Ethereum, for any reason, had to pay more for gas as the game became more successful.
This dynamic remains a problem for Ethereum today. On 30 April 2022, when Yuga Labs released Otherdeeds—NFTs that promise owners metaverse real estate—it launched Ethereum gas fees into the stratosphere. The average price of gas briefly exceeded the equivalent of $450, up from about $50 the day before.
Although CryptoKitties’ demands on the network subsided as players left, gas will likely be the final nail in the game’s coffin. The median price of a CryptoKitty in the past three months is about 0.04 ether, or $40 to $50, which is often less than the gas required to complete the transaction. Even those who want to casually own and breed inexpensive CryptoKitties for fun can’t do it without spending hundreds of dollars.
The rise and fall of CryptoKitties was dramatic but gave its successors—of which there are hundreds—a chance to learn from its mistakes and move past them. Many have failed to heed the lessons: Modern blockchain gaming hits such as Axie Infinity and BinaryX had a similar initial surge in price and activity followed by a long downward spiral.
“Anything that was emblematic of CryptoKitties’ success was aped. Anything that wasn’t immediately visible was mostly ignored,” says Bladon. And it turns out many of CryptoKitties’ difficulties weren’t visible to the public. “The thing is, the CryptoKitties project did stumble. We had a lot of outages. We had to deal with a lot of people who’d never used blockchain before. We had a bug that leaked tens of thousands of dollars of ether.” Similar problems have plagued more recent NFT projects, often on a much larger scale.
Liu isn’t sure how blockchain games can curb this problem. “The short answer is, I don’t know,” he says. “The long answer is, it’s not just a problem of blockchain games.”
World of Warcraft, for example, has faced rampant inflation for most of the game’s life. This is caused by a constant influx of gold from players and the ever-increasing value of new items introduced by expansions. The continual need for new players and items is linked to another core problem of today’s blockchain games: They’re often too simple.
“I think the biggest problem blockchain games have right now is they’re not fun, and if they’re not fun, people don’t want to invest in the game itself,” says Newzoo’s Vicol. “Everyone who spends money wants to leave the game with more money than they spent.”
The launch of CryptoKitties drove up the value of Ether and the number of transactions on its blockchain. Even as the game's transaction volume plummeted, the number of Ethereum transactions continued to rise, possibly because of the arrival of multiple copycat NFT games.
That perhaps unrealistic wish becomes impossible once the downward spiral begins. Players, feeling no other attachment to the game than growing an investment, quickly flee and don’t return.
Whereas some blockchain games have seemingly ignored the perils of CryptoKitties’ quick growth and long decline, others have learned from the strain it placed on the Ethereum network. Most blockchain games now use a sidechain, a blockchain that exists independently but connects to another, more prominent “parent” blockchain. The chains are connected by a bridge that facilitates the transfer of tokens between each chain. This prevents a rise in fees on the primary blockchain, as all game activity occurs on the sidechain.
Yet even this new strategy comes with problems, because sidechains are proving to be less secure than the parent blockchain. An attack on Ronin, the sidechain used by Axie Infinity, let the hackers get away with the equivalent of $600 million. Polygon, another sidechain often used by blockchain games, had to patch an exploit that put $850 million at risk and pay a bug bounty of $2 million to the hacker who spotted the issue. Players who own NFTs on a sidechain are now warily eyeing its security.
The cryptocurrency wallet that owns the near million dollar kitten Dragon now holds barely 30 dollars’ worth of ether and hasn’t traded in NFTs for years. Wallets are anonymous, so it’s possible the person behind the wallet moved on to another. Still, it’s hard not to see the wallet’s inactivity as a sign that, for Rabono, the fun didn’t last.
Whether blockchain games and NFTs shoot to the moon or fall to zero, Bladon remains proud of what CryptoKitties accomplished and hopeful it nudged the blockchain industry in a more approachable direction.
“Before CryptoKitties, if you were to say ‘blockchain,’ everyone would have assumed you’re talking about cryptocurrency,” says Bladon. “What I’m proudest of is that it was something genuinely novel. There was real technical innovation, and seemingly, a real culture impact.”
This article was corrected on 11 August 2022 to give the correct date of Bryce Bladon's departure from Dapper Labs.
This article appears in the September 2022 print issue as “The Spectacular Collapse of CryptoKitties.”

source

Related Articles

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Latest Articles