今天,讲一个老外学习编程的故事……
今天,在 Quora 上闲逛,看到一篇不错的文章,作者报告了他是怎样一步一步踏上编程这条不归路的。因此,我便用我这撇脚的英语水平给各位翻译一下,渴望你能从他的故事中有所启示。
原文大意如下:
当我很小的时分,我便开头学习怎样编写网站,到如今我以前编写并创建了很多网站。底下的篇幅我将主要回忆我创建的一系列网站,我还记得在我11岁时,便创建了本人的第一个网站。我渴望读者伙伴可以了解一点,假如你想学好编程,那么做多量的帮助项目是很有必要的。
但是,学习新武艺的最佳办法是练习,练习,再练习;就我所交往的精良步骤员都有一个特点——乐此不彼的喜好编程,并且很积极。寻常来说,学习编程很简便,并不必要你有什么超人的才能,他只必要你不休的入手实践。
你只必要选择什么时分开头,跟你毕竟想做什么没有干系。我熟悉的很多精良的步骤员每一局部都有各自不同的来由来开头学习编程。有的为了学习制造视频游戏而开头;有的为了处理盘算机成绩「大概更好效的为了事情」而开头;有的为了制造幽默的产物而开头。乃至有些「黑客」是为了冲破芸芸众生口中的不成能而开头,由于他们想深化了解机器,处理困难成绩。
这些「精良的步骤员」都有一个协同的特点:他们在生存中的某个阶段沉浸于编程,随后花了很长实践,并做了很多很多项目。
我的第一个网站——Feross 的网站
当我十一二岁时,我想建一个本人的网站。我如今不记得事先为什么想要建这么一个网站,现在只记得做过这么一个网站。为了做它,我在网上搜刮干系网页,欣赏器以及 HTML 怎样事情的信息。我发觉的很多信息都是过时的,完全错误的或不倡导的做法,但它真的很幽默,我学到了很多很好的东西。
只管我在网上找到的信息很少,但我照旧可以创建一个简便的网站,我称之为「Feross 的网站」。我使用了 Microsoft Frontpage 构建它,Frontpage 是一款十分酷的 HTML 编纂器。我可以使用熟习的标签「如Bold,Italics等」举行变动,并及时的查察它的后果。
以下是我的第一个网站的截图。现在它已下线了。
您无法在外表的屏幕截图中看到它的别的后果,但网站上几乎每个元素都市闪灼,挪动或发作声响。我在网站的每个页面上放了一首不同的 MIDI 歌曲。除非你把扬声器静音,不然它们都市主动播放,无法中止播放音乐。这是00年代早前的旧网页了,在事先算计划很好的网站了^_^。
随着年事的增长,我试图经过重新计划来改良我的网站。我使用了我在网上找到的无偿网站模板,并用 Microsoft Paint 举行修正图片。
只管我在很大水平上依托于现有模板,但我以为这是一种十分好的办法,便于我了解 HTML 和 Web 欣赏器怎样事情。「Feross网站」没有别的目标,除了搜集我小时制造的一些影戏,以是一段时间后它变得无聊。
我的第一个真实项目
在 9 年级「14岁」,我和我的伙伴十分痴迷于在 Newgrounds 和 eBaumsWorld 等网站上观看 Flash 影戏和视频「这是在 2005 年从前,事先 YouTube 尚未存在」。我花了很多时间在这些网站上,以是我晓得一切最好的视频和游戏。我想制造一个网站,便利于我在一个场合找到我最喜好的 flash 动画,视频和很酷的游戏。这就是我创建 FreeTheFlash.com 的初志。
我使用了从「Feross的网站」中学到的一切 HTML ,并使用 Dreamweaver 东西和模板来制造网站。
厥后,我熟悉到我应该让网站变得动态「我记得事先常常听到这个盛行语」,这基本上意味着该网站将由 PHP 等编程言语提供支持,而不仅仅是静态 HTML 。因此,我从亚马逊以 20 美元的价格置办了一本名为 《PHP And MySQL for Dynamic Websites》的册本,并使用 PHP 和 MySQL 举行重新计划了该网站。
我在上了高中时,持续在 FreeTheFlash 破费了 2 年。我第一次真正了解到告捷 —— 它在2006年拥有 600,000 名拜候者和 300 万页面欣赏量。FreeTheFlash 教会我制造产物,优化产物以及大流量的快感,一个词形貌「真棒」。这让我有了想要创建更多网站的想法。
我的第二个网站
在高中时,我为一些 AP 课程做了很好的条记。以是,在 11 年级,我决定将这些条记放在网上,为那些不想读教科书的学生使用,我创建了一个名为 StudyNotes 的网站,我用 PHP 和一个叫做 Joomla 的内容办理体系构建了这个网站。我也实验过 Drupal,但发觉它太繁复了。
同年,我还为我学校的Key Club分会创建了一个网站。它存档在这里「参考1」。
在此时期,我花了多量的空闲时间阅读 WebmasterWorld 「参考2」,这是一个网站公布者和 SEO 专家的论坛,可以推测 Google 算法,讨论 AdSense 本事和网站计划优化成绩。
多量的学习和阅读
在我到斯坦福大学之后,我学习了很多很棒的盘算机封建课程,好比 CS106X 和 CS107。
我几乎一切的时间都在讲堂上阅读有关计划,编程,欣赏器和 JavaScript 的知识。
我读了很多不同的东西。主要是一流的计划师和步骤员的博客。有关此中一些博客的示例「参考3」。
大发作
在 2010 年炎天,我在 Facebook 练习时期,我创建了 YouTube Instant;这是一个视频网站,可让您及时搜刮YouTube。该网站在推出后的 10 天内吸引了100万拜候者,YouTube 首席实行官也在推特上发了一份事情约请「参考4」。
我晓得 YouTube Instant 的告捷主要归功于精良的机会和一点运气。
还在持续
我注意到很多人都在使用 YouTube 即时收听音乐视频,这让我想到了使用 YouTube API 做一些很酷的东西。以是,我的伙伴 Jake Becker 和我决定在 2011 年的前 3 个月创建 Instant.fm,这是一种与伙伴分享音乐播放列表的简一办法。在这个项目中,我们都学到了很多新东西。
我们在这个项目中把握了这些:
- jQuery
- CSS
- Python
- Tornado
- Git