你用过Foxpro吗?

(1)1990-2000

记得刚入行的时候,我是靠FoxPro挣的第一笔钱。FoxPro是开发语言、数据库一体化的。而且这个开发语言,既擅长开发UI输入界面,也擅长写业务逻辑,还擅长进行数据库增删改查操作。

后来我就开始学习Windows编程。几本书把我的C/S Windows开发技术体系构建了起来:

1、开发语言层:Delphi高级编程指南

2、中间件层:CORBA技术原理及规范、COM本质论

3、数据库层:SQLSERVER技术内部、Oracle数据库编程艺术

4、操作系统层:Windows核心编程

中间也用PB做过一个临时项目,PB是分离了数据库,用ODBC连接来访问关系数据库,但PB也是类似FoxPro的开发员,从UI输入界面到输出报表打印、到业务逻辑、到数据库增删改查全套。

(2)2000-2010

后来就用.Net、JAVA做B/S Web集团级软件。.Net这个技术,从ASP.Net、C#、.Net平台,总觉得特别变扭,既像Windows编程,又像Web编程。还是Java这套体系用的顺手:

1、前端:HTML、CSS、Javascript

2、页面:JSP/Servlet,2006年以后用了Structs框架

3、业务逻辑:EJB。一开始用WebSphere,后来用了Spring

4、数据库操作层:用了Hibernate

5、数据库层:用过SQLSERVER、Oracle,后来换成了MySQL

前端是个特别变化的东西:

1、从一开始的硬写,后来就在2007年用了JQuery,这多亏是Google的功劳,一个Gmail展示了平滑的页面访问体验,我们都高高兴兴流行用AJAX,而JQuery用AJAX最方便

2、后来在2009年移动Web互联网热起来时还用了Bootstrap,就是为了做到PC Web和移动Web统一UI,当时起了个技术名称叫响应式编程

3、后来Google官方推出了AngularJS,这就太爽了,像我这种从Delphi、Windows一路走过来的程序员最熟悉这个套路,MVVM绑定式,让UI变化和数据变化双向同步,不用我再去写多余代码来保证信息同步

4、移动App技术出来了,Facebook在2014年发布了React,可以用JS的技术本质来写出移动体验的应用。当然,2014年,4G发布了网速快了,而且2014年的手机,从内存到CPU到多点触摸技术,都技术增长了无数倍,不像2009年的时候写个移动App那样体验不好了

5、现在大家都已经用VUE了

6、2017年,微信发布了小程序技术,大家都一股脑都又跑去搞小程序UI了

所以你看,前端技术,几乎每2年换一代技术。所以这让做企业软件的开发人员、客户化定制开发人员特别烦,不同ERP版本,好多技术需要学才能修改代码。不像互联网企业,反正就一套代码,反正互联网企业是爆炸式进化,很多代码还没来得及维护就已经业务发生变化被丢弃掉了,所以没有技术包袱。而ERP一套版本需要卖好几年,这个技术包袱就重了。

(3)2010-2020

互联网,经历了中国电子商务十年发展,产生了大量的活跃消费者,而且电商每年搞两次大促(618/双十一),所以对技术的考验非常强烈。美团出来了,因为业务涉及到中午吃饭,所以并发时间集中,而且一份饭的客单价比一部手机一件衣服更低,所以交易订单并发量更大、时间更集中,而且这样的流量狂潮还每天在发生,所以美团这样的低价、高频、要求30分钟送达的高时间限制要求的应用,就需要更高的技术支撑。现在,中国互联网电子商务的支撑技术应用水平,比欧美还厉害,属于世界前列。可能是欧美巨头发明了、开源了这个技术框架,但确实是咱们中国互联网电子商务企业把它应用发挥到最极致。

记得2008年大家都一窝蜂去学习淘宝技术,记得2012-2014年之间是大促爆发增长年份,每年大促都爆仓,而且当年支付宝支付和微信支付还没现在这么牛,银行对于网银交易还停留在过去时代,所以当时网银支付技术支撑也极烂,所以当时一大促,电商网站技术就卡。后来2015年,支付大战,滴滴、摩拜轮番来,银行那边的支付技术就经过几年倒逼也改造好了,现在,互联网电子商务公司的技术都比较趋同了。

比如说:

1、前端:各大互联网公司都搞超级前端。比如滴滴开放的变色龙跨端框架和编译器。这样的东西,每个互联网公司都有一套,就是为了跨Web、App、小程序多端

2、网络层:客户端访问流量来了,就进行网络负载均衡、IP分流

3、页面层:大家都用了Ngnix集群

4、缓存层:大家都用Redis、CDN,这都可以分布式

5、业务逻辑层:大家都用SpringCloud微服务中间件。现在因为CNCF领导的云原生技术起来了,大家又开始用CNCF的这套微服务技术栈了。以后如果大家开始用Serverless无服务器编程,都是函数粒度的编程,我相信以后的服务会更微

6、数据存储层:现在有了很多原生的分布式关系数据库,如TiDB、OceanBase,不像过去主要靠分库分表、Sharding中间件、主从结构。当然现在更多的是各种NOSQL,满足大家各种类型的数据存取简化与性能,如文档型、时序型、图形。过去程序员写应用单一,不管什么应用场景,都用关系数据库来存取数据,发现写代码又麻烦、性能还不高。现在写IM、写社交网络、写智能硬件监控,都采用不同的NOSQL数据库来搞了。对于文件文档数据的存储,也开始采用分布式对象存储服务了

7、大数据层:过去只有数据库和数据仓库。现在因为Hadoop有HDFS,还有Spark这样按Frame进行即进即出的计算和内存计算,这样就可以做到分布式存储、分布式实时计算了。这比过去我搞ETL、维度建设、建模型、跑计算任务,要简化、实时多了。当然,现在从业务系统中抓数据也有很多方法,抓日志有ELK套件、抓关系数据库有Sqoop,用分布式消息队列Kafka一传输就OK

8、计算层:过去大家在虚拟机的基础上做部署,但是虚拟机本身就占用很多物理资源,所以现在大家都讲究云原生,就直接在微内核Core OS的基础上,直接搞Docker容器和K8S,用DevOps工具箱进行代码集成、打包、部署、灰度分发就OK。现在公有云计算厂商的容器集群服务也做的越来越好了,如果流量暴涨,反正是微服务了,只要做好容器的复制、迁移、秒起就可以了。

(4)2020-2030

以后的技术我们可能更不需要这么复杂了,因为有了端计算-边缘计算-云计算,甚至在5G之后,边缘计算是什么样或者要不要取消,都是一个问号。我们过去层层做分布、做缓存,可能就不需要这么复杂的技术架构了。

比如说以后:

1、前端:我们用传感器、摄像头识别、麦克风语音识别、GPS定位来采集数据。都不是人去通过UI界面来输入数据了,都是机器和机器之间的数据采集以及通信传输了。最差了,就是通过Open api来采集数据,这也是机器和机器之间的对接,把人的因素隔离到系统之外

2、网络层:5G,边缘计算我再观察观察

3、页面层:如果大多数是机器和机器之间的接口,那还有什么页面吗?可能人机交互以后是靠语音交互。所以我们团队现在也在研究智能多轮会话、意图识别、情感分析、文本生成,至于语音识别、语音转文本、语音合成,中国有不少优秀的专门的语音AI厂商

4、缓存层:和网络层同时看吧

5、业务逻辑层:过去大多是写死的代码逻辑。以后靠推荐系统技术,可以做到企业资源(时间资源排程、人力资源、商品资源、资金资源、生产设备资源、仓储物流资源)的最佳智能调度。只要有源源不断的数据流进来,通过深度学习和强化学习,辅助无监督、GAN对抗,可以做到模型自适应调参

6、数据存储层:如果未来是智能IoT采集数据较多,那么时序数据库就凸显了,而不是关系数据库。

7、大数据层:人们说Hadoop已死,我也在想,Hadoop、Spark技术体系确实现在已经很庞大了。实时是个突出诉求,可能类似Kafka Stream这种“管计算”更好呢?继续观察

8、计算层:一定是基于容器这种轻量级的计算资源,随便复制、迁移、秒起秒杀

  • 0
    点赞
  • 0
    评论
  • 2
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值