SegmentFault 社区专访 justjavac:「懒惰」是程序员最大的美德

首先给你们介绍一下本身吧

你们好,我是 justjavac,一名前端工程师。熟悉个人人可能知道我还有一个中文昵称「迷渡」,取「雾失楼台,月迷津渡」之意,通常用在豆瓣或者其余非技术社区。凡是在技术类社区写专栏或吐槽,都使用 justjavac 这个 ID。我不太会作自我介绍,你们仍是直接在百度或 Google 搜索 「justjavac」 吧。javascript

你对你们广泛称呼你 JJC 有什么感想?

哈哈,难道 JJC 除了 JustJavaC 的首字母缩写,还有别的意思吗?php

耐克曾经为程序员作了一个红极一时的广告词:「just do IT」,因而我就给本身起了一个网名 just。当时研究 Java 和 C 比较深刻,就把 java 和 c 加在了后面,以防止重复,这就是 JustJavaC 这个昵称的来源。由于 javac 也是 JDK 中的一个命令,因此不少人觉得个人昵称是 Just Javac 的缩写,管我叫 JJ,对于这个称呼,我仍是有必要纠正一下的。html

简单谈谈你目前的工做吧

去年末从维基科技离职,今年正式加盟千行时线,负责 Hybrid App 技术栈的开发。千行时线是一家九零后的创业公司,在移动互联网的大潮下,帮助传统企业进行转型,算是一家技术型和顾问型二者合体的公司吧。我主要负责 PHP 的接口和 Hybrid App 的开发。前端

你的上一家公司维基科技和维基百科有什么关系?

这个嘛,其实就是 Java 和 JavaScript 的关系,雷锋和雷峰塔的关系,周杰和周杰伦的关系。java

那就正式进入此次访谈的主题,讲讲你是如何走上编程的道路的

其实,我走上编程之路是命中注定的。从上小学起我就特别喜欢穿格子衬衣,果不其然,长大后成为了一名程序员。git

我从小比较喜欢数学,小学时参加全国数学奥赛曾得过银牌,也是那次奥赛第一次见到了电脑。当时只是远远地看别人用,在一个黑色的屏幕上,啪啦啪啦的打着字,和我想象中的黑客简直如出一辙,感受很是炫、很是酷,就是人长得丑了点。程序员

至于我第一次使用电脑,是在初中。教学使用的是 Windows,大概是 Win98,由于在个人印象中,时不时就蓝屏。github

第一次编程用的是 BASIC 语言,当看到代码中的 I = I + 1 时,简直是三观尽毁啊~ 我去!这是什么鬼?谁能告诉我他们究竟是怎么相等的?难道是我打开的姿式不对?后来也就慢慢入门了。和每个初学者都相似,编的程序无非就是从1加到100,水仙花数,汉诺塔……面试

大概在初三的时候,我家买了第一台电脑,在这个电脑上编的第一个程序是 VBA,在 Excel 中处理我整个初三上半年的成绩。当我正为能百分之百升入重点高中而高兴时,发现了我编程生涯的第一个 Bug,致使个人成绩多出了十几分,不过即便再减掉十几分,也是百分百能够考上的。编程

上高中后没有开设编程课,主要是讲讲 WPS 和其余一些软件的操做。因而我自带 3.5 寸软盘,安装了 Pascal 编译器,我还在书店买了一本 C 语言的书。

当我写下 if (5>4>3) 时,竟然获得了意想不到的结果,再一次三观尽毁啊。当我晚上回家时,怎么也找不到这本C语言书了,就这么着,一本新书只看了三天,我也就这么告别了C语言。当再次接触C语言,就是大学了。

C语言的书丢了,那这个 5>4>3 的疑问也就不了了之了吗?

没有书,还有网啊,拨号上网——插网线,拨号,打开百度搜索,快速打开前几个搜索结果,等页面都打开完毕后,断网,拔网线,再慢慢看。

此后在个人高中三年,我再也没有在书店看到过编程类的书籍,毕竟在咱们县城不多有人买这种书。

大学的志愿我填报了两个:数学和编程。后来就来到了天津,正式踏上编程的不归路。这时就不是编程玩了,而是系统的学习编程知识。也慢慢接受了 i=i+1 是赋值,多个数比较要用「与」:5>4 && 4>3。再一次让我毁三观的是 Python,竟然能够写 if 5>4>3,这简直就是不按套路出牌啊。后来再细想,其实 5>4>3 才最符合咱们的使用和理解习惯啊。就像格雷厄姆在《黑客与画家》中说的那样:程序实际上是给人看的,只是机器刚好能够运行它。

最终我也未能完成学业,2009年辍学创业,又进了另外一个深坑。此次访谈时编程之路,创业的成功和失败就很少说了。

在编程过程当中,或多或少会遇到一些问题,你有什么解决问题的秘诀吗?

看官方文档,能够解决掉一半以上的问题。剩下的问题能够经过 Google,StackOverflow,SegmentFault。

问题分好多种,有的是属于那种脑抽型的,好比拼写错误,解决以后想抽本身俩耳光。这种我基本都是默默的记录在 EverNote,毕竟家丑不可外扬。

有的属于常见错误,好比对库、接口、函数的使用错误,由于不少接口文档写的不是很清楚,还有一些文档原本就有歧义,这样在调用的时候就可能出错,最多见的就是 Java 的日期类和日历类。对于这种错误,我通常会整理在某个专栏上。

还有一些问题是对规范、对底层原理理解的不够深刻,好比 IEEE754 的浮点数规范,HTTP 协议规范,JSON 规范。这些规范也都有中文翻译,我仍是推荐程序员去读读。

有没有写过一些黑科技(狂拽酷炫屌炸天)的程序?

程序员最大的骄傲就是写过什么软件,因此要想了解一个程序员就去他的 GitHub。

我这几年面试程序员啊,大部分的简历都是作过 XXXX 系统,开发过 XXXX 网站,给 XXXX 政府作过 ERP。其实若是一我的热爱编程,对编程感兴趣,就不只仅是为了完成工做任务,而是在业余时间为本身的这份兴趣付出了多少。

虽然在各类第三方 GitHub 排名网站上个人 star 数排到了全球前 50 名,可是干货却很少。

按时间顺序说说吧,ChromeSnifferPlus 是我维护了 5 年的一个项目,以前我也在 SF 上介绍过,一款 Chrome 浏览器的插件。当咱们浏览一个很是炫酷的网页时,咱们总想知道这个网站到底使用了什么技术,用到了哪些 javascript 库,这个插件就是干这个的。目前有全球的1万多用户,因为大陆墙的存在致使这个插件的国外用户偏多。

Flarum 中文站:原文太长就不展开说了,能够看看原做者 Toby 的文章「The Flarum Story」,我翻译了中文版 Flarum 的故事:我为何开发 Flarum

推荐一些书籍或者编程大杀器给你们呗

说到编程书籍,我正好在 GitHub 上维护了一个书单:免费的编程中文书籍索引,目前已经有近1万个 star 了。

最后,有一本书必须推荐给每一个程序员看看:《颈椎病的预防和治疗》。

能谈谈你的新书《代码之谜》吗?

说来惭愧。

出书这事大概缘起 2012 年末吧,在这期间我还在翻译另外一个系列文章《12 JavaScript Quirks》。

我从大学时就开始写博客,在 ITeye 和 CSDN。当时 ITeye 尚未被 CSDN 收购,名字叫 JavaEye,主要以 Java 技术为主。《代码之谜》系列的第一篇文章是「其实你不懂代码」,发在了两个平台和个人独立博客上,也没有太当回事,发完就忘了。

到了次日晚上我打开电脑刷微博,忽然就看到了好几条私信,是图灵教育的陈冰老师发来的。再次以前我就知道陈冰老师,他策划出版的《大话设计模式》估计很多程序员都看过,也被当当评为终身五星级图书。可是没想到陈冰老师会给我发私信,我打开看了看,好像是说个人代码之谜系列不错,要找我出书什么什么的。

因而我又打开博客看了看,把我本身都吓了一跳,才一天的时间访问量就过万了。后来的连续几天都被推荐到了首页,如今这篇文章在2个平台上的访问量分别是18万和27万。

其实在以前也有很多出版社联系我出书,我都拒绝了。可是此次陈冰老师的私信,我有点心动了,因而答应了陈冰老师。

可是天有不测风云,后来有一天陈老师给我打电话,说他离职了。当时个人心里就纠结的,陈冰老师一走,个人书的策划和第一版任务就交给了别人。经过几回的交谈,我决定取消协议,暂时先不出了。

书虽然不出了,可是还在一直写。也许有一天我会放到把这本书作成电子版,分享给你们。

哪些好的习惯程序员值得拥有?

懒惰。

有一些程序员很懒,懒到任何事情都交给机器去作。而另一些则很勤奋,天天都孜孜不倦得作着重复单调的工做。以前我也一直是一个勤快的人,不过我一直努力变懒。

不要一级一级地打开资源管理器寻找想要的文件,写个脚本吧。自动搜索到想要的文件,或者更进一步,自动用 sublime 打开。编辑完了,还要自动打开比对工具去解决冲突。在机器面前,本身才是主人,不是仆人

要习惯用命令行而不是鼠标要动脑,要时刻思考本身的工做方式,改进本身的工做过程,让本身处在一个高效节能的工做氛围中,而不要浪费了本身的体力、精力、时间。

在你的编程生涯中有没有遇到什么有趣的事?

我清楚的记得第一次上电脑课的时候的一件糗事。

当时学校硬件条件有限,两我的公用一台电脑。当时有一个拍苍蝇的游戏比较火,可是我俩都不会进入这个游戏,因而壮着胆子问老师「怎么打开游戏啊?」。

老师看了我俩一眼,拿起鼠标告诉咱们怎么从开始菜单中一级一级的找到游戏,怎么双击进入。完过后不忘嘱咐一句「上课可别玩游戏啊」。

等老师一走,我俩就打开游戏,一我的玩,一我的看着老师,玩的不亦乐乎。没多久老师就过来了,我小声告诉他「老师来了!老师来了!」。

这时他慌了,「妈呀,怎么退出啊?光问了怎么打开,没问怎么关闭」。

最后,毫无悬念,我俩被老师批评一顿。从那以后学会了神奇的 ESC 键。

如今 ESC 也依然是我使用频率很是高的一个键:输入法打错了拼音,想所有删除,不用反复按 Backspace 键,只须要按一次 Esc 键。上网时输错了网址,按 Esc 中止加载。填写表单时有错别字,按 Esc 清除。弹出框时,Esc 等于取消按钮。

你当初选择放弃学业后悔过吗?

若是我没有记错的话 SegmentFault 的高阳也是辍学生,我猜他应该也不会后悔当初的决定吧。这种事原本就没有对与错,本身选择的路,跪着也得走完。

可是我还得告诫各位莘莘学子一句话:「比尔盖茨之因此成为世界首富,不是由于他辍学了;马云成为中国首富,不是由于他丑」。我在个人博客中也常常会写「学历表明过去,能力表明如今,学习能力表明将来」,一我的的成就和辍不辍学没有关系,而是和本身的努力程度有关。


听说,关注二维码的同窗,运气都很不错

justjavac

本文参与了 SegmentFault「个人编程之路」计划,欢迎正在阅读的你也加入,一块儿分享。
相关文章
相关标签/搜索