Can someone please explain why Algorand cannot adopt multiple languages than PyTeal?

I feel like one of the biggest valid criticisms of Algorand atm is that there is a learning curve with PyTeal, as compared to Solidity for ex.

As someone not versed in software engineering, I am confused why there is not a development tool prepared to either directly allow multiple languages than the native PyTeal, or practically translate SCs into PyTeal or compatible version to operate in Algorand blockchain. Wouldn’t this be more effective in truly “bridging” multiple networks’ MC and developers while strengthening Algorand’s ecosystem? Is this just not possible/harder than said?

Have you seen reach ?

Hey Scholtz,

What do you mean by this? I’m familiar with the entity, but never heard they’re working on such tool I’ve described. As far as I understand, no one is building this currently, or are they?

TEAL is the native smart contractive language for Algorand.
It is a low-level language, which makes it hard to write complex smart contracts.

PyTeal is just a wrapper that will compile python code into TEAL code (This is what is deployed on the blockchain).

Having similar wrappers in other languages like Go, Rust, and Java makes sense, but only the python wrapper is available at the moment.

Ultimately all of these should be compiled into TEAL code.

Reach is a high-level language and the syntax looks more like javascript.
If you write your code using Reach, you can deploy your contract on Algorand or Ethereum.
It is blockchain agnostic.

5 Likes

Very nice explanation!

Thank you for this concise explanation. Are there any ongoing efforts to provide other language wrappers than python’s atm?

Reach platform sounds like they have the potential to blow up! Hopefully they stay with Algorand as long as possible and keep building for us. It’s odd there isn’t much focus on improving and preparing for onboarding from multiple chains, at least to my expectations vs. focusing on NFTs and how “green” we are seemingly every day (Big fish vs. Small fish from my pov).

Maybe @fabrice can answer if there is an ongoing effort from the team or community on other language wrappers.