快捷搜索:  汽车  科技

5分钟搞懂少儿编程(14岁研发YouTubeInstant孩子自述)

5分钟搞懂少儿编程(14岁研发YouTubeInstant孩子自述)学习如何编程 —— 以及如何编好程 —— 并不需要你具有超人的能力。你只需要去按照自己的意愿动手去做,做出点什么东西。所有我知道的最优秀的程序员都深深的享受编程 —— 编程是一件让他们无比快乐的事情,也因此他们大量的编程。经常,那是一种不健康的废寝忘食。​我在很小年纪的时候就开始学习编程,我学习编程的方法是创建大量的不同的网站。下面列出的是我创建的主要的网站,其中最早的一个是我 11 岁时开发的。我希望正在学习编程的小朋友命吧:如果你想学习编程,做大量的练习性的项目是非常必要的。学习一种技术最好的方法就是练习,练习,练习。

十多岁孩子开发出了实时搜索Youtube视频的网站,,

童年时期却建立过很多个网站。

今天,为大家翻译整理了这个牛娃的个人博客,看看别人家孩子的编程之路。

5分钟搞懂少儿编程(14岁研发YouTubeInstant孩子自述)(1)

我在很小年纪的时候就开始学习编程,我学习编程的方法是创建大量的不同的网站。下面列出的是我创建的主要的网站,其中最早的一个是我 11 岁时开发的。我希望正在学习编程的小朋友命吧:如果你想学习编程,做大量的练习性的项目是非常必要的。

学习一种技术最好的方法就是练习,练习,练习。

所有我知道的最优秀的程序员都深深的享受编程 —— 编程是一件让他们无比快乐的事情,也因此他们大量的编程。经常,那是一种不健康的废寝忘食。

学习如何编程 —— 以及如何编好程 —— 并不需要你具有超人的能力。你只需要去按照自己的意愿动手去做,做出点什么东西。

学习编程一定要多动手

做什么东西并不重要,重要的是你找到东西动手去做。我所认识的那些优秀的程序员,他们都有各自不同的最初学习编程的动机。

有些人学习编程是为了开发动画游戏。

有些人是为了解决他们在使用计算机时遇到的问题,或让工作更有效率。

有些人是为了开发产品来满足人们的需求。

有些人(真正的程序员)学习编程只是他们为了深入了解计算机工作原理。

有些程序员编程只是因为他们享受解决难题的挑战。

下面就是我如何学习编程的故事:

我的第一个网站

在我大概十一二岁的时候,我感到需要给自己做一个网站。我已经记不清为什么需要一个网站了,只记得那样就开始做了。

于是我就在网上搜索关于网页、Web 浏览器、HTML 如何工作的信息。些明显是错误的或给了错误的向导(例如为 IE 浏览器和 Netscape 浏览器分别做网站),但过程是非常有趣的,我学到了很多新东西。

尽管在网上搜到了很多粗制滥造的信息,我还是想办法做了一个简单的网站,我叫它“Feross 的网站”。开发它,我使用的是微软的 Frontpage,那是一个非常棒的所见即所得的 HTML 编辑器。我使用很常见的语法,例如粗体,斜体等对网站做修改,在编辑器里即时查看这些 HTML 标记能达到的效果。这是很有效的学习方式。

下面是我的第一个网站的截屏。这个网站已经不存在了。

5分钟搞懂少儿编程(14岁研发YouTubeInstant孩子自述)(2)

你从上面的图片上看不出来,这个网站上的每个元素都在动,闪烁的动画,还能出声。我在网站的每个页面上都放置了不同的 MIDI 格式的歌曲。而且都是自动播放,你没有办法让它们停下来,除非把电脑消音。哈,这就是当年流行的网站设计风格。

5分钟搞懂少儿编程(14岁研发YouTubeInstant孩子自述)(3)

等再长了几年岁数后,我重新设计了这个网站,让它变的漂亮些。我使用了在网上发现的一些免费的网站模板,用微软的画图工具修改了一些图片。

5分钟搞懂少儿编程(14岁研发YouTubeInstant孩子自述)(4)

尽管我大量的依赖于模板,但这不失为一个学习 HTML 和 Web 浏览器的好方法。“Feross 的网站”除了用来收集我小时候的一些视频外没有其它用处,不久后我就对它失去了兴趣。

我的第一个有 HTML 的网站,60 万人/次访问,页面浏览量达 3 百万

当我 9 年级(14岁)时,我和我的朋友们都非常着迷于观看像 Newgrounds 和 eBaumsWorld 网站上的 flash 视频和动画(2005 年之前,还没有 YouTube)。

我在这种网站上花了大量的时间,我想,如果做一个网站来收集我喜欢的 flash 动画、视频、游戏,会是一件很酷的事情。这就是我做出 FreeTheFlash 网站的初衷。它是这个样子的:

5分钟搞懂少儿编程(14岁研发YouTubeInstant孩子自述)(5)

我从开发“Feross 的网站”的过程中学到了很多 HTML 知识,这次我使用了 Macromedia 公司(现在的 Adobe 公司)的 Dreamweaver 编辑器,这个东西能让我在网站的重复部分使用同一个模板。

一段时间后,我意识到,我应该让网站动起来,听说是应该使用一种叫做 PHP 的编程语言来做网站,而不是只使用静态的 HTML。于是,我花了 20 美元从 Amazon 买了一本书,叫做《PHP and MySQL for Dynamic Websites》,使用 PHP 和 MySQL 对网站进行了重新设计。我还给它进行了新的美化:

5分钟搞懂少儿编程(14岁研发YouTubeInstant孩子自述)(6)

在高中时期我对这个 FreeTheFlash 网站的开发持续了 2 年。它对于我第一次尝试做一个“真正”的网站来说是相当成功的 —— 在 2006 年,它获得了 60 万人/次访问,页面浏览量达 3 百万。

FreeTheFlash 让我知道了做出一个产品、让它杰出、看大量的人使用它,是一件多么自豪的事情。它让我想做出更大的网站。

我的第二个网站

在中学,我在上计算机课程时做了大量的笔记。在 11 年级时,我觉得应该把这些笔记放到网上,让那些不喜欢看课本的学生使用。

然后,我做了一个网站,叫做 StudyNotes,使用的是 PHP 和一个叫做 Joomla 的内容管理系统。我也尝试过使用 Drupal,但发现它太复杂了。

5分钟搞懂少儿编程(14岁研发YouTubeInstant孩子自述)(7)

同年,我为我的学校 Key 俱乐部分部做了一个网站,如今也不用了。

这段时间,我花了大量的时间泡在 WebmasterWorld 里,这是一个论坛,主要关于网站站长和 SEO 专家推测 Google 算法,讨论 AdSense 技巧,调试网站问题等。

大量的学习和阅读

等我进入了斯坦福大学后,我学习了大量的计算机课程,诸如 CS106X 和 CS107,我还超前学习了部分 CS106 课程。

所有的课余时间我几乎都在阅读关于设计、编程、浏览器和 JavaScript 等方面的资料。一般每天4-5个小时都在看我敬仰的设计师和程序员写的博客。

开发了 YouTube Instant

2010 年夏天,我在 Facebook 实习,因为跟一个朋友打赌,我开发了 YouTube Instant,它是一个用来实时搜索 YouTube 视频的网站。

这个网站在建成之后的 10 天里获得了 1 百万用户的访问量,YouTube 的 CEO 甚至给我发消息说提供一个职位给我。

我知道 YouTube Instant 的成功归功于当前的好时机和一点幸运。

5分钟搞懂少儿编程(14岁研发YouTubeInstant孩子自述)(8)

我注意到很多人使用 YouTube Instant 来听音乐视频,这让我想到了另外一种使用 YouTube API 的好方法。于是,我和我的朋友 Jake Becker 在 2011 年的头 3 个月里开发了 Instant.fm,它能让你轻松的向朋友分享音乐播放列表。通过这个项目我们都学到了很多新的东西。

5分钟搞懂少儿编程(14岁研发YouTubeInstant孩子自述)(9)

在这个工程中我掌握的技术:

jQuery

CSS (和 Modernizr 以及 YepNope,用来解决跨浏览器问题的)

Python

Tornado (web framework/server)

Git (版本控制) & GitHub

Last.fm API

YouTube API

团队合作

以及其它一些我们学会使用的东西:

Nginx (web server)

Supervisor (to daemonize Tornado)

SQLAlchemy (ORM)

Apache Ant (to build and deploy the site after a push)

动手去做!

我把从 11 岁就开始做的东西都不厌其烦的曝出来,目的就是要说,如果你想学习编程,你需要动手去做东西!现在就去。不要找任何借口。

做东西是最好的学习方法。

从头到尾读一遍编程语言书籍是一件很无聊的事,读到一半你就读不下去了。但,如果你想做一个项目,你在做的过程中会知道你该学习哪些知识,这是你可以掌握知识最有效的途径。

最大学里的计算机课程是学习编程的另外一种十分有效的方法。

记得在斯坦福大学上第一堂计算机课程时(那是教授 C 的课程),我在想“怎么可能变量前不带$符号呢?”当时我只使用过 PHP!

5分钟搞懂少儿编程(14岁研发YouTubeInstant孩子自述)(10)

我用了好长一段时间才改掉在变量前加$符号的习惯!

另外一个提高编程水平的方法就是到软件公司实习,比如 Facebook 或 Quora,最近的两个夏天我就是在这些公司里度过的。你会从那些优秀的人那里学会如何更好的编程,如何阅读和理解他人的代码,如何在大项目中进行团队合作。

还是那句话 —— 比什么方法都管用 —— 学习编程最好的方法就是做项目练习。我是不是重复这句话无数次了?

5分钟搞懂少儿编程(14岁研发YouTubeInstant孩子自述)(11)

如何学会编程:

做练习性项目

看编程书籍

做项目练习

上编程课程

做练习性项目

读编程类博客

做项目练习。

这就是我能给出的最好的建议。

祝编程愉快!

5分钟搞懂少儿编程(14岁研发YouTubeInstant孩子自述)(12)

猜您喜欢: