编程就好像解数学题,最优解只有一个,而且很明确。
未来,全球最顶尖的程序员,数学家,将不再为某 个私营企业雇主工作。他们的劳动成果,会被最大限度的分享给所有人使用,而不再是某家公司的专利。这意味着,这群人将会非常富有,这会吸引更多人参与竞 争,技术将会突飞猛进。各个领域的技术专家都有机会向全球分享研究成果并直接变现,甚至连研发过程也可以向全球投资者募集资金(ICO)。
未 来的"微信"、"淘宝"将不属于任何人,任何公司,它是一个网络,由社区成员共有。会有几十个App连接到这个"微信"网络,它们提供了微信的所有功能。 你的账号可以登录任何一个App,或许因为界面更好看,或许操作更便捷。它们提供的几乎相同的功能,发消息,群聊,朋友圈,图片,视频,语音,唯一不同的 或许只有界面。好友列表、通讯录,都只属于你自己,随时更换App都不会有任何损失。
你直接打交道的只有App,和我们现在用的完全一样。而你完全不必关心的后端,服务器会被Dapp取代。Dapp会尽量运行在和你物理距离更近的地方,以达到更快的响应。
既 然最优解只有一个,那为什么要去重复构建相同的东西。Amazon的云计算平台aws率先把lambda(功能计算)引入了程序员的工具箱。aws lambda 让软件功能完全独立出来,进行细粒度的封装,从而更容易实现技术分享。大部分程序员不用再关心底层细节,不需要编写重复代码,可以更专注自己的业务。
亚 马逊AWS Lambda,微软Azure Functions,谷歌Google Cloud Functions 各大厂商提供的微服务技术(函数/功能),算得上是互联网进化过程的里程碑,也让网络离去中心化更近了一步。微服务,是用来完成某些简单而且独立功能。再 通过组合各种功能,就可以实现一套完整的应用。
微服务使用了Serverless无服务器概念(无服技术),让开发者彻底从服务器维护工作 中解放出来,从而大幅提高生产力。使用无服技术的微服务和区块链的智能合约非常相似,程序员只需要关心程序运行结果,而不用关心过程(甚至连程序是在哪里 被执行的都不需要知道)。不同的是,微服务只执行一次,而智能合约需要很多台机器重复运行很多次,并相互验证计算结果(确保正确)。
网络世界中任何东西都可以被量化、跟踪,这为网络世界的快速发展提供了基础。可替换微服务模块,意味着升级和维护更加简单,让软件开发更加高效,也让代码的重复利用率更高。
在未来,编写一个微信,淘宝Dapp需要多少行代码?不超过2000行,一两天就能完成。而现在的微信、淘宝至少应该有十几万行代码。代码量这么大,原因就在于功能几乎相同的代码,被无数公司,重复了无数次。
原本要开发一个能承载上千万用户的应用需要耗费巨大的人力。现在只需要把一堆微服务组合起来,就可以轻松应对。互联网公司的几千,几万人的大工厂模式,也到了该淘汰的时候了。未来是个人和小团队(5-15人)的时代。编写比特币代码需要几个人?最少一个中本聪就够。
重复了几万遍的代码将不在有意义,世界上最厉害的程序员已经帮你把基础工作全部搞定。那么多人空闲出来做什么呢?开发大量的个性化应用。未来的应用会非常个性化,除了样式和风格让你满意,功能上的微创新更是贴合你的使用习惯,这就足够吸引你去付费了。
技 术进步来源于分享,未来,最优秀的程序员会独立于公司,各自从事自己感兴趣的工作,编写出最优质的代码并开源,将研究成果分享给所有人。以前我们写程序, 害怕被人窃取源代码,或者被破解。对于技术上的创新更是要最大程度的保密。相反,在开源的世界,复制(fork)是被鼓励的,被复制次数甚至是优秀软件的 指标。
开源软件有两种盈利方式:
第一种,提供收费的技术支持。
第二种,直接使用这套开源软件,为使用者提供云计算的按量收费服务。(这种方案更能够激励人们去探索新技术)
区 块链技术让网络和服务真正的融为一体,让技术分享变的有利可图。开源的只是冷冰冰的代码,服务才是人们真正需要的。自治网络,不只是提供了计算服务,还为 开源项目提供了,融资,计费,分红等等一整套公开透明的商业方案。在自治网络中,软件即服务的理念得到了贯彻。程序员可以直接把代码部署(安装)到网络 上,可以提供给全球用户使用,这就是代码即服务。
大量的低效代码将会被最优解取代,而后端程序员将从枯燥的重复编码中解放出来,从事更有创意的工作。
在 传统互联网,中心化的趋势已经不可避免。微信生态系统对各种应用的集成已经达到了,前所未有的程度,可谓一端在手,应有尽有。如此的中心化想不作恶都难, 任何的一个决策,都可能影响一批合作伙伴的生死。个人隐私更是无从谈起。好在互联网的进化速度很快,快到连大佬们都有睡不着觉的时候。正当中心化想要垄断 世界的时候,区块链带来的去中心化网络也正在成熟。原本交由数据中心完成的工作,现在可以用去中心化的分布式网络来实现。
互联网软件在向 React.js, React Native这种富客户端方向发展。云计算厂商也在着力于无服计算和容器化,旨在解决让软件可以随时随地的执行。这意味着去中心化的自治网络会更加适应未 来的计算需求,它天生就是分布式的系统,“矿工们”遍布全球各地。区块链的共识机制鼓励人们协作,让全球电脑都接入到自治网络。
网友评论