如何开始学习编程

22 阅读7分钟

对计算机进行编程是很了不起的。如今,你可以用技术完成很多事情,能够控制计算机、电话和物联网设备所做的事情,使你能够完成更多。

我们不乏可以用技术完成的事情的想法。知道如何编程的超酷之处在于,如果有足够的时间,你可以自己用技术创造你的想法。不管是一个简单的有你特定要求的todo应用程序,还是下一个Instagram,当你知道如何编程时,可能性似乎是无限的。

现在,让我们不要超越自己。大型科技公司雇用数百甚至数千名软件程序员是有原因的,这是因为建造像这样的酷东西并不容易。也就是说,你可以用软件做很多好事,这绝对是值得学习的。

如今,你可以用编程做很多事情,你去哪里取决于你想用你的编码技能做什么。但不管你想用编程去做什么,有一些基本的东西你可以在一开始就学会,让你的脚踏实地。

无论你最终做什么来开始,我想给你一个建议。

不要把注意力放在学习代码上。专注于解决一个你感兴趣的问题。

我把这称为**"逆向学习"**,我的意思是,你从你想要创造的东西开始,学习你需要学习的东西来完成你的目标。这样做使事情变得不那么抽象,因为你学习的是一个关于抽象的主题。

然而,由于一些原因,做这种逆向学习对你来说可能很困难:

  1. 你有很多想法,你不知道从哪里开始。
  2. 你的想法太过宏大,让人不知所措。
  3. 你根本就没有想法。一切都已经做过了。

这里有一些解决这些问题的提示。只需选择一个想法并专注于这个想法。你写的第一个程序会有很多问题。因此,即使你最终用这个想法建立了一个公司,你卖给客户的东西也不可能与你的第一次迭代有丝毫相似。因此,避免认为你建立的第一个东西会改变你的生活(我的意思是,学习编程可能会改变你的生活,但它不可能永远以最初的形式存在)。

不要害怕犯错,而是要接受你会犯错的事实。而且要睁大眼睛这样做。

此外,不要为这个第一个想法感到压力。它不一定是一个震撼世界的想法。在这里,让我给你一个快速和简单的方法来想出一个想法。想一想你的一个嗜好。在这个爱好中,你发现自己经常做的一项重复性工作是什么?建立一个简单的程序,帮助你完成这项重复性的工作,使其花费更少的时间。

下面是我自己生活中的一个例子:我喜欢玩棋盘/卡片游戏,我们有很多这样的游戏,所以我们有时会纠结于决定玩什么。所以我可以建立一个程序,通过对我们的游戏进行分类,帮助我们决定玩哪一个,并通过提问,然后根据我们的答案建议几个选项。

这里是事情开始变得有点困难的地方。现在你已经有了一个你想建立的简单程序的想法,你有很多东西要学。你可以通过很多方法来获得你所需要的信息。特别是有许多免费资源可以用来学习编程的基础知识。

我建议的一个资源是Scratch,这是一个令人惊讶的强大的类似编程的平台,根本不需要写任何代码。这是一个开始学习基础编程概念的好地方,如变量、循环、条件语句和事件。当你用这个平台构建故事和游戏时,你甚至可能不知道你正在学习这些东西,但它们会向你袭来,当你进入下一阶段的学习和建立你的第一个想法时,你所学到的东西会帮助你。

现在你需要做一个决定:我使用什么编程语言?我可以建议你用JavaScript吗?这不仅是因为我把农场押在了JavaScript上,而且还因为在所有的编程语言中,它在可接近性、普遍性和能力方面取得了最好的平衡。到目前为止,JavaScript是世界上最常用的编程语言(Stack Overflow Survey 2018)。在你开始学习编程的漫长旅程中,有很多关于JavaScript语言的资源可以帮助你。

既然选择了JavaScript作为你的编程语言,我现在就给你第一次机会写一些代码。你可能正在用Chrome、Safari、Microsoft Edge等互联网浏览器阅读这篇文章。这些浏览器都可以运行JavaScript,并且能够运行你的JavaScript代码来吧,谷歌一下。"如何在 中打开开发者控制台"

下面是在Mac上的谷歌浏览器中的样子。

developer tools menu

点击 "开发工具 "菜单选项可以打开Chrome开发工具。

developer tools elements panel

现在,你想调出的是 "开发者控制台",这里标有 "控制台"。如果你点击它,接下来会出现这个。

developer tools console panel

这是你进入JavaScript编程的第一个窗口!这个区域是你可以开始输入一些代码的地方。在这里,试着输入1 + 2 ,然后点击 "回车"。

1 + 2 evaluating to 3

这就对了!你刚刚写了你的第一行JavaScript。当然,还有很多事情要做,但这是一个开始写一些简单代码的好地方。

在我们继续之前还有一件事(因为这并不是一个真正的教程),如果你想保存你的工作,你可以通过创建一个所谓的 "HTML "文件来实现,该文件使用了

注意:确保你把它保存为纯文本文件。要做到这一点,在TextEdit中点击 "格式 "菜单下的 "制作纯文本",然后再保存它。

继续,将该文件保存为my-first-program.html ,放在你的桌面上。然后在你的网络浏览器中打开它,并在该页面上打开开发者控制台,你应该有这样的东西。

web page with something logged to the console

现在你可以在该文件中玩耍,对其进行修改,并重新加载你的页面,你的程序每次都会运行。这是一个开始玩JavaScript编码的好地方。

我建议你安装一个真正的编程文本编辑器,如VSCode。它将真正改善你编写JavaScript程序的经验。

在你已经能够自如地编写简单的JavaScript代码之后,是时候开始学习JavaScript语言了。有很多这方面的资源,你需要找到符合你学习风格的东西。我建议在谷歌上搜索一下。你可能会在YouTube上找到一些有用的教程,也有很多关于JavaScript的好书。我可以向你推荐的一本书是《你不知道的JS》系列图书。它相当深奥,但它会让你对这门语言有一个极好的基础性了解。

编码方面的经验恐怕没有捷径。所以你花的时间越多,你就会越擅长写代码。继续努力吧!你完全可以做到这一点。

在这整个过程中,你应该希望没有忘记你想要解决的原始问题。一旦你写了几个简单的程序,试着用你学到的东西来解决你的问题。你构建的东西不一定要看起来很神奇,也不一定要100%地工作。你可以通过努力达到你所希望的完美效果。尽可能建造你所寻找的简单版本的东西。

成功/失败的过程是你进行大部分学习的地方,所以如果你真的在努力学习这些东西,不要感到遗憾。这就是真正的学习发生的地方。

我希望这对你有帮助。我自己也在努力为处于你这个位置的人创造更多的资源,所以我建议你在这里注册我的通讯:kcd.im/news。给你的另一个提示是,在软件行业,twitter是一个相当大的平台,编码员在这里进行联系和交流。如果你还没有加入twitter,那就赶紧加入吧,我对你的第一个关注有一个建议。@kentcdodds😉

祝你们好运!