• 【编程漫谈】少儿编程是什么鬼?


    对于一个以技术为职业的人来讲,技术的更新换代是个不小的坎,很多人步入中年就没有了学习的动力,对层出不穷的新技术望洋兴叹,这时候要么在原技术岗位上硬称,要么改变自己的职业,比如转向管理或是创业。其实无论怎么做,都是件不容易的事,或许在本身的道路上坚持下去,可能结果还会好一点。之所以害怕技术更新,是因为自己掌握的东西跟不上时代了,然后自己跟着淘汰了。仔细分析一下原因,也许只是自己的惰性在作怪,技术换代真的那么可怕吗?未必!

    其它行业咱不懂,就不说了,隔行如隔山,就说说IT行业。至少在IT这行业中,很多产品或项目的失败并不在于技术,而是需求的把控上。很多业主并不知道自己需要什么,没有调查过市场,不知道终端用户究竟需要什么,只什么拿一个技术方案生搬硬套,他们可能认为项目失败的原因是自己的技术实力不够强,对新技术掌握得好的人才太少。这种想法是错的,所谓的新技术到底有多新呢?究竟新在什么地方呢?

    我个人总结,所谓新技术,实际上有两个层面的东西。一个是基础性工具的创新,这类工具并不产生最终端用户接触的那个程序系统,他只是用于构建最终的应用系统。另一个是思维层面的创新,这类创新跟技术本身关系不大,更多的是方法论在技术平台上的实践,懂了它的思想也就掌握了这门技术。

    工具性创新某种程序上来讲,近几十年其实也没有什么特别革命性的东西,因为最底层的二进制运算始终没有变过,变的只是上层的东西,但相对来说因为某此东西并不直接最终产品,所以也算是技术更新,这种技术可能会需要相当的学习成本,也可能不需要,多数时候技术的变革对终端产品用户是不可见的,很多时候也是不需要关心的。比如9几年出现的Java,2001年出现的.Net,这类技术在原来的二制基础上加了一层虚拟技术,让程序开发变得更友好。包括近期出现的Go也是这个目的,但纵观这类新技术,在程序的开发方式中并没有绝对的颠覆,始终脱离不了迭代、循环、算术运算、逻辑运算这些东西,若说学起来有多难并不见得。

    关于方法论的东西,这本身就是要一直改变的。当初为了写一个程序,代码中直接插入了复杂的Sql脚本,等到代码多到一定程度的时候,发现现有的开发模式有问题,于是便想出新的方法来解决这个问题,比如将代码进行逻辑上分层,这样就可以分层几个项目来分别开发,每层之间使用一定的协议进行规范,比如MVC、ORM等都方法论的实践,这类东西并没有改变技术本身,只是换了一种程序实现的方式。然后为了项目的快速展开,更有人把一些通用功能独立出来,进行组件化后,再拼合在一起就成了所谓的框架,比如J2ee,Spring等,这种也是方法论,对于这类的技术掌握在于开发人员遇到过的项目规模,这不是简单学就能理解的,都是实践出来的。

    总结一下,所谓的新技术很多时候都是新瓶装陈酒,本质上并没有太变革,比如现在很多MVVM框架,不过是旧有技术的再利用,Angular、VUE之流也不过JS重新包装,以实现某种所谓的模式,如果你写过原始的JS,然后转到这上边来会有什么困难呢?还有所谓的大数据与人工智能,这里也是有关算法的问题,算法本来就是少数人研究的,如果你能参与到算法研究的行列中,那么早就没职业前途的担优了,否则就是自己太过恐惧。新技术也许并不新,只是你把它相像得太新了。

  • 相关阅读:
    mac c++编译出现segmentation fault :11错误
    ssh 连接缓慢解决方法
    237. Delete Node in a Linked List
    203. Remove Linked List Elements
    Inversion of Control Containers and the Dependency Injection pattern
    82. Remove Duplicates from Sorted List II
    83. Remove Duplicates from Sorted List
    SxsTrace
    使用CCleaner卸载chrome
    decimal and double ToString problem
  • 原文地址:https://www.cnblogs.com/icoolno1/p/11707031.html
Copyright © 2020-2023  润新知