我想做一个“不教编程语言”的编程系列:
我想先聊一个问题。
为什么现在学编程,反而越来越容易学得“不会编程”?
现在网上有大量的编程教程。
Python 教程、Java 教程、C++ 教程、JavaScript 教程、Go 教程、Rust 教程……
一个比一个详细。
从变量讲到循环,从函数讲到类,再讲框架、数据库、项目,甚至手把手带你做一个完整的软件。
这当然没有什么不好。
但是我在接触编程的过程中,越来越感觉到一个很奇怪的事情:
很多人学了很久的编程,最后学会的,其实只是一门语言。
他会 Python。
但是看到 Java 就不会了。
会 JavaScript。
换成 C++ 又不会了。
甚至很多人已经工作很多年了,换一门自己没接触过的语言,第一反应还是:
“这个语法应该怎么写?”
然后重新找教程,从第一章开始学。
为什么?
难道不同的编程语言,真的有那么大的区别吗?
当然有。
它们在设计理念、类型系统、内存管理、并发模型、抽象方式,甚至哲学上,都存在巨大的差异。
但与此同时,它们之间又存在着大量共同的东西