I am a newbie to blockchain in the Cardano ecosystem. I have been exploring the Cardano documentation, which mentions various programming languages for writing smart contracts on the platform.

How do I determine the appropriate programming language for my Dapp?

Currently, which programming language is predominantly used for writing smart contracts and has been widely adopted in production on Cardano now?

2 Answers 2


The main programming language used to date is still Haskell.

Whether based on the GHC plugin "PlutusTX" by IOG (the first "smart contract language" released for cardano) or based on "Plutarch" (the second one, which is an eDSL in Haskell)

Despite that, new languages such as Aiken, plu-ts, OpShin are gaining momentum.

To determine which one is the one for your dApp it strictly depends on what you are more comfortable with

(eg. if you prefer typescript you'll go with plu-ts; if you prefer python you'll go with OpShin, and so on).

Keep also in mind that most of your dApp will likely be offchain code (transaction creation), and the smart contracts will only be needed to validate those transactions.


If you are interested in learning about Cardano I can highly recommend the course at plutuspbl.io it's a project based learning environment and covers PlutusTX, Aiken etc (and it's free😃)

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.