软科技和硬科技区别吗?
“软件定义”的时代已经过去了,现在处于“计算重塑”的时代。 什么是计算的重塑呢? 最近看了亚马逊的《The Future of the Cloud》演讲笔记,其中关于云计算、机器学习和物联网的章节让我受益良多,特别是谈到机器学习时,贝佐斯说到,机器学习会让计算从面向算法转到面向数据,数据量越大,机器学习的价值就越大。这就涉及到对数据的分析,而数据分析的基石是数学基础理论,因此机器学习的基石就是计算+数学。
所以可以这么总结计算的重塑:大数据与人工智能驱动下的,算力充沛且能随时随地获取的新一代信息技术产业。这个新技术的产业可以说是颠覆性的,因为它涉及我们如何获取、使用和交流信息。 而软件是什么呢? 软件是用来定义计算机硬件和行为的一般等价物。计算机硬件和软件相互依存,密不可分。它们通过执行不同的功能来共同完成信息的存储和处理。
从上述定义可以看出,没有计算就没有软件,反之没有软件也没有计算。而且随着计算机行业的飞速发展,现在软件的定义权也在发生着改变。 以前,我们开发一个软件,首先要考虑的是它的功能,我们要先想清楚用户的需求是什么,然后基于此来完成软件的功能;其次要考虑的是软件的性能,例如性能是否优良,效率是否高等等。最后才是软件开发的过程和成本等等。 现在不一样了,首先进入我们脑海的是软件的特性,它是不是高性能的,是不是易于开发的,是不是能够解决某个问题的,或者是满足某种场景需求的……再结合当前的技术,想想用什么技术框架来实现,最终达成功能和性能的目标。当然实现这些特性和目标的过程中,可能会带来一些意想不到的问题或者挑战,这都是需要我们的开发者来思考和解决的。 所以我现在觉得软件的定义应该加上一条:软件是通过计算来实现某种特定功能的,具有某些特定特性(可读性、可维护性等等)的信息产物。