学习编程在目前这个环境下,其实不太需要很扎实的英语基础。
一个语言的关键字也就那几十种,文档什么的早都已经有对应的中文翻译了,所以完全可以脱离英文学习(前期开发简单的程序可以这样,后期会遇到越来越多的问题/文档没有中文翻译,不过到这个时候肯定已经对常用的英语很熟悉了)
编译/运行报错的英文都很简单,基本只要认识常用单词都能知道什么意思,可以自己单独搞定。再不行就直接把报错信息丢搜索引擎,你不会是第一个遇到报错的那个人。虽然很多优秀的答案都在 StackOverflow 上,但是现在很多网站都有机翻的版本,理解起来其实也不会太难。
在大部分场景下,编程本身和编程语言都不是关键,关键是你要知道一个功能如何划分成不同的步骤,然后通过编程语言的语法/特性去实现你划分的这些步骤。
初中的时候学习十进制和二进制转换,觉得很神奇,不能理解为什么。后来想通过 RPG Maker 制作游戏,只能通过图形界面去拖动完成简单的逻辑,像写脚本这些操作都感觉很难。上大一开始真正从基础学习编程,思路也逐渐转换过来,感觉以前觉得这些难就是因为你还在用你自己原本的知识体系需理解它。
再后来就开始运用前面提到的那种思路去编程,同一种功能换个语言照样能实现,很容易举一反三,因为万变不离其宗。前一段时间学习了 Rust 语言,一开始也是觉得很难,因为 Rust 和以前接触到的语言都有点不一样, Rust 的核心是所有权,我最开始没有理解这一点,一样随手写出一个满篇编译错误的代码,后来稍微理解了这点之后,就很容易继续重复前面的思路写代码。