• 0 Posts
  • 2 Comments
Joined 1 year ago
cake
Cake day: November 9th, 2023

help-circle
  • Your first language should be one that allows you to get projects done as a beginner. As easy as blockchain can be, it’s still something that is difficult to approach as a beginner.

    Learning a language doesn’t have to handcuff you to anything. If you continue in this career, you’ll have to learn other languages every so often. Getting started is easy, and mastery takes time… but you won’t be working on mastery when you’re learning the fundamentals. Using a different language while you’re learning to program is not going to cause you to lose time.

    Solidity and Rust are very low level languages, but they have behaviors and requirements (and limitations due to running on the blockchain) that have justifications not apparent to the beginner. And Rust has a lot of mental overhead to deal with its syntax and behaviors.

    If you’re going to learn to juggle while riding a unicycle, it’s probably better to learn each of them in isolation and the put them together.

    If I had general advice, it would be to learn high level control flow and data structures with Python, and then move on to a statically typed language like TypeScript or Go for application programming.

    After a bit of experience with that, you could learn about the lowest levels and assembly with a course like Nand2Tetris.

    With experience like that, you can decide what to move on to based on what you’re wanting to do, because you’ll be equipped with the knowledge of the fundamentals behind all of them.

    But beyond all that, you’ll learn the most by doing the things that motivate you, even if you tackle them early. Go where your projects are.