Some may mistakenly think that if you want to write smart contracts for Cardano you have to learn Haskell. You can go that route, or use one of the emerging alternatives. One of these is Aiken, a new programming language and toolkit for developing smart contracts on Cardano. Aiken will be a full-featured platform that allows you to write a smart contract quickly including detailed error messages and conveniently with all the necessary tools. TLDR Aiken focuses only on the on-chain part of the application. Aiken will allow you to write and run the "Hello, World!" app in 10 minutes. The on-chain part of the application can be written in any language as long as there is a compiler that translates the code into Plutus Core. The compiler works similarly to a language translator. An Alpha release with the first pioneers is scheduled for Q1 2023. The mission of the Aiken project The team is trying to build a platform that allows writing smart contracts without the need to know Haskell. Aiken is a brand-new programming language inspired by Gream, Rust, and Elm. These languages are well known for friendly error messages and excellent developer experience. Aiken has its own syntax and compiler. We'll talk more about the importance of the compiler below. Aiken focuses only on the on-chain part of the application and has no ambition to become a general-purpose language. For the backend (off-chain) part of the application, something else must be used. Aiken's main goal is to make on-chain development easier and faster, with an emphasis on security and verification that the code does exactly what is expected of it. Therefore, it is necessary to keep the language simple and manageable. On-chain code is typically only a small part of the whole application used to interact with Cardano. Third-party teams can use any other platform to build the off-chain part. Getting started building a smart contract with Aiken is very simple and requires minimal configuration. If you have a Rust environment ready, you literally only need a few commands. An experienced programmer only needs a day or so to go through the Language Tour section of the documentation to start writing the first contract. As a language, Aiken is purely functional with static typing and type inference. Developers can create their own custom types. It is possible to write and run a "Hello, World!" smart contract on Cardano within 10 minutes. The tutorial will help you with this. How is it possible to write contracts in something other than Haskell? Cardano node is written in Haskell as well as the virtual machine. What is a virtual machine? To understand this, you first need to know how the source code is created and how it is executed on the computer. This will help you understand why you can use Aiken and other programming languages to write smart contracts for Cardano. Developers write source code in human-readable languages. This can be the Haskell programming language, but also Aiken. You can think of it as writing text that someone else can read. There are, of course, a large number of other programming languages. In order for a program (smart contract) to be executed, it must be translated into machine-readable instructions. This process is called compilation. The tool is called a compiler. You can think of a compiler as a regular language translator. Consider the following situation. You need to give commands to a worker who can only speak Latin. There is a language translator between you and the worker. You can write text in any language (English, Chinese, Spanish, etc) and the translator will translate it into Latin. Thanks to the translation, the worker can understand the commands and execute them. In our example, the worker was the computer and you were the programmer. The translator helped you translate your native language into Latin, a language that the worker (the computer) understands. In the case of Cardano, the source code (the on-chain part of the application, the smart contract) is translated into something called Untyped Plutus Core (UPLC). It is the lowest-level representation of a smart contract for Cardano. This low-level representation is actually what gets executed (on-chain) by the Cardano virtual machine. A virtual machine is a software environment that executes machine-readable code. In the case of Cardano, it is UPLC. It provides a layer of abstraction between the UPLC and the underlying operating system and hardware, allowing the on-chain part of the application to be executed on a wide range of platforms. Simply put, the virtual machine is part of the Cardano node that executes smart contracts. So, now you understand that Aiken is not just a programming language. An essential part of Aiken is also a compiler that is able to compile Aiken source code into Untyped Plutus Core. A smart contract can be written in any programming language as long as there is a compiler that translates it into a machine-readable language (UPLC) that the Cardano virtual machine understands and thus can execute. In addition to Aiken, there are 5 other similar platforms that operate on a similar concept. These are eopsin, Helios, Plutarch, plu-ts, and Scalus. Let's add that if you write a smart contract the traditional way, you use the Haskell framework which uses the Glasgow Haskell Compiler (GHC) to compile the application into UPLC. The future of the project The project has the ambition to bring a modern development environment to the Cardano ecosystem. Aiken is a small programming language that is very easy to learn. Configuration takes literally a few minutes. Developers will appreciate the friendly feedback with helpful error dialogs. Libraries are to be part of the project which will make the work of other teams easier. There is a unit test framework and tools for the evaluation of execution cost and trace reporting. The project is open source and involves 20 contributors. According to the roadmap, an Alpha release with the first pioneers is scheduled for Q1 2023. An online playground is also in the pipeline. From our point of view, Aiken is a promising project that can attract developers who want to build on Cardano, but for some reason are not willing to learn Haskell. Aiken breaks down this barrier and provides a way to write the on-chain part of the application easily and quickly, yet reliably. Developers get a modern development environment and all the tooling. These kinds of projects move the Cardano ecosystem forward significantly.