本文作者: 刘超,原文地址:
https://cnblogs.com/flame7/p/9110579.html
,如有侵权,则可删除。
工夫一晃而过,大学毕业转眼间曾经工作 9 年了,总结一下本人这些年来感触。
与程序打交道的人生,是简略的人生
一次做规划局的我的项目,规划局的职员很是钦佩地说:“你们真了不起,在电脑上敲敲键盘就能做出软件来。”,
规划局领导说:“ 跟电脑打交道是最简略的,难的是跟人打交道 。”。
领导的话很有深意,一语道破了实质,做程序的人,是比较简单的。
不懂什么叫编程
大学本科,读“计算机科学与技术业余”(置信看这篇博客的人多半也是学这个业余的 ^_*),课程重实践而轻实际。
最后学习 C 语言,对于编程没有任何概念,我分明的记得,一次在课堂上问老师:“计算机输入法,可视化操作界面曾经很欠缺了,为什么要用 C 语言中 Print() 函数输入一段字符呢?而且咱们学习应用 Console 控制台的黑白屏输入输出,也不像是平时应用的软件啊?”。
老师听后也是一脸的懵逼,说:“你好好学,缓缓就明确了”。
你不懂的,老师也没法答复你,只有靠本人缓缓地摸索,缓缓去领悟。
Java 还是 C#,平台抉择的爱恨情仇
初学 Java,这是我接触的第一个最具备实用意义的编程语言(能够做网站,做软件,尽管 C 语言,C++ 也能够开发应用软件,但毕竟应用的人较少,对于初学者,找到一个适合的教程都艰难)。
过后的学习,根本是自学,上网下载视频教程,一集一集地看,不懂的概念上网查,去图书馆借阅相干书籍材料。
什么 JSP 标签,Servlet,JDBC,到 Struts MVC,Hibernate,Spring,设计模式,半年工夫,算是初步入门,只管对常识还是只知其一; 不知其二,但还是胜利用 Java 做了毕业设计,做过几个小程序。
工作之后,开始应用 C#,算是与.NET 平台结缘,一行一行地敲代码,一个接一个的做我的项目,一版又一版的降级软件,一晃 9 年了。
从最后的 ASP.NET WebForm,ADO.NET,到 ASP.NET MVC,WebAPI,EntityFramework,面向服务架构的 WCF,以及最新的跨平台.NET Core,微软为软件开发人员,提供了编程最大的便利性。
仅从开发语言自身角度讲,C#并不比 Java 差,并且很多轻微的中央,C#比 Java 做的要好,比方,C#中的 get,set 属性拜访,要比 Java 的字段拜访不便很多,雷同逻辑代码运行效率方面,C# 的 MSIL 比 Java 的字节码容许效率还要略微高一些,然而无奈,.NET 平台倒退始终不迭 Java 平台。
诚然,平台的倒退不能仅从开发语言自身思考,平台运行环境,平台参加人员整体程度,应用老本等,更是起着决定性作用。
.NET 平台在互联网大潮中,逐步被边缘化,收费的 Java 平台,被开源社区拥抱,成为互联网我的项目开发平台的中流砥柱。微软仿佛意识到问题所在,逐渐退出开源队伍,并提供了跨平台计划.Net Core。
前端编程,JavaScript 从无知到沉睡
做 Web 开发,离不开 HTML,CSS,JavaScript,只管日常工作当前台开发为主,但接触的多了,缓缓地了解深刻。
从只会应用 JS 写函数,倒退到应用 JS 面向对象的性能,了解了 JS 中闭包的概念(好烧脑,用离散数学中的概念来示意函数汇合,让没学过汇合概念的同学情何以堪)。
明确了 JS 的面向对象编程,通过 JS 自定义前端控件,数据与逻辑代码拆散,达到优雅地实现前端逻辑。
学习的过程是波折的,有时候一个概念始终了解不了,但一旦明确过去,会有一种眼前一亮,恍然大悟的感觉。
起初始终不明确,为什么 JQuery 中的“$”这么牛,一个“$”符号能操作所有,读过 JQuery 源码之后才明确,这个“$”原来是 jQuery 在 Window 中定义的的一个变量,同时也是 jQuery 这个函数的别名,每次调用 $(…) 时,其实间接地创立了一个 JQuery 的实例。
当然,这种操作得益于 JS 是始终动静语言,能够给对象任意增加属性和办法(相比拟 Java 和 C# 是不能这样操作的)。
技术之路要一直学习,路漫漫其修远
技术更新迭代的速度,远超设想,往往是刚学会一个新技术,另一个更新的技术又变的炽热,仿佛新技术的产生,也在遵循一个摩尔定律。
追赶技术的脚步,就如同夸父追日个别,你始终在追赶,但它始终在你后面。好在,每一个新技术,新架构的产生,都是在为更简略、更高效的解决现有的问题。
所以,新的技术,尽管减少了学习的累赘,然而新技术的利用,可能解决事实的问题,是效率的晋升。从这个角度讲,学习是值得的。
通常来说,没有谁天生就会做什么,只有肯学习,他人能做到的,你也能做到。
React 炽热的时候,学习 React,理解了这种基于模板的开发方式,见识了这种相似于 MVC,实现数据与业务逻辑拆散的编程形式在 JS 中的理论利用,对于这种仅须要一个 render() 函数的超简洁的框架赞叹不已。
Facebook 搞出了 React,国人也不逞强,于是诞生了 Vue,相对来说更简洁,应用更不便。
React 倒退出了 React Native,圈子里更是为之振奋,为炽热的挪动端开发又添了一把柴,让挪动端开发,在 Android 和 IOS 原生开发之外,又多了一种全新的抉择。
我用 3 天工夫,学会了开发微信小程序,实现了原有 Web 性能向小程序的移植。
Node.JS 炽热的时候,我用了一周的业余时间,学习 NodeJS 编程,配合 MongoDB,搭建了简略的日志零碎。
说起来有点吹牛的意思,但却是事实。
一方面,不论是 React,微信小程序,Node.JS,实质上都是 JavaScript,Html,CSS 的组合应用,类似度很高,只是各自有各自特点的标准特色而已,学习难度是逐步升高的。
另一方面,我置信大多数人也有感触, 当工作教训,认知程度达到肯定积攒之后,学习其实是一件瓜熟蒂落的事件 。
总结
有一次跟敌人聊天,敌人说,“感觉本人越学习,越感觉到不懂的方面更多了”。
我笑笑,表示同意他的观点,这是一个叫做“常识边界”的问题。
每个人的常识,就如同是一个圆,圆内是你曾经理解的常识,圆之外就是还不懂的常识,一个人把握的常识越多,这个圆也就越大,而圆越大,圆周所接触的那些未知领域也就越多。
如果一个人说本人没有什么不懂的,那只能阐明他知识面太小。
如此,当咱们意识到本人有很多不懂的货色的时候,也不必焦虑,因为咱们的常识在扩大,放弃一颗凋谢,学习的心,这是人生路上所必须的。