由于写这个不完整回忆,忽然想看看自己到底编过多少软件。前天出差回家(我最近被外派大连工作,所以回本地工作反而算作出差),到自己老电脑上看了看,发现原来的VB5和VB6留下的软件代码并没有多少。
先统计家里面台式机和笔记本中留下的,VB5与VB6开发的软件现在合在一起也只有60来个,Delphi个版本开发的合起来约200个,C#开发的大概80个左右。应该说Delphi和C#的都没有损失,而VB5和VB6开发出来的软件损失比较大,原因么,还记得不完整回忆(十七)中么,我提到了IBM的玻璃硬盘,我一共用坏4块,就是这时候我损失了几乎绝大部分以前程序的源代码。
我另一部分比较庞大的软件作品是在单位,由于单位的电脑完全与外界隔离,所以源代码是拷不回来的,由于保密检查,也有大量的软件都被我删掉了。在单位,保守估计应该也有100以上的软件数量。实际上由于结婚后特别是有孩子后,能在家里开发的时间越来越少,后期大部分软件都是在单位为工作或者娱乐开发的,个人电脑中数量并不多。
数量看起来倒是蛮多了,估计加一起应该有0.5K以上了,不过我的大部分软件都是为我自己使用开发的,而仅供我自己使用的软件我通常不会太严格要求完美,比如一般不做错误处理,也不用写使用说明书,涉及到数据输入的话也从来不做数据合法性校验——我自己就是最好的校验者,甚至很多软件我运行的时候都是直接通过IDE调试状态来运行的,这样使用的好处就是一旦发生错误马上就知道问题在哪,反正大部分时候对运行速度是没有那么高需求的。
由于非职业程序员,所以自己编的绝大部份时候是以辅助工具的身份出现的。
比如,我想看书,发现市面上的读书软件不满足我要求,那么我便自己做了ArcanBook系列;
我有段时间想在CADDS5(一个小众的三维建模软件,所属公司倒是大名鼎鼎——PTC——Pro/E的公司)中自己做一套字体,因为外挂的那种字体太难看了,所以研究了一番后做了一个将windows下面字体轮廓提取出来然后生成CADDS5脚本的工具,当然最后字体没做成,但是可以在CADDS5中少量绘制一些非常美观的汉字了;
前段时间建行搞了一个E路通的游戏比赛,就是很无聊的类似于大富翁的游戏,主要是做广告,每天大概要重复近百次游戏才能达到当日积分上限,所以就做了一个自动玩这个游戏的软件;
去年下半年忽然想写武侠小说,就自己编了一个小说写作助手,现在我这些博客其实就一直在用这个软件来写的,不过只是纯文字版的,没有插图功能,毕竟写小说只要文字就够了;
当年有人在论坛中用很多字拼出“顶”字,所以我就开发了一个字拼图的软件,可以把文字或者图片转换成由文字拼成的图案,生成指定论坛的标识代码(比如YBB、vB、HTML等等);
曾经在单位开发一个类似于一个综合平台的软件,觉得QQ秀不错,决定增加这个功能,首先要解决QQ秀图片的问题,于是就写了一个软件从腾讯的网站上把各种衣服的图片全部下载并分类放好;
也有一些是属于根据需求的功能然后做成通用功能软件的,比如当年单位曾经有人架设了一个论坛,里面有一个宠物游戏,可以打怪升级专职等等,然后自己就开发了一个自动玩这个游戏的外挂,后来就把这程序做成了网页触发器,可以自动完成很多种网页游戏或者操作。
后来开始有保密检查了,于是自己做了一个插过USB设备扫描器(很简单)、一个文件蒸发器以及一个硬盘清理的软件。USB设备扫描主要会检查计算机是否插过优盘,主要是方便内部自查。文件增发器主要是彻底删除文件,令其不可恢复,当时瑞星也有这个功能,不过当时不好用。而硬盘清理的软件功能最好,可以将硬盘上所有已删除过的文件痕迹清理干净,这样就不怕检查的时候别人用磁盘恢复软件来恢复你机器上的文件了。
有一次大舅哥接到孩子老师布置任务,出一些根据拼音写汉字的题目,很多。因为录入拼音很不方便,所以我当时做了两个软件,一个是非常方便录入拼音的软件(不能说是输入法),是用C#做的Word的AddIn,用户直接录入汉字然后自动显示出拼音,当时还提供了另一种解决方案,就是利用Word的自动更正,用户直接在Word中输入liang2这种然后会自动转换成对应的拼音,我的程序负责自动录入自动更正的项目,反正都挺方便的。
有段时间老婆要绣十字绣,我就想,我不如做一个软件可以把各种图片都转换成十字绣的图纸,于是就做了一个。老婆倒是没用上,同事的朋友倒是用这个软件把自己的婚纱照绣成了十字绣,据说效果相当好。
前段时间做了一个开心辞典类的问答应用,为了方便修改网络上的题库,于是做了一个软件可以方便的在本地搜索到有问题的题目,然后修改,修改的同时直接将网络上的数据库也修改了。
而在工厂,各种辅助工作的小软件也做了不知道有多少,很多一次性的不具备重复使用的小软件基本上我都是不留的。尤其是用Delphi的时候,临时编个程序都是默认在Delphi的安装路径下,我也懒得改,所以重新安装系统这些程序就都没了。只有我觉得能够重复使用或者里面的代码值得保留以后再用我才会把这个程序放到我专门的Delphi程序路径下。
……
实话说,软件做得还真不少,从中受益也颇多,卖过钱的倒是不多,真正给别人开发并赚钱的肯定不超过10个。我更多的是享受软件给我带来的方便或者帮朋友做软件解决实际问题所得到的称赞。其实本质上还是我比较懒,我喜欢让计算机帮我做一些力所能及的事情,所以只要能让计算机帮我做,并且开发程序的时间与节省的时间综合考虑最终比较划算的话我就一定会做个程序。有些软件大幅度节省了我的工作时间,本来我的工作水平就很高(嘿嘿,自夸一下),再加上自己用软件辅助,所以我总能很快的完成任务,不过一般我并不很快交差,只要比别人略早一点或者一起交差就好了,剩下的时间我就可以尽情的用来研究编程了。我一直不觉得我是一个很努力地员工,尽管我在工作上面做得已经足够好,尽管圈子里面的人都认可我,但我真的没想把太多的经历放在工作上,我只要求我的工作做得比别人好就可以了。当然,很多时候为了完成工作也是加班加点甚至通宵,对工作我不能说是热爱,但我必须负责,该做好就必须做好。
关于工作的事情可能会在非专业人士观点中专门说,还是回到我做过的软件这个话题中。其实大部分软件并不需要多高的编程方面的技术含量,更多的还是想法和其它相关的专业知识。比如做的很多的跟工作相关的软件,再比如做十字绣那个,关于颜色的匹配算法我就写过了好多,不断地对比,最后选择了一个自己看起来觉得最好的匹配算法。总的来说,数量足够多,偶有一两个精品,这算是我对我做过的软件的一个自我评价。
先统计家里面台式机和笔记本中留下的,VB5与VB6开发的软件现在合在一起也只有60来个,Delphi个版本开发的合起来约200个,C#开发的大概80个左右。应该说Delphi和C#的都没有损失,而VB5和VB6开发出来的软件损失比较大,原因么,还记得不完整回忆(十七)中么,我提到了IBM的玻璃硬盘,我一共用坏4块,就是这时候我损失了几乎绝大部分以前程序的源代码。
我另一部分比较庞大的软件作品是在单位,由于单位的电脑完全与外界隔离,所以源代码是拷不回来的,由于保密检查,也有大量的软件都被我删掉了。在单位,保守估计应该也有100以上的软件数量。实际上由于结婚后特别是有孩子后,能在家里开发的时间越来越少,后期大部分软件都是在单位为工作或者娱乐开发的,个人电脑中数量并不多。
数量看起来倒是蛮多了,估计加一起应该有0.5K以上了,不过我的大部分软件都是为我自己使用开发的,而仅供我自己使用的软件我通常不会太严格要求完美,比如一般不做错误处理,也不用写使用说明书,涉及到数据输入的话也从来不做数据合法性校验——我自己就是最好的校验者,甚至很多软件我运行的时候都是直接通过IDE调试状态来运行的,这样使用的好处就是一旦发生错误马上就知道问题在哪,反正大部分时候对运行速度是没有那么高需求的。
由于非职业程序员,所以自己编的绝大部份时候是以辅助工具的身份出现的。
比如,我想看书,发现市面上的读书软件不满足我要求,那么我便自己做了ArcanBook系列;
我有段时间想在CADDS5(一个小众的三维建模软件,所属公司倒是大名鼎鼎——PTC——Pro/E的公司)中自己做一套字体,因为外挂的那种字体太难看了,所以研究了一番后做了一个将windows下面字体轮廓提取出来然后生成CADDS5脚本的工具,当然最后字体没做成,但是可以在CADDS5中少量绘制一些非常美观的汉字了;
前段时间建行搞了一个E路通的游戏比赛,就是很无聊的类似于大富翁的游戏,主要是做广告,每天大概要重复近百次游戏才能达到当日积分上限,所以就做了一个自动玩这个游戏的软件;
去年下半年忽然想写武侠小说,就自己编了一个小说写作助手,现在我这些博客其实就一直在用这个软件来写的,不过只是纯文字版的,没有插图功能,毕竟写小说只要文字就够了;
当年有人在论坛中用很多字拼出“顶”字,所以我就开发了一个字拼图的软件,可以把文字或者图片转换成由文字拼成的图案,生成指定论坛的标识代码(比如YBB、vB、HTML等等);
曾经在单位开发一个类似于一个综合平台的软件,觉得QQ秀不错,决定增加这个功能,首先要解决QQ秀图片的问题,于是就写了一个软件从腾讯的网站上把各种衣服的图片全部下载并分类放好;
也有一些是属于根据需求的功能然后做成通用功能软件的,比如当年单位曾经有人架设了一个论坛,里面有一个宠物游戏,可以打怪升级专职等等,然后自己就开发了一个自动玩这个游戏的外挂,后来就把这程序做成了网页触发器,可以自动完成很多种网页游戏或者操作。
后来开始有保密检查了,于是自己做了一个插过USB设备扫描器(很简单)、一个文件蒸发器以及一个硬盘清理的软件。USB设备扫描主要会检查计算机是否插过优盘,主要是方便内部自查。文件增发器主要是彻底删除文件,令其不可恢复,当时瑞星也有这个功能,不过当时不好用。而硬盘清理的软件功能最好,可以将硬盘上所有已删除过的文件痕迹清理干净,这样就不怕检查的时候别人用磁盘恢复软件来恢复你机器上的文件了。
有一次大舅哥接到孩子老师布置任务,出一些根据拼音写汉字的题目,很多。因为录入拼音很不方便,所以我当时做了两个软件,一个是非常方便录入拼音的软件(不能说是输入法),是用C#做的Word的AddIn,用户直接录入汉字然后自动显示出拼音,当时还提供了另一种解决方案,就是利用Word的自动更正,用户直接在Word中输入liang2这种然后会自动转换成对应的拼音,我的程序负责自动录入自动更正的项目,反正都挺方便的。
有段时间老婆要绣十字绣,我就想,我不如做一个软件可以把各种图片都转换成十字绣的图纸,于是就做了一个。老婆倒是没用上,同事的朋友倒是用这个软件把自己的婚纱照绣成了十字绣,据说效果相当好。
前段时间做了一个开心辞典类的问答应用,为了方便修改网络上的题库,于是做了一个软件可以方便的在本地搜索到有问题的题目,然后修改,修改的同时直接将网络上的数据库也修改了。
而在工厂,各种辅助工作的小软件也做了不知道有多少,很多一次性的不具备重复使用的小软件基本上我都是不留的。尤其是用Delphi的时候,临时编个程序都是默认在Delphi的安装路径下,我也懒得改,所以重新安装系统这些程序就都没了。只有我觉得能够重复使用或者里面的代码值得保留以后再用我才会把这个程序放到我专门的Delphi程序路径下。
……
实话说,软件做得还真不少,从中受益也颇多,卖过钱的倒是不多,真正给别人开发并赚钱的肯定不超过10个。我更多的是享受软件给我带来的方便或者帮朋友做软件解决实际问题所得到的称赞。其实本质上还是我比较懒,我喜欢让计算机帮我做一些力所能及的事情,所以只要能让计算机帮我做,并且开发程序的时间与节省的时间综合考虑最终比较划算的话我就一定会做个程序。有些软件大幅度节省了我的工作时间,本来我的工作水平就很高(嘿嘿,自夸一下),再加上自己用软件辅助,所以我总能很快的完成任务,不过一般我并不很快交差,只要比别人略早一点或者一起交差就好了,剩下的时间我就可以尽情的用来研究编程了。我一直不觉得我是一个很努力地员工,尽管我在工作上面做得已经足够好,尽管圈子里面的人都认可我,但我真的没想把太多的经历放在工作上,我只要求我的工作做得比别人好就可以了。当然,很多时候为了完成工作也是加班加点甚至通宵,对工作我不能说是热爱,但我必须负责,该做好就必须做好。
关于工作的事情可能会在非专业人士观点中专门说,还是回到我做过的软件这个话题中。其实大部分软件并不需要多高的编程方面的技术含量,更多的还是想法和其它相关的专业知识。比如做的很多的跟工作相关的软件,再比如做十字绣那个,关于颜色的匹配算法我就写过了好多,不断地对比,最后选择了一个自己看起来觉得最好的匹配算法。总的来说,数量足够多,偶有一两个精品,这算是我对我做过的软件的一个自我评价。