0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

程序员为什么要学习英语 又如何学习

工程师人生 来源:工程师吴畏 2019-06-21 17:34 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

为什么要学习英语?

这个问题很多人问过,也有很多人回答过,此外如果你在阅读这篇文章那么你应该已经意识到了学习英语的重要性。所以我不打算花太多篇幅在它上面,这里简略的总结下学习英语的好处:

更多的高质量学习资源:首先,绝大多数高质量的计算机学习资源(书籍、论文、博文和视频等)都是英文;其次,高质量的中文计算机学习资源几乎为零;

无需忍受翻译带来的问题:

信息损耗:任何知识从一种语言翻译到另一种语言一定会有信息损耗,更何况是英文和中文这两种差别巨大的语言;

时效损耗:翻译需要时间,如果你读的是翻译版那么你已经至少落后了半年;

翻译损耗:国内的计算机书籍翻译水平参差不齐,你需要拼人品;

编写更好的代码:良好的英语水平是编写可读(Readable)代码的前提;

FQ:相对于其它专业,计算机专业出国工作要容易很多,但前提是你的英语要说的过去。

如何从零开始阅读专业英文书籍?

注意这里的零基础指的是专业英文书籍阅读零基础——而不是英语零基础,英语零基础就没啥好说的了 -_-#

刚开始阅读专业英文书籍时要记住一点:你的目标是提升计算机专业词汇量,而不是学习计算机专业知识。所以你要阅读的是计算机“通俗”读物或“科普”读物,我的计算机英文入门书籍是计算机文化(New Perspectives on Computer Concepts),这本书每年一版,现在已经出到第15版:

这本书的好处在于它极其浅显易懂,并且包含大量计算机专业领域名词,所以读者可以专注于提升计算机专业词汇量,而不是一边查单词一边学新技术——同时搞两件事是很困难的。

顺便提一下那篇老码农教你学英语和那个老码农推荐的书目,姑且不论他把Mythical Man-month拼写成Man Month Myth,我非常惊讶他居然称人月神话原版为白话书并且推荐初学者阅读,直到看到这里:

这句“另外两本也很不错,我很久以前看的翻译版,一直也想找原版的来看看,可惜总是没空,这次你们就算替我看了吧”着实让我很无语,没看过的书也可以随便推荐么 -_-# 难怪那么多人推荐计算机程序设计艺术呢。

我在读研时从头至尾阅读了Frederick Brooks的人月神话以及他的几篇论文(No Silver Bullets和the Computer Scientist as Toolsmith),所以对Brooks的文风有一定了解——Brooks绝对是一位多才多艺的计算机科学大师——他的文字不仅涉及到计算机,还涉及到管理、人文、艺术、建筑和神学等学科。读他的书和文章,我查单词直接查到手抽,推荐初学者读这种书,你是要玩死初学者么 -_-#

如何提升专业英语阅读能力?

阅读New Perspectives on Computer Concepts之后,你应该掌握了大量的计算机专业英文词汇,这时你可以尝试阅读一些语言浅显但主题相对深入的计算机科学基础书籍,个人力荐Brian Kernighan和Andrew S Tanenbaum的作品,他们的著作不但本本经典,而且语言朴实:

C程序设计语言(英文版)(第2版):不但是C语言的神作,而且为编程语言书籍的编写树立了新的标杆;

UNIX编程环境(英文版):覆盖了Unix的设计思想,简洁易懂的Unix入门手册;

The Practice of Programming:两位Unix大师(Rob Pike和Brian Kernighan)近三十年的编程经验尽在此书之中;

算法(英文版)(第4版):数据结构与算法入门;

现代操作系统(英文版第3版):全面的操作系统概论;

计算机网络(英文版 第5版):全面的计算机网络概论。

这些书读完之后,你应该可以做到脱离字典阅读绝大多数的计算机书籍——是的,可能还会有一些生词,但不会影响阅读。

除了读书,阅读专业博客也是非常好的提升专业英语水平的途径。个人推荐下面几个网站:

Hacker News:大量的技术资讯和博文;

Reddit:非常的聚合站点,我一般去下面几个频道(subreddit)

/programming:聚合了大量的优秀程序设计博文(其实不少国内技术站点就是搬运它的内容);

/java:大量的Java技术博文,质量不如/programming,但也还说的过去;

/shittyprogramming:悠闲时的去处,不少段子来自这里;

Medium:大量的高质量文章;

Quora:大量的高质量问答,有不少中国人在上面练习英语;

如何提升英语写作能力?

程序员学习英语不是为了写小说——而主要是如下场景:

编写设计文档(Design Document);

收发邮件,进行交流;

开发程序中的命名、注释等描述性内容。

1和2需要Nonfiction Writing——言简意赅,层次分明。这方面的写作书籍我推荐:

the Elements Of Style(这本书我应该推荐了无数次 -_-#

On Writing Well

此外少不了中式英语之鉴,中式英语说说还成,写到纸面上就丢大发了。

关于3的书籍很多,我个人推荐Code Complete中关于命名(Naming)的一章,章名好像是Power of Variable Names;以及Effective Java的Item44——如何编写代码注释及文档。

如何提升听力?

阅读量达到一定程度听力也不会差,个人推荐Channel 9、Google Tech Talk和Coursera,多看多听,此外务必不要中文字幕。

杂项

这里包含一些简短的问题,如果你有疑问也可以留言,我会把答案添加到这里。

是否一定需要阅读原版?

除非你阅读原版书籍和中文书籍一样顺畅,或者翻译书籍信息损失量太大,否则不需要刻意阅读原版。

开发者需要多少单词量?

没有标准答案。作为开发者,大词汇量不是必需,但一定要把词用对——尤其是动词。

以方法/函数名中经常出现的get为例:我们需要知道何时应该使用get,以及何时使用fetch、build、retrieve、compute、calculate和receive这些get的同类词汇。

有没有好用的词典?

目前我还没有发现一个好用的词典应用,所以依然在使用6年前的CASIO V2800H电子辞典。(略土 -_-#

以上。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 程序员
    +关注

    关注

    4

    文章

    956

    浏览量

    30999
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    强化学习会让自动驾驶模型学习更快吗?

    [首发于智驾最前沿微信公众号]在谈及自动驾驶大模型训练时,有的技术方案会采用模仿学习,而有些会采用强化学习。同样作为大模型的训练方式,强化学习有何不同?又有什么特点呢? 什么是强化学习
    的头像 发表于 01-31 09:34 819次阅读
    强化<b class='flag-5'>学习</b>会让自动驾驶模型<b class='flag-5'>学习</b>更快吗?

    学习单片机快速方法

    那么多钱去养那些优化代码的程序员还不如买一套新的硬件。我现在也是用C语言编程的。 汇编几乎不用。知道怎么使用开发软件之后,你就可以按照学习板的教程进行编程练习。练习分模块进行,比如流水灯模块,你
    发表于 01-14 07:42

    大理的AI野心藏不住了——风花雪月中千名程序员探讨人工智能

    2025 年12月4日至6日第二届CCF程序员大会暨大理人工智能与应用国际开发者大会在大理圆满落幕。
    的头像 发表于 12-24 17:45 878次阅读
    大理的AI野心藏不住了——风花雪月中千名<b class='flag-5'>程序员</b>探讨人工智能

    程序员最常见谎言

    了。 28我已经测试过了,这个功能没问题,可以上线了。 29别担心,这个问题很快就能解决。 30代码快写完了,已经完成 90% 了 。 希望大家对程序员多一些容忍以及谅解! 各位程序员你们都被我说中了哪些?说说你们的观点
    发表于 12-10 08:24

    奔赴热AI,码力全开!Talkweb House@1024程序员日系列活动圆满收官

    1024程序员日”系列活动至此划上了一个圆满句号。本届1024程序员节以“AI构建世界,智能引领未来”为主题,广邀技术大咖、产业领袖、企业代表与全球开发者齐聚星城
    的头像 发表于 10-27 18:59 940次阅读
    奔赴热AI,码力全开!Talkweb House@1024<b class='flag-5'>程序员</b>日系列活动圆满收官

    开鸿智谷“以赛促学、以赛选才”|1024程序员节暨开源鸿蒙构建大会圆满落幕!

    10月24日,由开鸿智谷联合主办的长沙1024程序员节暨开源鸿蒙构建大会在长沙圆满落幕。本次活动以“湘聚长沙,共赴热AI”为主题,通过技术分享与实战竞赛相结合的方式,着力培养“开源鸿蒙+AI”领域
    的头像 发表于 10-27 17:58 832次阅读
    开鸿智谷“以赛促学、以赛选才”|1024<b class='flag-5'>程序员</b>节暨开源鸿蒙构建大会圆满落幕!

    如何在机器视觉中部署深度学习神经网络

    人士而言往往难以理解,人们也常常误以为需要扎实的编程技能才能真正掌握并合理使用这项技术。事实上,这种印象忽视了该技术为机器视觉(乃至生产自动化)带来的潜力,因为深度学习并非只属于计算机科学家或程序员。 从头开始:什么
    的头像 发表于 09-10 17:38 1042次阅读
    如何在机器视觉中部署深度<b class='flag-5'>学习</b>神经网络

    科普|通信射频接头学习

    科普|通信射频接头学习
    的头像 发表于 08-19 17:09 1038次阅读
    科普|通信射频接头<b class='flag-5'>学习</b>

    ARM入门学习方法分享

    的关键。一旦你掌握了ARM的基本概念和汇编语言,你可以开始进行一些简单的ARM项目。你可以尝试编写一些简单的程序,如LED闪烁、按键输入等,以加强你的实践能力。 五、学习硬件知识:深入理解ARM架构
    发表于 07-23 10:21

    DeepSeeK学习资料

    104页DeepSeeK学习资料(清华)
    发表于 06-08 09:57 3次下载

    跟老齐学Python:从入门到精通

    础的学习者介绍一门时下比较流行、并且用途比较广泛的编程语言,所以,本书读起来不晦涩,并且在其中穿插了很多貌似与Python 编程无关,但与学习者未来程序员职业生涯有关的内容。 获取完整文档资料可下载附件哦!!!! 如果内容
    发表于 06-03 16:10

    使用MATLAB进行无监督学习

    无监督学习是一种根据未标注数据进行推断的机器学习方法。无监督学习旨在识别数据中隐藏的模式和关系,无需任何监督或关于结果的先验知识。
    的头像 发表于 05-16 14:48 1586次阅读
    使用MATLAB进行无监督<b class='flag-5'>学习</b>

    程序设计与数据结构

    的地址)出发,采用推导的方式,深入浅出的分析了广大C程序员学习和开发中遇到的难点。 2. 从方法论的高度对C语言在数据结构和算法方面的应用进行了深入讲解和阐述。 3. 讲解了绝大多数C程序员开发
    发表于 05-13 16:45

    【「零基础开发AI Agent」阅读体验】+ 入门篇学习

    10.AI Agent开发模式走向了零代码可视化模式(需要我们程序员对此有着观念上的转变),但是掌握编程技术,有助于AI Agent的开发进阶
    发表于 05-02 09:26

    正点原子 AI BOX0 智能伴侣,1.54寸高清屏+长效续航,语音畅聊,情景对话,知识科普,多色可选,随身携带!

    高级,多色可选! ② 配件齐全:主机+定制拉链包,随身携带超方便! 用户故事:小智如何改变生活? ① “加班回家对着小智吐槽,它居然会安慰我…突然觉得没那么孤独了。”—程序员@Leo ② “孩子跟着它学
    发表于 04-24 16:11