写开源软件居然会上瘾

王志勇 发表于 2018年12月12日 07:25

从今年我才开始有了写、发布开源软件的想法。因为开源软件,能积累更多忠实用户。无收入的事情没有人愿意做,就像2003年时期的Webshu,整整运营了1年,Alexa排名3万多保持了约半年,但是0收入,导致了后面的运营失去了方向。为什么Webshu我总是会提到2003年、2004年?因为那个平台只有2003年、2004年有故事,后来那个平台的故事基本上空白。幸好这么多年来,网页一直还存在,域名我也每年续费。

使Webshu中断最大的原因是2004年3月,我去了深圳,当时在华强北,差一点就转向另一个行业──电子元件,2004年底才又重新回到了互联网。华强北有国内最大的电子元件采购市场:华强电子世界、赛格广场、都会、新亚洲。

这些年,我写过的程序不计其数。因为我喜欢把关联较强的语句,都写在同一行,所以无法计算出写过多少行程序,只能以小时计算。我从一个网页制作者,变成了设计者、前端开发者,2002年编写了第一个留言板程序之后,成了程序员。

虽然程序的工作量是难以想象地庞大,但是只有程序才能创造想要的平台。

经过这十几年的开发和测试,每写一段程序,都需要考虑它在高并发时候的情景,所以对于程序效率是十分谨慎的。写程序时,一次就写好,将来无需再优化,因为写程序时已经做到优化。如果将来再优化,改动的工作量可能是惊人的。

促使我爱上编写开源软件的原因,也是因为开源软件能够把作者的想法传播出去。无论是作者通过别的渠道有较高收入,或者较少收入,那么你仍然是优秀的程序员。因为想成为优秀的程序员,你必须有作品,必须有能够说得出来的作品。这也是我废寝忘食、奋力加班编写开源软件的原因,哪怕生活中有各种事情阻断我写程序。

程序和平面设计、诗歌一样,同样优美。但不同的是,尽管程序的工作量异常庞大,但程序相对较容易完成。因为平面设计、诗歌,如果没有题材和素材,是很难凭想象而产生作品。程序是根据需要、根据功能来编写,不需要像设计那样去凭空想象。程序开发就像做数学题一样,很多思路是不可预知的,是在开发中自动产生的

同时,由于程序的工作量庞大,我写过的程序一般也不再去阅读。当程序完成之后,3个月之后,自己写过的程序还能马上读懂70%-80%;有些复杂的部分,可能要解读半天~一两天的时间才能还原开发时的思路。因为程序的工作量庞大,要记的东西实在太多太多,这种情况下记忆力不好是很正常的。

如果别人给我一个类似的程序成品让我看,我也看不懂,因为思路无法在程序中体现,无法还原。所以,很多程序,只有作者一个人懂。对于成品,我一般不写注释,因为一是很花时间,二是影响程序效率。只有单机版的程序,便于二次开发,我才会写注释。

程序里曾经出现过很多巧妙的解决方法、高效率的优化方式,这部分对我来说是像诗歌一样优美,单一小段优美的程序,说3天都说不完。

虽然程序工作很繁重,但促使我爱上写程序的原因之一是:程序能越写越优美

促使我爱上写程序还有一个原因:不用框架,而大部分语句都用原生的程序语言、函数,这样能够写出自己风格的程序;或者需要时也会常常用到别人写的代码、少数时候需要用到类。比如一个预计20K的程序项目,如果用框架,光是一个JQuery文件就是100多K,或者一个框架就是几百K、几M,怎么能够实现自己需要优化的效果呢?所以应该脱离框架,用原生的程序语言才能让程序达到最优的优化效果,因为框架里有大量模块是用不到的。

也可以自己编写模块、框架。尽管如此,程序的开发工作量依然庞大,我最近最常谈到的词是重构、从0编写,因为可重复复制的模块,并不多。当然,程序开发最开心的事情就是能够重复复制模块,可以大大缩短开发时间。

在不久的时间里,大家将能免费下载到我编写的第一个开源程序:Feedval RSS阅读器,敬请关注!

2018-12-12 09:09更新:关于bug的问题,因为程序我在编写时都有很多的情形测试,所以bug较少。只有超出测试情形的时候,才会有少量的bug出现。

或者由于客户端的网速很慢,也会造成一些bug的出现、数据写入错误,在这种情况下程序里是能够写防错、或者自动纠错的程序,防错的程序已经写了很多;但是自动纠错的程序、自动重建数据表的工作量很大,因为程序里面对数据库的写入语句实在太多,一般在服务器的内部传输不会出错,只有在用户post数据的时候,网络阻塞时,input或textarea区域会有一定的数据丢失,这一块儿将会重点编写防错程序。自动纠错的部分,暂时不编写。除非是一个极其重要的数据项目,才会大量写入自动纠错的程序(工作量会增加很多)。

万一实在是出现了软件崩溃,我会编写相应的修复程序,并且在用户数据不丢失的情况下,这种情形一般不会出现,这么多年也尚未遇到过。

6条评论:
1   小川 2018-12-12 16:34
我第一次知道志勇哥,就是通过webshu,就是关得有点快、早。
我猜想志勇应该是不太会网站的运营,“整整运营了1年,收入为0”,不知道当时每天有多少IP,这种教程文章资讯类网站 如果养到现在,是可以让一个人自由自在,职业自由啦。

自由勇 2018-12-12 16:39
谢谢关注!真是有缘。当时的IP数每天大约2000~3000。平台虽然有一定访问量,但是没有成功。在那个时候也不好接广告,广告一般要求每天1万IP以上。
那时候维护Webshu真的很辛苦,写了将近1年的文章。
也许将来Webshu会重新改变角色,成为我的开源程序的发布平台。

2   青山 2018-12-16 14:09
干一行,乐一行

自由勇 2018-12-25 06:26
谢谢!

3   自由勇 2018-12-25 08:11
Trackback来自《Eonval开源软件的人生心路历程(3)

年轻时,因为种种原因,总是需要保护自己的代码。现在随着年岁的增长,我巴不得把源代码(我的作品)免费送到用户的手中。年岁越大,这种想法越强烈,因为好东西不去分享,终会烂在自己的手里;到年老时,年轻时创造的这些,终究会离你而去。

4   唏嘘一世 2018-12-27 22:11
志勇哥这种心态很难能可贵。我是一个浮躁的人,我也很多次有写一个项目的初衷,但还没开始就会忧心忡忡,然后放弃。其实最终还是因为做此类项目没有收益,还是因为没钱。有时间就想去加班,想尽快把生产力变现。所以呢浮躁的人,注定平庸

自由勇 2018-12-27 23:13
谢谢理解。:)都是同道中人。大家都是在想办法把技术变现。

发表评论:
名字: (*必填)
博客: (可省)

正文:

  记住信息?

直接发送Trackback到此文章

说明:本评论系统不支持HTML代码。(您的留言需要审核,审核规则请见这里。)

王志勇:1980-09-26 (39周岁)
程序设计,前端设计。

版权声明:本博客所有文章,均符合原创的定义,禁止转载,违者将必究;正确的方法是贴原文的标题和网址即可。

与此相关的链接
自由勇专栏

Blog存档 Archives

2019年03月
2019年02月(30)
2019年01月(30)
2018年12月(30)
2018年11月(30)
2018年10月(30)
2018年09月(17)
2016年-2017年(9)
2014年06月-09月(10)
2013年 +

2012年 +
2011年 +
2010年 +
2009年 +
2008年 +
2007年 +
2006年 +
2005年09月(4)

Copyright © 2006-2019 auiou.com All rights reserved.
此Blog程序由王志勇编写 已经发布在Arsue