我想题主所说的IT行业 。指的是其中的开发工程师吧?我是一名经过培训入行的软件工程师 。到目前已经工作了将近8个年头了 。我认为IT行业门槛低是相对于过去来说的 。通过培训确实可以实现行业入门 。但是想要百尺竿头更进一步 。还是要下苦功的 。下面我就谈谈我的看法吧 。如果有表述不准确的地方 。欢迎各位童鞋指正 。如有遗漏 。欢迎补充 。
文章插图
门槛变低
先来谈一谈门槛吧 。任何行业都有一定的门槛 。软件开发也不例外 。随着编程语言越来越简单 。各种中间件和开源库的成熟程度和性能的不断提升 。开发人员可以不用过多的关注很多与业务无关的技术细节 。基于这种技术红利 。从业的门槛而确实比多年前要低了很多 。但仅仅是相对过去而言 。
一、编程语言门槛在降低
从时间维度来看 。编程语言共分为三个阶段 。
(一) 第一代语言:机器语言 。我们都知道计算机其实很“傻” 。只认识0和1 。因此第一代的编程语言就是由0和1构成的机器语言 。用0/1编程的问题非常明显 。难理解、效率低、易出错、维护困难等等 。面对一堆乱七八糟的纸带 。很难将其和IT挂起钩 。可想而知机器语言的入门难度有多高!
文章插图
文章插图
文章插图
文章插图
编程语言的不断“革命” 。其实就是编程语言学习门槛在不断降低的有力证明 。因为大家总是更喜欢简单且高效的事物 。
二、强大的公共组件支持
现在的软件开发离不开各种组件(中间件、应用级框架等) 。组件为我们的开发提供了很多的便利条件 。让我们的程序员能够将更多的精力投入到业务逻辑上 。我们不妨设想一下 。如果没有了框架和中间件 。即使有Java这种高级语言的存在 。想快速构建一个系统也是非常困难的 。为了能够更加直观的体会到组件的发展 。我将结合我从业以来应用级框架的发展情况进行介绍 。
(一)J2EE 。这是一个Java官方牵头制定 。并得到广泛认可的企业级规范 。在这套规范中 。我们可以通过servlet组件来很便捷的处理WEB请求 。使用jsp组件对页面进行动态的渲染 。使用JDBC与数据库建立良好的交互 。J2EE不需要开发者关注传输层协议(这部分工作由WEB中间实现) 。仅需要关注应用层实现即可 。但是基于Servlet/jsp进行开发还是比较繁琐的 。我来简单介绍下使用Servlet/jsp进行开发的一些基本流程 。童鞋们可以感受一下 。
创建web项目;
编写
web.xml
文件(
web.xml
是J2EE的核心配置文件 。也是应用和中间件连接的桥梁);
编写Filter、Servlet;
编写Jsp动态页面;
打成war包 。并提交到web中间件上 。
主要的工作在第3步 。在开发过程中需要考虑字符集、线程安全问题 。还需要手动获取请求参数、手动写出应答数据 。程序最终需要发布到web中间件上来运行 。
文章插图
(二)SSH 。这是Spring+Struts2+Hibernate的简写 。SSH很好的落地了MVC模式 。由Struts2负责业务控制层处理 。HIbernate封装对数据库的操作 。Spring负责解耦以及整个项目的整合 。相对于Servlet/jsp来说 。SSH确实要在编码方面简化了不少 。不再需要人工的获取参数 。也不需要“写死”依赖到代码中 。繁琐的数据库事务也被AOP接管 。虽然相对Servlet来说少了不少开发工作量 。但是超多的配置文件和jar包的依赖成了开发人员的负担 。曾经有些开发人员戏称自己为配置工程师~ 。
文章插图
(三)SSM 。Spring+SpringMVC+MyBatis的简写 。简单而安全的SpringMVC代替了Struts2(繁琐且频繁有漏洞) 。轻量高效的MyBatis代替了Hibernate(框架比较重 。问题也比较多) 。注解的出现 。使得项目的配置内容大幅度减少 。于此同时 。Maven也流行了起来 。可以比较方便的管理项目的第三方依赖 。
文章插图
(四)SpringBoot 。SpringBoot的优秀可以通过其流行程度来证明 。在SpringBoot中内嵌了web容器 。并且提供了丰富的plugin 。可以让项目以jar包的方式运行 。此外 。对依赖jar包的管理也更加简单 。在其他方面也提供了一站式服务的能力 。
推荐阅读
- 王者:官方公布巅峰赛法师梯度榜单,T0级英雄空无一人,实属罕见,你觉得呢?
- 王者荣耀打野英雄榜T0悟空和凯胜率和出场率霸榜,胜率高典韦只是第三,你怎么看排名?
- 吃鳗鱼中毒了怎么办
- 当程序员好不好?
- 王者荣耀新赛季射手梯度该如何排行,哪些射手可以称为T0?
- 鳗鱼与什么相克
- 中国未来行业的发展,IT行业究竟怎么样?
- 《王者荣耀》新版本梯度排行榜出炉,马可守约成T0,元芳成T3,你怎么看?
- 吃鳗鱼的禁忌有哪些?