程序员为什么值得写博客
Hire Great Writers
仿佛这是写给自己看的,不过这在其中也有着相当有趣的意义 。虽然自己算是一个能写的人,或许这算是一种不算才华的才华,写博文的意义通常不会在于去描述自己怎样,怎样。通常在某些时候对自己来说,可以回顾自己学习的过程,呈现其中的一些思路,并其学习的过程分享出来。
原文的意义在于说明,一个优秀的写手,其优点并不仅仅在于写作,文法清晰代表思路明晰。优秀的写手都懂得如何与人沟通,他们使事情变得易于理解,他们善于换位思考,懂得抓重点、砍枝节,这些都是合格的应聘者身上应具备的特点。 想想自己算是后面说的那一部分,至于前面那部分——一个优秀的写手,就有待商榷。写的人越来越想,阅读的人越来越多的这个信息冗余的年代,会写就代表会思考??
为什么要写博文
写一篇博文意味着要花一定的时间,有时候可能是一个小时,有时候可能会更多,于是人们开始去copy。在这个Ctrl+C越来越盛行的年代,我们还 是输了,于是乎在我们的国度里,我们的计算机书算是输给国外的精英了。我们也有优秀的程序员,有优秀的工程师,只是在其中能与大众沟通的又有多少。我们的 最终用户可从来不会管你用的是什么技术,他只懂得什么是体验,什么是速度等等。至于你说的东西,他不知道,也不会在乎。
这也就是为什么大师可以成为大师的原因,而菜鸟却还是菜鸟,大师在心里写博文的时候学会了总结,比如,定义算法的集合,将各算法封装,使它们能够交 换。利用Strategy模式,算法和利用这些算法的客户程序可以分别独立进行修改而不互相影响。这个就是你需要的方法,于是大师就和你说了,“你需要 Strategy模式”。这就是你要的答案,GoF分享了他的东西给了你,我们就有了一本《Head First设计模式》或者是《设计模式解析》。
我们开始走上了成为大师的西天取经,为什么是西天呢,这个领域一直是西方比东方分享得多。《西游记》就这样成为了《西游记》,写下这个过程的到处是 吴承恩,还是师徒五人?师徒五人从一个地痞无赖直至成仙成佛。(PS:一直觉得自己写的东西,比较像不是散文的散文,中心似乎一直很明确,只是看懂的仿佛 不到。)简单点来说,就是他们写下了自己的那些点点滴滴,我们就知道怎么去“西天”(我的意思不是那个意思,我想你懂的。)
这个过程就是一个个为什么你会看到那么多本优秀的计算机书的原因,大师分享了他们的心得告诉我们如何去成为大师,不过我还不是。只是如果你要成为大师,就要去分享你的过程。至于为什么?简单的说几点:
- 技艺的掌握在于重复。技术和游玩的相同之处在于技术玩得越多,也就越熟悉,当你试着去写一篇博文的时候,你也回顾了过程。游玩的回味可以再次欢乐,博文的书写可以再次熟悉。
- 你的过程正是别人所需要的。不要以为你手上的那点点关于编码的小知识不是别人所需要的,有时候人们就需要像《七周七语言 理解多种编程范型》这种书。
- 你的作品有可能因此重构。至于你对于重构是害怕还是享受,我就不得而知的,但是你写出来的时候,也许你会有更好的思路涌现出来。不好的一点是你还需要对这篇文章进行重构,不是么?
- 别人的评价。别人的评价有时候是打击,不过我想更多的时候是一种建议,比如Linus在刚写Linux的第一个版本的时候,他也遇到了这样的问 题。至于宏内核好还是微内核好,这个问题有点类似于先有鸡还是先有蛋,不过我想后者可能科学家会给出答案。至于前者,不同的领域可能是不同 的,Python好还是C好?相同的领域也可能是不同的,Ruby强大,还是Python强大?
- 最后一点就是,你想成为大师,不是么?如果你还甘愿......,我就不说了。
成为笔杆子
Copy与盗版
当我开始越来越频繁写博客的时候,同学开始复制,于是有一天他的排名对于我来说,已经遥不可及了,于是远远地排在了CSDN的前面。一步步的前进 着,开始懂得怎样去试着推销自己的博客,这时候渐渐有趣了。又去鼓励另外一个同学去写博客,就如他所说的,“就算是你,写一篇博客也要一个小时”吧,或者 对于我的打字速度来说,不算什么,半个小时可以达到三千,五笔加上机械键盘好的手感。
我们总会说别人写的说怎么怎么的烂,但是如果一本书上不是Copy过来的,那么他就是不错的,在版权的地位比代课老师还低的天朝。我想你就可以骂这 本书烂,因为他是复制的,因为到了最后你没有找到出处。换到博文来说,你搜索到的结果一个个都是一样的,你找不到原版的文章,去问作者一些问题。
一开始的时候我试着去反抗那些复制,你花一个小时写的东西,可能在发布的瞬间就被抓取过去了。有趣的是,渐渐我发现这有利于我们去传播我们的思想。换句话说,这是一个信息时代,你写的东西有可能在一瞬间到了Obama的眼前。至于优缺点嘛,补充一句可以借此SEO。
天朝一直都有天朝特色,无论从哪些方面来说,计算机也是如此,中国特色的免费。至于付费,我想这就是为什么我不会考虑去做收费软件的原因了。 程序员害了程序员,自己害了自己有什么好说的。于是转战到了openSUSE,都挺好的fcitx的五笔很给力,bug也没有原来多,还有WPS For Linux下的此文,因为网络原因。
Copy对于读者来说,看到的都是千篇一律的东西,只会写的人失去兴趣。盗版对于用户来说,看到的都是免费的东西,只会让开发商失去动力。用户便看到了越来越多的广告,读者便只看一个门户的新闻。
如何去写博文
标题——必须重要,类名
对于写博文的人来说,重点的是如何清楚的去表达他们的想法,标题算是其中之一,这个也就是为什么标题党成为了标题党,而《设计模式》成为了经典。刚 开始学编程的时候,更吸引你注意力的可能是《72小时学会Javascript》,而不是《Javascript 权威指南》,兴许让你买前者的原因是因为你能看懂前者,而后者不仅看不懂,而且价格更贵。只是一年以后,《72 小时学会Javascript》被你扔到了垃圾箱,而《Javascript 权威指南》却放在了原来放那本书的位置上。你定义的类难道仅仅应该是class class1么?
小标题——地图,method
小标题有点类似于sitemap.xml,只是他就是站点地图,一点就到了相应的地方。他应该直接了解的说这是开始菜单,标题栏,菜单栏,而不应该是简简单单的第一章,如果你真是那样写的话,你写的函数想必是
def fun1 end
如果你写的是get_data那么,我想你的函数名应该和你的文章一样,告诉人们,你要的是get_data。所以不要吝啬你鼠标的一下,它可以承 受上百万字的点击。如果因为那样坏了,你可以告诉我,我可以帮你免费换一个欧姆龙的微动,前提是你的鼠标可以换。如果是HTML那么应该是h2 h3,markdown也就是用得比较多的github上的README.md的##或者是###
内容——函数体
这里可不是让你用一个让人难以理解的Magic Number,你写得越复杂,别人看的时间就越久,通俗易懂,就是一个很好的开始。你可以把一个个复杂的方法分解出来,或者提炼函数,或者重命名。当你相 信你看不懂你的文章,正如你看不懂你写的hello,world我想你是时候去重构你的函数了。
复杂的部分,就用段落来解决,一个函数如同一个段落只应该表达一个思想,太长了就如同这篇文章一样没有多少人会认真去看。你需要给你写的一个精美的代码加一个注释,所以你也需要给你复杂的地方加上个(PS)。
引言——README
我想都会去看的,无论是在破解软件的时候,还是github上面的项目。简单的说说,这篇文章是干什么的,这个程序是干什么的。大家都会,不是么?
没有什么好写的?
说说你是怎么开始编程吧,然后写在你的博客上,你会发现你会爱不释手的。
小提醒
- 代码,代码有时候会更清晰的表达你思路,太长的代码可能会影响阅读,通常不超过一屏就不算太长
- 图表,耐心的画个UML图,或者程序框图也是不错的,很清晰的表达你的思想。
- 美观,要知道C上是有indent,如果我看到别人让我帮他看的代码是一坨。。。WPS也有段落,如果你没有学好WORD,找本《72小时精通Office》吧,顺便找PPT、EXLS也学了。
- 格式,记得好好用好手上的工具,如果你用的是CSDN用的editor,试着一个个探索,CODE应该要有CODE的格式,LIST应该要有LIST的格式
最后,耐心
在CSDN上的博文的话,可以按长尾理论来分析,这里说的通常是指——你的东西是原创的,写博文有些时间。SEO上,以谷歌为例,谷歌对其抓取是比 较及时的,同时谷歌会排除掉部分专业的复制网站——就是拉到重复的搜索结果里。文章刚发表的时候的流量有可能会很低 ,但是有些文章时间一长就显示出来了,比如我写的东西中的《Android上使用GCC》算是一个很好的示例。一开始的时候我们写的东西访问量不会很大, 特别是我们刚起步的时候,这时候就要一步步慢慢来。只要你写的东西是别人需要的话,那么就会一步步慢慢来。如果你写的刚好是热门的话题、技术的话,那就是 好莱坞大篇《速度与激情1》《指环王2》《黑客帝国3》《纳尼亚传奇4》。。。直到《哈利波特7上》,《哈利波特7下》。于是作为迪斯尼的你,又推出了下 一部分电影……
总结
现在的我们更多的技术是直接来源于Google、百度、CSDN或者其他,搜索得来的,我们并不去考虑别人在其中花费的时间和经历,有时候我们要试 着去想我们是不是也应该分享给别人。这算是自己开始写博客的原因,受益于开源社区,我们自然而然的也要回顾给这个社区,只有分享才会使未来更美好。
我们都希望看到有一篇博文够清楚的对我们当前所遇到的那个问题进行好好的解析,问题是也许你解决过的那个问题正是别人所需要的,但是你并没有将它分享出来,仿佛是一个循环一样
for(;;){ }
于是我们又回到了一个起点,人都是自私的。我们都希望自己能更快的学习好一项技术,一门语言,别人也需要你手上的那项技术,那个语言。都你开始意识到别人需要你手上的东西的时候,你算懂得换位思考了。
写篇分享,写篇心得就是一个好的开始,或许我们已经被高中的语文所吓怕了。但是,是时候从新开始。如果你被C的指针吓坏了,被C++的模板吓到了,被Javascript的简陋吓到了,而你又需要拾起它,我想是时候重新开始了。
(转载保留: 程序员为什么值得写博客)