The Heartbeat of Cardano Shifts to Aiken ♥

We’re reading the latest edition of Cardano for the Masses by John Greene, and want to encourage community participation by doing a read-along. We invite you to pick up the book, come along, leave a comment, and participate in the related “Every Epoch” giveaway when they come up!

Our last Chapter review from Cardano for the Masses was “Chapter 7: Marlowe” from the Age of Voltaire edition, published just 13 months ago. Knowing that a newer edition was in the works and available online, I went to check it out. There, I was surprised to see that Chapter 7: Marlowe was gone, replaced by a new “Chapter 7: Aiken ♥“.

I was curious about the change, so I reached out to author John Greene to ask about it. If the heart emoji in the chapter title isn’t a giveaway, it turns out that he just really likes Aiken, which is a newer programming language for Cardano.

”I’m confident Aiken will dwarf Marlowe and Plutus in time… everyone has their favourites however.” -John Greene

So while he really wanted to feature his new favorite topic, Aiken, author Greene also expressed that he was committed to making the book more concise in future editions, not longer. So he is sticking to 10 chapters, which is why Marlowe got the chop to make way for Aiken.

So with that said, we are back here with another chapter review. It’s Chapter 7 again, but this time: Aiken ♥!

Pick a language, any language

The first point John Greene makes in this chapter is perhaps the most important one to get out there, although it’s not about Aiken directly. The point is this: You don’t have to learn Haskell to be a Cardano developer.

When it comes to its foundational computing language, Haskell, Cardano’s reputation precedes it, in both good and bad ways. On the one hand, Haskell is famous for its basis in pure math, and for code that is exceptionally testable and secure. On the other hand, Haskell is known for being obscure, hard to learn, and popular only among select nerds. So while Cardano fanatics take pride in the strength and security of Haskell, practical minds with an eye towards growing and sustaining a robust global community of developers see an obvious problem with this elitism.

So, the big message that needs to get out there is: there are lots of ways to write code for Cardano!

Are you a TypeScript developer? Check out Helios or Plu-ts for an on-ramp to Cardano development that might feel familiar to you. Do you dabble in Python? Try OpShin. Do you love Scala? I’ve never heard of it, but if you have, you should try Scalus.

Each of these language projects was developed with the Cardano blockchain in view. Each one includes tooling that takes the code you write in the language you love, and compiles it to “Untyped Plutus Core” (UPLC), the version of Haskell that the Cardano Ledger understands.

Actually, Pick Aiken ♥

In Stack Overflow’s annual developer survey, Rust has been rated THE WORLD’S MOST POPULAR programming language for 8 consecutive years. So the news that is so big that it earned its own chapter in Greene’s book is: There’s a Cardano programming language for Rust, too! Aiken was first conceived by a group of open-source developers in the Cardano community. As it gained traction, Aiken caught the attention of the Cardano Foundation, which has encouraged and nurtured its growth.

Now, in the State of the Cardano Developer Ecosystem 2023 survey, Aiken earned the top spot as the language that developers intend to use to write Smart Contracts for Cardano. The focus in Aiken’s development has been on creating easy-to-use and Cardano-friendly tooling. Rather than taking multiple days to set up everything you would need to write smart contracts in Haskell, someone who is familiar with Rust can start building in Aiken in a matter of minutes.

As always, I was curious about the name. The Cardano community loves to pay tribute to computer science pioneers, and Aiken is no exception. Ada Lovelace is credited with being the first “computer programmer,” due to her work on Charles Babbage’s groundbreaking “mechanical computer.” Howard Aiken was inspired by Babbage’s mechanical computer to envision the first ELECTRO-mechanical computer, to help him solve the complex math problems that were slowing him down. Cardano named its currency after Ada, and one of its big updates after Babbage. So when the developers of this new, Rust-based language needed a name, they linked it right into the next open branch in the computer science family tree: Aiken.

“The desire to economize time and mental effort in arithmetical computations, and to eliminate human liability to error is probably as old as the science of arithmetic itself.” –Howard Aiken

Blockchain developers feel the same way, Mr. Aiken.

More than just a pretty name, Aiken seems to be earning its popularity with outstanding results in the real world. It is being tested and adopted by many of the most popular and successful Cardano projects: JPG Store, Indigo Protocol, MinSwap, SundaeSwap and Mehen, to name just a few. In the process, these teams are finding that not only is the code easier to write, it performs better - many times better, in terms of transaction speed and size.

Conclusion

Tell your developer friends: developing for Cardano isn’t the intimidating, desolate island of Haskell that it once was! There’s lots of work to do, and lots of ways to do it, including, and perhaps especially, for those who like Rust and would be interested in checking out Aiken. The Aiken chapter of Cardano for the Masses would be a great place to start for a broad overview, plus lots of technical tidbits I didn’t get into here. Or to dive right in, head to https://aiken-lang.org/.

Get more articles like this in your inbox

Was the article useful?

Or leave comment

No comments yet…

close

Playlist

  • EP2: epoch_length

    Authored by: Darlington Kofa

    d. 3 se. 24
    Darlington Kofa
  • EP1: 'd' parameter

    Authored by: Darlington Kofa

    d. 4 se. 3
    Darlington Kofa
  • EP3: key_deposit

    Authored by: Darlington Kofa

    d. 3 se. 48
    Darlington Kofa
  • EP4: epoch_no

    Authored by: Darlington Kofa

    d. 2 se. 16
    Darlington Kofa
  • EP5: max_block_size

    Authored by: Darlington Kofa

    d. 3 se. 14
    Darlington Kofa
  • EP6: pool_deposit

    Authored by: Darlington Kofa

    d. 3 se. 19
    Darlington Kofa
  • EP7: max_tx_size

    Authored by: Darlington Kofa

    d. 4 se. 59
    Darlington Kofa
0:00
/
~0:00