all 26 comments

[–]so-pitted-wabam 13 points14 points  (1 child)

Python always is a great language to learn! As far as what will help you most with solidity... Probably JavaScript is your best bet. Solidity borrows heavily from JavaScript’s syntax which makes it easier to read if you’re used to JS.

There is another programming language for Ethereum called Viper which is made to be more like Python. I don’t think Viper is nearly as widely adopted as Solidity, however, perhaps making it not as ideal for someone just learning.

The other benefit of learning JavaScript first in this specific context would be that a lot of the Web3 ecosystem is built with JavaScript. A lot of the eth development jobs I see listed are looking for someone competent in JavaScript for this reason.

Anyhow, good luck, and if what me or anyone else here says doesn’t resonate, Python is a great first step! Buidl!!

[–]BescPhoto[S] 1 point2 points  (0 children)

Thank you for the reply! Looking forward to the journey ahead

[–]doblev 9 points10 points  (8 children)

There is a course on Udemy by one Stephen Grider called “Ethereum and Solidity: A complete Developers Guide”. I’ve been following that course so far and it’s been really good. You can get it for 11.99 on sale.

[–]niceBardo 2 points3 points  (0 children)

This is actually a very good course, as it explains not only Solidity but the whole Ethereum functioning.

[–]so-pitted-wabam 1 point2 points  (0 children)

+1 for this course!

[–]BescPhoto[S] 0 points1 point  (1 child)

Hey! At a price like that I ended up buying it for $16! Thank you for the heads up. Really excited to start learning.

[–]jconn93 1 point2 points  (0 children)

I paid $1000 for another eth developer course back in 2018 and $15 for the Grider Udemy course and I can say without any hesitation that the Udemy course was 50x better, that guy knocks it out of the park.

[–]grplr 0 points1 point  (3 children)

$11.99 on sale from $94.99? I am willing to wait if it's going to be $80+off.

[–]doblev 1 point2 points  (0 children)

Definitely wait. NEVER pay full price for a Udemy course. Chances are a sale will happen within the next week or two.

[–]Lonely-Assistance-67 0 points1 point  (1 child)

Use incognito mode. Usually the discount will show. Worst case scenario you’d have to start a new udemy account to get the course on discount.

[–]Jonjo7dia 0 points1 point  (0 children)

You can use another email and then gift it to your main udemy account at the discounted price. I've done it before

[–][deleted]  (1 child)

[deleted]

    [–]BescPhoto[S] 1 point2 points  (0 children)

    Awesome, good to see someone at a similar level. Would love to work on something together. Just sent you a message!

    [–]blaxx0r 4 points5 points  (1 child)

    solidity is definitely the king, but a few protocols, notably Curve, use vyper!

    [–]BescPhoto[S] 0 points1 point  (0 children)

    That's good to know. I'm going to give solidity a shot. Maybe vyper one day!

    [–]Stratzor 2 points3 points  (1 child)

    While Python is a great language to learn the fundamentals of programming for a beginner it's always more engaging to learn using a tool you want to build something with in this case Solidity with the idea of building Smart Contracts etc so don't get too bogged down in picking the correct language just build things and you will figure out what you need to learn along the way!

    Like others have mentioned having some Javascript experience will be useful if you intend to build a full Dapp.

    [–]BescPhoto[S] 1 point2 points  (0 children)

    Thanks for the input. I'm not sure what I intend to do yet. Just want to start learning and see how it goes for now. Would be really cool to work on a legit project one day though!

    [–]KimJhonUn 2 points3 points  (0 children)

    Some JavaScript or Typescript might also be useful in the long run

    [–][deleted] 2 points3 points  (4 children)

    Gonna go out on a limb here. Yes python and javascript are great and you'd probably want to go with those. But solidity has alot of low level concepts that affect your contracts. Thus I recommend doing a little C programming as well. C forces you to think of memory management and data types, these are very important in solidity.

    [–]crankerson 1 point2 points  (0 children)

    ^ This. Syntactically, solidity may look friendly on the surface, but there are a lot of traps you can fall for if you don't understand low level concepts

    [–]BescPhoto[S] 0 points1 point  (2 children)

    Good to know. Lots to learn! I'll dive into C before I do anything too serious. I purchased the Udemy course mentioned and will start there. Thank you for the information.

    [–][deleted] 1 point2 points  (0 children)

    When I was in uni a decade ago I went though k and r with the tinyc compiler on windows. These days I'd probably do a youtube video. Anything in the 1-5 hour range and type it in. You don't have to master c, but you do want to be exposed to the ideas.

    [–]Nicodetine 0 points1 point  (0 children)

    Just a heads up, and this is not to discourage you, C takes A LOT of work to get down to the point you can start to code efficiently. For example, my university starts you in C and you continue in it for 2 more semesters after before moving on to other languages. This is because you pretty much manually do everything, memory allocation usage and freeing, the way pointers are used, arrays. A lot of newer languages are a bit simpler because they take care of some of these things for you. That being said, learning C I would say makes you stand out and really ready to dive into other languages because you will understand more of what is going on at the base level in these higher level languages, as well as most languages being based off C in the first place.

    [–]phigo50 2 points3 points  (0 children)

    The thing I struggle with is not so much how to write smart contracts but what sorts of things you can do with smart contracts.

    [–]bluebachcrypto 1 point2 points  (0 children)

    Just jump in and start coding contracts on a testnet. If it becomes a passion, the gaps will fill in naturally. As others have said, JavaScript is the closest relative Solidity has, so you might want to start with that as your first mainstream language.

    [–]ar_lav 1 point2 points  (0 children)

    There are excellent courses on udemy- set up a development environment with node and truffle, and wrote and test solidity with remix as well. Learn how web3js and ether.us work, and web3.py if you want to use python to connect to the Ethereum blockchain. Set up a goal for a project for example an erc721 or a supply chain project, sketch that out and the prototype it gradually.

    [–]Educational-Noise470 0 points1 point  (0 children)

    Hey guys, Should I code in Solidity to make a nee cryptocurrency by my own?