NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

陈皓谈对待技术的态度

  • 2012-08-18
  • 本文字数:2327 字

    阅读完需:约 8 分钟

最近在酷壳上,陈皓撰文阐述了对待技术的态度,如何面对技术的快速更新?是否做软件开发比以前更加困难了?他都给出了自己的见解。

陈皓首先针对“如何看待日新月异的新技术”做出了回答:

遇到新技术我会去了解,但不会把很大的精力放在这些技术(如:NoSQL,Node.js,等)。这些技术尚不成熟,只需要跟得住就可以了。技术十年以上可能是一个门槛。有人说技术更新换代很快,我一点儿都不觉得是这样想。虽然有不成熟的技术不断地涌出,但是成熟的技术,比如 Unix,40 多年,C,40 多年,C++,30 多年,TCP/IP,20 多年,Java 也有将近 20 年了……,所以,如果你着眼成熟的技术,其实并不多。

他的核心观点是——要了解技术就一定需要了解整个计算机的技术历史发展和进化路线。你要朝着球运动的轨迹去,而不是朝着球的位置去,要知道球的运动轨迹,你就需要知道它历史上是怎么跑的。

然后,他简要回顾了 IT 技术的脉络,并列出了几条关键的主线:

70 年代 Unix 的出现,是软件发展方面的一个里程碑,那个时期的 C 语言,也是语言方面的里程碑。(当时)所有的项目都在 Unix/C 上,全世界人都在用这两样东西写软件。Linux 跟随的是 Unix, Windows 下的开发也是 C/C++。这时候出现的 C++ 很自然就被大家接受了,企业级的系统很自然就会迁移到这上面,C++ 虽然接过了 C 的接力棒,但是它的问题是它没有一个企业方面的架构,而且太随意了,否则也不会有今天的 Java。C++ 和 C 非常接近,它只不过是 C 的一个扩展,长年没有一个企业架构的框架。而 Java 在被发明后,被 IBM 把企业架构这部分的需求接了过来,J2EE 的出现让 C/C++ 捉襟见肘了,在语言进化上,还有 Python/Ruby,后面还有了.NET,但可惜的是这只局限在 Windows 平台上。这些就是企业级软件方面语言层面就是 C -> C++ -> Java 这条主干,操作系统是 Unix -> Linux/Windows 这条主干,软件开发中需要了解的网络知识就是 Ethernet -> IP -> TCP/UDP 这条主干。另外一条脉络就是互联网方面的(HTML/CSS/JS/LAMP…)。

同时,他还分析了架构领域的发展:

  • 从单机的年代,到 C/S 架构(界面,业务逻辑,数据 SQL 都在 Client 上,只有数据库服库在 S 上)
  • 再到 B/S 结构(用浏览器来充当 Client,但是传统的 ASP/PHP/JSP/Perl/CGI 这样的编程也都把界面,业务逻辑,和 SQL 都放在一起),但是 B/S 已经把这些东西放到了 Web Server 上,
  • 再到后来的中间件,把业务逻辑再抽出一层,放到一个叫 App Server 上,经典的三层结构。
  • 然后再到分布式结构,业务层分布式,数据层分布式。
  • 再到今天的云架构——全部移到服务器。

陈皓针对“忽视关键核心技术,盲目追逐新技术”的现象做出了回应:“如果连技术主干都可以不学的话,还有什么其他的好学呢?这些是计算机发展的根、脉络、祖师爷,这样的东西怎么可以不学呢?”

那么,现在做一个软件开发者是否更加困难了?陈皓认为“更简单了”:

因为现在互联网很发达,你可以找到很多共享的知识——相对于我那个时候。第一,知识你容易查到,然后社区很多,文章、分享的人也越来越多。我们那个时候没有的。上网一查,什么都没有。都得去自己琢磨,自己去调查。所以我觉得相比我们那个时候更容易了。第二,工具变多了。现在的工具比那个时候好用多了。我们那个时候就是一天到晚在 vi 里面,连个自动提示都没有,连个版本库管理都没有。不光工具变多,框架也多了,各种各样的编程框架。我们那时候都是生写。写 JavaScript,生写,连个 jQuery 都没有。没有这些辅助性的、让你提高生产力的东西。J2EE 那时候也没有。而且整个(开发环境)都很不成熟。一个服务器的最高配置就 1GB 的情况下,一个 WebSphere 起来就占了 900 多 MB——这还能跑什么应用?所以只能去用最基础的系统。所以我觉得现在,无论是环境,还是开发的过程,都更规范了。以前我做开发的时候就是,什么都不懂就上了,瞎搞,没有什么开发规范,没有人理你,反正你搞得好就搞好,搞不好就搞不好了,全靠自己,包括做测试维护等等。我觉得现在的软件开发就很好,你一上去,就有好的工具,有好的知识库,有好的社区,有好的开发框架,还有好的流程,方法,甚至还有人帮你做测试,还有人告诉你应该怎么做。幸福得很。现在好多人还说这个不好那个不好,开发难什么的。其实容易多了。

但是,有个东西我觉得是现在的软件开发者比我们那时候变得更难的。就是,你享福了以后,人就变懒,变娇气了。对很多东西的抱怨就开始多了。我们那个时候哪有什么好抱怨的?没啥好抱怨的,有活就干,有东西学就赶快学。现在呢,学个什么东西还挑挑拣拣的,抱怨这个语言太扯,那个 IDE 不好,这个框架太差,版本管理工具太扯,等等。这就好像以前我没东西吃,只有个糠吃,要是有面包有馒头,我就觉得非常非常好了。现在是,好吃的东西多了我们还学会挑食了,这也不好用,那也不好用。

根本就不是技术变难了,环境变差了,是程序员变娇气了。所以软件开发变难,归根结底还是程序员们自己变娇气了。

陈皓认为“任何一门技术玩深了,都是很有意思的”:

另外,任何一门技术玩深了,都是很有意思的。有些人形成了一个价值取向,“我只做什么,绝不做什么”。前段时间有一个刚来亚马逊的工程师,他原来做的是数据挖掘推荐系统,原来的公司重组要让他做前端,他不肯就离职了,他说他不想做前端。我觉得,前端后端都是编程,Javascript 是编程,C++ 也是编程。编程不在于你用什么语言去 coding,而是你组织程序、设计软件的能力,只要你上升到脑力劳动上来,用什么都一样,技术无贵贱。你可以不喜欢那个技术,但是还是要了解了解,也没有必要完全不用,完全抛弃。

如果你没有兴趣,什么都是借口,如果你有兴趣了,什么都是好玩的。

详细的内容,读者朋友可以查看陈皓的原文,也欢迎大家发表自己的看法。

2012-08-18 09:293147
用户头像

发布了 501 篇内容, 共 248.3 次阅读, 收获喜欢 57 次。

关注

评论

发布
暂无评论
发现更多内容

数字化转型趋势|汽车电子软件开发工具链必看

laofo

DevOps cicd 研发效能 持续交付 DevOps工具链

Python语法之流程控制

智趣匠

流程控制 9月月更 嵌套

【数据结构】利用Python手把手带你自定义矩阵

迷彩

数据结构 矩阵 矩阵运算 9月月更 自定义矩阵

Vue3-无限滚动的懒加载-本地数据操作版

Sam9029

Vue 前端 懒加载 9月月更

Vue3-无限滚动的懒加载-模拟网络请求Mock版

Sam9029

Vue 前端 9月月更 无限滚动

Docker镜像列表中的none:none是什么

程序员欣宸

Docker 9月月更

Spring事务角色与事务属性

十八岁讨厌编程

Java 后端开发 9月月更

ESP32-C3入门教程 基础篇(七、LEDC — LED PWM 控制器)

矜辰所致

pwm ESP32-C3 9月月更

网安超基础一周目

吉师职业混子

9月月更

Java基础科普

吉师职业混子

9月月更

C++学习---__gen_tempname函数原理分析学习

桑榆

c++ 源码分析 9月月更

易观千帆联合《扬子晚报》发布苏州市手机银行应用活跃人数榜单

易观分析

金融 手机银行 苏州

多维分析利器Druid

穿过生命散发芬芳

Druid 9月月更

经久不衰的设计定律是不要让我思考的设计

宇宙之一粟

读书笔记 设计 设计思维 设计原则 9月月更

从0开始的计算机之路

吉师职业混子

9月月更

【网络安全】记一次简单渗透测试实战

网络安全学海

黑客 网络安全 信息安全 渗透测试 漏洞利用

基于微信小程序的会议室预定平台开发笔记

CC同学

Linux内核详细笔记目录

简说Linux内核

嵌入式 Linux内核 驱动

【云原生 | 从零开始学Kubernetes】四、Kubernetes之YAML文件详解

泡泡

云计算 云原生 k8s 9月月更

Python语法之列表

智趣匠

列表 元素 9月月更

Python语法之循环

智趣匠

Python 9月月更 循环控制

Spring事务管理

十八岁讨厌编程

Java 后端开发 9月月更

架构实战营模块一作业

东尼大锤

2022-09-22:以下go语言代码输出什么?A:5、B:不能编译;C:运行时死锁。 package main import ( “fmt“ “time“ ) func main

福大大架构师每日一题

golang 福大大 选择题

【Kafka】编译 Kafka 源码并搭建源码环

石臻臻的杂货铺

kafka 9月月更

Hybrid App会靠小程序崛起吗

Geek_99967b

小程序

汽车总线系统

不脱发的程序猿

汽车电子 CAN总线 汽车总线系统

FaissPQ索引简介

转转技术团队

深度学习 Faiss 向量计算

【云原生 | 从零开始学 Kubernetes】三、Kubernetes集群管理工具kubectl

泡泡

Docker 云计算 云原生 k8s 9月月更

追光动画《杨戬》:水墨、石窟、洛神赋,中式美感背后有中国云计算

B Impact

开发者有话说|谈谈自己大学期间的收获,以及毕业的求职经历

智趣匠

个人成长 成长路上的思考 初心不变

陈皓谈对待技术的态度_语言 & 开发_崔康_InfoQ精选文章