Contributed by: Script Money, a full-stack engineer familiar with Web3 development ecosystem and 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 in the complicated setup of the development environment, which can lead to loss of interest. Following video tutorials can reduce such problems. The pace of videos is generally slower, and you can speed up or skip through them.
The next method is interactive tutorials, where you can immediately receive feedback on your code, which can enhance your confidence as a learner.
Lastly, there are text-based tutorials, which are very helpful for understanding theoretical details. Compared to potentially outdated books, 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 a lot of 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 SDK or demo 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. The explanations are in the code comments. I recommend trying all of them.
Practice#
If you want to practice, you can follow video tutorials to code small projects. There are many videos available on YouTube, such as puppeteer web automation simulating human clicks on web pages, Next.js 13 Crash Course for building and running websites, and TODO app with React. I won't make individual recommendations.
Python#
Python is known for its simplicity and ease of learning, making it easier to get started compared to JavaScript. Additionally, Python is widely used in the booming field of AI. However, in the Web3 field, Python's ecosystem is slightly less advanced compared to JavaScript.
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 on JavaScript.
Python Programming and Practice (2021)#
- Website: https://www.bilibili.com/video/BV1mQ4y167q8
- Language: Chinese
- Type: Video
This course is taught by a famous blogger, Ai Keke - Ai Shenghuo, and a computer science teacher from Beijing University of Posts and Telecommunications. The content includes learning concepts, methods, and detailed instructions for environment setup in the beginning. 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, which is the most commonly used Python editor. Following this tutorial makes it easier to transition to developing projects.
Practice#
You can try searching on video platforms using keywords like Python + web scraping, deep learning, Bash scripting, LangChain, etc.
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 difficult 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. It also includes exercises, allowing you to learn and practice step by step.
As for practice, you can follow the tutorial for building a text editor called hecto, which can help you transition from syntax to project implementation.
Solidity?#
Solidity is a contract development language and is not suitable for programming beginners. It will be covered in a separate article later.