I’m a beginner learning to code. Goal is to build on Solana, smart contracts and Dapps.

Have started CS50 course to lay some groundwork, but want to create a solid learning plan for the next 12 months.

  1. Is it worth completing free code camp curriculum?

  2. In what order should I learn C, C++, Rust, Python, Java, Solidity.

  3. As a beginner is it preferable to learn C and Rust or could I get away with learning Python and using seahorse?

I have th time and commitment, just looking to optimise my approach!

Any feedback would be greatly appreciated 🤟

Thanks!

  • TheMaskedHamster@alien.topB
    link
    fedilink
    English
    arrow-up
    1
    ·
    1 year ago

    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.

  • cccanterbury@alien.topB
    link
    fedilink
    English
    arrow-up
    1
    ·
    1 year ago

    Rust first. So many up and coming projects are in Rust. Google switched to Rust. It’s got OOP, and also fine-tuned memory management.

  • TipTechnicali@alien.topB
    link
    fedilink
    English
    arrow-up
    1
    ·
    1 year ago

    I started with Python and Solidity. Is it really necessary to study C and C++? Now you got me thinking.

  • Zookeeper-6@alien.topB
    link
    fedilink
    English
    arrow-up
    1
    ·
    1 year ago

    many guys recommend Rust, but i know Rust lang is unfriendly to beginners, especial guys which have not learned C/C++ or Python alike

    Similarly, Solidity is not an easy language to get started with, although its syntax seems simple (but very raw actually)

    My recommendation is Java or Python as your first programming language to learn, but i have to admit these 2 are not suitable for Solana Dev.

    • Icy-Fox-1044@alien.topOPB
      link
      fedilink
      English
      arrow-up
      1
      ·
      1 year ago

      Thanks man 🙏 yeah it’s a hard decision with my goal being this specific. Going to keep learning fundamentals with CS50 with its big focus on C, then start learning rust to keep the vision alive. Instead of textbook learning Python, might just complete a follow along project and hopefully pick it up easy compared to low lvl languages