Programming language choice
Posted by Legitimate_Trick5979@reddit | learnprogramming | View on Reddit | 10 comments
Are possible to learn the blockchaine program language solidity as a first programing language or is better to start with a well known like js?
(my main goal are web3, smart contra)
Sad_Chemical_231@reddit
C# and Java
Pyromancer777@reddit
If your goal is only web3, then pick a language specific to a target blockchain protocol. Solidity will basically let you learn to program for a good portion of smart contracts as well as a any memecoin that was made with the ETH protocol.
That being said, you probably want to learn a language that you can tinker with while not connected to a blockchain unless you don't mind everyone being able to track your contract attempts as you learn. Iirc, even if you create a test coin, that test coin is still attached to active nodes hosted on a parent protocol, so those test contracts can be viewed by anyone using a blockchain explorer.
If you already have a great grasp of the blockchain, solidity is fine as a starter language. However, if you are new-new to the inner workings of the tech, pick a language that you can tinker with on your own hardware. Developing web3 apps generally mean that you need experience with other languages too and the smart contracts are basically the interface to store app data on the blockchain instead of a normal App -> API -> DB data pipeline.
The good news is that most core-concepts translate pretty well, so it doesn't matter what your starter language is. Each have their own caveats and learning curves. Python has easy syntax, but lacks many GUI libraries, so it is preferred for creating scripts. Javascript is amazing for web3 apps, but you will need to learn it along with HTML and CSS simultaneously to really understand how the JS scripts relate to interactivity of the markdown containers in a webpage. Solidity is good for actually getting into the nuts and bolts of smart contract creation, but you might lack more traditional testing environments outside of your IDE to get a feel for what your code is actually doing.
Pick your fave, have fun, don't get discouraged when your code breaks (it will break often, even when you build up experience), and try to leverage AI for explanations rather than code generation when you first start out. You absolutely need to learn to troubleshoot on your own before AI will be useful as a coding assistent. If you don't know how to check what is going wrong, you won't know how to ask better questions to get the answers you need to fix your bugs.
BlaaccHatt@reddit
Start with html build webpages move into JavaScript then React then Typescript
aqua_regis@reddit
Not everybody needs to/wants to learn web dev.
kbielefe@reddit
I always tell people to pick what will get them to their goals and interests the fastest. You learn best when you are invested.
Jim-Jones@reddit
If you want to do top level stuff, C++.
idk_01@reddit
VBA, b/c it's usable inside MS Office and then you can learn the basics. After, look into C to do all the things VBA can't. C also allows you to write code for anything.
Cutalana@reddit
Scratch is great for making block chains, it's the main way programming is done.
smichaele@reddit
There is no blockchain programming language.
no_regerts_bob@reddit
In all my years of working with other programmers and in my own experience, nobody has ever once said "thank god I picked the right language to learn first" or implied anything of the sort
It doesn't matter. Write code a lot. You will get there