Skip to content

Latest commit

 

History

History
141 lines (71 loc) · 9.39 KB

people-fail-learn-programming.md

File metadata and controls

141 lines (71 loc) · 9.39 KB

为什么大多数人无法学会编程?

原文:www.kdnuggets.com/2022/03/people-fail-learn-programming.html

为什么大多数人无法学会编程?

图片由 Fotis Fotopoulos 提供,来源于 Unsplash

介绍

当我第一次想进入数据科学领域时,一个主要的障碍是学习编程。


我们的三大课程推荐

1. 谷歌网络安全证书 - 快速进入网络安全职业。

2. 谷歌数据分析专业证书 - 提升你的数据分析能力

3. 谷歌 IT 支持专业证书 - 支持你的组织 IT


尽管花了几个小时参加在线编程教程,但当我需要编写自己的程序来从零开始构建项目时,我完全迷失了方向。

在决定职业道路时,我坚决选择了一个不需要编程的领域。我觉得我不适合成为程序员。

然而,当 Covid-19 大流行爆发时,我被困在家里,手上有很多空闲时间。因为没有其他事情可做,我决定给自己另一个学习编程的机会。

这一次,我决定研究一下为什么我发现编程如此困难。是否真的有些人天生比其他人更擅长编程?我是否缺少某种可以让我一夜之间成为更好程序员的秘密成分?

我花了无数小时阅读其他人学习编程的经历。我与高级开发人员和数据科学家进行了交谈。

我花了一些时间,但我意识到是我自己的态度阻碍了我学习编程。

你看,我的问题不是我不够聪明以成为程序员。问题在于我没有拥有正确的心态。

我把编程当作了学校里的其他科目。我试图学习太多,太快。这样做时,我忘记了学习曲线的存在。每当我的代码运行失败时,我很容易感到沮丧。我不断地与其他更有经验的程序员进行比较,而我无法理解他们的代码。

一旦我意识到自己做错了什么,我决定这次以不同的方式做事。我每天编码,并允许自己在过程中犯错误。起初,简单的问题需要我花大约 4–5 小时来解决。随着不断练习,我能够更快地解决更复杂的问题。慢慢地,我发现自己变得更好了。

今天,我绝不是一个熟练的程序员。然而,我能够完成日常工作的任务,执行数据科学工作流,并担任需要编程的自由职业角色。每次解决一个新问题,我的编程技能都会得到提高。

在这篇文章中,我将提供一些关于如何学习编程的建议。这里提供的见解基于我自己的编程经历,以及我多年从有经验的编码者那里收集的建议。

建议 #1:避免教程陷阱

我们几乎都上过编程在线课程。教程是学习编程的一个好方法,因为它们教你基本的编程概念和语法。

然而,大多数人从未停止学习教程

我跟随了至少 10 个编程 YouTube 视频,并购买了超过 5 个不同语言的在线课程。

我一直这样做,期待每次上不同的在线课程时都能学到新的东西。

不幸的是,我没有。

我上过的每一门课程都教给我我已经知道的相同编程基础知识。

然而,由于我没有将这些概念应用于实践中,我总是无法提出自己的代码来解决问题。

这是一种糟糕的情况。每次上一个新教程时,我感觉自己学到了新的东西。但当我尝试自己创建一个项目时,我根本不知道从哪里开始。

许多程序员称之为 教程陷阱

如果这种情况对你来说很熟悉,那就该打破它了。

一旦你上过入门课程来学习基本的编程概念,就开始将你的知识付诸实践。

我建议使用编程挑战网站来磨练你的技能。我注册了一个名为 Hackerrank 的平台。他们以各种不同的语言提供编程问题,难度也各不相同。

从最基本的挑战开始,然后逐步攻克更困难的挑战。

起初,我通常需要花费大约 3–4 小时来解决即使是最基本的问题。我会查看其他编码者对这个问题的解决方案,然后将他们的思维过程重新构建成自己的代码。

这样,我逐渐摆脱了仅仅复制粘贴代码的做法。我能够理解不同人的思维过程,并将其重构以匹配自己的思维。

这样做会提升你的编程技能,因为你会意识到有很多不同的方式来解决同一个问题。

建议 #2:改变你的心态

学习编程就像骑自行车一样。你需要愿意摔倒多次,才能最终掌握它。

当我刚开始学习编码时,我缺乏耐心。花了几个小时学习一个新的编程概念后,我期待能够成功地将其付诸实践。每次遇到错误时,我都会感到沮丧。我开始失去信心。慢慢地,我放弃了。

我们生活在一个大多数结果都是瞬时的世界中。我们期望快速的成果,而在这个过程中,往往忘记了学习曲线的存在。

我犯的另一个错误是总是拿自己与他人比较。当我阅读其他程序员复杂且难以理解的代码时,我常常觉得自己永远达不到他们的水平。似乎我永远无法像他们那样优秀,这再次降低了我的自信。

我花了一段时间才意识到,没有实践就无法成为一名熟练的编码者。我认识的每一位优秀程序员都有多年的经验。他们每天都在电脑屏幕前待上数小时。

通过与他们交谈,我意识到他们都面临着与我相同的问题。即使在这个领域拥有多年的经验,他们仍然会遇到需要几天甚至几周才能解决的错误。在需要转向不同框架时,他们也会遇到困难,并且在阅读其他人的代码时会感到困惑。

编码并不容易。即使是经验丰富的程序员也会面临看似无法解决的问题。他们在编码时也会感到沮丧。随着经验的增加,他们需要完成的任务的复杂性也会增加。

建议 #3:创建项目

在解决编码挑战网站上的问题并克服思维障碍后,开始从事你热爱的项目。

构建一个全面的项目是将你学到的所有技能付诸实践的好方法。

我目前的大部分知识来源于我所创建的项目——无论是在工作中还是自己动手做的。

此外,当你创建一个项目时,你超越了在在线课程和教程中学习的工具栈。你需要扩展到不同的框架,甚至可能需要使用多种语言来完成最终产品。

这将大大提升你的编程技能。当你进入行业工作时,即使需要使用不同的工具来解决手头的问题,你也能更快地上手。

如果你想构建你的第一个数据科学项目但没有任何创意,你可以看看我的之前的工作来寻找灵感。

结论

学习编码需要实践、耐心,以及在你变得半途而废之前允许自己失败多次的能力。

最重要的是,这需要巨大的思维方式转变。

许多人期望自己在完成在线课程后成为专家程序员。当他们感到困惑时,他们过早放弃问题,觉得自己不够聪明或准备不足以学习编程。

这种“这实在太难了”的感觉让许多有志的数据科学家放弃了,转而选择了其他职业道路。

为了克服这个问题,你需要理解,没有大量编程时间就无法成为一名体面的程序员。你需要大量练习,还需要学会多次失败。

花时间在编码挑战平台上。如果你感到卡住,查看其他程序员发布的现有解决方案。尝试复制他们的思路。不断重复这个过程,直到你对自己的编码能力充满信心。

最后,从零开始创建自己的实践项目。确保给自己足够的时间去学习、失败和成长。如果你有朋友也在同样的旅程中,可以与他们一起工作。这样,你们可以分享想法,互相激励,一起持续学习。

Natassha Selvaraj 是一位自学成才的数据科学家,热衷于写作。你可以通过LinkedIn与她联系。

相关主题