设为首页 - 加入收藏 ASP站长网(Aspzz.Cn)- 科技、建站、经验、云计算、5G、大数据,站长网!
热搜: 创业者 数据 手机
当前位置: 首页 > 服务器 > 搭建环境 > Unix > 正文

20年工龄技术大牛的肺腑感言,字字珠玑!(4)

发布时间:2020-03-17 07:30 所属栏目:119 来源:站长网
导读:我们学的很多技术实现都逃不脱基础原理,不管是 Java,还是其他语言,只要用 TCP 用的都是相同的原理,逃不出范围,只要抓住原理,甚至还可以自己推导一些技术。 ②什么才算是基础技术? 一些技术,比如程序语言,像

20年工龄技术大牛的肺腑感言,字字珠玑!

我们学的很多技术实现都逃不脱基础原理,不管是 Java,还是其他语言,只要用 TCP 用的都是相同的原理,逃不出范围,只要抓住原理,甚至还可以自己推导一些技术。

②什么才算是基础技术?

一些技术,比如程序语言,像 C 和 C++,原理主要就是编译、内存管理、指针等。Java 语言原理基本是在虚拟机 JVM、垃圾回收、JVM 字节码等。

Python 基本在解释器,Go 语言就是并发,基本都是这些,内存是怎么管的,Java 里面为什么没有指针,Java 虚函数是什么意思?......

你需要了解重要类库的事件,它的数据结构是红黑树,还是哈希表?还有代码设计,并发、异步,编程范式、设计模式。

操作系统就是计算原理,Linux、网络协议、还有数据库,像数据库设计的范式,后台原理都要搞清楚。

中间件 Kafka 是什么原理,你要了解里面的原理,还有一些东西巨耗内存。网管代理,调度系统等等,理论知识算法和数据结构......

20年工龄技术大牛的肺腑感言,字字珠玑!

前文所述,这个世界一直在做自动化,所以未来一定会自动化一些知识,因此算法和数据很重要,数据库设计范式、网络模型这些都是理论知识,理论知识可以让你从本质了解很多的东西。

这些知识其实就是一个计算机科学专业的学生他所要学习的原理,除了中间件可能学校没有教,但是一般学生时代学这些东西也没必要,我们的一些学校教得也很糟糕,一些老师可能都不行,他怎么能教学生呢?

而且教学生的书都是自己写的,凡是世界上最优秀的教课书不用了,一定要自己写一本。

我自己就遭遇过这样的经历,丹尼斯 C 语言程序设计不用了,一定要自己弄一本,谭浩强的语言设计,我也不明白为什么这样,人家好的不用,非要用自己的,然后里面错误百出。

拿不出原汁原味的东西,你的学习效率一定是下降的。在大学基本都是这样的。这些基础技术大概需要四五年的时间堆叠。

我工作二十年了,这二十年来基本还是这些原理没变,无论形式怎么变,但是核心永远还是这些,理论创新很难,这是以不变应万变。

③如何识别好的技术?

有了这些理论知识以后,离实际操作还会有一些距离。现在技术这么多,什么才是好技术?

首先了解这个技术解决什么问题。如果这个技术能解决很普遍的问题,那么这个技术可能就很牛,如果这个技术只是解决很小众的问题,这个技术可能也就随之小众。

技术一定降低技术门槛,提高开发效率,或者提升稳定性,基本所有的技术更迭都是为了这些东西。所以,技术越普遍越好。

Lisp 大家都说很好,但是 Lisp 解决的只是一种理论上的问题,其实并不具有普遍性。我们可以学 Lisp,但是你要指着它吃饭就不太行了。

我们需要提升什么样的能力?能够进行更为复杂的计算?能够自动化更为复杂和困难的事情,基本上所有技术都是这样按这样的方向发展的。

哪一些技术有潜力能成为主流技术?好的技术不一定能成为主流技术。成为主流技术特征通常来说有三点:

有大公司背书

有杀手级的应用

有强大的社区

这样的技术 Java 称得上是第一,所有大公司都在 Java,而且 Java 有前端、有手机端、有后端,各种杀手级应用一堆又一堆。

还有强大的社区,而且 Java 是企业级的,所以可以看到像交易型的系统基本都是 C、C++、Java 这条线还有多 .NET 也是这条线,要用开源,生产率还想高一点、系统稳定点就用 Java。

还有像 Go 语言,也有大公司背书,杀手级应用,社区也比较强大,社区把各种 Java 中间件往 GO 语言迁移,这些都是大技术。

那么 PHP 怎么样,Node.js 怎么样,这些都是脚本型语言,脚本型语言我并不觉得有多好。

PHP 未来也不会有太多的可能性。它们倒是降低技术门槛了,但是其实并不能解决更复杂的问题。要用 PHP 搞架构也挺困难的。

为什么 Java 更容易做架构,因为一般来说一个架构系统通常要有通讯系统,很多人觉得架构就是搞好这些系统和通讯。

系统间的通讯就是一个系统集成,架构里面还有控制系统,像服务画像、一些配置管理和配置中心,还有一些网管、流量分发,还有一些调度系统,控制系统和一些流量分发系统。

还有像 DIVE 的 CICD 就是切流量的,还有数据系统,一个架构基本有控制系统、流量系统、调度系统、状态系统、数据系统很多系统组成,以及通讯系统。

Java 社区里面这些东西最全,所以使用 Java 就比较方便。

20年工龄技术大牛的肺腑感言,字字珠玑!

我们怎么把控技术,怎么识别什么是“好的技术”。不是学术上的好,而是能够更为实用、务实的技术。

作为程序员,技术不是职业,我们还是要甄别更为普及的,更为易用比较广的技术。

但是无论怎么样,基础技术都是基本不变的。所以可以看到很多高级公司不是特别看重你用什么语言,像微软、谷歌、Facebook 等基本都不是很看重,但是要员工把基本原理弄明白,因为这是你是否能成长的重要依据。

提升自身成长效率

技术在不断更新,我这二十年基本也都是在不断追赶,如果你跟进慢了肯定就不行,所以必须要跟进的快一些。

首先要有学习的效率,怎么样提升你学习的效率,你若是学习效率提不上来,其实时间一长了就会被甩到后面去了。

下图展示的是学习金字塔,如果你采取的是听讲得到形式学习,最后可能只有 5% 的知识留存。

你自己读书可以留下 10%,看一些视频有 20% 留下,看别人演示做一遍有 30% 留下......

(编辑:ASP站长网)

网友评论
推荐文章
    热点阅读