I’ve always stayed away from web development because every cs person told me it was a miserable path. Now I am a huge Internet Computer fan with some app ideas that I want to build (or at least take part in building). I also now have time freed up to learn to code. What should be my starting point? Please don’t just say Dfinity education because that is not enough at the moment.
I know a little bit of Python for data science, but mostly for procedural programming and almost no OOP. I have a somewhat technical background, but no formal education in cs. I want to learn Motoko enough to let’s say code or at least understand an app as complex as CanCan. Should I start with Rust, Javascript, or C? What courses/tutorials/demo apps? Is it stupid to start with Motoko given the limited resources? And finally, what’s the starting point for front end stuff because that’s still black magic to me?
Thanks so much. Your thoughts and personal experiences along these lines would be greatly appreciated.
Most of the programming languages and development environments that I’ve learned, and certainly the first ones, I learned by making changes to a program that someone else already wrote.
To get started with Motoko, I went through the tutorials (https://sdk.dfinity.org/docs/developers-guide/tutorials-intro.html) in the developer’s guide. I recommend that as a starting point. Then after that, to take another look at CanCan or another sample app that interests you and see if some of it starts to makes sense.
Regarding the front-end, which is pretty much black magic to me too, I found that going through the Motoko tutorials that involved the front-end helped me with some of its mystery.
That does help. I always thought people started out by taking fairly linear online courses but I’d much prefer reading published code and documents to connect the dots myself if that’s feasible. Thanks Eric.
Hi @evanmcfarland, if you haven’t already read through this detailed write-up on one of our researcher’s experience building an IC app, it is a great resource (together with the repo itself). Hope this helps!
You might also want to take a look at the Motoko base library to get a feel for the way things are done, and to see what modules are available. You’ll find it in the $(dfx cache show)/base directory after installing the sdk, or the repo here: GitHub - dfinity/motoko-base: The Motoko base library