‘壹’ 程序员有哪些黑话暗语
所以你正在学习如何编写代码,超越默认的Hello World例子,并把你的技能提高到一个新的水平。恭喜!
如果你一步步地进行编码,编码并不难,但是如果你开始新鲜的话,很难说开发者的语言。
我们要求我们顶尖的开发者作者就一些最重要的术语和概念向新的编码人员提供他们的忠告。这是前18名。
变量
甲变量是与相关联的值在整个应用程序或程序的执行而改变命名标识符。一旦在程序中定义了一个变量,在需要时可以改变该值以适应代码的流程。
常量
甲常数是与相关联的值,该值不整个应用程序或程序的执行改变命名标识符。与在整个应用程序的执行过程中变化和变化的变量相比,常量是固定的,不能被改变。
数据类型
一个特定类型的数据项,由它可以接受的值定义,所涉及的编程语言和/或可以在其上执行的操作。常见的数据类型包括整数(简单数字),浮点数(基于十进制的数字),布尔值(TRUE或FALSE)和字符串(字母,数字或段落等字母数字字符串)好多其它的。
数据结构
甲数据结构是用于组织和在最适合的目的数据将被用于的方式存储数据的专用格式。编程中的常见数据结构包括数组,表格,记录,树等等。
对象
在面向对象的编程语言中,对象是指可以共同访问和管理的相关变量,常量,函数(也称为方法)和数据结构的组合。
范围
范围是指程序的一部分中的功能,方法和变量在同一程序的另一部分中的可见性。大多数语言共享两个通用作用域概念:局部作用域(其中可见性仅限于父函数或方法)和全局作用域(其中可见性不受限制)。
伪代码
就像粗糙的草稿在最后的小说之前,并允许对故事的更广泛的细节进行雕刻一样,伪代码是在编写和调试实际代码之前用于概述程序的意图和流程的编程语言的简化速记。
条件语句
当代码必须选择继续的方式时,条件处理这些决定。条件评估为TRUE或FALSE,只要条件的最终值保持单个TRUE或FALSE值,则可以将多个条件组合为单个条件。表达式的一些例子是:
my_variable <5 =“”>
(如果my_variable小于5,则最终值为TRUE)
my_var1> 30 && my_var2 == 4(如果my_var1大于30,且my_var 2也等于4,则最终值为TRUE)
表达式
一个表达式是由ofvariables,数字和操作的数学表达式,并解析到一个特定的值。
循环
一连串的指令不断重复(循环),直到达到一定的条件。
模块化代码
模块化代码是将你的程序功能分离成独立的模块的概念,隐藏了它们在公共接口或API后面的内部工作。这使得每个模块的功能易于使用和重构,独立于其他任何模块使用。
API
短用于应用程序编程接口,一个API是用于访问操作系统,软件应用程序或实用程序的功能的程序指令集和标准。软件开发人员向公众发布其API,以便其他开发人员可以在自己的项目中利用其产品的功能和服务。
回电话
一个回调是一块多数民众赞成作为参数传递给其他代码语句通过可执行代码,并预计“回调”,并在特定的时间执行。同步(或阻止)回调是即时的,而异步(或延迟)回调意味着稍后发生。
程序化思维
程序化思维是开发人员和编程人员的核心思想,意味着通过将大问题分解成更小的离散步骤,将特定对象描述为计算机可以理解的明确定义的值来解决这些大问题。
关闭
以最简单的形式描述闭包是函数中的一个函数,作为变量存储。与普通函数不同,闭包拥有一个持久的作用域,即使在你的程序移出它们定义的代码块之后,它仍然保留在局部变量中。
编译和解释语言
编译语言(比如C,C ++和Swift)要求你编译代码并将其构建成独立的二进制应用程序,然后才能分发和运行。
解释语言(如Python,php和javaScript)是由主机上的语言解释器直接读取代码运行的,并向计算机提供指令以执行程序。
重构
代码重构是重构现有代码而不改变其外部行为的过程。重构通常用于改进软件的非功能区域,或者改善特定软件领域的性能或效用。
IDE
集成开发环境的简称,IDE是一种用于为特定语言开发的开发工具(或工具集合),包括代码编辑器,编译器,调试器和其他实用程序。流行的IDE包括苹果公司的Xcode,微软的Visual Studio以及IntelliJ,NetBeans和Eclipse等Java IDE。无论你的语言如何,都有一个IDE。
虽然这18个术语实际上只是开发人员的技术术语的表面,但是在您的编码之旅中,您会发现他们所代表的概念非常重要。
‘贰’ 程序猿的名词解释
是一种近几十年来出现的新物种,是信息革命的产物,在行为和物种归类上我们也可称为码字猴。程序猿是人类在科技研究上的一种新兴进化,拥有无与伦比的耐力、超越时代的智商、横穿社会的苦逼相和低于人类平均寿命的显着特点。
另,可以理解为”程序员“的无奈的自我称呼。
节日
平年的9月13日和闰年的9月12日(每年的第256天)是程序员节。之所以选择256,是因为它是一个8位字节能够表示的数目,256是2的幂中小于365的最大值。同样的逻辑,在24位RGB颜色空间里,最大值为十六进制0xFFFFFF,表示为白色,又称白色程序猿节。
‘叁’ 我想了解一些电脑的常用术语,比如:前端总线,总线频率等,这些术语的意思和解释,就是这是什说的是什么
在使用电脑的过程中,面对一些相对专业的名词术语和专业缩略语,经常搞得人云里雾里。本手册按字母序作为索引,收录词目200余条,在内容上力求涵盖电脑应用的方方面面,希望能对你在使用电脑的过程中有所帮助。
●Aactive Network(动态网络)
动态网络是这样一种网络,该网络上的各个节点经过编程处理,可以依据通过该节点的信息执行定制化的任务。例如,一个节点可以经过编程或者定制化处理,以一个单独用户为基础处置信息包,或者处置不同于其他信息包的多点传送信息包。动态网络的这种处理方法,在一个由移动用户构成的网络中显得特别重要。
●AC 97(音响数字/模拟转换)
AC 97即音响数字/模拟转换97。AC 97能使PC与一般音响系统相容,以配合家用电器的标准。该规格支持一些新的功能,如支持Modem等。
●Access Control(访问控制)
按用户身份及其所归属的某预定义组来限制用户对某些信息项的访问,或限制对某些控制功能的使用。访问控制通常用于系统管理员控制用户对服务器、目录、文件等网络资源的访问。
●ACL(访问控制表)
ACL(Access Control List,访问控制表)。用户和设备可以访问的那些现有服务和信息的列表。用户必须具有相应的授权才能修改目标的ACL。通常要求用户提供注册姓名和口令,它是用来保证系统安全性的一种手段。
●ACOPS(自动CPU过热保护)
ACOPS(Automatic CPU Overheat Prevention System)特指一类计算机主板的一种功能。此类主板在CPU插槽的中央有一个温度传感器,当CPU散热不佳或散热风扇不转导致CPU温度超出安全范围时,系统会通过喇叭发出警告并自动执行降温程序。ACOPS有自己独立的电路和软件,无需任何驱动程序来启动。
●Active Directory(活动目录)
Active Directory是Windows 2000的目录服务,它取代了Windows NT 4.0版中的安全账户管理器(SAM)。Active Directory由目录林、域、组织单位、容器和对象等组成。
●ADSL(非对称数字用户线路)
非对称数字用户线路。这种DSL叫做非对称DSL,将成为广大家庭和小型商业客户最熟悉的一种DSL。ADSL(Asymmetrical Digital Subscriber Loop)之所以叫做非对称是因为它的两个双工通道都用来向用户传输数据。仅有很小一部分带宽用来回送用户的信息。然而,大部Internet特别是富于图形和多媒体Web数据需要很大的下传带宽,同时用户信息相对比较少,上传的带宽也不要很大。使用ADSL时,下传的速率可以达到6.1Mbps,而上传速率也可以达到640Kbps。高的下传速率意味着你的电话可以传输动画,声音和立体图形。另外,一小部分的带宽可以用来传输语音信号,你可以同时打电话而不用再使用第二条电话线。不象电视线路提供的相同的服务,使用ADSL,你不需要和你的邻居争用带宽。有时候,现有的电话线可以使用ADSL,而有时候却要升级,除非电话公司提供了无分离器的ADSL,你就必须安装一个DSL调制解调器。
●AGP(加速图形接口)
AGP是一种接口规范,可以使3D图形在普通个人电脑上以更快的速度显示。AGP是一种设计用来更快,更平稳地传送3D图形的接口。它使用普通个人电脑的主内存来刷新显示器显示的图像,支持纹理贴图,零缓冲和阿尔法混合等3D图形技术。
AGP接口对主内存的使用是动态的,也就是说,当主内存没有被用来进行图形加速处理的时候,它可以重新被操作系统或者其他应用程序使用。
●Anonymous FTP(匿名文件传输)
匿名文件传输能够使用户与远程主机建立连接并以匿名身份从远程主机上拷贝文件,而不必是该远程主机的注册用户。用户使用特殊的用户名“Anonymous”和“guest”就可有限制地访问远程主机上公开的文件。
●API(应用程序界面)
API(Application Program Interface)被定义为应用程序可用以与计算机操作系统交换信息和命令的标准集。一个标准的应用程序界面为用户或软件开发商提供一个通用编程环境,以编写可交互运行于不同厂商计算机的应用程序。API不是产品,而是战略,所有操作系统与网络操作系统都有API。在网络环境中不同机器的API兼容是必要的,否则程序对其所驻留的机器将是不兼容的。
●ARP(地址解析协议)
ARP(Address Resoloution Protocol,地址解析协议)是获取物理地址的一个TCP/IP协议。某节点的IP地址的ARP请求被广播到网络上后,这个节点会收到确认其物理地址的应答,这样的数据包才能被传送出去。RARP(逆向ARP)经常在无盘工作站上使用,以获得它的逻辑IP地址。
●ASP(服务器开发专用脚本)
ASP(Active Sever Page)是微软公司为IIS服务器开发的一种专用接口。它类似于CGI,同属于服务器端应用程序,功能强大而且容易编写,与IIS的结合堪称天衣无缝,但也只能用在IIS上。ASP最强大的一点,就是采用了ADO数据库接口引擎,在与数据库的连接上非常方便,这点,如果用过VB6就有体会了。ASP可以用VBScript或JavaScript编写。它的有关帮助中,一般是采用VBScript编写。
●ATAPI(AT附件包接口)
AT附件包接口(AT Attachment Packet Interface),ATAPI是一个用于计算机和CD-ROM驱动器及磁带驱动器之间的接口。大部的计算机使用的是IDE接口。ATAPI提供了比 IDE更强的功能命令来控制CD-ROM演播器或磁带备份器,这样就可以使用IDE接口来控制一些新设备了。ATAPI是EIDE接口的一部分。
●Average Seek Time(平均寻道时间)
指硬盘磁头移动到数据所在磁道时所用的时间,单位为毫秒(ms)。注意,它与平均访问时间的差别,平均寻道时间当然是越小越好,现在我们所使用的高级硬盘完成数据的搜索只需要7~11毫秒,现在一般应该选择平均寻道时间低于9ms的产品。
●Autoexec.bat(自动批处理文件)
对于用过DOS的人肯定熟悉Autoexec.bat文件。它是在启动的时候要运行的一个批处理文件。现在已经不常用了,有时候编制java程序的时候会用到这个东西。它无非就是设置一些路径,运行一些在启动时必须运行的程序而已。
●AVI(影音文件)
AVI(Audio Video Interleaved,声音图象交叉存取)是一种微软媒体文件格式,类似于MPEG和QuickTime。在AVI中,声音和图象是交叉的存取在一个文件中的每个段的。
●B2B(商务对商务)
B2B即B to B(Business to Business,商务对商务)。在Internet上,B2B,也被称为e-biz,是商家与商家之间的产品、服务、信息的交换,而不是商家与消费者之间的。尽管早期的热点集中在Internet的零售上,有预言说在不远的将来,B2B年收益将远远超过B2C(商家对个人,有时也称作e- tailing)的。根据2000年早期的研究,B2B与电子零售(e-tailing)的资金比为10:1。在以后的5年,B2B可望有41%的年增长率。
●Back Door(后门)
绕过安全性控制而获取对程序或系统访问权的方法。在软件的开发阶段,程序员常会在软件内创建后门以便可以修改程序中的缺陷。如果后门被其他人知道,或是在发布软件之前没有删除后门,那么它就成了安全风险。
●Bandwidth(带宽)
每条位并行总线上可传输数据的容量,使用“比特/秒”作为度量单位。
网络可以使用的传输频率,表示成一个频带的上下界频率之差,单位用赫兹表示。高带宽允许更快速的大容量传输。
●BBS(电子布告栏系统)
即Bulletin Board System,用计算机处理的布告栏能够在商店和其他的公共场合发现,在那儿人们可以留下信息和想买和卖东西的广告。BBS经常被局部的计算机用户群使用,经常提供下载共享软件、免费软件和在线的信息和服务。有许多专门的有兴趣的公告栏,包括有计算机公司用来提供信息和产品的。现在许多的BBS都有网页。
●Bluetooth(蓝牙)
蓝牙是无线数据和语音传输的开放式标准,蓝牙协议能使包括蜂窝电话、掌上电脑、笔记本电脑、相关外设和家庭Hub等包括家庭RF的众多设备之间进行信息交换。
●BNC Connector(BNC连接器)
BNC连接器用于连接、扩充、终结以太网、ARCNET网等同轴电缆网。它的种类多,有BNCT型连接器BNC桶形连接器和BNC终结器。
●Bookmark(书签)
指在gopher客户程序(client)和web浏览器(browser)中,用户在菜单(menu)或页(page)上做的标志,以便今后查找的参考。在gopher客户程序中,所有书签出现在一个gopher的菜单上。在Web浏览器中,它们出现热点清单(hot list)中。
●Bridge(网桥)
将多个网络、子网或环连接成一个个大的逻辑网,网桥中保留节点的地址表,在他的基础上,可以向特定的子网转发数据包,这样,就减少了在其他的子网上 循环而导致的网络堵塞,网桥比转发器、更复杂。
●Brouter(Bridge/router)(桥路器/路由器)
桥路器是桥接器与路由器技术的综合设备,它既能够桥接多项协议又能够为其中的一部分协议提供路由选择功能。在这个意义上,桥路器是一个工作在开放系统互连(OSI)协议栈的网络层和数据链路层的网间传送报文分组的设备。
●Bug(程序缺陷、臭虫)
电脑系统或者程序中存在的任何一种破坏正常运转能力的问题或者缺陷,都可以叫做“bug”。
●Burst Modem(突发式调制解调器)
指卫星通信系统中使用的一种调制解调器。由于各地球站发送高速突发数据,有时这些数据会同另一个地球站交织在一起,因而需要对它们进行精确定时,然后再用突发式调制解调器发送。
●Bus Topology(总线拓扑)
网络电缆系统的布局以及工作站在电缆上访问和传送数据的方法都是网络拓扑结构的一部分。总线拓朴结构的网络只有一条唯一的电缆干线,以菊链的形式连接一个接一个工作站。在实际的安装中,电缆线穿过一个接一个的办公室。所有的节点共享同一介质,某一时刻只有一个节点能够广播消息。虽然总线拓扑适合办公室的布局,易于安装,但是干线电缆的故障将导致整个网络陷入瘫痪。
最常见的总线拓扑结构的网络是以太网。同轴电缆曾是它主要的传输介质,但现在大多数新的安装使用了双绞线。双绞线以太网(10Base-T)是安装成星形的总线拓扑结构,总线本身被紧缩到一个称作集线器的小盒子中,从集线器连接点到工作站的线路分支呈星形布局。
●Cable Modem(电缆调制解调器)
又名线缆调制解调器。它利用有线电视网进行数据传输,主要面向计算机用户的终端,它是连接有线电视同轴电缆与用户计算机之间的中间设备。
●Cache(高速缓冲存储器)
高速缓冲存储器,根据程序的局部性原理,可以在主存和CPU通用寄存器之间设置一个高速的容量相对比较小的存储器,把正在执行的指令地址附近的一部分指令或者数据从主存调入这个存储器,供CPU在一段时间内使用,这对提高程序的运行速度有很大的影响。这个介于主存和CPU之间的高速小容量存储器称为高速缓冲存储器。Cache存储器介于CPU和主存之间,它的工作速度数倍于主存,全部功能由硬件实现,并且对程序员是透明的。
●CDMA(码分多址技术)
CDMA(Code Division Multiple Access)是在数字通信技术的分支扩频通信的基础上发展起来的一种技术。就是用具有噪声特性的载波以及比简单点到几点通信所需带宽宽得多的频带去传输相同的数据。
更多可以看http://chanel99.blogchina.com/3690891.html
‘肆’ 程序员必备知识有哪些
作一个真正合格的程序员,或者说就是可以真正合格完成一些代码工作的程序员,应该具有的素质。 1:团队精神和协作能力 把它作为基本素质,并不是不重要,恰恰相反,这是程序员应该具备的最基本的,也是最重要的安身立命之本。把高水平程序员说成独行侠的都是在呓语,任何个人的力量都是有限的,即便如linus这样的天才,也需要通过组成强大的团队来创造奇迹,那些遍布全球的为linux写核心的高手们,没有协作精神是不可想象的。独行侠可以作一些赚钱的小软件发点小财,但是一旦进入一些大系统的研发团队,进入商业化和产品化的开发任务,缺乏这种素质的人就完全不合格了。 2:文档习惯 说高水平程序员从来不写文档的肯定是乳臭未干的毛孩子,良好的文档是正规研发流程中非常重要的环节,作为代码程序员,30%的工作时间写技术文档是很正常的,而作为高级程序员和系统分析员,这个比例还要高很多。缺乏文档,一个软件系统就缺乏生命力,在未来的查错,升级以及模块的复用时就都会遇到极大的麻烦。 3:规范化,标准化的代码编写习惯 作为一些外国知名软件公司的规矩,代码的变量命名,代码内注释格式,甚至嵌套中行缩进的长度和函数间的空行数字都有明确规定,良好的编写习惯,不但有助于代码的移植和纠错,也有助于不同技术人员之间的协作。 有些codingfans叫嚣高水平程序员写的代码旁人从来看不懂,这种叫嚣只能证明他们自己压根不配自称程序员。代码具有良好的可读性,是程序员基本的素质需求。 再看看整个linux的搭建,没有规范化和标准化的代码习惯,全球的研发协作是绝对不可想象的。 4:需求理解能力 程序员需要理解一个模块的需求,很多小朋友写程序往往只关注一个功能需求,他们把性能指标全部归结到硬件,操作系统和开发环境上,而忽视了本身代码的性能考虑,有人曾经放言说写一个广告交换程序很简单,这种人从来不知道在百万甚至千万数量级的访问情况下的性能指标是如何实现的,对于这样的程序员,你给他深蓝那套系统,他也做不出太极链的并访能力。性能需求指标中,稳定性,并访支撑能力以及安全性都很重要,作为程序员需要评估该模块在系统运营中所处的环境,将要受到的负荷压力以及各种潜在的危险和恶意攻击的可能性。就这一点,一个成熟的程序员至少需要2到3年的项目研发和跟踪经验才有可能有心得。 5:复用性,模块化思维能力 经常可以听到一些程序员有这样的抱怨,写了几年程序,变成了熟练工,每天都是重复写一些没有任何新意的代码,这其实是中国软件人才最大浪费的地方,一些重复性工作变成了熟练程序员的主要工作,而这些,其实是完全可以避免的。 复用性设计,模块化思维就是要程序员在完成任何一个功能模块或函数的时候,要多想一些,不要局限在完成当前任务的简单思路上,想想看该模块是否可以脱离这个系统存在,是否可以通过简单的修改参数的方式在其他系统和应用环境下直接引用,这样就能极大避免重复性的开发工作,如果一个软件研发单位和工作组能够在每一次研发过程中都考虑到这些问题,那么程序员就不会在重复性的工作中耽误太多时间,就会有更多时间和精力投入到创新的代码工作中去。 一些好的程序模块代码,即便是70年代写成的,拿到现在放到一些系统里面作为功能模块都能适合的很好,而现在我看到的是,很多小公司软件一升级或改进就动辄全部代码重写,大部分重复性工作无谓的浪费了时间和精力。 6:测试习惯 作为一些商业化正规化的开发而言,专职的测试工程师是不可少的,但是并不是说有了专职的测试工程师程序员就可以不进行自测;软件研发作为一项工程而言,一个很重要的特点就是问题发现的越早,解决的代价就越低,程序员在每段代码,每个子模块完成后进行认真的测试,就可以尽量将一些潜在的问题最早的发现和解决,这样对整体系统建设的效率和可靠性就有了最大的保证。 测试工作实际上需要考虑两方面,一方面是正常调用的测试,也就是看程序是否能在正常调用下完成基本功能,这是最基本的测试职责,可惜在很多公司这成了唯一的测试任务,实际上还差的远那;第二方面就是异常调用的测试,比如高压力负荷下的稳定性测试,用户潜在的异常输入情况下的测试,整体系统局部故障情况下该模块受影响状况的测试,频发的异常请求阻塞资源时的模块稳定测试等等。当然并不是程序员要对自己的每段代码都需要进行这种完整测试,但是程序员必须清醒认识自己的代码任务在整体项目中的地位和各种性能需求,有针对性的进行相关测试,并尽早发现和解决问题,当然这需要上面提到的需求理解能力。 7:学习和总结的能力 程序员是人才很容易被淘汰,很容易落伍的职业,因为一种技术可能仅仅在三两年内具有领先性,程序员如果想安身立命,就必须不断跟进新的技术,学习新的技能。 善于学习,对于任何职业而言,都是前进所必需的动力,对于程序员,这种要求就更加高了。但是学习也要找对目标,一些小codingfans们,他们也津津乐道于他们的学习能力,一会学会了asp,一会儿学会了php,一会儿学会了jsp,他们把这个作为炫耀的资本,盲目的追逐一些肤浅的,表面的东西和名词,做网络程序不懂通讯传输协议,做应用程序不懂中断向量处理,这样的技术人员,不管掌握了多少所谓的新语言,永远不会有质的提高。 善于总结,也是学习能力的一种体现,每次完成一个研发任务,完成一段代码,都应当有目的的跟踪该程序的应用状况和用户反馈,随时总结,找到自己的不足,这样逐步提高,一个程序员才可能成长起来。 一个不具备成长性的程序员,即便眼前看是个高手,建议也不要选用,因为他落伍的时候马上就到了。 具备以上全部素质的人,应当说是够格的程序员了,请注意以上的各种素质都不是由IQ决定的,也不是大学某些课本里可以学习到的,需要的仅仅是程序员对自己工作的认识,是一种意识上的问题。
‘伍’ 程序员英语词汇
程序员如何掌握计算机英语干程序员是一项很辛苦的工作,要成为一个高水平的程序员尤为艰难。这是因为计算机软件技术更新的速度越来越快,而这些技术大多来源于英语国家,我们在引进这些技术时往往受到语言障碍的制约,严重影响到对新技术的理解和消化。首先编程本身就依赖于英语,虽然现在技术的发展,可以使得某些开发工具在变量名和字段名中支持中文,但还未发现能够完全使用中文的编程语句。其次,软件开发中的技术文档和资料大都是来自英文,即使有翻译好的,不是晦涩难懂,就是译法混乱,比如:roll back就有"回滚"、"回退"、"返回"、"重算"等多种译法,又如我们遇到翻译后的术语"域",往往不清楚译者是根据"field"、"region"还是"domain"所译(如果阅读原文则不存在这些问题)。还有更重要的一点,这就是等待译文会严重影响我们掌握新技术的时间。通常,一本外版计算机图书从获得版权到翻译出版要一年的时间。就算原作者消化新技术和写作的时间最短为一年,那么加起来这已经超过通常软件版本的更新周期(软件版本的更新周期一般是1年至2年),这意味着当你通过阅读翻译资料掌握这一版本的软件时,可能该版本已经淘汰至少是面临淘汰。当然,这并不是说国内没有好的译者和译文,也不是说不能通过阅读译文来进行学习。而是说通过别人翻译的间接阅读风险较大,如果能掌握计算机英语,利用第一手原文资料进行学习,除了效率之外,被误导的风险较小。比如:国内引进的一部外版好书《Java编程思想》(原书名《Think in Java》),其翻译水平较差,就严重影响了阅读和学习,不少读者深有体会。如果读着有着过硬的计算机英语水平就可以按照书上提供的作者网址下载原文阅读,不但可以获得原汁原味的感受,还可以免费下载该书最新的第二版(据悉机械工业出版社已经取得该最新版本的版权,但该书要到2001年上半年才能面市)。
因此,我们可以得出这样的结论,干程序员这行实在是离不开英语。实际上,可以毫不夸张地说英语是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人员对计算机英语的要求不是太高,也不太专业,一般能够使用英文界面的软件,能够阅读原版的操作手册和说明书即可。针对以上的划分,我在下表中大致给出了计算机英语的学习目标:
表1 计算机英语的学习目标
初中级 中高级
泛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、 立即将自己电脑中的所有中文版或汉化软件换成英文版。连Windows也用英文的。
3、 选一本适合自己的计算机英语教材。
4、 保证一年至少读1-2本原版影印的计算机书,并坚持读完。
5、 上网尽量多访问英文的技术论坛和网站。不使用汉化的帮助。
6、 在程序中使用英文注释。坚决不用中文或汉语拼音作变量名、字段名、文件和文件夹名。
7、 每月至少看1-2部原版电影(VCD/DVD),尽量不看字幕,提高语感和听力。
8、 不看中英文对照读物,但可以看注释读物。多使用英英字典,少使用英汉字典。
9、 每天坚持记录和复习遇到的生词。对于缩略语,一定搞清每个字母的英文含义。
如果你还有什么更好的方法不妨也提出来和我们交流,以便使更多的程序员收益。
‘陆’ 计算机程序员 前后台 英文怎么说
计算机程序员:Computer programmer,前后台:foreground-background
1、Computer programmer
读音:英 [kəmˈpjuːtə(r) ˈprəʊɡræmə(r)] 美 [kəmˈpjuːtər ˈproʊɡræmər]
中文:计算机程序设计员
2、Front and rear stage
中文:前后台
短语:
foreground-background monitor前后台监视器
foreground-background environment前后台环境
foreground-background job前后台作业
Foreground-Background Separation前景
foreground-background communication前后台通信
(6)程序员常用名词扩展阅读
词语用法:
computer的基本意思是“计算机”,也可译作“电脑”。
computer是可数名词。
background的基本意思是“背景”“底色”,主要指图画或照片中在主要人物或景象之后起衬托作用的部分。引申可表示“人的背景资料”,主要包括家庭、所属社会阶层、经历、学历状况等。还可表示“背景情况”,指事情发生时所处的时间、地点和外部环境等。
background主要用作可数名词。作“后景;背景”“底色”解时常用作单数名词;作“(事态发展等的)背景”解时常用作单数名词,也可用作不可数名词;作“不显眼的位置;幕后 ”解时只用作单数名词。
background后接介词for,of或to表示“某方面的背景或经历”; 接介词in 表示“在…背景中;在幕后”;前面加介词against表示“映衬在…背景上”。
‘柒’ 程序设计的名词解释是什么
程序设计是给出解决特定问题程序的过程,是软件构造活动中的重要组成部分。程序设计往往以某种程序设计语言为工具,给出这种语言下的程序。程序设计过程应当包括分析、设计、编码、测试、排错等不同阶段。专业的程序设计人员常被称为程序员。
对于接受的任务要进行认真的分析,研究所给定的条件,分析最后应达到的目标,找出解决问题的规律,选择解题的方法,完成实际问题。
(2)设计算法
即设计出解题的方法和具体步骤。
(3)编写程序
将算法翻译成计算机程序设计语言,对源程序进行编辑、编译和连接。
(4)运行程序,分析结果
运行可执行程序,得到运行结果。能得到运行结果并不意味着程序正确,要对结果进行分析,看它是否合理。不合理要对程序进行调试,即通过上机发现和排除程序中的故障的过程。
(5)编写程序文档
许多程序是提供给别人使用的,如同正式的产品应当提供产品说明书一样,正式提供给用户使用的程序,必须向用户提供程序说明书。内容应包括:程序名称、程序功能、运行环境、程序的装入和启动、需要输入的数据,以及使用注意事项等。
详见网络:http://ke..com/view/8332.htm?fr=aladdin
‘捌’ 关于电脑的的常用术语
电脑常用术语如下:
拷贝: 指将文件从一处复制一份完全一样的到另一处,而原来的一份依然保留。
删除: 指将文件从系统的目录清单中删掉,但许多情况下,用工具软件或Windows下自带的“回收站”均能恢复被删掉的文件,为了保险起见,用户最好养成对自己输入的文本或其它文件进行软盘备份,以防万一。
移动: 就是将拷贝操作和删除操作合二为一,原来的一份在拷贝完成后即被自动删掉。
共享: 这是在网络环境下文件使用时的一种设置属性,一般指多个用户可以同时打开或使用同一个文件(或数据)。
独占: 系指文件(或数据)同一时刻只能被一个用户打开,其它用户只能等待此用户放弃后,才能打开和使用它。
压包: 用工具软件将文件进行压缩存储的过程,常用的压包工具有WinZip 、Arj等。
解包: 压包的反过程,即将压包文件还原成原来的文件。
加密: 在网络通讯中,为了保证传输数据的保密性,用密码对文件和数据进行加密变换。
解密: 加密的反过程,使之变成可使用的正常数据。
上传:本地计算机与其它计算机通过网络连接成功后,将本机文件拷贝到其它计算机中的过程。
下载:在网络中,将对方计算机中的文件拷贝至本地计算机中的过程。
通配符: 为了提高对文件处理的效率,用*或?表示任意多个或一个字符,这样就可以一次性处理一批文件,如*.*即代表当前目录下的全部可见文件。
格式化: 指对磁盘进行使用前的预处理以便存入数据。一般而言,新盘是必须格式化的,而使用过的旧盘也可以格式化,格式化后磁盘上全部数据将被删除,Windows常见的格式有Fat16,Fat32,NTFS。
望采纳谢谢
‘玖’ 写程序专业术语叫什么
恩,然后起初你找工作时都叫程序员!
‘拾’ 软件编程常用术语
1. XML 首先,你要了解XML。我不是说仅仅是XML规格本身,还包括一系列相关的基于XML的语言:最重要的是XHTML、XSLT、XSL、DTDs、XML Schema (XSD)、XPath、XQuery和SOAP。那些在过去5年内从未碰过键盘的人,可能不知道XML为何物。XML是一种文本文件,使用与HTML类似的标记。XML能定义一个树状结构,并能描述所含的数据。 XML最好的一点是既能存结构化数据也能存非结构化数据。它既能存贮和描述“规格的”(regular)表格数据,也能容纳和描述“粗糙的”(ragged)文件数据。 XHTML是现今写HTML的首选方法。因为它是形式完好(well formed)的XML,比起古老的、通常是畸形(malformed)的HTML文件,XHTML格式的文件更容易处理。 XSLT和XSL是用于把XML文件转成其它格式的语言。可转换的格式包括:文本文件、PDF文件、HTML、以逗号为分隔符的文件,或其它XML文件。 DTD和XML Schema描述XML文件所能包含的内容的类型,并让你“验证”XML文件内容的合理性,而不用写特殊代码以确保内容符合规则要求。 XPath和XQuery是用于从XML文件中抽取单个项目或一组项目的查询语言。XQuery扩展了XPath,因而更重要。XQuery与XML的关系正像SQL与关系数据库的关系。 SOAP是Web服务之间的一个标准通讯协议。尽管你不需要对SOAP标准一清二楚,你应该熟悉一般的schema和它的工作原理,以便能应用这门技术。 2. Web服务 Web服务是XML流行后的一个直接产物。因为你能用XML描述数据和物件,因为你能用schema确保XML文件内容的合理性,因为XML是基于文本的规范,XML为跨平台通讯标准提供了一个极其方便的基本格式。如果你还从来没碰到Web服务,你可能很快就会碰到,在未来5年内,你几乎肯定会碰到。熟悉Web服务十分重要,因为它是目前所有跨不同机器、不同语言、不同平台和不同地点的通讯协议中最简单的一个。不管你需要与否,Web服务是迈向互用性的重要一步。 XML工作组主席John Bosak曾说XML“给Java一些事做”。实际上,Web服务让所有语言都有了一些事做。Web服务让在大型机上运行的COBOL应用软件能调用在手持设备上运行的Java应用程序、能让Java applet与.NET服务器交谈、能让微机软件与Web服务器无缝连接,并提供了一个相对容易的方法,让企业不光能向外界提供数据,还能提供功能,而且是一种与语言、平台和位置都独立的方法。 3. 面向对象的编程 很多程序员仍认为OOP是象牙塔里的技术。但如果你想一下是什么语言在过去的10年里占主导地位,你就会理解OOP不是象牙塔里的技术。OOP从Smalltalk开始,传到C++和Pascal (Delphi)。Java使OOP大踏步地迈向主流,几年后的VB.NET和C#则完全确立了OOP的优势地位。尽管这些语言中的多数并不要求你必须会OOP,但我觉得如果你不了解OOP的基本概念也不知道如何应用这些概念,你能找到的编程工作将越来越少。 4. Java、C++、C#和VB.NET 我把这些语言列在一起,并不是建议你成为每一种语言的专家。我的理由是:学习编程最有效的方法之一是看代码,而你能看到的大量的代码很可能不是用你所喜爱的语言编写的。 在过去几年,各语言的能力越来越接近。现在,你可以用VB.NET写Windows服务、Web应用程序或命令行程序。即使你只使用一种语言,你也应该学一些其它语言,以便能看懂那些样例,并将其翻译到你所用的语言。这4种语言是基本核心,还有其它一些满足不同需要、颇具用途的语言,如FORTRAN、COBOL、APL、ADA、Perl和Lisp。 5. javascript 尽管名字有些相像,但Java与javascript并无关联。为什么一个脚本语言会如此重要呢?因为所有主流浏览器都用javascript。如果你需要写Web应用程序,你就有足够的理由学javascript。javascript可以用作ASP或ASP.NET的服务器语言,也可以当做用于扩展XSLT的功能语言(functional language)。javascript是Mozilla/Netscape中用于激活基于XUL的程序接口的首选语言。javascript的一个变种ActionScript是Flash MX的编程语言。将来,javascript很可能成为新设备的编程语言,以及大型应用软件中的宏语言。 与javascript相对照的是VBScript。尽管Microsoft的软件对VBScript有良好的支持,但VBScript在未来的开发工作中很可能是一个糟糕的选择。就是Microsoft也倾向于用javascript(或Microsoft自己的变种:JScript)写客户端程序。在选择脚本语言时,请选择javascript。 6. 正则表达式(Regular Expressions) 查寻关系数据库可以用SQL,查询XML可以用XPath和XQuery,查询纯文本文件则可以用正则表达式。例如,你可以用一个命令从一个HTML文件中查找并删除所有的注释。各种开发语言内置的一些简单的文本查询功能,如"IndexOf"函数或VB中经典的"InStr"函数或"Like"操作符,根本不能与正则表达式相提并论。现在,各种主要的开发语言都提供使用正则表达式的途径。尽管正则表达式本身既难懂更难读(是回到早期计算机时代的一种倒退),但它却是一个功能强大而且未被充分利用的工具。 7. 设计模式 正像OOP通过把对象分类以简化编程一样,设计模式对一些普遍的对象之间的交互进行分类,并赋予一个恰当的名称。OOP用得越多,设计模式就越有用。一些最常用的模式的名称已经变成了软件开发领域共同使用的术语,所以要跟上信息的主流,你就要对设计模式有相当的理解。 8. Flash MX 如果你需要在客户端得到比HTML和CSS更多的图形和更强的编程功能,Flash是你的答案。用Flash编程比开发Java applets或写.NET代码要快得多,也容易得多。 在最新版本 (MX) 中,Flash不仅仅是画图和制造动画的工具,它已经成为一个编程功能强大的开发环境:能调用SOAP Web服务,也能调用远端服务器上的ColdFusion、Java或.NET程序。Flash无处不在。它的引擎存在于世界上大多数客户端计算机,包括手持设备、置顶盒、甚至是新的书写板电脑。所以使用Flash能大大扩展你的程序的应用范围。 9. Linux/Windows 熟悉Linux。在一台旧机器或新机器上安装Linux。下载图形用户界面,在其基础上写一些程序。安装Apache,写一个Web应用程序。这个世界不再仅仅是属于Windows,这种趋势可能还会持续下去。如果你是一名中坚的Linux开发人员,那就抛弃你对Windows的憎恶,看看你能否做一些Windows编程。Windows能继续在台式电脑上称王是有其原因的,这不仅仅是因为Microsoft控制了这个市场。 没人知道你们公司会在什么时候决定从Linux转向Windows(或从Windows转向Linux),或者你想跳到一家用另一种平台的公司,或者你想出了开发一个杀手软件的好主意,所以你要争取拥有在不同操作系统上的编程经验。 10. SQL 尽管SQL不像本文讨论的其它技术那样新,而且SQL的重要性在未来10年内很可能降低,但它仍然是一项基本技能。很多开发人员还没有掌握这门技术,或掌握得不够,不足以有效率地使用它。不要依赖具有图形用户界面的SQL生成器替你做事情,你要自己手工地写查询命令,直到你熟悉基本的SQL语法为止。了解SQL不仅能帮助你日后学习XQuery,你还有可能马上发现能简化或改进目前项目的方法。 培养好奇心 最后,(对,我意识到这是第11门技术),好奇心是你最重要的技能。要去尝试各种东西。新语言或新技术对你当前或将来的工作可能有用,也可能没用,但并不是你所学的每一件事都是为了工作。不要害怕失败,万事开头难,学新技术也是如此。大多数失败是因为人们希望太快地学到太多的东西。要对每一点进步感到满意,不要让时间(或缺乏时间)妨碍你。相反,你要安排时间留心、研究、试验新的开发技术和工具。 你可能永远也没有必要成为这些技术的专家,而且我的选择可能根本不适合你的特殊情况,但通过培养好奇心,你将会发现你应该了解的东西。