说到ZedA.Shaw这个名字,很多人可能会表示不认识。但是一说到他的“笨办法”系列,不少人会恍然大悟:是他啊,我的Python/Ruby/C就是跟他学的!“笨办法”系列在全球范围内帮助上千万的人成功掌握一门或数门编程语言,进入编程这个精彩的世界。
不过,网络上人们对于他的评价似乎两极分化,有无数人感谢他提供的“笨办法”让自己学会了编程,也有不少人抨击他狂妄自大,是个固执的怪人。那么今天,小异就和大家一起走进ZedA.Shaw的世界,看看这个“奇怪”的程序员是如何做到既被人喜欢,又被人“讨厌”的。
▲Zed的“笨办法”系列
怪人?我只是一个会玩的程序员而已
和很多程序员一样,Zed喜欢在网络上发表和分享自己的知识与观点,个人博客和推特是他的两大阵地。他现在使用的这个推特号,自年以来已经发布了超过条推文,平均每天发近5条,“战斗力”属实爆表。
▲Zed每天都会在推特上分享信息
最近的推文显示他创建了“笨办法”学JavaScript的新项目,并且使用直播搭建游戏分享网站的方式作为实战演练;同时,他依然没有放弃“炮轰”那些他认为有缺陷、不好、讨厌的项目,比如持续“喷”了几年的OpenSSL;就在几天前(北京时间6月18日),他在家附近开始了一个人物绘画培训课程,捡起了几乎全忘掉的水彩画。
帮助上千万人学习编程
加上最新的JS课程,“笨办法”系列已经有了四名编程语言成员,这些课程都能在网站“笨办法学编程”上获取。
如同Zed在网站主页上所说的:任何人都可以学习编程!
▲Zed认为所有人都能学编程
“笨办法”系列课程累计在全球范围内帮助了上千万的人进行编程学习,成功掌握一种或多种编程语言。每一个使用“笨办法”学习编程的人都非常感谢他,感谢这个简单有效的“笨办法”,让来自世界各地、各行各业、年龄不一的他们能够从零开始学会编程。
尽管帮助了这么多人学会特定的编程语言,但是在他看来编程语言不重要,重要的是编程本身——使用编程去做一些有趣的事。并且学会编程不一定意味着你会变好或变坏,只是会让你变得与其他人不同——别人可能因为你会编程而给你安排更多的工作,因为你会编程而认为你是一个“不善言谈的书呆子”——总之会有人认为你很“怪”。
“奇怪”的程序员
在早些年,互联网和计算机行业还没有像今天这么火热的时候,程序员在很多人眼里和“书呆子”差不多,是一个沉默寡言、不修边幅的群体——现在的不少人仍然有这种刻板印象。
Zed就是如此,他沉迷数学,沉迷编程,沉迷写作,抱着一把吉他一弹就是好几个小时,外界的偏见与自己的性格让他推掉了很多约会和其他社交活动,变得越来越“怪”:他喜欢与人亲近而不必与他们互动。
有一次他和朋友科里约在联合广场见面,在科里到之前,Zed穿着普通的牛仔裤、T恤,坐在那自顾自地弹吉他。因为戴着耳机,吉他声音只有他自己能听到,所以别人并不能听到他弹的是好是坏。和科里游玩回去之后的第二天,他去找昨天的游玩记录以寻求写作灵感,发现别人的一个关于科里的帖子:你真漂亮,只是和你在一起的那个“怪人”一直在弹吉他。
▲Zed与他的吉他,
有时候,他不愿意以程序员这个身份来介绍自己,而说自己是一个作家——但也有人会说他写的不是“真正的书”,因为那是关于编程的——比如在学画画的时候,他如果说自己是程序员,别人就会讨论一些关于“技术人员”之类的内容,给他不一样的眼光。
在最大程度上忍受别人的偏见之后,Zed依然热爱着编程,热爱着吉他,热爱着画画与写作,对它们充满激情。
高强度“网络对线”
作为一个经验丰富的程序员,Zed创建的MongrelWeb服务器在网络开发领域享有一定盛誉。它是推特使用的第一个Web服务器,并且在一定程度上启发了Node.js。
同样作为一个充满激情的程序员,他经常会参与到一些模块、方法、理念之争。比如最经典的是他早期关于Rubuy模块Rails——Rails依赖Mongrel——的讨论,他以一篇满是脏话的文章RailsIsAGhetto(Rails是个贫民窟,在自己网站上已经删除了原文)发泄着自己的不满,从开发者到公司,从PHP到社交网络一路开喷,认为社区乌烟瘴气,框架本身漏洞百出,最后表示“老子不干了”离开了Rails社区。
那篇文章引发了延续数月的讨论,不少人认为他的观点是正确的,Rails社区的确存在某种“精英主义”,框架本身也存在不少缺陷;但也有不少人通过这篇文章更坚定地认为Zed是一个傲慢无礼的家伙,非常讨厌。
在做开发的二十多年里,他与无数人发生过争论,遭到过无数“网络喷子”的围攻与长期骚扰。很多时候他都会予以回击,言辞激烈,充满“F”单词,遭受极大非议。
就在昨天,他还在“炮轰”存在严重缺陷的OpenSSL。有人说他和Linux之父LinusTorvalds一样,是那种对自己喜欢的事情充满激情并且极度“自恋”的人,对于自己不同意的观点会发出最直接的反驳。
▲Zed认为OpenSSL有着严重缺陷
人总是充满矛盾的,Zed会充满耐心地去给初学者教学编程,会在社区、论坛上回答别人的技术问题,也会在推特上与人互动关心对方学习了编程之后是否有用。同时,他也会连发数条推特回怼那些与自己持有不同观点的人,用满是“F”单词的句子喷得对方连连败退。
在教学生编程的时候,他总会以自己学习音乐和绘画作为例子,告诉他们学习编程并不难,直接开始练很快就能学好。
关于绘画
Zed不是左撇子,但是他有时候会使用左手去做一些事情,比如弹吉他,比如画画。最开始他用DrawingontheRightSideoftheBrain:TheDefinitive,4thEdition自学画画,在尝试使用左手练习两个星期无果,并且会有莫名其妙的“笑意”:只要用左手画画就会控制不住地笑。换成右手作画那种感觉就慢慢消失了,让他百思不得其解,问了一圈其他人之后都觉得他疯了。
不久后他看到一个那本书作者儿子开设的强化课程,意识到这是一次难得的机会,这个每天八小时的课程能够提高他的绘画技巧。课程内容是每天早上进行一些讲座,然后根据讲座内容进行4-5个小时的画图,Zed去了。
每天雷打不动的课程让他有点紧张,但是他并没有松懈,而是认真地跟着老师的指引去学,去画。终于在第三天对着同一个港口画透视图的时候,他感觉到某个一直挡住自己的门被推开了,豁然开朗!他欣喜若狂地测量透视角度然后完成画图。
▲港口,
那天是年3月10日,是他学会画画的日子。尽管后面关于肖像画的课程Zed并没有很好的掌握,但他觉得在画码头那天,他学会了画画。
在之后,他痴迷于绘画,在19个月中自学了油画、水彩,使用丙烯、木炭、粉笔,甚至是Photoshop来作画。在那几个月中,他阅读了每一本他能够找到的绘画图书,参加并完成了每周固定时间的绘画课程。
▲河边的波浪,
然后他能画得很好了。(认真的讲,小异觉得这幅画非常好看!)
编程同样是一门艺术
Zed一直以来都认为编程不是一项单纯的技能,而是一个充满创造力的活动,能够使用代码与人进行双向互动,是一门真正的艺术。
学习艺术最重要的是坚持练习
万事开头难,艺术的学习同样如此。
在学习吉他那段时间,他每天至少花费2个小时去练习音阶、和弦、音乐理论、乐曲演奏、训练听力等。有时候兴致来了,甚至会用8个小时去练习——当时他觉得那是一件非常有趣的事。对于大多数人来说,要学好一个技能,最自然、最根本的方法就是反复练习。尽管有时候会没有收获,有时候内容又太难理解和操作,但是只要坚持下去了,终有一天崎岖会变坦途。
Zed学画画的时候同样如此,最开始跟着书自学并没有取得满意的结果。但是他坚持了,也坚持到“豁然开朗”的那一刻,然后自然而然地学会了画画。
编程作为与绘画、音乐类似的艺术,同样适用这种方法。
编程学习的“笨办法”
真正的初学者——可能命令行是什么意思都不懂,真正没有接触过编程的人——在学习编程更会遇到“开头难”这个问题。陌生的概念、工具、方法、名词充斥着整个视野,实在让人望而生畏。
但是,一旦我们把编程看成与画画无异的艺术技能,认识到它也是一项充满乐趣与创造力的活动,知道能够通过编程做一些很酷、很有意思的事情,我们就会发现编程的价值。
然后,跟着书本,跟着课程,一字不差地录入每一段代码让程序运行起来,从头到尾认真完成每一个习题(当然实在不会的可以暂时跳过),就这样“简单地”开始学习编程了。
这就是学习编程的“笨办法”,直接写代码。
对于真正的初学者来说开始的确有点难,不过只要坚持下去了,很快也能迎来自己的“豁然开朗”,发现这一切竟然真的是那么简单,那么有趣。
使用笨办法学习编程
其实我们很容易就能看出来“笨办法”是有效的,关键在于突破最开始的那一关。而作为想要学习编程的我们,每天花费一两个小时在这件事上面相比是完全没有问题的,那么开头也变得不难了。
那就让我们使用“笨办法”,开始编程之路吧
“笨办法”学Python3与进阶篇
《“笨办法”学Python3》
▲“笨办法”开山之作
这是经典Python自学畅销书入门篇,Zed的“笨办法”开山之作全新升级。
书中有着分钟完整的教学视频,虽然是英语授课,但是配上了中文字幕,照顾到了英语不好的初学者。
笨办法学Python3(异步图书出品)京东月销量0好评率99%无理由退换京东配送官方店¥58.8购买《笨办法学Python3进阶篇》
▲进阶!继续选择“笨办法”
作为《笨办法学Python3》的进阶内容,这本书通过52个精心设计包含实际演示的习题帮助我们夯实Python3基础,并教会我们如何使用文本编辑器管理复杂项目、怎么用算法处理数据结构等实际项目中会用到的技巧与方法。
从基础学习到实际开发,两本书一站式搞定!
笨办法学Python3进阶篇(异步图书出品)京东月销量0好评率99%无理由退换京东配送官方店¥59购买《“笨办法”学Ruby(第3版)》
▲Ruby入门首选,“笨办法”效果保证
这本书也是大部分Ruby程序员的入门首选,因为简单有效。
书中前半部分用26个习题覆盖输入/输出、变量和函数3个基础内容知识,后半部分同样的使用26个习题包含了一些高级的知识与应用,比如条件判断、循环等。
作为“笨办法”系列的一员,本书也是极度适合初学者的,完全没接触过编程也不是问题,相信“笨办法”。
笨办法学Ruby第3版(异步图书出品)京东好评率98%无理由退换京东配送官方店旗舰店¥42.6购买《“笨办法”学C语言》
▲“笨办法”学C语言,效果同样棒
严格来说,这本书并不是纯教C语言编程的书,更重要的是学会防御性编程——在作者看来C语言充满缺陷,学习和使用能够有效学会如何编写更健壮的代码。
同样的这本书中也是使用了其他“笨办法”系列同样的习题模式,只要跟着作者一个个代码输入,得出错误或者正确的代码,然后运行测试程序就好了。
“笨办法”总是那么简单粗暴。
笨办法学C语言(异步图书出品)京东月销量好评率98%无理由退换京东配送官方店¥69购买最后说一下
其实不管从哪个方面来看,Zed都是一个怪人,但就是这么一个怪人开发出来离经叛道的“笨办法”教学模式,成功让无数人学会编程技能。
尽管在很多人看来他依然是一个傲慢的“网络喷子”,但也有更多人把他当作耐心的编程老师。
小异倒是觉得他挺酷的,特别是弹吉他那会儿,一点也不怪!
文章编辑:沙鱼审校:桐希
参考来源:
[1]ZedShawsBlog..
[2]ZedShaw-Wikipedia..
[3]ZedA.Shaw,Writer(
lzsthw)/Twitter..[4]RailsisaGhetto...[NSFWforLanguage]
HackerNews..
[5]TheCodeBreaker
TheCityExposed.Youtube.
[6]Breakingcodetoclimbscalesofsuccess..
[7]ZedShaw,.Closeupofthepaintingfortoday...
[8]泽德·肖.笨办法学Python3.[M].北京:人民邮电出版社:.
—END—