贡献者:Script Money 全栈工程师,熟悉 Web3 开发生态,编写过一些技术教程
本文是 CryptoChasers 出品的 Web3 优质教育资源推荐的第一期 —— 编程基础篇。适用于完全不会编程的新手,或想要接触新语言的初级程序员。所有教程均可免费访问。
合适的学习方式#
选择合适自己的学习方式很重要,后面的教程都会标注类型。
最推荐的方式是视频类教程,新手容易被麻烦的开发环境搭建卡住导致失去兴趣,跟着视频操作可以减少这类问题。视频一般节奏会慢一些,可倍速播放或跳着看。
其次是交互式教程,输入代码后马上就能得到成功的反馈,能增强学生信心。
最后是文字类教程,这对于理解理论细节非常有帮助。相较于可能会过时的书籍,我更推荐那些持续更新的开源教程项目。
后面的推荐包括了视频、交互和文字类教程,你可以选择其中一个作为入门,或者交叉学习以加深印象。
至于选择哪门语言,会有不少争论。至于应该选择哪门语言进行学习,虽然有许多争论,但我个人建议从 JavaScript 和 Python 中选择一门。
JavaScript#
对于 Web3 领域来说,使用量最大且拥有最全的工具库的是 JavaScript。无论何时,只要进行前端开发,就会用到它。只要你需要的 SDK 和 demo,都可以找到 JavaScript 版本。请注意,如果你打算进行开发工作,你可能会更多地使用 JavaScript 的超集 ——TypeScript,这就需要额外的学习时间。
现代 Javascript 教程#
- 网站: https://zh.javascript.info/
- 语言:中文
- 类型:文字
该教程是开源项目,内容详尽,难度曲线平滑,包含小任务。后半部分的进阶内容不适合新手,所以完成第二章的 JavaScript 基础知识 后,可以直接尝试实践。
Learn JavaScript - Full Course for Beginners#
- 网站: https://www.youtube.com/watch?v=PkZNo7MFNFg
- 语言:英文
- 类型:视频
freeCodeCamp 是国外最知名的编程教育网站之一。这个课程总共有 3 个多小时,你可以直接在基于浏览器编辑器中进行学习,同时在时间轴上还细分了各个知识点,方便你来回查阅。
TypeScript 官方 Playground#
- 网站: https://www.typescriptlang.org/zh/play
- 语言:中 / 英文
- 类型:交互
这是个网页编辑器,示例(examples)里面有 JavaScript 和 TypeScript 基础教程。输入代码后点击 “运行” 即可出结果,说明都在代码注释里。推荐尝试全部过一遍。
实践#
如果需要实践,可以跟着视频编码做小项目,Youtube 上可以搜到很多视频,比如模拟人在页面点击的puppeteer 网页自动化,搭建运行网站的Next.js 13 Crash Course,用 React 编写 TODO,不做单独推荐了。
Python#
Python 的特点是简单易学,相比 JavaScript 更容易上手。同时,在大热的 AI 领域,Python 的使用量也非常大。但在 Web3 领域,Python 的生态相较于 JavaScript 稍微逊色一些。
learn-python-3 by codecademy#
- 网站: https://www.codecademy.com/learn/learn-python-3
- 语言:英文
- 类型:交互
超过 200 万人注册,在网页编辑器即可完成,涉及的内容刚好够用,推荐完整学习。该网站也有 JavaScript 的入门课。
Python 编程与实践 (2021)#
- 网站: https://www.bilibili.com/video/BV1mQ4y167q8
- 语言:中文
- 类型:视频
著名博主爱可可 - 爱生活,北邮的计算机老师开设的课程,内容加入了学习理念、方法等内容,一开始的环境安装讲得很详细。请注意,这门课程有 2020 年和 2021 年两个版本,你可以直接学习内容更精简的 2021 年版本。
面向初学者的 Python#
- 网站: https://learn.microsoft.com/zh-cn/training/paths/beginner-python/
- 语言:中 / 英文
- 类型:文字
微软学习中心的 Python 教程,上来就介绍安装 VSCode 开始上手编码,由于 VSCode 是用得最多的 Python 编辑器,跟着该教程学习更容易过渡到开发项目。
实践#
可以在视频网站尝试搜索 Python+ 爬虫、深度学习、Bash 脚本、LangChain 等关键词。
Rust?#
很多圈里的高手都是用 Rust 的,很多工具和公链也是 Rust 开发。都说 Rust 很难,实际上也基础部分也不难上手。如果是想要接触学习 Rust,推荐 rust 语言圣经,首先它是中文的开源项目,文字为主,难以理解的地方都有人反馈优化过了。其次有配套的练习,边学边做,循序渐进。
至于实践,跟着搭建文本编辑器 hecto 的教程,可以帮助你从语法过渡到项目实践。
Solidity?#
Solidity 是合约开发语言,并不适合编程新手学习,后面部分会单独出一篇来介绍。