学软件的困惑
目前为止所做的软件大都在应用层面上,没有什么深度。特别是现在WEB、数据库、电子商务的东东,谁都能做似的,而且的确是谁都在做,广度倒是够了,新东西层出不穷,但都是拿别人做好的工具来搭,现在机器性能也越来越高,用户跟本看不出来也不关心你编码效率如何,即使一个初学者把本来可以用循环解决的问题用N个独立的语句来实现,也没人关心,毕竟最终结果是可用的。在WIN32平台,只要熟练使用API,就能算个高手;unix以前搞的人少,所以很多人以为懂它就很牛了,现在都疯拥而上,但只要经历过DOS、汇编的人都会发现。其实本质上差不多。软件的灵活性、广泛性是优点,但现在开发工具的愈加方便,智能化让我觉得饭碗越来越容易被没有什么经验的年轻一代甚至机器抢掉,硬件虽然也有这种趋势(软件硬化,硬件模块化),但速度远不及软件,像射频方面,没有多年的经验积累,硬是不行。
不过说归说,现在转硬有点晚了,这辈子只有吃“软”饭了。
偶以为,我们现在做软件只有向两个方向发展才有前途:一是向底层发展,越向底层越复杂,编译,驱动等,那是非专业人士难以涉足的,二是向顶层发展,如软件工程的实施,这对于软件开发经验的依赖性很强,特别是在国内,这方面还没有达到应用的水平,即使拥有如rose一类的case工具仍然难以实施。
另外,应用专业化也应该是发展的方向,像建筑设计软件的设计,需要软件、建筑兼修的人才有能力比较完美地完成,通讯软件也需要对通信方面的原理比较熟悉的软件人才才能胜任
但我现在是越陷越深了,每天忙于无数的技术问题!!!!!