毫无疑问,程序员的生活是十分枯燥的。毕业3个月吧,加上实习的半年,对程序有了自己的认识了。刚入行,对行情不懂,目前在一家金融IT公司。当然这是名字好听,换个说法就是外包了。在这种地方,技术是可以学到不少的,这大概是我最大的安慰了。
写代码,从一开始的不知所措,到慢慢的狂妄自大。觉得自己跟那些工作了七八年的老程序员做的事情没啥区别,别人能做的自己也能够做到。甚至觉得自己能适应所有的岗位,如果有机会。到现在自己的谦卑,认识到自己需要学习的东西有很多。
不过说实话,现在自己做的东西实在的是太没有技术含量了。工作有大半的时间是代码机器。spring,struts2,herbernet框架,按照固定的套路去写就好了,不需要你去想,不需要考虑算法、效率的问题。只需要业务逻辑弄清楚就好了。还好JS的编程和HTML,css设计让我有了一点点自主设计的空间。没有彻底的沦为代码机器。框架可以说是程序员的敌人,对那些不懂技术原理的人来说。项目中很多不懂java,不懂程序的人也在写代码,这就是现在项目的现状。有的还是工作了两三年的老程序员了。
如果几年后我是他们那个样子那我真的是可以去死了。自学吧。万幸的是现在项目比较闲,有自己的时间看东西。
自己学数学,学算法,看linux内核,看操作系统任务调度,看oracle。
______________________________________________________________________
分割线。
___________________________________________________________________________________________________________________________________
算法真的是想法有多远就能走多远,天马行空的思维太重要了。而我们在繁重的代码中都快失去了自己的自主思考。
今天看了下基数排序。摆脱了nlgn的比较排序的限制。将一个数从地位开始比较,然后逐渐向高位比较。最后就能获得整体的排序了。个位数的排序是十分容易的,最大为9.
0-9的数字可以使用计数排序的算法。技术排序是一个常数级的算法。分别统计0到9个有多少个,小于等于0-9的个数各有多少个。然后就可以排序好了。这个算法是IBM创始人设计的,凭借着这个算法获得了一大笔钱,然后逐渐做大。算法真伟大!