程序员编程语言鄙视链自学编程的5种方法,哪些基本工具必须掌握

程序员入门:如何自学编程
你也许曾经想过要学习如何开发软件—或只是想临时的写出一个脚本—但不知道如何入手。 幸运的是,现在的互联网上到处都有丰富的学习资源让你能在短时间里成为一个程序员。
因为互联网的出现,使程序员们可以通过它讨论技术,发布学习指导,以及共享代码实例让其他人可以在线学习。 如果你感兴趣如何才能成为一个程序员,从网上这些大量的优秀的培训资料、学习向导入手将会是个不错的开始。
首要之首:不要急于选择一种语言
新手们有一个常见的错误就是犹豫于判断哪种编程语言是做好的、最该先学的。 我们有很多的选择,但你不能说那种语言“最好”。 我们应该理解:说到底,什么语言并不重要。 重要的是理解数据结构、控制逻辑和设计模式。 任何一种语言—甚至一种简单的脚本语言—都会具有所有编程语言都共有的各种特征,也就是说各种语言是贯通的。 我正在攻读我的计算机学学位,我编程使用Pascal,汇编,和C语言,事实上我从来没有把它当成职业以求获得回报。 我一直在自学编程,工作上用不到它,我使用现有的知识,参考各种文档和书本,学习它们的用法。
因此,不要急于选择何种编程语言。 找出你想要开发的东西,使用一种能够完成这项任务的语言,这就可以了。
根据各种开发平台的不同,有很多不同的软件开发形式可供你选择:从网站应用到桌面软件到智能手机软件到命令行脚本工具。 这篇文章里,我将重点介绍一些很受欢迎的入门教程和资源,它们能帮助你学会如何在各种主流的平台上编程开发。 我先假设你是一个悟性很强的读者,但对于新手,当我谈论程序代码时还是要按照入门级的水平。 因为即使是你自己看一篇编程入门手册,如果发现都能理解时,心情自然会很高兴,这样利于你进一步学习。
想要动手在Windows里或苹果系统里编程,最简单的方法是从一种脚本语言或宏语言开始,例如AutoHotkey(Windows) 或Automator(苹果系统)。 如今一些硬件程序员冲着他们的屏幕大喊大叫,说AHK和AppleScript并不是“真正”的编程语言。 也许他们说的是对的—技术上,这些种类的语言只能做一些上层的编程。 但是对于那些只是想来脱盲、想在他们的电脑里实现一些能自动运行的程序的新手来说,这些语言会是一个绝妙的入门入口—而且你会吃惊于它们丰富的功能。
例如,大家都喜爱的Texter就是Adam使用AutoHotkey开发的能独立运行的Windows应用程序,所以说这种脚本语言远不是只能开发小规模脚本软件。 如果你想从AutoHotkey入手,可以参考Adam的指导:(然后,你可以下载看看这个功能齐全的使用AHK开发的Windows应用程序的内部结构)。
除了把自己约束在特定的编程语言和特定的操作系统上,你还可以在浏览器里开发你的杀手锏程序,让它在互联网上运行,这就是webapp。 欢迎来到奇妙的web编程世界。
HTML 和 CSS:开发网站,你第一件要知道的事情就是HTML(网页就是由它组成的)和CSS(一种让外观更好看的样式标记)。 HTML 和 CSS 并不是编程语言—它们只是页面的结构和样式信息。 然而,在开始开发web应用程序之前你必须要学会如何手工的编写简单的HTML和CSS,web页面是任何webapp的前端显示部分。 这个是你入手的好地方。
JavaScript:当你可以通过HTML和CSS构建一个静态页面后,事情就开始变得有趣了—因为到了该学JavaScript的时候了。 JavaScript是一种web浏览器上的编程语言,它的魔力就是能在页面里制造一些动态效果。 JavaScript可以做bookmarklets,Greasemonkey脚本, 和Ajax, 所以它是web上各种好东西的关于因素。。
服务器端脚本:一旦你学会了网页里的知识,你就要开始对它添加一些动态服务器操作—为了实现这些,你需要把目光转移到服务器端脚本语言,例如PHP, Python, Perl, 或 Ruby。 举个例子,如果想要制作一个网页形式的联系方式表单,根据用户的输入发送邮件,你就需要使用服务器端脚本来实现。 像PHP这样的脚本语言可以让你跟web服务器上的数据库进行沟通,所以如果你想搭建一个用户可以登录注册的网站,这样的语言正是你需要的。Webmonkey是一个优秀的web开发资源网站,里面有大量的各种web编程语言的指导手册。
阅读一下他们的。 当你感觉差不多了的时候,看看学习如何使用PHP跟数据库交互。 网上最好的要数PHP语言官方的在线文档和函数参考了。 每个知识点上 (例如这个)都在后面列出来用户的评论注释,这些对于文档的本身是非常有价值的。 (我很喜欢PHP,但还有很多其他种服务器端的脚本语言你们都可以选择。)
Web框架:过去数年里,web开发人员在开发动态网站的过程中不得不一遍又一遍的针对重复遇到的问题写出重复的代码。 为了避免这种每次开发一些新网站都会重复劳动一次的问题,一些程序员动手搭建了一些框架,让框架替我们完成重复性的工作。 非常流行的Ruby on Rails框架,作为一个例子,它利用Ruby编程语言,为我们提供了一个专门面向web的架构,普通的web应用程序都能使用它来完成。 事实上,Adam使用Rails开发了他的第一个正式的(而且是叹为观止的!)web应用程序,MixTape.me。这就是。还有一些其他的web开发框架包括CakePHP(针对
PHP 编程者),Django(针对 Python 编程中), 以及jQuery(针对 JavaScript).
Web APIs:API (应用层序编程接口)是指不同的软件之间相互交换的程序途径。 例如,如果你想在你的网站上放一个动态的地图,你可以使用Google Map,而不需要开发自己的地图。The Google Maps API可以轻松的让你通过JavaScript在程序中引入一个地图到你的页面上。 几乎所有的现代的你所知道的和喜爱的web服务都提供了API,通过这些API你可以获取到他们的数据和小工具,在你的应用程序里就可以使用这些交互过来的东西了,例如Twitter,
Facebook, Google Docs, Google Maps, 这个列表远不止这些。 通过API把其他web应用集成到你的web应用里是现在富web开发的前沿地带。 每个优秀的主流的web服务API都附带有完整的文档和一些快速入手的指导(例如,这个就是Twitter的)。 疯狂吧。
命令行脚本
如果你想开发一个程序,让它读取文字或文件、输入输出一些有用的东西,那么,命令行脚本语言将是个不错的选择。 然而它并不像web应用程序和桌面应用程序那样有吸引力和好看的外观,但是作为快速开发的脚本语言,你却不能忽视它们。
很多的在linux平台上运行的web脚本同样能以命令行模式运行,例如Perl,Python和PHP,所以如果你学会了使用它们,你将能在两种环境中使用它们。 我的学习道路一直没离开Perl太远,我自学Python使用的是这本优秀的在线免费书Dive
into Python。
如果成为一个Unix高手也是你学习的目标,那么你绝对要精通bash这个脚本语言。 Bash是Unix和Linux环境下的一种命令行脚本语言,它能够为你做所以的事情:从自动备份数据库脚本到功能齐全的用户交互程序。 起初我没有任何使用bash脚本的经验,但最终我用bash开发了一个全功能的个人代办任务管理器:。
插件(Add-ons)
如今的web应用程序和浏览器都可以通过一些扩展软件来丰富自己的功能。 由于一些现有的软件,例如Firefox、WordPress越来越受到开发人员的关注,插件的开发也日益流行,人们都在说“But if only it could do THIS…”
只要你掌握了HTML,JavaScript和CSS,你就可以在任何的浏览器里开发你想要的很多东西。 Bookmarklets,Greasemonkeyuser scripts, 和Stylishuser styles这些软件都是用的更普通页面一样的语言写成的, 这几个东西都值得你去研究一些。
更高级的浏览器扩展程序,例如Firefox的扩展,它们可以帮助你很多。 开发Firefox的扩展,举个例子,需要你精通JavaScript和XML(一种标记语言,类似HTML,但具有更严格的格式)。 早在2007年我就写下来, 这是我在笨手笨脚的研究网上的一些学习资料后获得的成果。
很多免费的、受欢迎的web应用程序都提供了扩展框架,例如WordPress 和 MediaWiki。 这些应用程序都是用PHP写成的,所以只有对PHP熟悉你才能做这些事情。 这个就是。
而想驾驭Google Wave前沿技术的开发人员可以从使用HTML, JavaScript, Java, 和 Python 写小组件和小工具开始。 我写的第一个Wave bot是跟着这个开始的。
开发桌面上的Web应用程序
学习编程最好的结果是你在一个环境下学的东西可以应用到另外的环境中。 先学习开发web应用程序的好处就是我们有一些方法可以让web应用程序直接在桌面上运行。 例如,Adobe AIR是一个跨平台的即时运行平台,它能让你编写的程序运行在任何装有AIR的操作系统的桌面上。 AIR应用程序都是由HTML, Flash, 或 Flex 写成的,所以它能让你的web程序在桌面环境中运行。 AIR是开发部署桌面应用程序的一个优秀的选择,就像我们提到过的。
移动应用开发
能在iPhone或者Android智能手机上运行的手机应用程序的开发如今正呈现井喷之势,所以你也可以梦想一下如何在iTunes应用商店里通过你的天才程序大赚一笔。 但是,作为一个编码新手,直接奔向移动开发所经历的学习曲线可能会很陡,因为它需要你熟悉高级的编程语言,例如Java和Objective C。 然而,你当然应该看看iPhone 和 Android 编程究竟是什么样子的。 阅读这个可以初步认识一下iPhone程序的开发过程。
Android 程序都是由Java写成的,这有一个(注:可能需要代理才能看这个视频)。
耐心,刻苦,尝试,失败
好的程序员都有一个不达目的誓不罢休的品质,他们会惊喜于通过长期推敲和失败换来的一点成绩。 学会编程会有很好的回报的,但是学习的过程可能会是饱受挫折和孤独的。 如果有可能,最好找个伴一起陪你做这件事。 想精通编程,这和其他事情一样,需要坚持,反复尝试,获得更多的经验。
这篇文章里的内容就是对那些想通过自我研究达到学会编程目的的新手们的一些重要建议。 编程老手们:我有什么遗漏吗? 不论你的水平如何,请留下你的想法。
没有更多推荐了,
不良信息举报
举报内容:
程序员入门:如何自学编程
举报原因:
原文地址:
原因补充:
最多只允许输入30个字
加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!比特客户端
您的位置:
详解大数据
详解大数据
详解大数据
详解大数据
程序员初学机器学习的四种方式
关键字:项目管理
  学习机器学习有很多方法,大多数人选择从理论开始。
  如果你是个程序员,那么你已经掌握了把问题拆分成相应组成部分及设计小项目原型的能力,这些能力能帮助你学习新的技术、类库和方法。这些对任何一个职业程序员来说都是重要的能力,现在它们也能用在初学机器学习上。
  要想有效地学习机器学习你必须学习相关理论,但是你可以利用你的兴趣及对知识的渴望,来激励你从实际例子学起,然后再步入对算法的数学理解。
  通过本文你可以学习到程序员初学机器学习的四种方式。这是给技术人员设计的实用方法,并以实验为依据,你需要做调研并且完成实验才能建立自己的感性知识。
  这四种方法分别是:
  学习一个机器学习工具
  学习一个机器学习数据集
  学习一个机器学习算法
  实现一个机器学习算法
  你应该通读一下这些方法的策略,然后选择你觉得最适合自己的一个,并且有选择性地执行。
  1. 学习一个机器学习工具
  选一个你喜欢的工具或者类库,然后学着用好它。
  我推荐你从一个自带数据预处理工具,机器学习算法并且能呈现结果的工作平台开始学习。学习这样一个工作平台能让你更熟悉机器学习从头到尾的整个过程,这比学习一个特定的数据处理技术或者一个机器学习算法更有价值。
  或者,也许你感兴趣的是一个特定技术或者一类技术。你可以利用这个机会更深入地学习一个提供这些方法的类库或工具,掌握了提供这些技术的类库能帮助你掌握相应的技术。
  一些你可以采取的策略有:
  比较一些可选的工具。
  总结你选定的那个工具的能力。
  阅读并总结这个工具的文档。
  完成学习这个工具的文字或视频教程,并且总结每个教程中你重点学到了什么。
  制作关于这个工具的功能或者特性的教程。选一些你不太了解的功能,然后写下得到结果的过程,或者把如何使用这个功能的过程录个五分钟的截屏视频。
  一些值得考虑的工作平台有:R, Weka, scikit-learn, waffles, 和 orange.
  2. 学习一个机器学习数据集
  选一个数据集,然后深入地理解它,发掘究竟哪类算法最适合处理它。
  我推荐你选择一个中等大小的,内存能放下的,可能被很多人研究过的数据集。现在有很多非常好的包含数据的类库,你可以浏览它们并且从中选择。你的目的是尝试理解这个数据集背后的问题,它的结构,和哪些种类的解决方法最适合这个问题。
  用一个机器学习或者统计的工作平台来研究这个数据集。这样你能专心解答关于这个数据集你要研究的问题,而不是分心去学习某个特定的技术或者如何写代码来实现它。
  一些可以帮助你学习实验性的机器学习数据集的策略有:
  清晰地描述这个数据集所呈现的问题。
  用描述性的统计数据来总结数据。
  描述你从数据中观察到的结构,并且提出对数据间关系的假设。
  简单地在这个数据集上测试一些常用的机器学习算法,然后发掘哪些类别的算法比其他的表现好
  调整表现好的算法的参数,然后发掘什么算法及算法参数设置在这个问题上表现得好
  你可以从这些包含高质量数据集的库中选择: UCI ML Repository,Kaggle 和 data.gov.
  3. 学习一个机器学习算法
  选择一个算法,深入理解它,发掘什么样的参数设置在不同数据集上都稳定。
  我推荐你从一个中等复杂度的算法开始学起。选一个已经被人充分理解了的,有许多可选的开源实现,并且需要你探索的参数数目较少的算法。你的目的是建立有关这个算法在不同问题和不同参数设定下表现如何的直觉。
  使用一个机器学习平台或者类库。这样能让你把这个算法当成一个“系统”,专心研究它的表现,而不是分心研究数学公式描述或者相关论文。
  一些学习你选定的机器学习算法时可采取的策略有:
  总结系统的参数,及它们对算法可能有什么影响
  选一系列适合这个算法,可能导致不同表现的数据库
  选择一些你认为能导致不同结果的算法的参数设置,然后列出你认为系统可能的表现
  考虑在迭代过程或不同时间段内能被监察到的算法表现
  用一个或多个数据集,算法设置和结果衡量方式来设计解决特定问题的小实验,并且汇报结果
  你可以学简单点,也可以学复杂点。想多学一点的话,你可以探索所谓的启发式规则或经验法则来使用算法,并且以实验为依据来展示它们好不好用,及如果好用的话在什么条件下他们与成功的结果有关联。
  一些你可以考虑学习的算法有:最小平方线性回归,逻辑回归,K最近邻分类算法,感知器算法。
  4. 实现一个机器学习算法
  选一个算法,然后选一个编程语言来实现它,或者把一个已有的实现移植到你选定的编程语言上。
  你应选择一个中等复杂度的算法来实现。我推荐你仔细研究你想要实现的算法,或选择一个你喜欢的已有实现然后把它移植到你选定的编程语言。
  从头开始实现一个算法,是学习那些关于把算法描述转换成一个可行的系统的过程中必须要做的无数的小决定的好方法。在不同算法上重复这个过程,很快你就能对读懂论文和书里面算法的数学描述有感觉了。
  五个能帮助你从头开始实现机器学习算法的策略有:
  从代码移植开始。把开源的算法实现从一种语言移植到另外一种语言能教会你算法是如何实现的,并且你能拥有并掌握它。这是开始学习的最快的途径,非常值得推荐。
  从一个算法描述开始,然后采集一些其他的描述来帮助你排除歧义并且理解主要的那个参考材料。
  多读该算法的不同实现。学习不同程序员是如何理解算法描述并且如何把它转换成代码的。
  不要陷入过炫的方法太深。许多机器学习算法的内核用的都是高级优化算法。不要尝试重新实现这些方法,除非这就是你做这个项目的本意。你应该用一个提供优化算法的类库,或者用一个更容易实现的或者类库里就有的简单点的优化算法(如梯度下降算法)。
  小型项目方法论
  以上四个策略属于我称为“小型项目”的方法论。你用这个方法可以很快建立在技术领域(比如机器学习)方面的实用技能。大意就是你设计并且亲手完成解决特定问题的小项目。
  小型项目在几个方面应该足够小,才能保证你能完成它们并且从中学习,然后好步入到下一个项目中去。下面是一些你应该考虑加在项目上的一些限制:
  时间短:一个项目从头到最后能有可展现的结果不应超过5-15小时。这样利用一周中不上班的晚上和周末时间你就能完成一个小项目。
  范围小:一个项目应该有意义,但同时应该是你感兴趣的问题的范围最小的版本。举个例子,与其解决广义的“写一个能告诉我是否会被转发的程序”,还不如去研究这个问题在一个特定的账号在一个特定的时间段内的表现。
  所需资源少:一个项目应该能用你的可联网的台式或者电脑完成。你不应该需要奇葩的软件,网络架构,或者第三方数据或者服务。你应需要的数据,读入内存,用开源工具来解决你那个小问题。
  额外有关项目的小贴士
  这些策略的原则是让你利用你的程序员技能开始行动。下面是三条帮助你调整思维模式,有助你开始行动的小贴士:
  写下你学到的东西。我推荐你每个步骤都产生一个有形的劳动成果。它可以是本子里的笔记,微博,博客文章或者是开源项目。每个劳动成果作为一个里程碑或锚。
  除非项目的目的是写代码,否则不要写。这条不是那么显而易见,但却是最能帮助你加快理解机器学习的速度的建议。
  目的是学到东西,而不是产生独一无二的资源。不要管是否有人读你关于一个算法的研究、教程或是笔记。这些都是你的观点,是你的劳动成果,他们证明你现在掌握到了知识。
  下面是这些策略的一句话清晰总结,可以帮助你选择适合自己的那个。
  学习一个机器学习工具:选择一个你喜欢的工具或类库,学习如何很好的使用它。。
  学习一个机器学习数据集:选择一个数据集,深入地离家它,发掘哪类算法处理它最有效。
  学习一个机器学习算法:选择一个算法,深入理解它,发掘什么样的参数设置在不同数据集上都稳定。
  实现一个机器学习算法:选择一个算法,用你选定的语言实现它或者是把已有的实现移植到你选定的语言上。
  选一个吧!
  指导手册
  如果你喜欢这篇自学策略文章,作者创建了一个32页的有关学习并实践应用机器学习的PDF指导手册。看这里:
  小项目方法论:学习并实践应用机器学习
  作者还创建了一个包含90个项目想法的清单,作为附加福利加在这个指导里面了。
[ 责任编辑:jj ]
去年,手机江湖里的竞争格局还是…
甲骨文的云战略已经完成第一阶段…
软件信息化周刊
比特软件信息化周刊提供以数据库、操作系统和管理软件为重点的全面软件信息化产业热点、应用方案推荐、实用技巧分享等。以最新的软件资讯,最新的软件技巧,最新的软件与服务业内动态来为IT用户找到软捷径。
商务办公周刊
比特商务周刊是一个及行业资讯、深度分析、企业导购等为一体的综合性周刊。其中,与中国计量科学研究院合力打造的比特实验室可以为商业用户提供最权威的采购指南。是企业用户不可缺少的智选周刊!
比特网络周刊向企业网管员以及网络技术和产品使用者提供关于网络产业动态、技术热点、组网、建网、网络管理、网络运维等最新技术和实用技巧,帮助网管答疑解惑,成为网管好帮手。
服务器周刊
比特服务器周刊作为比特网的重点频道之一,主要关注x86服务器,RISC架构服务器以及高性能计算机行业的产品及发展动态。通过最独到的编辑观点和业界动态分析,让您第一时间了解服务器行业的趋势。
比特存储周刊长期以来,为读者提供企业存储领域高质量的原创内容,及时、全面的资讯、技术、方案以及案例文章,力求成为业界领先的存储媒体。比特存储周刊始终致力于用户的企业信息化建设、存储业务、数据保护与容灾构建以及数据管理部署等方面服务。
比特安全周刊通过专业的信息安全内容建设,为企业级用户打造最具商业价值的信息沟通平台,并为安全厂商提供多层面、多维度的媒体宣传手段。与其他同类网站信息安全内容相比,比特安全周刊运作模式更加独立,对信息安全界的动态新闻更新更快。
新闻中心热点推荐
新闻中心以独特视角精选一周内最具影响力的行业重大事件或圈内精彩故事,为企业级用户打造重点突出,可读性强,商业价值高的信息共享平台;同时为互联网、IT业界及通信厂商提供一条精准快捷,渗透力强,覆盖面广的媒体传播途径。
云计算周刊
比特云计算周刊关注云计算产业热点技术应用与趋势发展,全方位报道云计算领域最新动态。为用户与企业架设起沟通交流平台。包括IaaS、PaaS、SaaS各种不同的服务类型以及相关的安全与管理内容介绍。
CIO俱乐部周刊
比特CIO俱乐部周刊以大量高端CIO沙龙或专题研讨会以及对明星CIO的深入采访为依托,汇聚中国500强CIO的集体智慧。旨为中国杰出的CIO提供一个良好的互融互通 、促进交流的平台,并持续提供丰富的资讯和服务,探讨信息化建设,推动中国信息化发展引领CIO未来职业发展。
IT专家新闻邮件长期以来,以定向、分众、整合的商业模式,为企业IT专业人士以及IT系统采购决策者提供高质量的原创内容,包括IT新闻、评论、专家答疑、技巧和白皮书。此外,IT专家网还为读者提供包括咨询、社区、论坛、线下会议、读者沙龙等多种服务。
X周刊是一份IT人的技术娱乐周刊,给用户实时传递I最新T资讯、IT段子、技术技巧、畅销书籍,同时用户还能参与我们推荐的互动游戏,给广大的IT技术人士忙碌工作之余带来轻松休闲一刻。
微信扫一扫
关注Chinabyte博客分类:
最近在学习英语,在本科的时候就通过了英语六级的考试,可是实话实说,那只是一次应试的过程,现在的英语仍然是张不开嘴,而且随着时间的流逝那些原本的词汇也忘得差不多了,在网上看到了一篇介绍程序员英语的文章,虽然有广告的嫌疑,但是文章对于英语学习的分析还是很到位的,摘过来与大家共勉,希望能够把英语变成一个顺手的工具,而不是障碍。
&&& “干程序员是一项很辛苦的工作,要成为一个高水平的程序员尤为艰难。这是因为计算机软件技术更新的速度越来越快,而这些技术大多来源于英语国家,我们在引进这些技术时往往受到语言障碍的制约,严重影响到对新技术的理解和消化。首先编程本身就依赖于英语,虽然现在技术的发展,可以使得某些开发工具在变量名和字段名中支持中文,但还未发现能够完全使用中文的编程语句。其次,软件开发中的技术文档和资料大都是来自英文,即使有翻译好的,不是晦涩难懂,就是译法混乱,比如:roll back就有"回滚"、"回退"、"返回"、"重算"等多种译法,又如我们遇到翻译后的术语"域",往往不清楚译者是根据"field"、"region"还是"domain"所译(如果阅读原文则不存在这些问题)。还有更重要的一点,这就是等待译文会严重影响我们掌握新技术的时间。通常,一本外版计算机图书从获得版权到翻译出版要一年的时间。就算原作者消化新技术和写作的时间最短为一年,那么加起来这已经超过通常软件版本的更新周期(软件版本的更新周期一般是1年至2年),这意味着当你通过阅读翻译资料掌握这一版本的软件时,可能该版本已经淘汰至少是面临淘汰。
  当然,这并不是说国内没有好的译者和译文,也不是说不能通过阅读译文来进行学习。而是说通过别人翻译的间接阅读风险较大,如果能掌握计算机英语,利用第一手原文资料进行学习,除了效率之外,被误导的风险较小。比如:国内引进的一部外版好书《Java编程思想》(原书名《Think in Java》),其翻译水平较差,就严重影响了阅读和学习,不少读者深有体会。如果读着有着过硬的计算机英语水平就可以按照书上提供的作者网址下载原文阅读,不但可以获得原汁原味的感受,还可以免费下载该书最新的第二版。
  因此,我们可以得出这样的结论,干程序员这行实在是离不开英语。实际上,可以毫不夸张地说英语是IT的行业语言。由于英语的优势,印度、爱尔兰等国的软件业在国际上比我们更有竞争力,这并不是说我们的程序员在编程和开发能力上不如别人,而是在使用计算机英语水平上差距太大。不久前在南京举办的一次高规格的软件开发交流会上,就遇到过印度专家讲课,英文翻译译不下去的情景,因为太多的IT专用术语和缩略语以及很强的专业知识使得没有计算机背景的英语专业翻译无能为力,而在场的开发人员因为语言障碍又无法和印度专家直接沟通,错过了一次极好的交流学习机会。现在,已经有越来越多的程序员意识到计算机英语的重要性了,这种压力一方面来自进一步向高级程序员或资深IT开发人员发展的需要,一方面来自于后起之秀不断竞争的威胁。对于前者,没有较好的计算机英语,能难进一步发展,晋升到更高的技术职位;对于后者,不少大学已经开始使用原版教科书进行专业授课,毕业生的计算机英语水平实在是后生可畏,挑战是不言而喻的。
  那么,一个程序员应该怎样去学习和掌握计算机英语呢?是立即开始背英汉计算机字典还是先考完6级再考 "托"考"G"?其实,在下定决心之后最关键的是要搞清6个W,即:为什么学(why)、学什么(what)、怎样学(how)、何时学(when)、何处学(where)、跟谁学(who)。下面我们就谈一谈这6个W.
  首先是为什么要学计算机英语。几乎所有的程序员都知道学习计算机英语的重要性,但并不是所有人都具有学习的主动性。这个问题的提出就是要让我们从自身的需求出发,掌握学习的主动性。一旦你有强烈的学习动机,任何学习上的困难都不会认你屈服,而你的每一点进步都将给你带来无比自豪的感觉。
  学什么,是死背单词?还是猛抠语法?其实都不是。计算机英语的学习是一项系统工程,需要找到一个适合自己的学习目标,并从词汇、语法、阅读、写作多方面去融汇贯通。用程序员的术语讲, "学什么"的问题本质上是一个"确定系统边界"的问题。应为学习计算机英语是一个很宽泛的概念,若不根据个人的具体情况进行定义,恐怕难以有一个可以管理学习目标。无目标的或边界不清的项目往往是失败的项目,在学计算机英语的问题上也是一样。因此,我们先要根据自己的实际英语水平和工作需要界定计算机英语学习的系统边界。关于实际英语水平,我们可以简单地以大学非英语专业的英语教育作为参考,以通过大学英语四级考试(CET4)作为基线,即如果你通过了CET4,则表明你的英语水平为中高级,词汇量接近5千,不存在基本的语法问题,有一定的读写能力;如果你没有通过CET4,则表明你的英语水平为初中级,词汇量不足4千,可能存在一些语法问题,读写能力较弱。关于工作需要,我们可以将计算机英语学习对象划分成计算机研发人员、泛IT人员。其中计算机研发人员是指从事计算机研究和开发的专业人员,他们又划分为软件研发和硬件研发,显然程序员是属于前者。计算机研发人员要掌握的计算机英语最专业,要求最高,但软件硬件各有侧重。泛IT人员是指在IT行业从业的或与IT行业有密切联系的那些非研发人员,包括操作使用人员、技术管理人员、支持服务人员等等。不难看出,泛IT人员对计算机英语的要求不是太高,也不太专业,一般能够使用英文界面的软件,能够阅读原版的操作手册和说明书即可。针对以上的划分,我在下表中大致给出了计算机英语的学习目标:
计算机英语的学习目标
  初中级 中高级泛IT行业人员 掌握计算机英语的基本术语;了解计算机英语中常用的语法和惯用法;能借助字典阅读英文界面和在线帮助以及简单的操作手册,阅读熟读在70-90词/分钟。 掌握计算机英语的常用术语和缩略语; 掌握计算机英语中语法和惯用法的表达方式和功能;能借助字典阅读英文文档和技术资料,阅读熟读在100词/分钟以上;能使用英文编写简单的文档。
  计算机研发人员 掌握计算机英语的常用术语和缩略语;熟悉计算机英语中的语法和惯用法;能阅读英文界面和在线帮助以及简单的操作手册,阅读熟读在80-100词/分钟。 掌握大量的计算机英语术语和缩略语;熟练掌握计算机英语中语法和惯用法的表达方式和功能;能阅读英文文档和技术资料,阅读熟读在100词/分钟以上;能借助字典翻译专业技术图书;能使用英文编写简单的技术文档和程序注释。
  知己知彼,百战不殆。在了解了学习计算机英语的一般要求之后,接下来就需要对自己的具体情况进行具体分析,制定一个学习计划或简单地定一个学习方向。作为程序员学习计算机英语的根本目的是为了提高自己在英语环境中掌握计算机技术的能力,所以学习的内容应该是围绕本专业的领域展开。对于没有上过计算机专业英语课程的程序员来说,学习的重点应该是掌握专业词汇和术语,了解计算机英语的一些规范译法和习惯用法。对于有一定计算机英语基础的程序员则应该把重点放在提高阅读速度和阅读质量上,并逐渐习惯使用英语注释程序撰写文档。
  在明确学习目的和学习方向之后,还必须有一个好的学习方法, "怎样学"就是一个学习方法问题。这其中还包含了何时学、何处学、跟谁学等一系列问题。在这里我建议把短期的系统学习和长期的日常学习结合起来,这样做的效果最好,也最科学。所谓短期的系统学习是指集中一段时间系统地学习计算机英语,这对于没有参加过大学计算机英语课程学习程序员尤为重要。而日常的学习则是指在日常工作用有意识地多接触和多使用计算机英语,边用边学,持续不断地积累提高。下面我就从这两个方面来具体谈一谈。
要系统地学习计算机英语,最好是参加专门的计算机英语课程培训班。培训班的选择非常重要,好的老师、成功的办学经验和系统的课程设置都是选择的重要依据。然而大多数程序员工作繁忙,可能采取的方式多是自学了。如果不能选择一位好老师,那就只能选择一本好教材了。一本好的计算机英语教材对系统地学习计算机英语帮助极大。目前市面上的计算机英语教材多达30种,在选择教材时不少程序员往往无从下手,大家不妨从以下几方面进行考虑:
  教材的难易程度--对于不同学历层次有不同的教材,选择教材是一定要看清该教材的培训对象是中专、大专、本科还是研究生。选择难易程度适合自己的教材,太简单则不利于提高、太难则容易使学习受挫。
  教材的专业侧重--有的计算机英语教材偏重于硬件,有的偏重于软件,还有的教材是信息电子类的计算机英语,侧重于通信电子方面,比如:汇编语言、单片机等。另外有的教材侧重于理论,如:数据结构、离散数学;而有的则侧重于应用,如:软件工程、数据库开发。所以程序员在选择计算机英语教材时,应仔细察看书中的内容,以免偏离软件开发的实际工作需要。
  教材的体系结构--目前计算机英语教材主要分为按语法体系组织和按计算机体系组织的两种结构。如果你是初中级的英语水平建议使用前者,如果你是中高级的英语水平建议使用后者。
  教材的易用性--教材的易用性是指教材的编排是否符合人们的学习习惯。虽然计算机英语是专业课程教材,但如果编排活泼、图文并茂、注解查阅方便肯定能调动学习的兴趣,降低阅读的难度。这方面国内的教材应该多向国外的教材学习。
  然而国内许多大学的计算机英语课程作为专业英语教学起步较晚,而早期出版的计算机英语教材大多出自于任课老师收集的计算机英文资料,教材规划不够系统,编排也比较简单。这些教材虽然使用的学校较多,为早期的计算机英语教学做出过不可磨灭的贡献,但致命的弱点是内容陈旧、与时代脱节。最典型的代表是清华大学出版社的《计算机英语》,该书最新版本是1997年更新的,里面还充斥着Dos这样的陈旧内容。有些老师苦于没有新颖实用的计算机英语教材,于是一本国外的计算机入门读物《Computing Essentials》(McGraw-Hill出版公司)被许多大学选用为计算机英语教材,效果极佳。这本书现在已经由高等教育出版社影印发行,书名是《计算机专业英语》。该书的特点是:时效性强(版本更新快),新颖实用,编排活泼。但对于中高级英语水平的专业开发人员未免有点太浅。
  我们在分析和研究了市面上大量计算机英语教材的基础上,又结合计算机英语教学和学习经验,编写了一本非常适合于软件开发人员的《计算机英语》,该书已经由机械工业出版社出版,是该社 "重点大学计算机教材"系列中的一本。需要说明的是该书最适合的读者对象为英语达到CET4的程序员,因为该书的选材直接来自国外计算机教材和出版物、技术文档和专业论文、IT精英的言论以及计算机方面的大百科全书,这样的选材在保持原汁原味的同时使学习者更能接触到计算机英语的真实语境和主流思想,虽然有一定的难度,但非常实用和专业。同时为便于学习,我们为超出CET4的词汇和一些专业术语都进行了注释,而且注释就在课文旁边,免去了翻查生词表的麻烦。这本书适合于程序员的另一条重要原因是全书侧重于软件和应用,没有枯燥繁琐的理论。计算机英语是用来学习专业英语的,而不是用来学习计算机理论的。我们没有像其他的计算机英语教材那样,充斥了大量难懂的计算机理论文章,而这些理论本身就非常难学。这本教材与其它计算机英语教材不同的地方还在于它更关注计算机素养、计算机应用以及IT对社会和生活的深刻影响。在这里我们可以聆听到IT精英比尔。盖茨和IBM公司CEO郭士纳的精彩演讲,也能拜读到英特尔公司前总裁葛洛夫的惊世之作《只有偏执狂才能生存》的序言。
  系统学习计算机英语,这里的系统性包括了计算机体系的系统性和英语语言的系统性,我们在学习时必须时刻牢记。除了借助计算机英语教材系统地了解计算机硬件软件、操作系统、软件工程、编程语言、网络通信、信息安全、应用系统等诸方面的英语表达和专业词汇外,还要对英语语言本身从听、说、读、写四个方面下功夫,以免出现偏废。有些程序员就是因为在听和说方面偏废,以至于影响到出国发展。如何加强听和说的训练,这是关于英语学习的话题,我自己的一个经验是多看原版电影(VCD/DVD)以提高听力(当然不能看字幕),多参加英语聊天(英语角)以提高口语。
  计算机英语的学习不同于考 "托"考"G",无法靠短期的突击来完成。长期的日常学习尤为重要。所谓的日常学习并不需要你抛开工作,安排专门的时间,而是边用边学。比如,你为了解决编程上的一个问题,查阅英文的帮助或技术资料。然而,不少程序员不太喜欢看英文,他们喜欢使用中文版的软件,喜欢汉化的帮助,喜欢读翻译好的书。这实际上就错过了许多日常学习计算机英语的机会。不可否认,读中文肯定比读英文方便,节省时间,但从长期的发展来看,弊大于利。这种对翻译的依赖使许多程序员失去了获取一手资料的宝贵机会。
  其实,既然你已经通过对计算机英语的系统学习掌握了一定数量的专业词汇,就完全可以借助字典去使用那些原文资料和在线帮助,加上有金山词霸这样的工具,阅读原文并不很困难,关键是一个习惯问题。我有一个朋友,在自己的电脑里从不装任何中文版或汉化软件,连上网聊天也坚持用英文。几年下来英语突飞猛进,效果甚佳,有志者不妨一试。
  在日常工作中大量阅读英文书籍和资料是提高计算机英语水平的最佳途径。目前市场上大量的计算机原版影印图书为我们提供了绝好的机会。阅读英文计算机图书一开始是 "啃"的感觉,比较费时费力,对于不太好读的地方,不妨拿起笔来逐行逐字翻译出来,这样对提高英语水平很有帮助。对于有经验的程序员可以利用自己的专业背景知识和上下文(Context)进行大胆推测,这样有利于提高阅读速度。即使是不求甚解,也不要紧,你可以通过多读同类书来弥补。原版计算机书读多了,你会发现一些很有规律的东西和一些常用的词汇,这些来自实践的经验非常宝贵,并让你终生受益。一般在完整阅读2-3本原版书以后,你就能发现读原版书的乐趣。值得一提的是读原版书的真正乐趣并非只是在于提高英语水平,而更是在于获得一种和西方人一致的思维方式,这种思维方式对学习计算机技术极为有益,因为计算机技术甚至现代科学体系都是建立在这种思维方式的基础之上的。坚持阅读英文计算机图书可以达到"品"的感觉,这种感觉是指在阅读时无需将英文转换为中文,而是直接用英文和作者在同一个水平线上进行思考和交流。至此,我们获得的不仅是英语水平的突破,更是计算机水平的突破。这也是许多计算机高手成功的秘密。
  如果你有一定的英语基础,并希望突破计算机英语的障碍并成为高手,从现在起就养成一个学用计算机英语的良好习惯吧。
1、 给自己起一个英文名字。并用作网名和登录名。
2、 选一本适合自己的计算机英语教材。
3、 保证一年至少读1-2本原版影印的计算机书,并坚持读完。
4、 上网尽量多访问英文的技术论坛和网站,不使用汉化的帮助。
5、 在程序中使用英文注释,坚决不用中文或汉语拼音作变量名、字段名、文件和文件夹名。
6、 每月至少看1-2部原版电影(VCD/DVD),尽量不看字幕,提高语感和听力。
7、 不看中英文对照读物,但可以看注释读物;多使用英英字典,少使用英汉字典。
8、 每天坚持记录和复习遇到的生词,对于缩略语,一定搞清每个字母的英文含义。

引文地址:
另附常用词汇对照表:
Data Structures 基本数据结构
Dictionaries 字典
Priority Queues 堆
Graph Data Structures 图
Set Data Structures 集合
Kd-Trees 线段树
Numerical Problems 数值问题
Solving Linear Equations 线性方程组
Bandwidth Reduction 带宽压缩
Matrix Multiplication 矩阵乘法
Determinants and Permanents 行列式
Constrained and Unconstrained Optimization 最值问题
Linear Programming 线性规划
Random Number Generation 随机数生成
Factoring and Primality Testing 因子分解/质数判定
Arbitrary Precision Arithmetic 高精度计算
Knapsack Problem 背包问题
Discrete Fourier Transform 离散Fourier变换
Combinatorial Problems 组合问题
Sorting 排序
Searching 查找
Median and Selection 中位数
Generating Permutations 排列生成
Generating Subsets 子集生成
Generating Partitions 划分生成
Generating Graphs 图的生成
Calendrical Calculations 日期
Job Scheduling 工程安排
Satisfiability 可满足性
Graph Problems -- polynomial 图论-多项式算法
Connected Components 连通分支
Topological Sorting 拓扑排序
Minimum Spanning Tree 最小生成树
Shortest Path 最短路径
Transitive Closure and Reduction 传递闭包
Matching 匹配
Eulerian Cycle / Chinese Postman Euler回路/中国邮路
Edge and Vertex Connectivity 割边/割点
Network Flow 网络流
Drawing Graphs Nicely 图的描绘
Drawing Trees 树的描绘
Planarity Detection and Embedding 平面性检测和嵌入
Graph Problems -- hard 图论-NP问题
Clique 最大团
Independent Set 独立集
Vertex Cover 点覆盖
Traveling Salesman Problem 旅行商问题
Hamiltonian Cycle Hamilton回路
Graph Partition 图的划分
Vertex Coloring 点染色
Edge Coloring 边染色
Graph Isomorphism 同构
Steiner Tree Steiner树
Feedback Edge/Vertex Set 最大无环子图
Computational Geometry 计算几何
Convex Hull 凸包
Triangulation 三角剖分
Voronoi Diagrams Voronoi图
Nearest Neighbor Search 最近点对查询
Range Search 范围查询
Point Location 位置查询
Intersection Detection 碰撞测试
Bin Packing 装箱问题
Medial-Axis Transformation 中轴变换
Polygon Partitioning 多边形分割
Simplifying Polygons 多边形化简
Shape Similarity 相似多边形
Motion Planning 运动规划
Maintaining Line Arrangements 平面分割
Minkowski Sum Minkowski和
Set and String Problems 集合与串的问题
Set Cover 集合覆盖
Set Packing 集合配置
String Matching 模式匹配
Approximate String Matching 模糊匹配
Text Compression 压缩
Cryptography 密码
Finite State Machine Minimization 有穷自动机简化
Longest Common Substring 最长公共子串
Shortest Common Superstring 最短公共父串
DP——Dynamic Programming——动态规划
recursion —— 递归
编程词汇
A2A integration& A2A整合&&&&&&&
abstract&& 抽象的&&&&&&&&
abstract base class (ABC)抽象基类
abstract class 抽象类
abstraction 抽象、抽象物、抽象性
access 存取、访问
access level访问级别
access function& 访问函数
account& 账户
action&& 动作
activate 激活
active&& 活动的
actual parameter& 实参
adapter 适配器
add-in& 插件
address 地址
address space&&&& 地址空间
address-of operator 取地址操作符
ADL (argument-dependent lookup)
ADO(ActiveX Data Object)ActiveX数据对象
advanced&&& 高级的
aggregation 聚合、聚集
algorithm 算法
alias 别名
align 排列、对齐
allocate 分配、配置
allocator分配器、配置器
angle bracket 尖括号
annotation&& 注解、评注
API (Application Programming Interface) 应用(程序)编程接口
app domain (application domain)应用域
application& 应用、应用程序
application framework 应用程序框架
appearance 外观
append&&&& 附加
architecture 架构、体系结构
archive file 归档文件、存档文件
argument引数(传给函式的值)。参见parameter&&&&&&&&&&
array&& 数组
arrow operator& 箭头操作符
ASP(Active Server Page)活动服务器页面
ASP.NET worker process ASP.NET工作者进程
assembly&&&& 装配件、配件
assembly language&& 汇编语言
assembly manifest&& 装配件清单
assert(ion) 断言
assign&&&&& 赋值
assignment& 赋值、分配
assignment operator 赋值操作符
associated& 相关的、相关联的
associative container 关联式容器(对应sequential container)&&&&&&&&
asynchronous& 异步的
atomic&&& 原子的
atomic operation&& 原子操作
attribute&& 特性、属性
authentication service 验证服务
authorization& 授权
audio&& 音频
A.I.&&& 人工智能
B2B integration& B2B整合、B2B集成(business-to-business integration)&&&&&&&&
background&& 背景、后台(进程)
backward compatible&&& 向后兼容、向下兼容
backup&& 备份
backup device备份设备
backup file& 备份文件
bandwidth& 带宽
base class 基类
base type& 基类型
batch&& 批处理
BCL (base class library)基类库
binary& 二进制&&
binary search 二分查找
binary tree 二叉树
binary function& 双参函数
binary large object二进制大对象
binary operator 二元操作符
binding 绑定
bit 位
bitmap& 位图
bitwise 按位...
bitwise copy&&&&&& 为单元进行复制;位元逐一复制,按位拷
bitwise operation& 按位运算
block& 块、区块、语句块
bookkeeping& 簿记
boolean 布林值(真假值,true或false)&&&&&&&&&&&&&&&&&
border& 边框
bounds checking 边界检查
boxing& 装箱、装箱转换
brace (curly brace) 大括号、花括号
bracket (square brakcet) 中括号、方括号
breakpoint 断点
browser applications& 浏览器应用(程序)
browser-accessible application& 可经由浏览器访问的应用程序
build& 编连(专指编译和连接
built-in& 内建、内置
bus& 总线
business& 业务、商务(看场合)
business Logic 业务逻辑
business rules 业务规则
buttons& 按钮
bug& 臭虫
by/through 通过
byte& 位元组(由8 bits组成)&&&
cache 高速缓存
calendar 日历
call 调用
callback& 回调
call-level interface (CLI)调用级接口(CLI)
call operator 调用操作符
candidate key 候选键 (for database)
cascading delete 级联删除 (for database)
cascading update 级联更新 (for database)
casting&& 转型、造型转换
catalog&& 目录
chain&&&& 链(function calls)
character 字符
character format& 字符格式
character set&&&& 字符集
CHECK constraints CHECK约束 (for database)
checkpoint 检查点 (for database)
check box& 复选框
check button 复选按钮
child class& 子类
CIL (common intermediate language)通用中间语言、通用中介语言
class&&& 类
class declaration& 类声明
class definition&& 类定义
class derivation list 类继承列表
class factory&&& 类厂
class hierarchy& 类层次结构
class library&&& 类库
class loader&&&& 类装载器
class template&& 类模板
class template partial specializations 类模板部分特化
class template specializations&&&&&&&& 类模板特化
classification& 分类
clause& 子句
client application& 客户端应用程序
client cursor& 客户端游标 (for database)
code page 代码页
cleanup&& 清理、清除
CLI (Common Language Infrastructure)&& 通用语言基础设施
client 客户、客户端
client area& 客户区
client-server 客户机/服务器、客户端/服务器
clipboard 剪贴板
clone& 克隆
CLS (common language specification) 通用语言规范
code access security& 代码访问安全
COFF (Common Object File Format)&&& 通用对象文件格式
collection& 集合
COM (Component Object Model)& 组件对象模型
combo box 组合框
command line 命令行
comment& 注释
commit&& 提交 (for database)
communication& 通讯
compatible 兼容
compile time 编译期、编译时
compiler 编译器
component组件
composite index 复合索引、组合索引 (for database)
composite key 复合键、组合键 (for database)
composition&& 复合、组合
concept 概念
concrete具体的
concrete class& 具体类
concurrency 并发、并发机制
constraint& 约束 (for database)
configuration 配置、组态
connection&&& 连接 (for database)
connection pooling 连接池
console&&& 控制台
constant&& 常量
construct& 构件、成分、概念、构造(for language)
constructor (ctor) 构造函数、构造器
container& 容器
containment包容
context 环境、上下文
control 控件
cookie& (不译)
copy&&& 拷贝
CORBA&& 通用对象请求中介架构(Common Object Request Broker Architecture)
cover&& 覆盖、涵盖
create/creation&&& 创建、生成
crosstab query&&&& 交叉表查询 (for database)
CRTP (curiously recurring template pattern)
CTS (common type system)通用类型系统
cube&& 多维数据集 (for database)
cursor 光标
cursor 游标 (for database)
custom 定制、自定义
data&& 数据
data connection&& 数据连接 (for database)
Data Control Language (DCL)& 数据控制语言(DCL) (for database)
Data Definition Language (DDL) 数据定义语言(DDL) (for database)
data dictionary 数据字典 (for database)
data dictionary view& 数据字典视图 (for database)
data file& 数据文件 (for database)
data integrity& 数据完整性 (for database)
data manipulation language (DML)数据操作语言(DML) (for database)
data mart& 数据集市 (for database)
data pump& 数据抽取 (for database)
data scrubbing& 数据清理 (for database)
data source&&&& 数据源 (for database)
Data source name (DSN) 数据源名称(DSN) (for database)
data warehouse&&& 数据仓库 (for database)
dataset&& 数据集 (for database)
database& 数据库 (for database)
database catalog& 数据库目录 (for database)
database diagram& 数据关系图 (for database)
database file&&&& 数据库文件 (for database)
database object&& 数据库对象 (for database)
database owner&&& 数据库所有者 (for database)
database project& 数据库工程 (for database)
database role&&&& 数据库角色 (for database)
database schema& 数据库模式、数据库架构 (for database)
database script& 数据库脚本 (for database)
data-bound&&&&&& 数据绑定 (for database)
data-aware control数据感知控件 (for database)
data member&& 数据成员、成员变量
dataset&&&&&& 数据集 (for database)
data source&& 数据源 (for database)
data structure数据结构
data table&&& 数据表 (for database)
datagram&&& 数据报文
DBMS (database management system)数据库管理系统 (for database)
DCOM (distributed COM)分布式COM
dead lock& 死锁 (for database)
deallocate 归还
debug&&&&& 调试
debugger&& 调试器
decay&&&&& 退化
decision support 决策支持
declaration 声明
declarative referential integrity (DRI)声明引用完整性(DRI) (for database)
deduction& 推导
DEFAULT constraint默认约束 (for database)
default database& 默认数据库 (for database)
default instance& 默认实例 (for database)
default result set 默认结果集 (for database)
default&&&& 缺省、默认值
defer&&&&&& 推迟
definition& 定义
delegate&&& 委托
delegation& 委托
dependent name&&&&&&
deploy&&&&&& 部署
dereference& 解引用
dereference operator (提领)运算子&&&&&&&&&&&&&&&&&&&&&
derived class& 派生类
design by contract 契约式设计
design pattern& 设计模式
destroy&& 销毁
destructor(dtor)析构函数、析构器
device&& 设备
DHTML (dynamic HyperText Markup Language)动态超文本标记语言
dialog&& 对话框
digest&& 摘要
digital& 数字的
DIME (Direct Internet Message Encapsulation)直接Internet消息封装
directive& (编译)指示符
directory& 目录
dirty pages脏页 (for database)
dirty read 脏读 (for database)
disassembler 反汇编器
DISCO (Discovery of Web Services)Web Services的查找
disk& 盘
dispatch 调度、分派、派发(我喜欢“调度”)
DISPID (Dispatch Identifier)分派标识符
distributed computing 分布式计算
distributed query&&&& 分布式查询 (for database)
DNA (Distributed interNet Application) 分布式网间应用程序
document 文档
DOM (Document Object Model)文档对象模型
dot operator& (圆)点操作符
driver 驱动(程序)
DTD (document type definition)& 文档类型定义
double-byte character set (DBCS)双字节字符集(DBCS)
dump&&&&&& 转储
dump file& 转储文件
dynamic cursor&&& 动态游标 (for database)
dynamic filter&&& 动态筛选 (for database)
dynamic locking&& 动态锁定 (for database)
dynamic recovery& 动态恢复 (for database)
dynamic snapshot& 动态快照 (for database)
dynamic SQL statements 动态SQL语句 (for database)
dynamic assembly 动态装配件、动态配件
dynamic binding& 动态绑定
EAI (enterprise application integration)企业应用程序集成(整合)
EBCO (empty base class optimization)&& 空基类优化(机制)
e-business&& 电子商务
EDI (Dlectronic Data Interchange)电子数据交换
efficiency 效率
efficient& 高效
end-to-end authentication 端对端身份验证
end user 最终用户
engine&& 引擎
entity& 实体
encapsulation&& 封装
enclosing class 外围类别(与巢状类别 nested class有关)
enum (enumeration) 枚举
enumerators 枚举成员、枚举器
equal&&&&&& 相等
equality&&& 相等性
equality operator& 等号操作符
error log&& 错误日志 (for database)
escape code 转义码
escape character 转义符、转义字符
exclusive lock&& 排它锁 (for database)
explicit transaction 显式事务 (for database)
evaluate 评估
event&&& 事件
event driven& 事件驱动的
event handler 事件处理器
evidence& 证据
exception 异常
exception declaration 异常声明
exception handling 异常处理、异常处理机制
exception-safe 异常安全的
exception specification 异常规范
exit&&&& 退出
explicit 显式
explicit specialization& 显式特化
export&&&&& 导出
expression& 表达式
facility&&& 设施、设备
fat client& 胖客户端
feature&&&& 特性、特征
fetch 提取
field 字段(java)
field 字段 (for database)
field length 字段长度 (for database)
file&& 文件
filter 筛选 (for database)
finalization 终结
firewall& 防火墙
finalizer 终结器
firmware 固件
flag&&&& 标记
flash memory 闪存
flush 刷新
font& 字体
foreign key (FK)& 外键(FK) (for database)
form&& 窗体
formal parameter& 形参
forward declaration& 前置声明
forward-only& 只向前的
forward-only cursor& 只向前游标 (for database)
fragmentation 碎片 (for database)
framework& 框架
full specialization& 完全特化
function& 函数
function call operator (即operator ()) 函数调用操作符
function object 函数对象
function overloaded resolution函数重载决议
functionality&&& 功能
function template函数模板
functor& 仿函数
GAC (global assembly cache) 全局装配件缓存、全局配件缓存
GC (Garbage collection)&&&& 垃圾回收(机制)、垃圾收集(机制)
game&&&& 游戏
generate 生成
generic& 泛化的、一般化的、通用的
generic algorithm通用算法
genericity 泛型
getter (相对于 setter)取值函数
global&&&&&&& 全局的
global object 全局对象
global scope resolution operator 全局范围解析操作符
grant&&&&&& 授权 (for database)
granularity 粒度
group&&&&&& 组、群
group box&& 分组框
GUI&& 图形界面
GUID (Globally Unique Identifier) 全球唯一标识符
hand shaking&& 握手
handle&&&& 句柄
handler&&& 处理器
hard-coded 硬编码的
hard-copy& 截屏图
hard disk& 硬盘
hardware&& 硬件
hash table 散列表、哈希表
header file头文件
heap&&&&&& 堆
help file& 帮助文件
hierarchy& 层次结构、继承体系
hierarchical data 阶层式数据、层次式数据
hook&& 钩子
Host (application)宿主(应用程序)
hot key&& 热键
hyperlink 超链接
HTML (HyperText Markup Language) 超文本标记语言
HTTP pipeline& HTTP管道
HTTP (HyperText Transfer Protocol) 超文本传输协议
icon&& 图标
IDE (Integrated Development Environment)集成开发环境
IDL (Interface Definition Language)&&& 接口定义语言
identifier 标识符
idle time& 空闲时间
if and only if当且仅当
IL (Intermediate Language) 中间语言、中介语言
image 图象
IME&& 输入法
immediate base&&&&& 直接基类
immediate derived&& 直接派生类
immediate updating& 即时更新 (for database)
implicit transaction隐式事务 (for database)
incremental update& 增量更新 (for database)
index&&&&&&&&& 索引 (for database)
implement&&&&& 实现
implementation 实现、实现品
implicit&&&&&& 隐式
import&&&&&&&& 导入
increment operator& 增加操作符
infinite loop&&&&&& 无限循环
infinite recursive& 无限递归
information&&&&& 信息
infrastructure&& 基础设施
inheritance&&&&& 继承、继承机制
inline&&&&&&&&&& 内联
inline expansion 内联展开
initialization&& 初始化
initialization list 初始化列表、初始值列表
initialize&&&&& 初始化
inner join&&&&& 内联接 (for database)
in-place active 现场激活
instance&&&&&&& 实例
instantiated&&& 具现化、实体化(常应用于template)&&&&&&&&&&&&
instantiation&& 具现体、具现化实体(常应用于template)&&&&&&&&
integrate&&&&&& 集成、整合
integrity&&&&&& 完整性、一致性
integrity constraint完整性约束 (for database)
interprocess communication (IPC)进程间通讯(IPC)
interacts& 交互
interface& 接口
& for GUI& 界面
interoperability 互操作性、互操作能力
interpreter&& 解释器
introspection 自省
invariants&&& 不变性
invoke&&&&&&& 调用
isolation level& 隔离级别 (for database)
iterate&& 迭代
iterative 反复的、迭代的
iterator& 迭代器
iteration 迭代(回圈每次轮回称为一个iteration)&&&&&&&&&
item&&&&& 项、条款、项目
JIT compilation& JIT编译 即时编译
key&&&&&&&&& 键 (for database)
key column&& 键列 (for database)
laser&&&&&&& 激光
late binding 迟绑定
left outer join& 左向外联接 (for database)
level&&&&& 阶、层例
high level 高阶、高层
library&&& 库
lifetime&& 生命期、寿命
link&&&&&& 连接、链接
linkage&&& 连接、链接
linker&&&& 连接器、链接器
literal constant 字面常数
list&& 列表、表、链表
list box 列表框
livelock 活锁 (for database)
load&& 装载、加载
load balancing& 负载平衡
loader 装载器、载入器
local& 局部的
local object&&& 局部对象
lock& 锁
log&& 日志
login 登录
login security mode登录安全模式 (for database)
lookup table&& 查找表 (for database)
loop&&&&&&&&&& 循环
loose coupling 松散耦合
lvalue&&&&&&&& 左值
machine code&& 机器码、机器代码
macro&&&&&&& 宏
maintain&&&& 维护
managed code 受控代码、托管代码
Managed Extensions 受控扩充件、托管扩展
managed object 受控对象、托管对象
mangled name&&&&&&
manifest&&&& 清单
manipulator& 操纵器(iostream预先定义的一种东西)&&&&&&&&&&&
many-to-many relationship 多对多关系 (for database)
many-to-one relationship& 多对一关系 (for database)
marshal& 列集
member&& 成员
member access operator&&& 成员取用运算子(有dot和arrow两种)&&&&&&&&&&&&
member function&&&&&&&&&& 成员函数
member initialization list成员初始值列表
memberwise& 以member为单元…、members 逐一…&&&&&&&&&&&
memberwise copy&
memory&&&&& 内存
memory leak 内存泄漏
menu&&&& 菜单
message& 消息
message based& 基于消息的
message loop&& 消息环
message queuing消息队列
metadata 元数据
metaprogramming元编程
method 方法
micro& 微
middleware& 中间件
middle tier 中间层
modeling&&& 建模
modeling language 建模语言
modifier& 修饰字、修饰符
modem&&&& 调制解调器
module&&& 模块
most derived class最底层的派生类
mouse&& 鼠标
mutable 可变的
mutex&& 互斥元、互斥体
multidimensional OLAP (MOLAP)&&& 多维OLAP(MOLAP) (for database)
multithreaded server application 多线程服务器应用程序
multiuser&&&&&& 多用户
multi-tasking&& 多任务
multi-thread&&& 多线程
multicast delegate 组播委托、多点委托
named parameter&&& 命名参数
named pipe& 命名管道
namespace&& 名字空间、命名空间
native&&&&& 原生的、本地的
native code 本地码、本机码
Native Image Generator (NGEN)本地映像生成器
nested class& 嵌套类
nested query& 嵌套查询 (for database)
nested table& 嵌套表 (for database)
network&&&&&& 网络
network card& 网卡
nondependent name
object&&&&&&& 对象
object based& 基于对象的
object file&& 目标文件
object model& 对象模型
object oriented 面向对象的
object pooling& 对象池化
ODBC data source ODBC数据源 (for database)
ODBC driver&&&&& ODBC驱动程序 (for database)
ODR (one-definition rule)
OLE Automation objects&& OLE自动化对象 (for database)
OLE Automation server&&& OLE自动化服务器 (for database)
OLE DB consumer& OLE DB使用者 (for database)
OLE DB for OLAP& 用于OLAP的OLE DB (for database)
OLE DB provider& OLE DB提供者 (for database)
one-to-many relationship 一对多关系 (for database)
one-to-one relationship& 一对一关系 (for database)
online analytical processing (OLAP)&&& 联机分析处理(OLAP) (for database)
online redo log&&&& 联机重做日志 (for database)
online transaction processing (OLTP)&& 联机事务处理(OLTP) (for database)
Open Data Services (ODS)&& 开放式数据服务(ODS) (for database)
Open Database Connectivity (ODBC) 开放式数据库连接(ODBC) (for database)
operand&& 操作数
operating system (OS) 操作系统
operation& 操作
operator&& 操作符、运算符
option&&&& 选项
optimizer& 优化器
outer join 外联接 (for database)
overflow&& 上限溢位(相对于underflow)&&&&&&&&&&&&&&&&&&&
overhead&& 额外开销
overload&& 重载
overload resolution&& 重载决议
overloaded function&& 重载的函数
overloaded operator& 被重载的操作符
override&& 覆写、重载、重新定义
package&&& 包
packaging& 打包
palette&&& 调色板
parallel&& 并行
parameter& 参数、形式参数、形参
parameter list 参数列表
parameterize&& 参数化
parent class&& 父类
parentheses&&& 圆括弧、圆括号
parse&&& 解析
parser&& 解析器
part&&&& 零件、部件
partial specialization 局部特化
pass by address&& 传址(函式引数的传递方式)(非正式用语)&&&&&&&&
pass by reference 传地址、按引用传递
pass by value 按值传递
pattern&&&&&& 模式
PDA (personal digital assistant)个人数字助理
PE (Portable Executable) file&& 可移植可执行文件
performance&& 性能
persistence&& 持久性
PInvoke (platform invoke service) 平台调用服务
pixel& 像素
placement delete
placement new&&&
placeholder 占位符
platform&&& 平台
POD (plain old data (type))&&&&&&&&
POI (point of instantiation)&&&&&&&&&&&&&&&&
pointer& 指针
poll&&&& 轮询
pooling& 池化
polymorphism& 多态
pop up&&&& 弹出式
port&&&&&& 端口
postfix&&& 后缀
precedence 优先序(通常用于运算子的优先执行次序)&&&&&&&&
prefix&&&& 前缀
preprocessor&&& 预处理器
primary key (PK)主键(PK)& (for database)
primary table&& 主表 (for database)
primary template原始模板
primitive type& 原始类型
print&&&&& 打印
printer&&& 打印机
procedure& 过程
procedural 过程式的、过程化的
process&&& 进程
profile&&& 评测
profiler&& 效能(性能)评测器
program&&& 程序
programmer 程序员
programming编程、程序设计
progress bar 进度指示器
project&&& 项目、工程
property&& 属性
protocol&& 协议
pseudo code伪码
qualified& 经过资格修饰(例如加上scope运算子)&&&&&&&&&&&
qualified name
qualifier 修饰符
quality&& 质量
queue&&&& 队列
race condition 竞争条件(多线程环境常用语)
radian&&&&&&&& 弧度
radio button&& 单选按钮
raise&&&&&&&&& 引发(常用来表示发出一个exception)&&&&&&&&&&&
random number& 随机数
range&& 范围、区间
rank&&& 等级
raw&&&& 未经处理的
readOnly只读
record& 记录 (for database)
recordset& 记录集 (for database
recursive& 递归
re-direction& 重定向
refactoring&& 重构
refer&&&& 引用、参考
reference 引用、参考
reference counting引用计数
referential integrity (RI)引用完整性(RI) (for database)
register&&&& 寄存器
reflection&& 反射
refresh data 刷新数据 (for database)
regular expression& 正则表达式
relational database 关系数据库
remote&&&&&&&& 远程
remote request 远程请求
represent&&&&& 表述,表现
resolve&&&&&&& 解析、决议&&&&&&&&
resolution&&&& 解析过程
result set&&&& 结果集 (for database)
retrieve data& 检索数据&&
return&&&&&&&& 返回
return type&&& 返回类型
return value&& 返回值
right outer join& 右向外联接 (for database)
revoke&&&&&& 撤销
robust&&&&&& 健壮
robustness&& 健壮性
roll back&&& 回滚 (for database)
roll forward 前滚 (for database)
routine&&&&& 例程
row&&&&&&&&& 行 (for database)
row lock&&&& 行锁 (for database)
rowset&&&&&& 行集 (for database)
RPC (remote procedure call)RPC(远程过程调用)
runtime 执行期、运行期、执行时、运行时
rvalue& 右值
save&&& 保存
savepoint& 保存点 (for database)
SAX (Simple API for XML)
scalable& 可伸缩的、可扩展的
schedule& 调度
scheduler 调度程序
schema&&& 模式、纲目结构
scroll bar滚动条
scope&&&& 作用域、生存空间
scope operator 生存空间操作符
scope resolution operator 生存空间解析操作符
screen&& 屏幕
SDK (Software Development Kit)软件开发包
sealed class 密封类
search&&& 查找
semantics 语义
semaphore 信号量
sequential container序列式容器
server&&& 服务器、服务端
serial&&& 串行
serialization/serialize 序列化
server cursor服务端游标、服务器游标 (for database)
session&&&&& 会话 (for database)
setter&&&&&& 设值函数
shared lock& 共享锁 (for database)
sibling&&&&& 同级
side effect& 副作用
signature&&& 签名
single-threaded& 单线程
slider滑块
slot& 槽
smart pointer 智能指针
SMTP (Simple Mail Transfer Protocol)&& 简单邮件传输协议
snapshot&&&&&& 截屏图
snapshot&&&&&& 快照 (for database)
specialization 特化
specification& 规范、规格
splitter&&&&&& 切分窗口
SOAP (simple object access protocol)&& 简单对象访问协议
software&&&&& 软件
source code&& 源码、源代码
SQL (Structured Query Language)& 结构化查询语言 (for database)
stack& 栈、堆栈
stack unwinding&& 叠辗转开解(此词用于exception主题)&&&&&&&&&
standard library& 标准库&&&&&&&
standard template library 标准模板库
stateless 无状态的
statement 语句、声明
static cursor 静态游标 (for database)
static SQL statements 静态SQL语句 (for database)
stored procedure 存储过程 (for database)
status bar 状态条
stream&& 流
string&& 字符串
stub&&&& 存根
subobject子对象
subquery 子查询 (for database)
subroutine& 子例程
subscript operator 下标操作符
subset&& 子集
subtype& 子类型
support& 支持
suspend& 挂起
symbol&& 记号
syntax&& 语法
system databases&& 系统数据库 (for database)
system tables&&&&& 系统表 (for database)
table&&&&&& 表 (for database)
table lock& 表锁 (for database)
table-level constraint 表级约束 (for database)
tape backup& 磁带备份 (for database)
target& 标的,目标
task switch& 工作切换&&&&&&&&&&&&&
TCP (Transport Control Protocol)&&&&&& 传输控制协议
template&&&&&& 模板
template-id
template argument deduction&&&&& 模板参数推导
template explicit specialization 模板显式特化
template parameter&& 模板参数
template template parameter
temporary object 临时对象
temporary table& 临时表 (for database)
text 文本
text file&& 文本文件
thin client 瘦客户端
third-party 第三方
thread&&&&& 线程
thread-safe 线程安全的
throw 抛出、引发(常指发出一个exception)&&&&&&
token 符号、标记、令牌(看场合)
trace 跟踪
transaction 事务 (for database)
transaction log& 事务日志 (for database)
transaction rollback& 事务回滚 (for database)
transactional replication& 事务复制 (for database)
translation unit 翻译单元
traverse 遍历
trigger& 触发器 (for database)
two-phase commit 两阶段提交 (for database)
tuple
two-phase lookup 两阶段查找
type& 类型
UDDI(Universary Description, Discovery and Integration)统一描述、查询与集成
UML (unified modeling language)统一建模语言
unary function 单参函数
unary operator 一元操作符
unboxing&&&&&& 拆箱、拆箱转换
underflow&&&&& 下限溢位(相对于overflow)
Union query&&& 联合查询 (for database)
UNIQUE constraints& UNIQUE约束 (for database)
unique index&& 唯一索引 (for database)
unmanaged code 非受控代码、非托管代码
unmarshal&&&&& 散集
unqualified&&&& 未经限定的、未经修饰的
URI (Uniform Resource identifier) 统一资源标识符
URL (Uniform Resource Locator)&&& 统一资源定位器
user&&&&&&&&&&& 用户
user interface& 用户界面
value types 值类型
variable 变量
vector&& 向量(一种容器,有点类似array)&&&&&&&&&&&&&&&
viable&& 可行的
video&&& 视频
view&&&& 视图
VEE (Virtual Execution Engine)虚拟执行引擎
vendor& 厂商
view&&& 视图 (for database)
virtual function& 虚函数
virtual machine&& 虚拟机
virtual memory&&& 虚拟内存
vowel&&&&&&&&& 元音字母
Web Services&& web服务&&&&&
WHERE clause&& WHERE子句 (for database)
wildcard characters 通配符字符 (for database)
wildcard search&&&& 通配符搜索 (for database)
window&&&&&&&&&&&&& 窗口
window function&&&& 窗口函数
window procedure&&& 窗口过程
Windows authentication Windows身份验证
wizard& 向导
word&&& 单词
word processor& 字处理器
wrapper&&&&& 包装、包装器
write enable 写启用 (for database)
write-ahead log 预写日志 (for database)
write-only&&&&& 只写
WSDL (Web Service Description Language)Web Service描述语言
XML Message Interface (XMI)&&&&&& XML消息接口
XML (eXtensible Markup Language)& 可扩展标记语言
XSD (XML Schema Definition)&&&&&& XML模式定义语言
XSL (eXtensible Stylesheet Language) 可扩展样式表语言
XSLT (eXtensible Stylesheet Language Transformation)可扩展样式表语言转换
xxx based&&&& 基于xxx的
xxx oriented& 面向xxx
浏览: 144599 次
来自: 天津
总结的不错,从网上看到这里有更多更好的eclipse介绍:《e ...
非常谢谢!
(window.slotbydup=window.slotbydup || []).push({
id: '4773203',
container: s,
size: '200,200',
display: 'inlay-fix'

我要回帖

更多关于 程序员编程软件 的文章

 

随机推荐