本文作者:刘超,原文地址: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的组合应用,类似度很高,只是各自有各自特点的标准特色而已,学习难度是逐步升高的。

另一方面,我置信大多数人也有感触,当工作教训,认知程度达到肯定积攒之后,学习其实是一件瓜熟蒂落的事件

总结

有一次跟敌人聊天,敌人说,“感觉本人越学习,越感觉到不懂的方面更多了”。

我笑笑,表示同意他的观点,这是一个叫做“常识边界”的问题。

每个人的常识,就如同是一个圆,圆内是你曾经理解的常识,圆之外就是还不懂的常识,一个人把握的常识越多,这个圆也就越大,而圆越大,圆周所接触的那些未知领域也就越多。

如果一个人说本人没有什么不懂的,那只能阐明他知识面太小。

如此,当咱们意识到本人有很多不懂的货色的时候,也不必焦虑,因为咱们的常识在扩大,放弃一颗凋谢,学习的心,这是人生路上所必须的。