学习编程语言需要做哪些准备?

学习编程语言需要做哪些准备?
文章图片

文章图片

大概在五六年前我开始学习C++语言 , 虽然当时只是出于兴趣 , 学习目标定得很低 , 并不打算用它来做实际的项目 , 能入门大致看懂C++和OpenGL的项目代码就可以 , 但是这门语言学习的难度还是大大地超过了我之前的预期 。
复杂的多重指针、双向链表和MFC , 看起来简直就和天书一样晦涩 , 难以理解 , 学习的难度超过了我之前所学习的任何一门其它的编程语言 。后来我在学习群里请教各位前辈 , 他们热心地给我推荐了各种学习书籍 , 诸如某XX实战、21天XX、XX深入浅出、XX指南之类等等 。
但是我看完之后还是觉得非常云山雾罩、不得要领 , 而且有类似感受的人不止我一个 。我相信那些前辈的人品 , 是不会忽悠我的 , 推荐书的态度绝对诚恳、严肃 。他们认为非常有用 , 适合入门的书籍 , 为什么我看不进去 , 对我没效果呢?——我自认为自己的基础不算差 , 学习也非常用功 , 这是为什么呢?那段时间我一直在思考这个问题 。
后来 , 冥思苦想了很久才最终得到了答案 , 豁然开朗:因为包括我在内很多的同学 , 大部分都不是从汇编和C语言正统路径学习起步的 , 都有另外一门编程母语 , 有的是JavaScript、有的是Java , 有的是CSharp , 后来因为各种需要和目的才来学习C++语言的 。
学习编程语言需要做哪些准备?
文章图片

文章图片

而在学习C++语言的过程中 , 认知和思路在潜意识里 , 会或多或少地、无形地受到上一门编程母语的影响 , 而C++和其它语言区别很大 。每当遇到思路、写法差异很大的地方 , 思想上就很难转过弯 , 很难理解 , 这才是最重要的症结所在 。
所以 , 如果要学习一门新编程语言 , 很多时候要把母语的思路和经验在脑子里彻底放下才行 , 否则 , 不仅起不到触类旁通的促进作用 , 反而会被母语所误导 , 导致多走弯路 。
正确的学习方式是 , 找一个最适合自己的基础和实际情况的书 , 相对你的基础来说难度一定要适中 , 要在你可以理解、消化的范围内 , 不宜过高或者过低 , 然后逐步加大难度 , 循序渐进 。
无论是读书学习编程语言 , 还是学习其它类型的知识和技能 , 甚至包括激励他人 , 道理都是一样的 , 不能过于高大、空泛 , 一定要以他能认同、理解 , 对他有实际吸引力的说法 。
比如说 , 如果对方是十岁以内的孩子 , 激励他可以说只要你好好学习 , 考到95分以上 , 我给你买某种零食 。对于十来岁以上的小学生、初中生来说 , 可以说只要你好好学习 , 考到95分以上 , 我给你买一个游戏机 , 或者带你去游乐场玩 。
对于二十岁左右的大学生 , 可以这样说 , 只要你好好学习 , 将来你就有可能成为马云、刘强东这样的成功人士 。对于三十五岁左右的人 , 可以这样说 , 你看某某 , 他的年纪、学历和你差不多 , 现在靠自己的努力 , 已经是XX职务了 。对于四十五、或者五十岁以上的人 , 可以说你看某某年纪和你差不多 , 现在已经成功创业 , 或者已经带徒弟 , 徒弟都快独当一面了 。
学习编程语言需要做哪些准备?
文章图片

文章图片

读书和学习知识也是一样 , 如果你觉得一本讲解某方面知识和技能的书很难 , 读不下去 , 可能的原因不是书不好 , 也不是你学习不努力 , 而是它超过了你现在的实际理解能力和范围 , 你应该去做的 , 就是再换一个版本的试试 , 效果可能会截然不同 。