一个计算机爱好者的不完整回忆(二十五)

61 篇文章 0 订阅
55 篇文章 0 订阅
  我最开始接触编程的时候很认同一句话:程序等于算法加数据结构。
  非计算机专业的学生是不开数据结构的课程的,不过作为一个爱好者,必须向专业靠拢,所以自己学数据结构。数据结构的书我这些年至少看过四遍,不过说实话,更多的是学习了思想,在我编程中几乎很少直接使用数据结构中的那些东西。因为后来我主要做应用软件,用的都是VB、Delphi、C#之类的。编程初期我特别喜欢算法,觉得这才是体现一个人智商的东西,并且特别喜欢自己去琢磨而不看现成的算法——也就是重复造轮子,不过乐此不疲,当你成功的想出解决办法时那种兴奋的感觉真是难以形容的,当自己的算法与标准算法一样的时候,觉得我也很厉害么,当然,很多时候也会发现自己的解法没有人家的好,那也很高兴,有一种豁然开朗的感觉。所以那段时间很喜欢解决一些偏算法的题目,比如有一些智力游戏等等,甚至还打算研究棋类的AI,当然,最后没有什么特别有成就的结果出来:)本文以显摆为主,那些失败的事情就一带而过啦,呵呵。由于我老婆是计算机系毕业的,所以结婚后我基本上把我老婆的书收归己有了,什么离散数学、密码学、计算机原理(这个我大学也学过)、计算机通信技术等等,反正都看了,不过我不是以学习的目的看的,我只是想了解,看的虽然仔细,但并没打算全部记住,了解一下就行了。
  最开始编程,90%的时间用来思考算法,然后花10%的时间去实现和完善。这种情况主要出现在DOS时代编程。
  后来做windows下面的软件,嗯,软件,不是程序。大约70%时间思考算法,10%时间写代码,20%时间做界面和图片。比如做梭哈游戏,怎么判断当前牌有多大的代码,如果完全用if来实现也是可能,可是那样等于没算法了么,于是也研究了一番,做了一个比较短小的完成判断牌级别的代码。这段核心代码做完后,剩下的代码就好写了。
  再后来,花20%思考核心代码,30%时间写代码,50%时间做界面,包括图片图标的选择或者制作等等。
  再后来,花10%时间思考核心代码,20%时间写代码,剩下的时间用来做界面和写软件使用说明书、制作帮助。
  总的来说,我越来越觉得做一个软件(应用软件)代码不是很难的,真正需要花时间思考的代码并不是很多,绝大部分代码都是完全没有难度的机械的实现。而对我来说,做界面是最花时间的,有时候我甚至能为了一个图标花上两三天时间去寻找或者自制。甚至绝大部份代码都不是用来实现真正功能的,都是用在用户体验方面的,当然,如果按我的观点,用户体验方面的东西也都应该算是功能方面的一部分。
  应该说,我用VB后期和Delphi前期的时候做出来的软件最让我满意的,那段时间技术不算太好,但软件的方方面面我都尽量做到最细。真的是全身心的投入到开发中,用心去做程序,对于我能掌控到的一切细节都尽力去最求最好。我曾经想过,也许我应该就是为计算机而生的,呵呵,从大学毕业开始,我几乎每天都是夜里12点半以后睡觉,每天早上6点10分醒,中午不睡觉,在单位绝大部份时间都是坐在计算机前面,虽然我的工作内容跟编程无关,但我坐在计算机前面的大部分时间都是用来编程(刚入工厂的前两年我没有太多专业上的事情可干),回到家的业余时间也大部分都花在编程上面了。一转眼十多年过去了,眼镜度数没有增加、腰没问题、肩没问题、脖子也没问题,除了手掌根部的老茧外,还真没什么特别的职业病出现。
  又扯远了,没办法啊,控制不住。
  后来开始思考,到底什么算是算法?只是和数据结构相关的充满技巧的代码么?以前我很喜欢研究算法,后来发现大部分软件开发用不到太多精巧的算法。好吧,不管别人怎么觉得,我后来觉得解决问题的方法就算算法了。比如,我前面说过的汉字拼音或者拼音字首的问题,你用什么算法去实现?当初我记得网上有一个很流行的根据汉字代码所在区间来得出拼音声母的代码,倒是很简练,但是真的实用么?好吧,如果你输入“hl”,那么你能搜索到“欢乐”,如果我想搜索“花儿乐队”怎么办?用户输入“heyd”是找不到的,难道你要要求用户输入“held”?所以,实现这个功能的实现关键并不在于编程技巧,而是原始的数据。在我后来的开发中,越来越多的都是这种非技巧的问题。
  也许被这种非技巧问题缠住似乎偏离了当初我喜欢编程的初衷,因为我已经不是单纯的写程序了,而是做软件,从我开始发现自己做软件所花的时间越来越多的是用在界面和图片上面的时候我就知道,软件是给别人用的,衡量软件好坏的不是单纯的看执行速度快不快,用的算法好不好,而是最后展现出来的总体功能,你做不出来应该有的功能,那么就是失败的。我不是程序员,不需要局限于我只编程序(实际上也没办法,就我一个人),我是一个爱好者。所以呢,既然一个人做软件,那么对于各方面的细节上的完善就是我应该做的,如此一想,豁然开朗。即便做得不好,咱也有退路,我又不是专业的,我只是一个爱好者,真是一个稳赚不赔的好买卖。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值