大约在 30 年前我拥有了第一台自己的计算机,从此便开始了编程生涯 。那是一台二手的 Commodore 64 的电脑,进入“Basic V2”时闪烁的光标像是在欢迎我 。
从那以后,开发的世界里唯一不变的就是变化,以及不断学习和发现的需要 。关于如何在不断涌现的新事物中立于不败之地,我有下面一些看法 。
01了解历史
在这样一篇讨论如何在变革中处于领先地位的文章中,谈及历史可能有点出乎意料,但是为了了解和评估当代科技,你必须先了解该领域的历史 。
该领域中变化繁多且频频发生,很容易让人觉得那些新东西真的是新的 。但令人惊讶的是科技发展的是周期性非常明显;表面看似是新东西,其实往往有深刻的历史渊源 。
2004 年,Ruby on Rails 问世,并迅速崛起,对整个行业产生了巨大影响 。与此同时,它的基本思想还是基于模型视图控制器(Model View Controller,MVC)模式,以及 Ruby 面向对象模式的基础,这些技术可以追溯到 70 年代末的 Small Talk 编程环境 。
作为当时熟悉主流网络平台(PHP、Java、ASP)的开发人员来说,Ruby on Rails 不仅推出了具有全新语法的新语言,还提出了新的概念和主要的元编程的新范例 。然而,对于那些一直关注 SmallTalk 的兴衰以及受其启发而创建的语言和平台的开发人员来说,Ruby on Rails 是一个很熟悉的概念(新型的语法,并采用一些 SmallTalk 应用程序的方式来实现 Web 应用) 。他们仅需掌握 Ruby 和 SmallTalk 之间的差异(很重要但是差异并不大),以及 MVC 在 Web 和 Small Talk 应用程序之间的差异 。
与之类似,React 的出现把整整一代 JavaScript 框架都扫进了垃圾堆 。其中大部分框架都受到了 Rails 的启发,试图将 MVC 模型转移到浏览器中 。对于很多开发人员来说,它似乎与依赖双向数据绑定模板的单页面的应用程序框架有很大的不同,与 JQuery 等简化的代码库也不一样 。但是 React 的核心其实是受到了函数式编程语言(尤其是 OCAML)的启发,这可以一直追溯到计算机的早期阶段 。
React 的创始人 Jordan Walke 最近在叙述自己的经历时,回顾了创建 React 的历史背景:
在很长一段时间里,我以为“天啊,我觉得我只是个奇怪的程序员 。”后来,我参加了一门关于编程语言基础的课程(课程的大部分使用了 ML(SML)),而我终于掌握了一些如何描述我想建立的应用程序的一些基本术语 。我还学习了编程风格,吸引我的既不是古怪,也不是新颖的思想,实际上是一些最古老的编程语言的思想(那些从未成为主流的思想),这些思想在软件业界经历了 20 多年的风吹雨打(在我看来都在朝着坏的方向发展) 。
网页链接
对于很多前端开发人员来说,React 中完全成熟的状态管理融合了 Redux 的形式(也许是结合了 Immutable.js)让人一时有点难以理解 。但是对于了解其后的历史背景并关注函数式编程(其概念可以追溯到 1958 年出现的 LISP)再现的开发人员来说,React 反映了熟悉的概念和想法 。
即使在积极尝试学习新技术时,历史也可以起到很大的帮助 。当 Rails 首次发布时,除了一些在线文档、教程和源代码本身(稍后将详细介绍源代码)之外,很难找到相关的资料 。然而,有很多关于 MVC 演变到 Small Talk,再到 Objective-C 的文章,以及很多基于 Small Talk 的消息传递机制的元编程和 OOP 的经验教训 。
这可以成为学习新技术的一个好工具,提高学习速度;我们无需再阅读最新的教程和新出现的文档,而是要弄清楚它们的灵感来源,以及它们引用的之前的知识和创立的基础 。很多关于旧技术、想法和方法论的资料更加成熟,你会发现很多经验教训也完全可以使用该领域的新成果 。
推荐阅读
- 幼儿园招聘保育员,港口中心幼儿园招保育员
- 漳州招聘网,哪些招聘网站可以免费发布招聘信息
- 游艇销售招聘,游艇专业去哪里就业啊
- 邮政速递招聘,哈尔滨邮政快递员招聘吗 都有什么要求
- 张家港招聘网,苏州张家港市找工作的网站
- 邮局招聘,云南邮政局招聘的营业员工资待遇
- 邮电局招聘,云南邮政局招聘的营业员工资待遇
- 华为笔记本跟苹果笔记本哪个好,苹果笔记本和华为哪个好
- 哪个领域等等程序员,程序员都是怎么工作的
- 优衣库招聘,优衣库的招聘是不是真的