我所经历的二十年技术演变,一路狂奔到今天

2019 年 7 月 24 日 码农翻身


做软件开发行业的,都担心新技术浪潮不断来袭,把自己拍死在沙滩上,真是是这样吗? 


我主要做Java后端开发,也感受到了其他领域的潮起潮落,给大家分享下自己的看法。


首先我把这些新技术分为4大类:渐进性,颠覆性,基础知识和新兴技术。


1.  渐进性的技术


1.1 Java 后端开发 


我是Java后端开发背景,所以先从这个点开始。


二十年前,开发Web系统的技术栈非常简单,就是 Servlet + JSP +JDBC  , 没有那么多层的抽象和封装。


然后在MVC领域出现了Struts , 在ORM领域出现了Hibernates ,iBatis(MyBatis)。


企业界曾经力推过EJB, 但是过于笨重,繁琐,最终被轻量级的Spring所替代。


前端的兴起,导致MVC中的View被拿走,后端专注于提供接口,输出数据。


应用架构从单体应用,过渡到微服务,再到Service Mesh。


1.2 View 层


View层最早由后端生成,可用的技术:JSP, Velocity,Freemaker 等。


界面的交互主要是程序员直接用JavaScript 操作DOM, 后来有了jQuery, Prototype等类库的帮助


后来出现了React , Vue, Angular 等框架,实现前后端分离。


1.3 编程模型 


从基于Servlet的阻塞式模型 , 慢慢过渡到非阻塞的、事件驱动的、 反应式的的模型,如Node.js ,SpringWebFlux , Vert.x等


线程模型:从共享内存,逐渐发展到Actor , Go routine


编程语言从过程式,发展到面向对象,再发展到面向对象+函数式


1.4 工程实践


从瀑布发展到敏捷


部署方式:手工安装 ->持续集成 -> DevOps


代码+配置文件  -> 代码+配置文件+运行环境, 即Docker,然后是 K8s


1.5 总结


之所以说是渐进性技术,是因为这些技术是慢慢发展起来的,通常是为了解决原有技术的痛点问题而发展起来的。

只要你热爱技术,会一直不断奔跑,根本就不用惧怕。 


例如你学会了面向对象这种编程泛型,自然而然地就想去看看函数式,这样当Java 8中的函数式编程来临的时候,你肯定不是惧怕,而是欣喜:Java终于支持函数式了。


再比如你发现手工做Build费时费力,容易出错,会想办法自动化,持续集成的概念和相关工具自然而然进入你的法眼。



2. 基础性的技术



特点:基本上没怎么变过,只要学会,就不怕被吃掉。


包括数据结构和算法,操作系统,计算机网络,组成原理,数据库,编译原理等。

再加上分布式的基础知识


3. 颠覆性的技术:从桌面发展到互联网



由于服务的用户规模完全不同,直接导致所使用的技术栈有天壤之别。


桌面应用主要用VB, Delphi,VC++开发单机或者C/S应用,运行在客户的电脑上。


而互联网应用使用的则是LAMP,Java,Python等技术,主要运行在服务器端,客户端变得非常薄只剩一个浏览器了。


互联网发展起来以后,桌面应用的开发极度萎缩,如果没有及时跟进转型,肯定被技术吃掉。


但是这次转型并不会那么难,因为Web系统刚开始的时候用户量小,是非常简单的,很多桌面开发的程序员都可以轻松转过来。


但是,由于和新人站在统一跑线,老家伙的优势在哪里?


我觉得在于对设计思想的理解:抽象,分层,异步,模式,OOD......  这些东西,再加上基础知识的实践和运用,老家伙依然有能力跑到前面。


4.  新兴技术



老的技术依然存在,但是这些新的方向非常火热,薪水高,供不应求。


4.1  从互联网发展到移动互联网


这一阶段出现了全新的岗位:App开发。所需要的技能得从头儿开始学习,想转行赚大钱的老家伙们和新人站到了同一个起跑线。 


但是有些掌握了基础知识,通用知识和设计思想的老家伙会跑得更快:他们本来就对界面编程很精通,对于界面布局,事件响应等信手拈来,他们对网络编程也很熟悉, 现在只需要在一个新的框架下,使用新的概念和组件来完成手机端的界面和逻辑。


随着App建设热潮的过去,App开发已经逐渐冷却下来。


4.2  大数据,人工智能


大数据是新出现的方向,包括大数据开发,大数据分析。 


从后端开发转向大数据开发不是很难,也有很多成功的案例。需要学习Hadoop,Spark,Storm等相关框架的使用原理,Flume, Kafka等数据流工具,爬虫,分词,数据可视化等。


相比之前谈到的技术,大数据分析和人工智能是两个“异类”,尤其是人工智能,程序员要想转型到这里领域,需要跨过它树立的数学门槛:统计学,线性代数,微积分,概率。


现在人工智能非常火热,它会变成一种颠覆性的技术,吃掉前端开发/后端开发/大数据开发/App开发吗?现在看是不可能的,因为现在的AI还不是通用的人工智能,只能在某个领域内产生作用,在大数据的基础上做出分析,找到规律,做出判断和预测。 


而人工智能和大数据分析所使用的数据其实来自于App, 网站,再加上现在慢慢兴起的物联网, 他们不是替代,而是依赖的关系。


总结一下,进入这个行业,就需要不断地夯实计算机基础知识,在工作中寻找,学习,实践那些稳定的知识,然后不断对自己做技术升级,确保在自己的领域能跟上趋势。这样即使转型的时候,依然可以占据优势,不被技术吃掉。




码农翻身公众号开放投稿,可能是全网最高片酬:

用故事讲技术 ,稿费1000

技术/职场/感悟/面试等,稿费700

翻译类文章,每千字200

联系方式:onlyliuxin97(微信)

详情猛戳: 可能是全网最高片酬,速来!



往期 精彩回顾

我是一个线程

我是一个Java Class

面向对象圣经

函数式编程圣经

TCP/IP之大明邮差

CPU阿甘

我是一个网卡

我是一个路由器

一个故事讲完HTTPs

编程语言的巅峰

Java:一个帝国的诞生

JavaScript:一个屌丝的逆袭

负载均衡的原理

阅读源码的三种境界

登录查看更多
0

相关内容

JSP(全称 Java Server Pages)是由 Sun Microsystems 公司倡导和许多公司参与共同创建的一种使软件开发者可以响应客户端请求,而动态生成 HTML、XML 或其他格式文档的 Web 网页的技术标准。
【2020新书】使用高级C# 提升你的编程技能,412页pdf
专知会员服务
57+阅读 · 2020年6月26日
FPGA加速系统开发工具设计:综述与实践
专知会员服务
65+阅读 · 2020年6月24日
【实用书】Python技术手册,第三版767页pdf
专知会员服务
234+阅读 · 2020年5月21日
Python数据分析:过去、现在和未来,52页ppt
专知会员服务
99+阅读 · 2020年3月9日
中科大-人工智能方向专业课程2020《脑与认知科学导论》
新时期我国信息技术产业的发展
专知会员服务
69+阅读 · 2020年1月18日
电力人工智能发展报告,33页ppt
专知会员服务
126+阅读 · 2019年12月25日
中文知识图谱构建技术以及应用的综述
专知会员服务
312+阅读 · 2019年10月19日
工行基于MySQL构建分布式架构的转型之路
炼数成金订阅号
15+阅读 · 2019年5月16日
每个架构师都应该培养业务思维
InfoQ
3+阅读 · 2019年4月21日
说说我的老同事,前端大神程劭非
余晟以为
17+阅读 · 2019年1月14日
数据科学即将迎来“无代码”时代
大数据文摘
4+阅读 · 2018年10月21日
深度学习时代的目标检测算法综述
AI前线
11+阅读 · 2017年9月22日
Real-time Scalable Dense Surfel Mapping
Arxiv
5+阅读 · 2019年9月10日
Mesh R-CNN
Arxiv
4+阅读 · 2019年6月6日
Arxiv
8+阅读 · 2018年6月19日
Arxiv
7+阅读 · 2018年1月24日
Arxiv
6+阅读 · 2016年1月15日
Arxiv
5+阅读 · 2015年9月14日
VIP会员
相关VIP内容
【2020新书】使用高级C# 提升你的编程技能,412页pdf
专知会员服务
57+阅读 · 2020年6月26日
FPGA加速系统开发工具设计:综述与实践
专知会员服务
65+阅读 · 2020年6月24日
【实用书】Python技术手册,第三版767页pdf
专知会员服务
234+阅读 · 2020年5月21日
Python数据分析:过去、现在和未来,52页ppt
专知会员服务
99+阅读 · 2020年3月9日
中科大-人工智能方向专业课程2020《脑与认知科学导论》
新时期我国信息技术产业的发展
专知会员服务
69+阅读 · 2020年1月18日
电力人工智能发展报告,33页ppt
专知会员服务
126+阅读 · 2019年12月25日
中文知识图谱构建技术以及应用的综述
专知会员服务
312+阅读 · 2019年10月19日
相关资讯
工行基于MySQL构建分布式架构的转型之路
炼数成金订阅号
15+阅读 · 2019年5月16日
每个架构师都应该培养业务思维
InfoQ
3+阅读 · 2019年4月21日
说说我的老同事,前端大神程劭非
余晟以为
17+阅读 · 2019年1月14日
数据科学即将迎来“无代码”时代
大数据文摘
4+阅读 · 2018年10月21日
深度学习时代的目标检测算法综述
AI前线
11+阅读 · 2017年9月22日
相关论文
Real-time Scalable Dense Surfel Mapping
Arxiv
5+阅读 · 2019年9月10日
Mesh R-CNN
Arxiv
4+阅读 · 2019年6月6日
Arxiv
8+阅读 · 2018年6月19日
Arxiv
7+阅读 · 2018年1月24日
Arxiv
6+阅读 · 2016年1月15日
Arxiv
5+阅读 · 2015年9月14日
Top
微信扫码咨询专知VIP会员