英语 训练指南 编程篇
英语 训练指南 编程篇
# 英语 简介
# 什么是 英语
英语(English),中文也称英文,是一种西日耳曼语言,诞生于日德兰半岛和莱茵河流域,如今具有全球通用语的地位。
由于使用英语的两个主要国家——英国与美国,先后成为世界超级大国之故,并在商业、学术领域具较大影响力,在科技方面的突出贡献和领先地位,而且英文相对易学,因此许多人都将英语做为一种外语或第二语言,把英语作为外国语使用的人约 3-5 亿。英语在香港作为第二官方语言,在欧洲大陆及日本则是最普遍作为外语来学习的语言(32.6%),接着是法语、德语和西班牙语,在中国大陆、澳门特区、台湾、韩国、日本等地,英语是学校的必修外语课程。
# 为什么需要使用 英语
Language is information and information is everything. —— Killing Eve
根据统计,英语是全世界使用人数最多的语言:
- List of languages by total number of speakers (opens new window)
- INTERNET WORLD USERS BY LANGUAGE (opens new window)
编程领域最早发展自英语系国家:
程序的编码是最早来自英语:
编程语言中的很多关键字也来源于英语:
代码的编写、命名、注释、文档等,也广泛使用英语:
无数编程资料的第一语言都是英语:
- GitHub (opens new window)
- Stack Overflow (opens new window)
- Web Development - YouTube (opens new window)
- FrontendMasters (opens new window)
- Standard ECMA-262 (opens new window)
- Daily JS - Medium (opens new window)
- npm (opens new window)
- Redux - Doc (opens new window)
无数非英语母语的大佬,除了母语以外都会英语:
- Redux 作者、React 团队核心成员:Dan Abramov - 俄国
- Cycle.js 作者、响应式编程专家:André Staltz - 巴西
- Linux 之父、Git 之父:Linus Torvalds - 芬兰
# 一定要使用英语?
平时更多地使用英语,本质上是提高自己的英语水平,
使自己能够在第一时间了解最新的资讯。
如果不熟悉英语,只能 看汉化版的资料,
如果还没有汉化版,只能 苦苦等别人汉化,或者看别人二次演绎的文章。
而汉化、心得这些二手资料的问题在于,可能和原文传达的信息有出入。
对于读者:不要妄图通过二手资料来学习,对于某个有争议的观点,我们应该去寻找最初的参考来源
—— 怎样理解 Eric Elliott 的文章《为什么说 TypeScript 不适合大型项目》?- justjavac (opens new window)
得不到第一手资料,永远落后于时代,
永远需要依靠别人,永远没有自己的核心竞争力。
从更高的视角来看,
提高自己的英语水平,本质上其实是扩大自己的资讯来源。
简单的道理:兼听则明,偏信则暗。
了解学习某个事物,势必需要从大量不同的站点、书籍、文章中获取信息。
根据英语在技术领域的使用程度之广泛,训练(更多使用)英语是必须的。
# 一定要只用英语?
但作为中文母语者,显然阅读中文还是更有效率的。
在有高质量汉化的情况下(如官方中文文档、视频字幕等),
也不必特地选择英文版。
因为对于开发工作来说,学习技术的最终目的是掌握技术,而不是掌握英语。
如果通过汉化版能够更高效地了解学习某个事物,那就是有意义的。
(毕竟汉化本身也算广义的造轮子)
# 别的自然语言
当然,我还见过使用日语、俄语、德语、法语等编写的资料,
这些作为第三、第四语言也是可以选择性学习的。
但以编程领域来说,优先训练自己的英语水平是更合适的。
# 学习英语
# 概览
- 耗时:长期(永久)
- 难点:初期陡峭的学习曲线,坚持
- 工具:
# 学习路线
两个简单的道理:
- 工欲善其事,必先利其器
- 用进废退、熟能生巧
我的做法不是先背一本《计算机英语》,
而是立即开始持续使用英语,
直到能够全面覆盖每天工作流程。
(艾宾浩斯遗忘曲线?不存在的,天天用,哪来的遗忘)
- 打造使用环境
- 把系统调成英文
- 准备好翻译器和插件
- 学习技术时
- 优先选择英文的教程
- 尽量看文档的英文版本
- 多看英文技术文章
- 写代码时
- 更有意义的英语变量命名
- 尝试写英语注释
- 用 Google 进行搜索(或 Bing、DuckDuckGo 等,反正不是百度)
- 用英语关键字搜索资料
- 创造更多使用场景
- 参与 GitHub 的开源项目
- 和老外沟通
- 给没有中文的技术文档提供翻译
- 做自己的开源项目,尝试用英语写文档
- 参与 GitHub 的开源项目
以上列表覆盖“听说读写”中的绝大部分部分(除“说”外),
创造了良好的使用环境,熟练使用英语的也就是自然而然的事情了。