全文共1539字,预计学习时长6分钟
图源:unsplash
史蒂芬·霍金曾说:“无论你是想揭开宇宙的奥秘,还是想在当今谋求一份职业,基本的计算机编程都是一项必须学习的技能。”
我是在十年前拿到计算机科学证书的,当时我没能立刻开启职业生涯。于是,曾经学过的专业知识一点点忘记,我可以肯定我已经被这个行业淘汰了。我最好的两个朋友都是软件工程师,他们毕业后立即开始工作,如今已经成了这个行业里的佼佼者。他们时不时敲打我,告诉我任何时候重拾理想都来得及。
终于,最小的孩子上学之后,我有了空闲时间,决定唤醒自己对编程沉睡已久的热爱。找到“老师”并不难,互联网上到处都是教学视频,但关键问题是我自己想学什么?我决定从自己熟悉的东西开始入手。
选一门编程语言
第一个蹦出来的答案是Java,我曾在本科时学过这门语言。与其他编程语言相比,Java使用简单,易于编写、编译、调试和学习。它是面向对象的,可以创建模块化程序和可重复使用的代码。最佳一点是它的平台独立性,且它在当下仍然是主流语言。
图源:software engineering daily
大公司都喜欢用Java。Airbnb用的是Java,Uber基于Java搭建平台,LinkedIn是微软推出的一款Java产品,eBay也是基于Java搭建的,Pinterest、Groupon、Spotify、Pandora以及Square则是大部分基于Java创建。
那么就愉快地决定了,我选择从Java开始。
简单的开始
第一步,我买了一本《java大学教程》(Java How to Program),该书目前在大学中用作教学课本。接着我收藏了一系列评价很高的Java教学视频,我要从基本步骤开始学习。
我的方法是,阅读一个主题材料,观看一个相关视频,然后开始自己编码。最开始很轻松也很容易,从“Hello World”开始嘛。接着又学习了基本循环、数组、类,练习了继承、多态和界面的概念。似乎曾经冬眠的知识又渐渐苏醒起来。
正如哈奇姆·阿里所说:“我感到最幸福的时刻,就是发现我可以创造的时刻。”每当我写出的代码运行顺利时,我都非常高兴。对我来说,每一次小小的进步都是巨大的胜利。
我喜欢创建新事物的乐趣,尽管我在实践中用到的代码几乎都是别人写的,但是用它们创建新事物的感觉超级棒。编码是一门内在的艺术,人人都有编码的天赋,但是熟练掌握编码需要大量练习。
连续几周我每天都在写代码并乐在其中,直到我遭遇困境。
陷入困境
“计算机程序执行你明确告诉它的事情,而不是你想要它做的事情”。
在陷入困境之前,编程是一件再轻松不过的事情。而当我提高自学课程难度,开始学习较长的代码和面向对象的话题之后,我频繁陷入困境。我会耗费一天时间来解决一个问题,争分夺秒想解决办法。令人沮丧的是,当我最终弄清问题所在时,大多时候那只是被忽略的一个小错误。
学习数据库和网页编程之后的日子成了人间地狱,尽管网上有各类帮助和解答,但想做出一个完整成熟的项目不仅需要巨大的努力,还需要决心、技巧和指导。这很消耗耐心,毕竟,一个放错位置的小数点最终会造成巨大的损失。
图源:unsplash
几个月后
几个月不分昼夜的学习之后,我得出一个结论,人们可以通过学习进行独立编程工作,但这需要付出巨大的努力以及超强的意志力。
不过,请别忘了科里·奥尔索夫在《Python编程无师自通专业程序员的养成》写道的:世界上一些最成功的人都是自学成才的程序员。苹果的创始人史蒂夫·沃兹尼亚克是一位自学成才的程序员;玛格丽特·汉密尔顿也是如此;还有Tumblr的创始人戴维·卡普,Twitter创始人杰克·多西以及Instagram的创始人凯文·斯特罗姆。
再艰难的环境也能浇灌出栋梁,不要给自己设限,毕竟你的潜力无限。
推荐阅读专题
留言点赞发个朋友圈
我们一起分享AI学习与发展的干货
编译组:孔祺琪、高荣蔚
相关链接:
https://medium.com/age-of-awareness/learn-how-to-code-on-your-own-3ff4b74afe8d
如转载,请后台留言,遵守转载规范
推荐文章阅读
长按识别二维码可添加关注
读芯君爱你