Should you learn solidity as your first programming language ? Let’s find out together.
What is solidity ?
Solidity is a statically typed programming language designed for developing smart contracts that run on the Ethereum Blockchain.
So, if you are using solidity, then what you will be doing is writing smart contracts(programs) for the Ethereum Blockchain.
Now here are two very crucial things that you should know about smart contracts (since you are going to create them) and how they are different from any other program that you create using programming languages such as C, C++, JAVA –
- Immutable – Once a smart contract is deployed to a Blockchain. You cannot change the functionality of the smart contract. Why? because Blockchain is immutable in nature.
- Pay for every line of code – For every line of code in a smart contract, a gas fee is associated. This means you are paying for every single line of code that you are writing in your smart contract.
The above things make writing smart contracts complicated. So, if you are thinking about learning solidity as your first programming language, then you can be in a big problem.
Let’s understand the role of the first programming language. When you start learning a first programming language, it helps you in the following way.
- Logic Implementation – It helps you to understand how to create logic.
- Code Work Flow – It helps you to understand how code works and how it runs on your system.
- Syntaxes – It helps you to get familiar with the syntax and keywords that you are using.
So, in short, it is your first step to being a programmer. And if you choose solidity as your first programming language, then this first step will become difficult. Because not only will you be dealing with logic implementation, code work flow and syntax, but also how to write a safe, secure and optimized program (smart contract).
If you created a smart contract that has bugs and you deployed it on the Blockchain. You cannot change that smart contract.
If you created a smart contract that is not optimized, then you/your company can suffer a huge amount of loss.
But if you compare your with any other program (written in C, C++, JAVA) then that’s no the case.
And another drawback to solidity is that solidity is specific to the Ethereum Blockchain only. But if we talk about the Rust programming language (used in the Solana Blockchain), it can also be used for other purposes also.
So seeing the above points, according to me, solidity should not be your first programming language.