技术的未来将走向何处

摘要:本文主要在于分析思考技术发展的方向,从宏观上判断未来软件工程的目标实现。目前已经实现了哪些目标,还有哪些难点需要攻破。也希望一些有能力的同行朝着这些方向去努力,达到整个人类软件工程的进步。 

最近一直在想一个问题。软件工程的未来在哪里?

人类生产的进化就是一个越来越趋于简单,省时,省力,不断提高效率的过程。你也可以说是一个让人类越来越懒的过程,所以才有那么一句,懒人改变了世界。那么人类懒到极致的过程就是不动。那么人类最终可能就不需要出门,所有的娱乐都可以在虚拟世界中完成,而营养的供给可以机械设备,甚至是机器人来完成。自己只需要专注在虚拟世界中指挥就可以了。当然,这是一个很遥远的畅想。还是回到软件工程的实现上来吧,这个至少离我们还相对近一些。

一种畅想,软件开发如果足够成熟的话,应该是不再需要开发,所有的功能都已经实现,通过一个一个的零件的形式存在,直接组装就完成一个一个功能。就如汽车一样,可能也会分成几大软件商,各有各的零件库,只对自家的平台匹配。又或者大一统,全部国际标准化,所有的软件模块都可以通过简单配置组装完成。

另一种畅想,机器人实现了可编程,所有的软件开发都能由机器实现。但我觉得可能第一种可能性比较大,如果机器人都实现了可编程,那么软件肯定是走在前面的,因为机器人可编程的难度似乎比软件自动化的难度要大一些。

如果所有软件高度成熟封装化的前提是数据传输性能要足够的快,数据处理的性能要足够的快,而且是海量的数据处理和传输。传输和处理可能要做到毫秒p极。这些才能保证数据在经历了一系列的模块管道处理后而不影响使用。那我们假定上面的海量数据传输和处理已经实现,那么程序的逻辑多变又如何实现呢,其实就是大零件和小零件的一系统组合。前提是所有的功能都被穷尽了。但我觉得可能不太现实,那么最终的结果可能是第一种畅想和第二种畅想同时存在。

机器编程现接近一点就是不和再写代码了,实现语音编程。将主要的精力投出来做思考和设计。不再去想if else这些细节。只是去想要实现一个什么样的功能。而这些功能都被封装成各种语言各种库,机器只需要根据你的指定调出来自动拼装完成。

好了,现在是不是觉得目标也不再是遥不可及?软件开发的过程本身就是一个不断封装,不断模块化,不断解放劳力的过程。

从最开始的汇编,再到C,再到java等各类编程语言,人类编程的高度越来越高,越来越不用关心底层的实现,不断的把人的精力从细节中解放出来。

现在智能音响,智能机器人、无人车、智能导航等智能化设备开始实现,那么智能化编程我现相也不会太远。

智能化编程的实现首先是实现自动化编程,就是一键实现某功能的代码。一键实现自动化布署。整个系统的实现,只要做到了功能列表下发,自动生成所有代码,并自动布署,就离智能化编程不远了。

那么做到这一点,你首先要对各种语言非常的熟悉,以及各种语言的特性非常熟悉,这样你才能封装出系统的功能实现。

编码解放的本质是将底层功来越来越多的封装。如果我有一个需求是采集日志,然后提取字段入库,然后再查询分析。而恰好有这样的开源实现,开源日志采集系统,开源数据提取入库系统,开源数据分析展示BI系统, 所有的系统都做一套一键安装配置,只需要指定安装服务器节点,指定安装模式,有及各个系统的接口配置。然后一键安装完成后,整个系统就可以用了。如果把这三个系统再打包封装在一起,再提取一个公共配置文件,那么就实现了一套系统方案的自动化实现。 类似的,LNMP一键安装已经实现了这样的一系统解决方案。未来将会有更多类似的解决方案。

当然,我们还面临很多的问题,要做到一键coding.你要对各种架构非常熟悉,这样,你才能封装出各种架构的软件安装布署,而安装布署的环境差异大,还要实现环境的标准化。这些都是我们需要解决的问题。但容器,虚拟化,云技术的实现,让环境标准化和自动安装又近了一步。剩下的就是出现一个很全面的技术人才,领引这波智能化编程的实现了。

  你会是那个人吗? 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值