五年技术之路
                                                                                          章立民 / 文
本月,《程序员》邀我写篇文章,回顾5年来的技术变化给我带来的感悟。5年前我是如何预料的,什么判断对了,什么没有预料到。如果回到五年前,如何选择路线。对于未来的技术发展怎样看,打算怎样走。看到这样的主题,觉得非常有意思,当下立刻答应。
首先我要来谈谈面对技术的心态,再来说说我选择技术的原则,最后就是回首过去、验证现在、展望未来。
我不愿意在这里自命清单,高谈阔论地讲一些大道理。但是大家必须了解,台面上的这些技术没有什么好与坏,我们顶多只能说某些是过时的,某些是符合现今流行架构。遗憾的是,不少人在技术的选择上总是有门户之见,就拿.NET 与J2EE来说吧,你是因为讨厌微软才选择J2EE,或者说因为您是Bill Gates的忠实fans才非微软技术不用呢。我要说的是,检视诸项技术时,最忌讳的就是“成见”以及那股莫名的“情绪”,或是说“情节”。当您有了这样的心态,如何以客观的心情去评量各种技术呢?
我从来不否认我与微软有紧密的关系,也不否认我这近二十年来用的都是微软的技术,但是我从来不否定与批评其它厂商的技术架构。这不仅是一种气度,也能帮助我以客观的角度来学习,毕竟知己知彼才能百战百胜。
我常常看到有许多人喜欢比较 .NET 与J2EE。说句实在话,这两种技术路线都有极深的内涵,单单看了技术架构,稍微用了点其中的技术进行开发,就足以评断两者的优劣吗?这未免太自以为是,大放厥词。我投注了极大的心力研究.NET,才比较认为能够稍微随心所欲地掌握其内涵,也才能够真正体会其中的优点与缺点。我相信同理之于J2EE。问题是,我时间有限,精力有限,能力有限,不可能同时研究这二者,既然如此,何德何能去评论呢?
其实只要您真正投入,掌握技术的精要,自然能将其特性彻底发挥,进而开发出优质的应用程序。如果您学东西总是半调子,那即使您用的是什么伟大的技术,写出来的东西也是平淡无奇,甚至上不了台面。
我选择技术的原则非常简单,第一看技术的进入障碍;第二看技术有没有未来性。所谓进入障碍,当然就是跟我目前的技术能力是不是有延续性,是不是能够有良好的衔接,这是为了确保我过去投入的心血不会轻易付诸流水。就未来性而言,也就是看技术有没有前景,说得露骨点,或者应该说有没有“钱”景,毕竟技术必须叫好,也要叫座,才是好技术,那种孤芳自赏者,通常没有好下场。没错,这两个原则有时候是彼此相冲突的。放诸技术的演进史,有时候会因为某种革命性架构与装置的推出,导致引发大跃进式的演进。在这种时候,未来性的考虑当然更胜于进入障碍。
其实在许多时候,技术(或是说技术路线)的选择也没有那么难,因为市场可能已经帮您做了决定。如果真的无法自行判断,就跟着流行潮流走吧!
技术演进的脚步可是从来没有停歇过,而且只会愈来愈快。身为此行业的一份子,有时候感觉有如过河卒子,没有退路,只能拼命地往前冲。不过进入这一行,我是无怨无悔的。同样的,在技术的路上,我也是无怨无悔的。如果时间回到五年前,我会改变我的决定或作为吗?答案也是一样,无怨无悔。如果真的有错,那就是错在我进入.NET的脚步还不够快,曾经一度的观望,让我后来、以至于现在,必须耗费更多的心力去追赶。
当初一度认为,在因特网的风潮过后,无线装置应用程序的开发将形成一股热潮。不过就实际的统计数据而言,这方面的开发人口所占比例仍然极小,并不如我预期,不过这或许也代表还有很大的成长空间。另外呢,我常常觉得计算机过于冰冷,没有人性化,如果开计算机能像开电视一样那么快速的话,真是完美呢。虽然做梦归做梦,不过就目前的走向看来,计算机的强大运算能力必定在数字家庭娱乐中扮演重要角色。这个方面,颇值得关注。
在此当口,我所选择的Visual Studio 2005与.NET Framework 2.0都已经到了最后定型的阶段,从中,我看到了我未来数年该走的路,更确认了当初的选择完全正确。因为它符合我本身的两个原则:低的进入障碍与良好的未来性。就另外一条路线而言,我想现在选择Java的人也不会后悔,毕竟现在Java也是热得很。曾经有人问我会不会担心这个状况,有没有想要转换跑道。哈,这个问题真好。其实我最近常跟微软的人说,Java已经打到你们家门口了,该加点油喔!不过我并不担心,毕竟有竞争才有进步,最后的受惠者,将是所有的使用者。
最后,在技术之路上给大家一个忠告,放开心胸,勇于面对,才能立于不败之地。共勉之。

程序员的成长故事之 五年技术之路相关推荐

  1. 程序员的成长故事之 我的Borland五年

      我的Borland五年                                                                                        ...

  2. 一位资深程序员的成长故事

    大学生活对很多人来说都是美好的,可一旦走出校园,就充满了惶恐和不安.记得栀子花开的季节,一位计算机系的学长讲述了自己的求职经历. 结缘与苦学 大学与女友异地四年,原本想着毕业后去女友生活的城市. 慎重 ...

  3. 程序员的成长故事之 袁红岗的程序人生

    程序其实也是一种艺术                                                                                           ...

  4. 程序员的成长故事之 从微软走向开源的5年

               从微软走向开源的5年                                                                                ...

  5. 一个程序员的成长的六个阶段

    第一阶段 此阶段主要是能熟练地使用某种语言.这就相当于练武中的套路和架式这些表面的东西. 第二阶段 此阶段能精通基于某种平台的接口(例如我们现在常用的Win 32的API函数)以及所对应语言的自身的库 ...

  6. 程序员持续成长,需要持久而痛苦的学习

    阅读前请先思考 你最重要的竞争力是什么? 你为何焦虑? 前言 每个程序员心里多多少少都有一个成为技术大牛的梦.毕竟梦想总是要有的,万一实现了呢? 奇葩说第五季里有一期辩题是<高薪不喜欢的还是低薪 ...

  7. 一个程序员的成长的六个阶段(转载)

    一个程序员的成长的六个阶段 第一阶段 此阶段主要是能熟练地使用某种语言.这就相当于练武中的套路和架式这些表面的东西. 第二阶段 此阶段能精通基于某种平台的接口(例如我们现在常用的Win 32的API函 ...

  8. 云栖专辑| 阿里毕玄:程序员的成长路线

    2018年12月20日,云栖社区3周岁生日.阿里巴巴常说"晴天修屋顶",所以我们特别策划了这个专辑--分享给开发者们20个阿里故事,50本书籍.第一位是林昊(毕玄). 在这篇< ...

  9. 开篇词 | 程序员的成长课

    大家好,我是安晓辉,做过开发工程师.研发经理.技术总监等岗位,现在自由职业,专注写作和开发者生涯咨询.出版过<程序员的成长课>.<Qt Quick 核心编程>.<你好哇, ...

最新文章

  1. Uva1595 对称轴
  2. python 图像降噪
  3. R语言实战应用精讲50篇(二十七)-时空数据分析-经验空间/时间均值(latex公式+R代码绘图)
  4. python3的输出函数_教女朋友学Python3(二)简单的输入输出及内置函数查看 原创...
  5. 一个炫酷的仿雷达扫描和扩散效果——自定义View就是这么简单
  6. Enum枚举类|注解Annotation
  7. CRT工具连接Linux操作手册
  8. php 防止造假ip攻击,php防止网站被攻击的应急代码
  9. spring awre的理解
  10. php zip扩展文件,php使用ZipArchive扩展实现文件的zip压缩与zip解压
  11. CentOS 7 安装Dukto(局域网通信工具)
  12. 电脑如何实现微信多开
  13. 快速上手Total Commander的经验分享
  14. 深度学习的趣味app简单优化(适合新手)
  15. 对于大型公司项目平台选择j2ee的几层认识(一)
  16. 感受美国小学生的幸福校园生活! (转)
  17. 20155232 2016-2017-2《Java程序设计》课程总结
  18. 跆拳道培训机构如何用抖音快手做推广
  19. nvidia-smi 中的 G 和 C 类型是什么意思?
  20. Win10家庭版怎么添加本地用户和组?

热门文章

  1. 《超级产品的本质:汽车大王亨利福特自传》书评
  2. 奥可视gps连连看 哪款与你最为匹配
  3. Java基础入门 JFrame
  4. 英语六级词汇总结(此文持续更新)
  5. 江博士:我的局域网配置
  6. AndroidStudio 编译中遇到问题总结
  7. 利用Javascript制作网页特效(时间特效)
  8. (流水车间调度 FSSP) NEH启发式算法改进 (时间复杂度从 O(mn^3) 降至 O(mn^2) )
  9. 灼眼夏娜电脑主题_系统美化
  10. 每3比特分组程序matlab,QAM调制解调的原理