array(2) { ["docs"]=> array(10) { [0]=> array(10) { ["id"]=> string(3) "428" ["text"]=> string(77) "Visual Studio 2017 单独启动MSDN帮助(Microsoft Help Viewer)的方法" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(8) "DonetRen" ["tagsname"]=> string(55) "Visual Studio 2017|MSDN帮助|C#程序|.NET|Help Viewer" ["tagsid"]=> string(23) "[401,402,403,"300",404]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511400964" ["_id"]=> string(3) "428" } [1]=> array(10) { ["id"]=> string(3) "427" ["text"]=> string(42) "npm -v;报错 cannot find module "wrapp"" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(4) "zzty" ["tagsname"]=> string(50) "node.js|npm|cannot find module "wrapp“|node" ["tagsid"]=> string(19) "[398,"239",399,400]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511400760" ["_id"]=> string(3) "427" } [2]=> array(10) { ["id"]=> string(3) "426" ["text"]=> string(54) "说说css中pt、px、em、rem都扮演了什么角色" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(12) "zhengqiaoyin" ["tagsname"]=> string(0) "" ["tagsid"]=> string(2) "[]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511400640" ["_id"]=> string(3) "426" } [3]=> array(10) { ["id"]=> string(3) "425" ["text"]=> string(83) "深入学习JS执行--创建执行上下文(变量对象,作用域链,this)" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(7) "Ry-yuan" ["tagsname"]=> string(33) "Javascript|Javascript执行过程" ["tagsid"]=> string(13) "["169","191"]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511399901" ["_id"]=> string(3) "425" } [4]=> array(10) { ["id"]=> string(3) "424" ["text"]=> string(30) "C# 排序技术研究与对比" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(9) "vveiliang" ["tagsname"]=> string(0) "" ["tagsid"]=> string(2) "[]" ["catesname"]=> string(8) ".Net Dev" ["catesid"]=> string(5) "[199]" ["createtime"]=> string(10) "1511399150" ["_id"]=> string(3) "424" } [5]=> array(10) { ["id"]=> string(3) "423" ["text"]=> string(72) "【算法】小白的算法笔记:快速排序算法的编码和优化" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(9) "penghuwan" ["tagsname"]=> string(6) "算法" ["tagsid"]=> string(7) "["344"]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511398109" ["_id"]=> string(3) "423" } [6]=> array(10) { ["id"]=> string(3) "422" ["text"]=> string(64) "JavaScript数据可视化编程学习(二)Flotr2,雷达图" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(7) "chengxs" ["tagsname"]=> string(28) "数据可视化|前端学习" ["tagsid"]=> string(9) "[396,397]" ["catesname"]=> string(18) "前端基本知识" ["catesid"]=> string(5) "[198]" ["createtime"]=> string(10) "1511397800" ["_id"]=> string(3) "422" } [7]=> array(10) { ["id"]=> string(3) "421" ["text"]=> string(36) "C#表达式目录树(Expression)" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(4) "wwym" ["tagsname"]=> string(0) "" ["tagsid"]=> string(2) "[]" ["catesname"]=> string(4) ".NET" ["catesid"]=> string(7) "["119"]" ["createtime"]=> string(10) "1511397474" ["_id"]=> string(3) "421" } [8]=> array(10) { ["id"]=> string(3) "420" ["text"]=> string(47) "数据结构 队列_队列实例:事件处理" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(7) "idreamo" ["tagsname"]=> string(40) "C语言|数据结构|队列|事件处理" ["tagsid"]=> string(23) "["246","247","248",395]" ["catesname"]=> string(12) "数据结构" ["catesid"]=> string(7) "["133"]" ["createtime"]=> string(10) "1511397279" ["_id"]=> string(3) "420" } [9]=> array(10) { ["id"]=> string(3) "419" ["text"]=> string(47) "久等了,博客园官方Android客户端发布" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(3) "cmt" ["tagsname"]=> string(0) "" ["tagsid"]=> string(2) "[]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511396549" ["_id"]=> string(3) "419" } } ["count"]=> int(200) } 222 云计算世界里的企业级软件何去何从 - 爱码网

互联网世界的发展是传统商品社会的映射。它可以如此花哨,但我们已经见证过这般花哨。

日光之下,并无新事。

什么是企业级开发?现在还需要企业级软件吗?我怎么觉得云计算是企业级软件的掘墓者呢?如今都Serverless了,真的还需要企业级软件吗?

周四早上上班的班车上,看到一篇文章:
Go会接替Java,成为下一个企业级编程语言吗? https://zhuanlan.zhihu.com/p/62763527?utm_source=wechat_timeline&utm_medium=social&from=timeline

我发了个朋友圈:

显然不能!
当一样东西或者一个人已经在某个领域取得了举世瞩目的成就或者已经登峰造极,后面出来个在“某个片”与之相似或者“完全相似”的东西或者人,就说“超越”或者“下一个”,那都是骗人的!
没有出现下一个牛顿,只出现了爱因斯坦。
下一个迈克尔杰克逊也没有出现。
下一个崔健不是许巍。也没有下一个窦唯。
科比最终还是没有成为下一个乔丹。
。。。
因为不再有天时了。
我不是很懂企业级开发,但是我知道云计算肯定是趋势,一切都在云端,serverless之后,当所有IT组件和服务都基础设施化变成水电煤之类的东西后,什么是企业级开发呢?

对的,没那个天时了。

云计算回归了朴素的本源,20世纪60,70年代的时候,人们用很瘦的终端登录独立的大型机,过了将近40年后,人们用手机登录云…

云是什么?云是一个抽象的概念。为什么抽象?因为没人能描述云的细节!

其实,云就是一台大型虚拟机,只不过这台大型虚拟机是一个多台物理机器组成的集群。那么企业级软件是什么?

企业级软件就是一个过渡,就好像我们曾经都熟悉的VCD,DVD一样。有多少人家里还有VCD播放器,早就淘汰了吧,然而,在上个世纪90年代中后期,难道不是可以用一台VCD播放机而炫耀吗?对了,还是三碟连放的…

为什么要把软件部署在本地?这是一个非常愚蠢的想法啊。汽车厂需要铁,建筑工地需要铁,厨具厂需要铁,是不是意味着汽车厂要组件一个炼铁车间,建筑工地需要炼铁炉,厨具厂也要建立一个炼铁分厂呢?这太愚蠢了,只需要一个钢厂即可。我们国家现在全国范围内都没有几家钢厂。

但是在中世纪,确实是这样的,每个手工业作坊都是一个全栈作坊!什么都得自己干。资源被大量冗余。这是社会分工还没有细化到一定程度时的必然。这也是社会割裂导致的。

一旦社会各个元素开始交流,必然意味着某种聚合。曾经改革开放前,每个城市几乎都有自己的印刷厂,制药厂,内衣厂,电厂,因为城市之间是割裂的。后来改革开放后,城市之间开始沟通交流, 物流交通开始发达, 大鱼吃小鱼的聚合便开始了,生产开始集中于某个资源汇集的地方,然后其它的城市全部成了产品的输出地。这是一个自然而然的过程。

在这个过程中,最重要的因素就是物流和交通。

交通构建了一个底层的网络,物流则架构在这个网络之上。融合便开始了。

软件也是这样。

软件领域的物流和交通就是互联网!

曾经的软件是刻在光盘上售卖的,然后附带一本厚厚的纸质说明书,告诉你怎么安装部署,对于一些大型软件,可能还需要专门的厂商技术人员上门提供支持和售后,软件就像一个普通的传统商品一样。

每个大型企业都要安装部署企业级软件,这些企业级软件若想持续运行,就需要养一群企业IT人员来对企业级软件和底层的网络提供日常的维护。每个企业都如此,这批人就是形成了冗余,甚至企业级软件本身也形成了冗余。

我记得2006年,2008年那会儿,有计算机软件专业毕业的进入了渣打银行,宝洁,华晨宝马…这些传统的非IT企业确实需要一大批软件开发人员,就好像它们必须要招聘电工一样。

如果把这些企业所需要的软件进行汇总,把它们做成服务,由专门的公司来运营而不必再自己运维,这个过程我们已经见过了。曾经我父母工作的工厂的保安(那时叫做保卫科),食堂做饭的师傅都是厂子里的正式员工,如今我工作的厂子里的保安,班车,食堂都是专门的第三方公司负责的。

这个过程搬到企业级软件领域,那么云计算就是一个自然而然的结果了。

大型企业还需要自己开发软件吗?甚至大型企业都不需要部署软件了。

曾经,当你需要一个功能的时候,你要么自己开发,要么去软件店里去买软件然后自己安装部署,现在,你只需要看看下面的网站上有没有你需要的功能,然后直接购买服务就好了:
https://cn.aliyun.com/

以数据库这个几乎每个公司都需要的 常规IT产品 为例,购买下面的服务即可,何必再自己去开发,何必再自己去部署:
云计算世界里的企业级软件何去何从


企业级软件开发,我直到现在都不曾入门,曾经我学过J2EE,我想进入大型企业去开发大型软件,但是没有学会。现在我又想学习企业级开发了,但这次是为了怀旧。


中国浙江温州小型皮鞋厂出品的皮鞋湿,下雨进水不会胖!

相关文章: