Contributor: Script Money, a full-stack engineer familiar with Web3 development ecosystem, has written some technical tutorials.
This article is the first edition of CryptoChasers' recommended high-quality Web3 educational resources - Programming Basics. It is suitable for beginners who have no programming experience or junior programmers who want to learn a new language. All tutorials are freely accessible.
Suitable Learning Methods#
Choosing the right learning method is important, and the type of each tutorial will be indicated.
The most recommended method is video tutorials, as beginners can easily get stuck with the complicated setup of development environments, which can lead to loss of interest. Following video tutorials can reduce such problems. Videos usually have a slower pace, and you can speed up or skip through them.
The next recommended method is interactive tutorials, where you can immediately receive feedback on your code and gain confidence.
Lastly, there are text-based tutorials, which are very helpful for understanding theoretical details. Compared to books that may become outdated, I recommend open-source tutorial projects that are continuously updated.
The recommended resources include video, interactive, and text-based tutorials. You can choose one of them as an entry point or cross-learn to deepen your understanding.
As for choosing a programming language, there is much debate. Although there are many arguments about which language to choose for learning, I personally recommend starting with either JavaScript or Python.
JavaScript#
For the Web3 field, JavaScript is the most widely used language with the most comprehensive tool libraries. Whenever you do front-end development, you will use JavaScript. You can find JavaScript versions of any SDKs and demos you need. Please note that if you plan to do development work, you may use TypeScript, a superset of JavaScript, more often, which requires additional learning time.
Modern JavaScript Tutorial#
- Website: https://zh.javascript.info/
- Language: Chinese
- Type: Text-based
This tutorial is an open-source project with detailed content and a smooth learning curve. It includes small tasks. The advanced content in the later part may not be suitable for beginners, so after completing the second chapter on JavaScript Basics, you can directly try practical exercises.
Learn JavaScript - Full Course for Beginners#
- Website: https://www.youtube.com/watch?v=PkZNo7MFNFg
- Language: English
- Type: Video
freeCodeCamp is one of the most well-known programming education websites. This course is over 3 hours long, and you can directly learn in a browser-based editor. The timeline is divided into various topics, making it easy for you to refer back and forth.
TypeScript Official Playground#
- Website: https://www.typescriptlang.org/zh/play
- Language: Chinese/English
- Type: Interactive
This is a web-based editor with JavaScript and TypeScript basic tutorials in the examples section. After entering the code, click "Run" to see the results, and the explanations are in the code comments. I recommend trying all of them.
Practice#
If you want to practice, you can follow coding tutorials for small projects on YouTube. For example, you can search for "puppeteer web automation" to simulate human clicks on web pages, "Next.js 13 Crash Course" to build and run websites, or "TODO app with React" to learn React.
Python#
Python is known for being simple and easy to learn, making it more beginner-friendly compared to JavaScript. Additionally, Python is widely used in the popular AI field. However, in the Web3 field, Python's ecosystem is slightly less robust than JavaScript's.
learn-python-3 by codecademy#
- Website: https://www.codecademy.com/learn/learn-python-3
- Language: English
- Type: Interactive
With over 2 million registered users, you can complete this course in a browser-based editor. It covers enough content for beginners, and I recommend completing the entire course. This website also offers an introductory course for JavaScript.
Python 编程与实践 (2021)#
- Website: https://www.bilibili.com/video/BV1mQ4y167q8
- Language: Chinese
- Type: Video
This course is taught by a famous blogger, "Aikeke - Love Life," and a computer science teacher from Beijing University of Posts and Telecommunications. The content includes learning concepts, methods, and detailed instructions for environment setup. Please note that there are two versions of this course, one from 2020 and one from 2021. I recommend studying the more concise 2021 version.
Python for Beginners#
- Website: https://learn.microsoft.com/zh-cn/training/paths/beginner-python/
- Language: Chinese/English
- Type: Text-based
This Python tutorial from Microsoft Learning Center introduces coding with the installation of VSCode. Since VSCode is the most commonly used Python editor, following this tutorial will make it easier for you to transition to project development.
Practice#
You can search for keywords like "Python + web scraping," "Python + deep learning," "Python + Bash scripting," or "Python + LangChain" on video platforms to find practical tutorials.
Rust?#
Many experts in the field use Rust, and many tools and public chains are developed in Rust. Rust is often considered difficult, but the basics are not hard to grasp. If you want to learn Rust, I recommend the Rust Language Book. It is an open-source project in Chinese, with text as the main format, and areas that are difficult to understand have been optimized based on user feedback. There are also exercises available, allowing you to learn and practice step by step.
As for practice, you can follow the tutorial on building a text editor called hecto, which will help you transition from syntax to project implementation.
Solidity?#
Solidity is a contract development language and is not suitable for programming beginners. A separate article will be dedicated to introducing Solidity in the later part.