没有过时的技术,只有过时的思维

    今天早上在今日头条无意中看到一个推送文章,大概说的是一个40岁的程序员去京东面试,被HR说成技术陈旧,然后就不要人家了。不清楚是不是单这一个原因不予录用,我想人家也是嫌弃40岁这个年龄的,就目前毕业找工作这么多的人来讲,也可以理解。

    但是作为一个程序员,可以简单聊聊技术陈旧的问题。

    首先必须阐明立场,我是十分反对技术陈旧这种说法的。道理很简单,技术本身是用来解决问题的,而不是用来赶时髦的,除了这个原因,其实我们可以大概去看看现在所谓的一些前沿技术,到底是个什么鬼?

1.支撑web互联网技术的核心技术是什么?

    现在互联网领域应该说技术门类最为繁荣了,论堆的所谓前端工程师,后端工程师。还有产品经理和UI,每个领域涉及的所谓框架,那真叫一个层出不穷!比如说后端的java语言相关的各种技术框架,什么spring之流的,比如前端什么vue之流,都是相当牛逼的框架技术。说到这里,我想这位HR说的所谓技术陈旧,应该就是说的技术框架吧?这玩意两年一小变,5年一大变,真的是跟雨后春笋一样,多得可以当饭吃。然而,所有这些框架的核心,比如java语言、前端的HTML、CSS、JavaScript,都是什么时候的产物呢?

    java:1995年上线。

    HTML:1993年HTML1.0发布。

    CSS:1994年哈坤·利提出了CSS的最初建议。

    JavaScript:1995年上线。

    以上这些基本上是绝大部分框架的核心技术,当然还远不止这几个,有时间的小伙伴可以再去挖掘下核心技术产生的年代,虽然我不能一棍子打死,但是基本可以确定的是,绝大部分核心技术都是上世纪九十年代的产物。

    再看作为WEB技术的核心协议HTTP,资料显示,1990年HTTP就成为www的支撑协议。就是现在支撑HTTPS的SSL协议,也是在1994年提出来的。当然,这些协议也还在不断修补和进化当中,目前也几乎看不到头说是这些协议可以停止维护了。但是所谓更新,也就是补充一些点而已,核心几乎是不变的。再往下看,支撑HTTP协议的TCP,早在1970年就已经提出原型。

    所以,就核心而已,大家觉得还有什么新技术吗?

    说到这里,也会有人出来反驳的,理由是,现在开发谁还用这些底层的东西,都是用的现成的框架来开发的。这是无知的表现,也就是被称之为“码农”的原因所在。这么说吧,就算是要用好那些个框架,你也得熟练掌握这些底层的东西,如果仅仅是会调用框架的api,那么,到40岁还被人pass掉,就再正常不过了。

2.操作系统很新吗?

    你如果觉得很新,你关心的只是主题,并不是真正的OS。

    我们都知道,最早的UNIX在1970年问世,之后无论是苹果的系统,还是linux,其实都是类UNIX系统。linux是1991年发布的。windows的核心NT,是1993年发布的。

    然后作为OS服务层的shell,最早的shell,资料显示是1971年。

    C语言是1972年。

    GCC是1987年发布第一个版本。

    如果你觉得主题是比较新的东西,那么你应该知道,KDE是在1996年发起,GNOME是在1997年。大名鼎鼎的Qt,在1991年的时候就发布了。

3.编程语言很新吗?

    上面说了,C是1972年发布。

    C++呢?资料显示其历史可以追溯到1979年,1983年正式命名为C++。

    Java上面也提到了是1995年发布。

    现在热门到少儿都开始编程的python呢?不好意思,上线时间比java还早,是1990年。

    Go语言是2009年发布,值得一提的是,Go语言作者,绝大部分都是老年人,其中Ken Thompson在2009年的时候已经66岁,大家熟悉的UTF-8编码,也是Ken Thompson发明的,早在1992年就发明了,是不是很早?

    还有啥语言?排行榜显示,语言多到数不过来。绝大部分编程语言,其实都是上世纪的产物。就不一一列举了。

    国内大部分码农级别程序员,容易犯一个非常大的错误,就是误把框架当成所谓核心技术。其实框架是上世纪的那些技术经过简单或者复杂的包装、修改、粉饰,然后推销给你们的产品。如果停留在框架级别,程序员将变得毫无价值,年纪大了自然就有年纪轻的过来取代你。

    然后,给很多人,包括IT行业的HR,造成了框架就是技术的错觉。于是,不了解最新的框架,就是技术过时。这里顺便说一个很有意思的现象,大家知道,框架搞出来,其实就是为了使开发变得更简单,能够解脱程序员的劳力,帮助大家更好地开发出产品,使大家尽量少花时间去研究底层的技术。但是如果大家真的少花时间或者不花时间去研究底层技术的话,框架你也用不好。这就有意思了,似乎有点矛盾?框架为了让你不怎么研究底层就能开发,但是不研究底层,你也用不好框架。比方说网络吧,如果你不熟悉TCP/IP底层原理,socket的那些个选项,你怎么能懂呢?那就只能查百度,抄代码了喽。这里其实大家必须明白一点,计算机这玩意,其实无论怎么抽象、分层,其实也做不到完全隔离的。不懂计算机底层技术,只要是基于现在的图灵计算机,你是做不好软件开发工作的。

    先进的思维是什么,其实还是那些老生常谈的话题,要抽象、要什么的。似乎也是没有多少新内容。道理也很简单,无论行业怎么发展,只要量子计算机没普及,我们现在的计算机形态就没变,以前产生的那些个软件工程方法,就都普遍适用,一句话,我们现在还是基于图灵计算机!

    差不多了,不想再打字了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值