很多新手程序员在一开始都是满怀热情地投入到编程的学习,但却在学习过程中处处碰壁,导致放弃。
编程的难点在于逻辑、数学、算法,还是模块、框架、接口的掌握?但这些仅仅是编程语言中的设计模式,只要你愿意投入时间和精力去学习,哪怕是通过重复记忆,也能够熟练掌握这些知识。它们并非编程的真正难题。
那么,我们为什么会觉得编程难呢?我们又该如何攻克这些难点?我们一起往下看👇
一、不知道从什么技术入手
在编程的世界里,选择正确的起点往往让人困惑。许多人在开始学习编程时,会问自己:“我应该从哪种编程语言开始?”
这个问题的背后,是他们对学习编程的目的尚不明确。当你有了明确的项目目标时,选择编程语言就变得简单许多。
如果你想构建iOS app,那么你需要学习Objective C或Swift。
如果你想构建Android app,那么你需要学习Java。
如果你想构建Web app,那么你需要学习JavaScript。
……
如果依然犹豫不决,那么不妨咨询下某个程序员的意见。一旦你明确了你的项目目标,那么他就能很快地为你推荐适合你使用的技术。
实际上,选择语言的过程风险相对较小,因为不同的语言之间往往有许多共通之处,这使得从一种语言过渡到另一种语言变得更加容易。
二、不能学以致用,以及责备自己
学习过程中,理论知识的学习相对容易,但最大问题玩玩出现在应用理论来解决问题并编写新代码的时候。这中间的差距实际上就是技能空白。
很多人做不出项目,会认为自己不够聪明,或者没有天赋,其实不是的,你只是需要练习技能的过程。
三、不吸取解决任务中获得的经验教训
如果你顺利完成了一项任务,不要急于进入下一个,相反,应该反思并从中学习。这样才不会浪费一个绝佳的学习机会。
可以多问问自己:代码是否能够应对边界情况?它是否足够整洁,易于理解和维护?你的解决方案是否最优?代码与其他模块的交互是否顺畅?……
这些反思将帮助你成长。
四、你不知道如何处理一个任务
当你面对一个任务感到无从下手时,你可能会随机地去尝试,或者从其他地方复制一些你自己也不明白的代码。不要这么做,理解你为什么会遇到障碍是解决问题的第一步。
可能是因为理论知识掌握不牢固,或者任务过于庞大,需要分解为更小的部分,或者你忽略了一些关键概念。无论原因如何,找到它并解决它。
五、你知道如何解决任务,但解决方案不管用
这是编程中最常见的情况,哪怕是那些经验丰富的资深程序员也是如此。你的解决方案之所以不起作用最大的可能是你的代码中存在着bug。
这时,调试代码的能力就显得至关重要。很多人担心会花太多时间用于调试代码。这是正常的,在你第一年的编程规划中这是不可避免的。
调试不仅是修复bug的过程,也是提高编程技能的重要途径。
六、不知道如何接受帮助
在学习过程中,不要只是被动接受帮助。当你从书籍、课程、教程或社区中获得帮助时,要深入理解背后的原理和概念。
例如:你在某个问题上花了10小时,最后终于有人提供一个解决方案,你往往会采取“拿来主义”——采纳解决方案之后就直接跳到一个任务中去。千万别这样做。
当别人提供了解决方案,不要急于应用,而是要思考自己的思维过程,了解哪里出了问题,以及如何改进。同时,了解他人的解决思路,从中学习。
----------
最后,不要忽视将学到的理论知识应用于实践。编程是通过不断实践,形成良好习惯来解决问题的过程。只有将理论应用于实践,才能真正掌握编程技能。