欢迎来到潍坊禾丰软件信息技术有限公司!
18363620917

技术交流

收起/展开

软件的前世今生

作者:admin 阅读量: 发布时间:2020/10/21 9:28:25

软件的前世今生

软件是门艺术,但是从软件进入国内市场以来很少有人把它当做艺术,更多的是当做一种牟利的手段,软件的利润是很大的,软件项目的费用是无法衡量的,同样软件卖给不同的客户卖价是不一样的。其实艺术品具有这样的特征,对有用的人来说值钱,对没用的人来说一文不值。好的艺术品可以远远流传,流芳百世。最近有个新名词叫做匠心,凡是精心制作的东西都凝聚着大师的匠心。其实做软件更需要匠心,以艺术品的态度去做好它,而不单单是一种牟利的手段。

在工程领域有一个很不好的现象,也是屡禁不止的,那就是豆腐渣工程,豆腐渣工程说到底是利益驱动造成的,谁不想做好工程呢,但凡有良心的人都这样想,但是良心丧于困境,豆腐渣工程都是被逼出来的,没有了利润空间才会弄虚作假,别人骗了我,我才不得不去骗别人,否则我就是无法生存下去。这现象在工程领域存在,在软件行业更严重,造成软件行业豆腐渣工程原因却不一样,绝对不是因为利润不够,而是缺乏匠心,缺乏匠心的原因是因为没有技术积累和沉淀,没有精益求精的精神,正因为软件这个东西是看不见摸不着的,更容易弄虚作假,更好糊弄。

把软件当做艺术来做不是那么简单的,首先得树立这样的意识,其次是得有做艺术的资金,软件行业最大的问题是技术积累,技术积累最大的依赖是人的问题。从大环境上讲,国内IT风气不适合技术积累,人员流动太快,一般的小公司很难完成技术沉淀,部分大公司可以做到,但无非也是依赖几个牛人,能请得起几个牛人罢了。留不住人,留不住东西。在国内有句话,技术是不值钱的,这是事实,没多少人去研究技术,只会去拿别人的研究成果,研究一个东西得花费相当大的精力和心血,国家知识产权保护不到位,所以就没人当做艺术去做了。

以上是中国软件行业的现状,虽然做成艺术品很难,但是这至少是个目标,可以暂时做不到,但不能没有这个意识,在现有资源的条件下尽量去做。

软件发展到今天经过了多次的变革,在这个行业最大的挑战就是技术的更新换代,就像衣服一样,2-3年就换一个风格,最早的dos系统,然后是C/S winform系统(桌面程序),再到后来B/S系统(可以浏览器访问的),到今天的手机端的应用系统。变化非常快,有时候还没学会一个系统,下一个系统的时代就到来了,在系统更新换代的过程中,存在很多误区,有些客户过分的要求时髦,例如B/S系统盛行的时候,客户要求全部用B/S系统,一个WinForm的影子也不要看到,其实这是外行的意见,在某些环节使用B/S系统并不方便,例如前台收款的POS终端,如果做成B/S使用效率必然低下。这样做不但使用效果不好,开发成本还高。到今天为止,手机端的大量应用势必纠正这一点,未来的系统必然是多种技术的融合,每种类型的系统发挥各自的优势,即桌面程序(winform)、B/S浏览器、手机端等各司其职。

用新的眼光看待软件系统,用更抽象的思维面对程序开发,从原始的程序模式的统一走向现在的数据的统一。我们认为软件系统和程序开发,说白了可以用几个关键词代替:数据和展现。进一步延伸数据包括数据存储和数据访问;展现包括交互和展示。用程序语言可以概括为三层:数据层、业务逻辑层、界面层。这是非常简单的事情,然后实现起来却是非常的复杂,我们来好好找找复杂的原因,我们总结了一下,之所以复杂是因为选择太多,而每一种选择都不专业,导致了每一种选择都处理不好这么简单的事。举个例子,界面层是变化最快最难搞的,因为我们的选择太多,WinForm(桌面程序)可以做界面、网页可以做界面、手机端可以做界面,至少有三种选择,这三种基本都能满足每一种需求,我们应该专注于那个呢?再从开发语言上来说,能开发WinForm的程序有很多种,例如DelphiC#VBVC等等,能做网页程序的有Asp.NetJavaPhpAsp等等,能做手机端的有AndroidIPhoneWindow等等。面对这么多的选择,我们能用好那个呢?这么多年来,有多少人为了追随技术而追随技术,忽略了到底什么是最适合自己的,一路走来什么技术也没有留下,哪一门技术也是略懂皮毛。这已经成为国内软件行业的现状,一个人会好几门开发语言,但无一精通。面对这种现状,如何摆脱这种困境?能搞软件的人都是聪明的人,总有办法解决。三种方式的演变从追求单一模式到现在的混合共融模式,我们只要牢牢抓住一点,让他们统一起来,那就是抓住数据这个核心,无论界面如何的变化,业务逻辑如何实现,最终落实到数据上。这就是我们现在提出的面对具体的项目,无论用什么语言实现,无论用什么技术实现,哪怕你程序写的再烂,只要数据处理好,万事大吉。

我曾经想过做一些通用的东西来应对千变万化的需求,例如做开发平台,自定义组件,但结果是通用东西做出来了,遇到的需求每一个都是不同的,直接造成的结果是通用的东西很鸡肋。一款好用的软件个性的处理往往是重点,如果使用针对性的方法比较简单,如果使用通用性的方法却比较复杂。这么多年总结的经验是,通用的东西尽量是在最基础的层面上,面对每一种需求寻找一种通用的处理方法,不要企图用一种方法解决所有问题。

始终坚信软件是服务行业,拥有好的产品是提高服务的前提,做好可持续发展的积累,慢慢提高服务质量,路漫漫其修远兮,吾将上下而求索!

设为首页 加入收藏 意见反馈 联系我们 网站地图 网站数据统计

线

在线客服