第一篇:编程语言的介绍
本文由2008146683贡献
doc1。
编程语言介绍
目录 [隐藏] 1 开放源代码的必要性 2 各种语言的选择 3 各种语言的选择 4
我为什么选择了 Python 5 Ruby 和 Python 的比较 5.1 Python 和 Ruby 的相同点
5.2 和 Python 相比 Ruby 的优点 5.3 和 Python 相比 Ruby 的不足 5.4 Pyth
on 和 Ruby 的语言的选择 6 多脚本语言的大统一及疑问 7 .NET 介绍 7.1 .NET
所实现的 Java 的功能 7.2 .NET 未实现的 Java 功能 7.3 .NET 实现的 Java
不具备的功能 7.4 相对 vs6 的改进 8 XML 各种技术介绍 9 最先进的 XML 格式图
形界面程序开发工具-XUL 10 最接近人类语言的编程语言-REBOL 11 最具有现代感 的 Lisp 解释器 DrScheme 12 eiffel 语言印象 13 mozart oz 语言 14 各种语言的
选择和语言之间的关系 14.1 一般是使用什么软件,就用什么软件的语言 14.2 然
后看处理什么样类型的数据 14.3 从语言特点来说 14.4 C 语言是最普及的语言,但 C 语言有一些缺点,因此,就产生了很多改进 C 的语言 14.5 关于图形用户界面 的选择 14.6 discuss 15 文学编程和 CWEB 介绍 16 贡献 [编辑] 开放源代码的必
要性 在介绍编程语言之前,先说说开放源代码的必要性。现在,在软件生产领域存在
巨大的智力浪费,大 家把大量的精力用在编写别人已经实现的程序代码上。看看,文
本编辑器有多少,看看 ftp 程序有多少,看看字处理程序有多少,这些程序虽然有
差别,但主要的功能都是一样的。要实现个性化的功能,在已有 的软件基础上修改会
节省多少时间呀!而每个程序各编一套,又浪费多少时间?如果,没有这些重复的工
作量,世界上的程序员至少可以节省 80%的工作量。同时,开放源代码也方便了大家 的交流,阅读源代码 应该是最直接最有效的学习途径,尤其是比较专业的领域。要
开放源代码,下面几点比较重要: 语言要流行。语言的函数和类库统一。语言的语
法和编译器要统一。编译器是否开放源代码。API 是否开放源代码。语言的可重用性、功能、友好
性。语言统一:如果大家都用一种编程语言,都用同样的函数,同样的类库,那么,大家的共同语言就会 很多。大家只要学会一种语言,一套函数,一套类库,就可以相
互读懂源代码,这样,学习量是最少的; 但是语言统一根本是不可能的事,因为各种
语言都有其特色,如果取了其中一个优点,通常就会牺牲另一 个优点。可是学习新 的 API 浪费程序员大量的时间和精力,尤其是当这个 API 有大量和其他 API 重复 的功 能的时候。要增加代码的可重用性,要从下面几点着手: 代码的可读性。如格
式、是否接近英语语法和单词。代码的表达能力,也就是简单性,能用最少的语句和
单词实现同样的功能。代码的结构性,如函数、模块、类。语言功能的强大从下面
几点来说: 是否拥有大量的库支持。这是最重要的,要求编写任何功能的程序都有强
大的库支持。语法功能是否强大,比如是否有出错处理。是否有指针。语言的友好
性: 语言包的大小,语言包越小,学习越简单。语言是否有友好的编辑调试环境。
语言的可视化和集成编程环境。
[编辑] 各种语言的选择 如果编写对性能要求苛刻,或和操作系统结合紧密的程序,必然选择 C。
如果编写到处可用的程序,选 Java。
如果编写大程序,可能的话尽量用脚本语言如 Python、Ruby,不行了再用 Java
和 C。因为脚本语 言带来了生产力。
编写文本的处理程序用 Perl 或 Ruby。
编写知识的处理程序用 prolog。编写最灵活,最模糊的程序用 Lisp。编写 office 程
序用 vba。编写服务器端程序,PHP、(采用自己熟悉的语言来写,例如 Perl、Pyt
hon、Ruby)CGI、ASP、(熟悉 Java 就用)JSP 都是选择。编写数据库程序用 vb、PowerBuiler 或 delphi。进行算法研究、设计,用 Pascal。[编辑] 各种语言的
选择 如果要追求性能和程序的能力,要完全发挥操作系统的能力,使用 C/C++语
言是合适的。Windows 在 环境下用 VC,在 Unix-like 环境下用 gcc。如果不是
追求和操作系统完美结合,而只是性能,又要追求跨平台性,那么仍然选择 C,但可
以选择 跨平台的库,如 qt、gtk、fox、wxWidgets。如果要编写游戏也有跨平台选择
:SDL。如果不满意 C 领域标准的不统一,不满意 C 的容易出错,不满意 C 的面向
对象特征不彻底。如果不在 乎跨平台,Windows平台可以选择 C#,mac平台可以选
择 Cocoa(Objective-C)。如果需要跨平台,可以选择 Java。如果需要跨平台,又要广泛的支持的话,选择 Java。在 Unix-like 下,最方便的工具语言是 Per
page 1 l,它有强大的社区和代码库的支持。
如果只作为简单应用的工具语言,Python 和 Ruby 是更好的选择,他们的跨平
台移植性好,应用也 比较广泛。其中 Python 更适合入门和交流,长期使用也不错。
Ruby 是对 Python 不满意的另一个选择,它提供了很多额外的功能。如果要选择一
个程序的嵌入语言,原来有 Lisp、Basic 和 Java,现在还可以选择 Python 和 Rub
y。如果在要求动态解释执行语言,而又不想学其他语言的话,C 程序员的选择是 p
ike,Java 程序员的 选择是 beanshell。在 Java平台,又想用脚本语言的话,可
以用 Python。最正统的基于文档的语言或叫动态页面语言是 JavaScript。最专门 的服务器端语言是 PHP,当然也有很多其他选择。XML 语言以 XUL 为最着名,dtml
也算一个,你自己也可以用 XML 作为自己特殊用途的语言。比如 jedit 就用 XML
作为一种模式定制语言。XML 语言是一种比较先进的趋势,比现有的语言在特殊领域
更高 效。要找容易实现的语言,Lisp 和 Tcl 是选择。Lisp 的数据和程序融为一
体的能力和自由是其他语言都没有的。现在出现了一个 Lisp 的现代化的变 种:REB
OL。如果有基于事实的编程的需要的话,prolog 和 Clips 是必然。[编辑] 我为什
么选择了 Python 首先声明,我编程只编应用程序,就是代替自己工作的小程序。如
果编写系统程序总会用到 C 或 Java 的。我喜欢脚本语言,脚本语言不用编译就可
以运行,非常便于修改,而编程序是一种经常性的活动,程 序编完后总在不断的修改
中,没必要搞的很隆重,还要编译。另外,脚本程序每个使用的人都可以随手拿 来修
改,不会出现还要去找源代码的情况。因此,C/C++和 Java 就被排除了。我喜欢
简单的语言,不喜欢为了编写简单的程序而去学习大量复杂的规定,需要大量的学习
才会的语 言不是好语言,是把人当机器看。C/C++和 Java 都有严格但罗索的语法,有永远学不完的函数、类、库。让人看到就头大。而 Perl 有各种怪里怪气的速记
符号,程序常常让人头晕。简单的含义除了容易学,还要 功能丰富,常用到的东西要
早就准备好,不用每个人都去写同样的数据结构程序等。Python 有丰富的数 据类型,有完备的面向对象的结构,有规则表达式等各种方便编程的模块。这个逻辑就是程
序做的多,人 做的就少,如果程序做的少,就要人做的多。这就是界面友好的问题。
容易上手,功能丰富是程序设计的 很重要的目标,Windows 就是靠这个流行的。P
ython 也很好的体现了这点。Perl 象 Unix 的 emaCs 而 而 之类其它工具一样,功
能强大,但太难学,太难懂。是比较违背人性的。关于性能。现在 Cpu 已经很强大
了。除了很大的程序和系统程序,没必要关心性能。关于功能。如果不是编写系统程
序和贴近系统的程序,没必要使用操作系统特别提供的功能。C 是可 以干任何事情,但它编程效率低,复杂。至于我为什么不用 vb,因为 vb 太庞大了。我没必要实现
一个小功能启动这么庞大的程序。太夸张。另外,vb 没有类继承,虽然是应用编程,但如果要编稍微大的程序,总会用到类继承的。Python 得强大得扩展能力使对 P
ython 得学习不会浪费。Python 经过简单得处理能使用各种得 C 和 C++库,也可
以被 C 和 C++调用。Python 可以直接使用 Java 得类,也可以直接被 Java 调用
。这样,对 Python、Java、C 得学习和使用经验都不会被浪费,还能相互补充。Py
thon 可以提高 Java 和 C 得编 程效率,Java 和 C 可以补充 Python 功能上得不
足。Python 还可以和 Tcl 直接交互,这种功能是内置得。期待 Python 能简单的
调用 Perl 和 PHP 得功能。能使用 Lisp 和 prolog 更好。[编辑] Ruby 和 Pytho
n 的比较 [编辑] Python 和 Ruby 的相同点 都强调语法简单,都具有更一般的表达
方式。Python 是缩进,Ruby 是类 Basic 的表达。都大量减少 了符号。都是动态数据类型。都是有丰富的数据结构。都具有 C 语言扩展能力,都具有
可移植性,比 Perl 的可移植性更好。也都可以作为嵌入语言。都是面向对象的语言,都可以作为大项目的开发工具。都有丰富的库支持。也有最宽松的版权许可,除
了一些工具属于 GNU 世界。都有 Lisp 特色的 eval 函数,也都能把函数作为参数
。也有图形界面的 Ruby 的专门编辑器。都获得了广泛的 C 库的支持。如 qt、gt
k、tk、SDL、FOX 等,Ruby 计划实现 SWIG 接口。都有完善的文档。[编辑] 和 P
ython 相比 Ruby 的优点 具有正则表达式和嵌入 HTML 的功能。Python 也有正则表
达式,但没有 Ruby 的应用方便和广泛。Python 的嵌入 HTML 项目才刚起步。Ruby
还有 apaChe 的 mod 模块。Ruby 本身也实现和很多 Unix 工具,如 raCC,doCtoo
ls。比 Python 更亲近Linux。比 Python 功能更完整的面向对象的语法。Ruby 的
page 2 整个库都是具有类继承的结构。他的基本的数据类型和运算符都是可以重载的。Ru
by 主要的功能都是通过对象的方法调用来实现的,而不是函数。Python 也在向这方
面发展,但没 有 Ruby 做的彻底。Ruby 的类是更规范的单继承,还有接口等概念的
实现。Python 可以实现在列表内的条件语句、循环语句,Ruby 用“块”的方式来
实现这个功能,Python 而 比 的更灵活,更具有通用性。Ruby 具有类似 Lisp 的
彻底的函数方式的条件语句、循环语句等。语句的表达能力更强。附带一些 Unix 工
具,如 raCC 等。[编辑] 和 Python 相比 Ruby 的不足 最大的不足正是因为 Ruby 的强大所引起的。它没有 Python 的简单性好。比较复杂的面向对象语法、“块”
语法的引入、正则表达式的引入、一些简写标记都增加了语言的复杂性。Python 的
缩进表达方式比 Ruby 的 Basic 的表达方式更让人悦目,Ruby 程序的满眼的 end 让
人不 舒服。当然,Ruby 认为 end 的方式比 Python 更先进。Ruby 还没有 Python 的“自省”的能力,没有从程序文件中生成文档的能力。Ruby 支持不及 Python 广
。国际化支持在 Ruby 的计划中。这是因为 Ruby 的历史比 Python 要短 造成的。
[编辑] Python 和 Ruby 的语言的选择 从简单的就是好的来说,Python 是没错的。
选 Python 适合寻找简单语言的人,这很可能造成 Python 更流行,因此也有更多 的支持。但如果要追求更强大的语法功能,对编程语言感兴趣,想了解各种编程概 念 的人,则 Ruby 是好的选择。Ruby 和 Python 都想取代 Perl,解决 Perl 的缺点—
—面向对象不足,但 Python 用是方法是混合面向对象和程序式的程式语言,Ruby
是允许自己这个面向对象语言扮成程序式的 程式语言,[编辑] 多脚本语言的大统一
及疑问 现在各种脚本语言太多了,有必要进行整合,parrot 是一个好的想法。.NE
T 也是好的想法。它为各 种脚本提供了一个统一的虚机,为各种脚本语言提供了基于
“类”的相互调用,为各种脚本提供了统一的类 库。现在各种脚本语言只是提供了
对 C 语言的交互性,这种交互也是费劲的和效果不好的。比如 Python、Perl、Rub
y 等都提供了对 C 的交互功能。脚本语言之间的交流障碍重重。而类似.NET 的东西,提供了 非常容易的各种脚本的相互利用的途径,避免了很多的代码的重复编写。这
种标准平台的力量是很大的,这种标准平台为什么没有在开源领域首先出现呢?众多的脚本正是开源的特点和
优势,为什么这种问题要 微软来解决呢?前面有人提出了类似的问题,在 Linux 中
为什么至今没有好用的类似 ODBC 的东西呢? 可能这种整合只有商业公司有能力实现 吧。我的理解是,如果有创新思想的人都拿他的想法去卖钱了,因此,在开源中只剩
下了模仿的人。kde 是模仿 Windows,koffice 是模仿 office,Linux 是模仿 Unix,gcc、bash 等也全都是模仿,以及 gstep 等,还有 freedos、atheos 等也是模仿,wxWindows、SDL 也是模仿。我想知道开源社区有没有自己 的创新?我所知道的创
新是 zope,但 zope 最初也是商业产品,后来才开源的。Perl 是创新,Python 是
创新,但还有什么呢?是不是开源领域只有 hacker,没有 Creator? [编辑] .
NET
介绍 [编辑] .NET 所实现的 Java 的功能 可控代码 跨平台的虚机和伪码 免费赠
送命令行编译器 纯面向对象语言 对 XML 和 XML web serviCes 的支持 和 jsp 对应 的 asp.NET 网页上的程序 一套统一的中间件环境。asp. NET 跟 jsp 不是同一个
层次上的 web 技术,asp. NET 使用完善的事件响应机制,WinForms 类似的 Web
Form 技术,只有 JSF 跟 Asp.NET 有可比性。[编辑] .NET 未实现的 Java 功能
免费的集成开发环境 多厂家支持,跨平台的成熟度 免费的 IDE,#develop,AS
P.NET 的有 MS 的 WebMatrix 而免费开源的 CLR 实现,有 MS 自己的 XP,FreeBS
D,Mac OS 下的 实现(原理演示不能进行商业应用),Novell 下的 Mono 项目,已经发布了 Beta1 版本,在 2004-6-30 将会发布 Release1; 还有 GNU 的一个.
NET 实现![编辑] .NET 实现的 Java 不具备的功能
多语言支持 强大的集成开
发环境。在 Windows 上媲美本机程序的速度。对 COM 的支持,对 vs 的继承 对
widows form、web form、服务器端程序的图形直观编程。[编辑] 相对 vs6 的改进
统一了集成开发环境,使 C++程序也具有了 vb 的友好性。[编辑] XML 各种技术
介绍 XML: XML 是统一格式的结构化数据的文本文件。基于 XML 的程序,数据结构
是开放的,方便不同程序处理同一种文件,这样,程序之间可以达到高水平的协作。
XML 现在成为了各行各业统一数据格式的基础。XML 发展出了完善的语法,它用 D
TD 或 XMLscheme 来界定 XML 的标记语言。用 uri 来唯一确定 一个 XML 格式。用
page 3 Css 或 XLT 来转换 XML 格式,xlink 和 xpointer 等来建立 XML 的链接,用 xpa
th 来定位 XML 中的数据。xHTML: 是严格符合 XML 格式的 HTML。RDF: 基于 X
ML 的元数据描述语言。方便交换结构化数据。方便交换知识。RDF 是用主语、谓语、宾语来描述知识的。SVG: XML 格式的矢量图形格式。SMILE: XML 格式的各种
多媒体在时间线上的协同。xmath: XML 格式的公式描述语言。
XML-rpC 和 soap: 以 http 协议和 XML 格式来进行网络程序之间的消息通讯
。XUL: netsCape 的 mazilla 使用的程序界面语言,基于 XML 格式,比 HTML 强
大的多的描述图形界面的 XML 语言。它用 Css 来换肤,用 DTD 来实现多语言界面,用 JavasCript 来实现程序逻辑,以此编写跨平台的可方便定制界面的程序,现在这
个程序 API 功能已经很强大了,整个 mazilla 程序就是基于 XUL 的。xaml: MS
在 LongHorn平台的最新编程语言,将统一 Windows 与 Web 编程,直接使用 Lon
gHorn 下的 浏览器进行执行,跟 XUL 有类比性 [编辑] 最先进的 XML 格式图形界
面程序开发工具-XUL 大家知道 netsCape 程序,一个仅次于 ie 得浏览器,也有很
多人知道 Mozilla,netsCape 得开放源 代码版本。但很多人只是使用 Mozilla,不
知道 Mozilla 另一个重要得功能--程序开发。在 netsCape 开放源代码后三年 Mo
zilla 得 1。0 版还没有问世,很多人讥笑他的超慢得开发速度,实际上,Mozilla
酝 酿出了一个超酷得新产品,可以看作是软件开发工具发展得另一个里程碑。现在
基于浏览器得三层开发结构非常流行,微软的.NET 的思路就是基于这个结构得。另
外,不考虑 服务器结构,就是基于网页得 JavaScript 小程序也对人很有吸引力,这
些产品得思路都是以 HTML 为用 户界面,但开发人员常常苦恼于 HTML 太简陋。而
Mozilla 得 XUL 解决了这个问题。XUL 是对 HTML 的扩展,完全兼容于 HTML,X
UL 基于 XML 格式对 HTML 进行了扩展,实现了完整、强大得图形用户界面设计功
能。可以设计出复杂得图形界面程序。实际上 mazilla 整个就是由 XUL 设计的。
XUL 用 Css 来控制界面风格、用 DTD 来替代字符串,方便的实现本地化,用 Java
sCript 来对用户界面 的操作作出反应,提供基本的逻辑编程,JavaScript 通过对象
文档接口 DOM 来动态控制用户界面。同时 JavasCript 通过调用 Mozilla 提供的丰
富的底层 API 来实现强大的功能。Mozilla 提供了功能强大的 API 可以进行文件操
作、网络操作、图形操作等各种操作,并且这种 API 是完全跨平台的。最后,Mozil
la 用 RDF 格式来存储独立于界面的数据。总结:XUL 由于兼容 HTML,提供了最强
大的用户界面的定制,DTD 提供了最方便的本地化。XUL、JavasCript、RDF 提供了
显示、逻辑、数据的分离。Mozilla 的底层 API 提供了跨平台的强大编程能力。希
望大家都来关心 Mozilla。[编辑] 最接近人类语言的编程语言-REBOL REBOL 的详
细资料见 www.xiexiebang.combinator
ial Problems 组合问题 Sorting 排序 Searching 查找 Median and Selection 中位
数 Generating Permutations 排列生成 Generating Subsets 子集生成 Generating
Partitions 划分生成 Generating Graphs 图的生成 Calendrical Calculations 日
期 Job Scheduling 工程安排 Satisfiability 可满足性 Graph Problems--polyn
omial 图论-多项式算法 Connected Components 连通分支 Topological Sorting 拓
扑排序
Minimum Spanning Tree 最小生成树 Shortest Path 最短路径 Transitive Cl
osure and Reduction 传递闭包 Matching 匹配 Eulerian Cycle / Chinese Postma
n Euler 回路/中国邮路 Edge and Vertex Connectivity 割边/割点 Network Flow
网络流 Drawing Graphs Nicely 图的描绘 Drawing Trees 树的描绘 Planarity Det
ection and Embedding平面性检测和嵌入 Graph Problems--hard 图论-NP 问题
Clique 最大团 Independent Set 独立集 Vertex Cover 点覆盖 Traveling Salesma n Problem 旅行商问题 Hamiltonian Cycle Hamilton 回路 Graph Partition 图的划
分 Vertex Coloring 点染色 Edge Coloring 边染色 Graph Isomorphism 同构 Stei
ner Tree Steiner 树 Feedback Edge/Vertex Set 最大无环子图 Computational Ge
ometry 计算几何 Convex Hull 凸包 Triangulation 三角剖分 Voronoi Diagrams V
oronoi 图 Nearest Neighbor Search 最近点对查询 Range Search 范围查询 Point
Location 位置查询 Intersection Detection 碰撞测试 Bin Packing 装箱问题 Me
page 6 dial-Axis Transformation 中轴变换 Polygon Partitioning 多边形分割 Simplify
ing Polygons 多边形化简 Shape Similarity 相似多边形 Motion Planning 运动规
划 Maintaining Line Arrangements平面分割 Minkowski Sum Minkowski 和 Set a
nd String Problems 集合与串的问题 Set Cover 集合覆盖 Set Packing 集合配置
String Matching 模式匹配 Approximate String Matching 模糊匹配 Text Compres
sion 压缩
Cryptography 密码 Finite State Machine Minimization 有穷自动机简化 Lo
ngest Common Substring 最长公共子串 Shortest Common Superstring 最短公共父
串 DP——Dynamic Programming——动态规划 recursion —— 递归 编程词汇 A2A
integration A2A 整合 abstract 抽象的 abstract base class(ABC)抽象基类 abs
tract class 抽象类 abstraction 抽象、抽象物、抽象性 access 存取、访问 acce
ss level 访问级别 access function 访问函数 account 账户 action active 动作
活动的 activate 激活 actual parameter 实参 adapter 适配器 add-in 插件 add
ress 地址 address space 地址空间 address-of operator 取地址操作符 ADL(arg
ument-dependent lookup)ADO(ActiveX Data Object)ActiveX 数据对象 advanced
高级的 aggregation 聚合、聚集 algorithm 算法 alias 别名 align 排列、对齐 a llocate 分配、配置 allocator 分配器、配置器 angle bracket 尖括号 annotatio
n 注解、评注 API(Application Programming Interface)应用(程序)编程接口 ap
p domain(application domain)应用域 application 应用、应用程序 application
framework 应用程序框架 appearance 外观 append 附加 architecture 架构、体系
结构
archive file 归档文件、存档文件 argument 引数(传给函式的值)。参见 par
ameter array 数组 arrow operator 箭头操作符 ASP(Active Server Page)活动服务
器页面 ASP.NET worker process ASP.NET 工作者进程 assembly 装配件、配件 汇编
语言 装配件清单 assembly language assembly manifest assert(ion)断言 assig
n 赋值 assignment 赋值、分配 assignment operator 赋值操作符 associated 相关 的、相关联的 associative container 关联式容器(对应 sequential container)a
synchronous 异步的 atomic attribute 原子的 原子操作 特性、属性 atomic oper
ation authentication service 验证服务 authorization 授权 audio A.I.音频 人
工智能 背景、后台(进程)向后兼容、向下兼容
B2B integration B2B 整合、B2B 集成(business-to-business integration)
background backup 备份 backward compatible backup device 备份设备 backup f
ile 备份文件 bandwidth 带宽 base class 基类 base type 基类型 batch 批处理
BCL(base class library)基类库 binary 二进制 binary search 二分查找 binary
tree 二叉树 binary function 双参函数 binary large object 二进制大对象 bin
ary operator 二元操作符 binding 绑定 bit 位 bitmap 位图 bitwise 按位⋯.bitwise copy 为单元进行复制;位元逐一复制,按位拷
bitwise operation 按位运算 block 块、区块、语句块 bookkeeping 簿记 bo
olean 布林值(真假值,true 或 false)border 边框 bounds checking 边界检查 b oxing 装箱、装箱转换 brace(curly brace)大括号、花括号 bracket(square br
akcet)中括号、方括号 breakpoint 断点 browser applications 浏览器应用(程序)browser-accessible application 可经由浏览器访问的应用程序 build 编连(专指
编译和连接 built-in 内建、内置 bus 总线 business 业务、商务(看场合)busine
ss Logic 业务逻辑 business rules 业务规则 buttons 按钮 bug 臭虫 by/through
通过 byte 位元组(由 8 bits 组成)cache 高速缓存 calendar 日历 call 调用 c
allback 回调 call-level interface(CLI)调用级接口(CLI)call operator 调用操
作符 candidate key 候选键(for database)cascading delete 级联删除(for da
tabase)cascading update 级联更新(for database)casting catalog chain 转型、造型转换 目录 链(function calls)character 字符 character format 字符格式 character set 字符集 CHECK c
page 7 onstraints CHECK 约束(for database)checkpoint 检查点(for database)chec
k box 复选框 check button 复选按钮 child class 子类 CIL(common intermedia
te language)通用中间语言、通用中介语言
class 类 类定义 类厂 类库 类装载器 类模板 类模板特化
class declaration 类声明 class definition class factory class library
class loader class template class derivation list 类继承列表 class hierar
chy 类层次结构
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 客户机/服务器、客户端/服务器 cli pboard 剪贴板 clone 克隆 CLS(common language specification)通用语言规范
code access security 代码访问安全 COFF(Common Object File Format)collect
ion 集合 COM(Component Object Model)组件对象模型 combo box 组合框 comman
d line 命令行 comment 注释 commit 提交(for database)communication 通讯 c
ompatible 兼容 compile time 编译期、编译时 compiler 编译器 component 组件
composite index 复合索引、组合索引(for database)composite key 复合键、组
合键(for database)composition concept 概念 concrete 具体的 concrete clas
s 具体类 concurrency 并发、并发机制 复合、组合 通用对象文件格式 constraint 约束(for database)configuration 配置、组态 connection co
nsole constant 连接(for database)connection pooling 连接池 控制台 常量 construct 构件、成分、概念、构造(for language)constructor(ctor)构
造函数、构造器 container 容器 containment 包容 context 环境、上下文 contro
l 控件 cookie(不译)copy CORBA cover 拷贝 通用对象请求中介架构(Common Obj
ect Request Broker Architecture)覆盖、涵盖 创建、生成 交叉表查询(for dat
abase)create/creation crosstab query CRTP(curiously recurring template pattern)CTS(common type system)通
用类型系统 cube 多维数据集(for database)cursor 光标 cursor 游标(for dat
abase)custom 定制、自定义 data 数据 数据连接(for database)data connecti
on Data Control Language(DCL)数据控制语言(DCL)(for database)Data Def
inition Language(DDL)数据定义语言(DDL)(for database)data dictionary 数
据字典(for database)data dictionary view 数据字典视图(for database)dat
a file 数据文件(for database)data integrity 数据完整性(for database)da
ta manipulation language(DML)数据操作语言(DML)(for database)data mart 数
据集市(for database)data pump 数据抽取(for database)data scrubbing 数据
清理(for database)data source 数据源(for database)数据仓库(for databa
se)Data source name(DSN)数据源名称(DSN)(for database)data warehouse d
ataset 数据集(for database)database 数据库(for database)database catalog 数据库目录(for datab
ase)database diagram 数据关系图(for database)database file 数据库文件(for database)database object database owner database role 数据库对象(for database)数据库所有者(for database)数据库角色(for
database)database project 数据库工程(for database)database schema 数据库模式、数据库架构(for database)database script 数据库脚本(for database)data
-bound data member dataset data source data table datagram 数据绑定(for d
atabase)数据成员、成员变量 数据源(for database)数据表(for database)数
page 8 据报文 data-aware control 数据感知控件(for database)数据集(for database)data structure 数据结构
DBMS(database management system)数据库管理系统(for database)DCOM(distributed COM)分布式 COM dead lock 死锁(for database)deallocate 归还 d
ebug debugger decay 调试 调试器 退化
decision support 决策支持 declaration 声明 declarative referential in
tegrity(DRI)声明引用完整性(DRI)(for database)deduction 推导 DEFAULT con
straint 默认约束(for database)default database 默认数据库(for database)
default instance 默认实例(for database)default result set 默认结果集(f
or database)default defer delegate 缺省、默认值 推迟 委托 definition 定义 delegation 委托 dependent name deploy 部署 dereferenc
e 解引用 dereference operator(提领)运算子 derived class 派生类 design by
contract 契约式设计 design pattern 设计模式 destroy device 销毁 设备 destr
uctor(dtor)析构函数、析构器
DHTML(dynamic HyperText Markup Language)动态超文本标记语言 dialog di
gest 对话框 摘要
digital 数字的 DIME(Direct Internet Message Encapsulation)直接 Inter
net 消息封装 directive(编译)指示符 directory 目录 dirty pages 脏页(for d
atabase)dirty read 脏读(for database)disassembler 反汇编器 DISCO(Disco
very of Web Services)Web Services 的查找 disk 盘 dispatch 调度、分派、派发
(我喜欢“调度”)DISPID(Dispatch Identifier)分派标识符 distributed comp
uting 分布式计算 distributed query document 文档 DOM(Document Object Mode
l)文档对象模型dot operator(圆)点操作符 driver 驱动(程序)DTD(document ty
pe definition)文档类型定义 double-byte character set(DBCS)双字节字符集(D
BCS)dump 转储 动态游标(for database)动态筛选(for database)动态锁定(f
or database)dump file 转储文件 dynamic cursor dynamic filter dynamic lock
ing 分布式查询(for database)DNA(Distributed interNet Application)分布式
网间应用程序
dynamic recovery 动态恢复(for database)dynamic snapshot 动态快照(f
or database)dynamic SQL statements 动态 SQL 语句(for database)dynamic a
ssembly 动态装配件、动态配件 dynamic binding 动态绑定 EAI(enterprise appl
ication integration)企业应用程序集成(整合)EBCO(empty base class optimiza
tion)e-business 电子商务 空基类优化(机制)
EDI(Dlectronic Data Interchange)电子数据交换 efficiency 效率 efficie nt 高效 end-to-end authentication 端对端身份验证 end user 最终用户 engine
引擎 封装 entity 实体 encapsulation enclosing class 外围类别(与巢状类别 nested class 有关)enum(enumerat
ion)枚举 enumerators 枚举成员、枚举器 equal equality error log 相等 相等性
错误日志(for database)equality operator 等号操作符 escape code 转义码 escape character 转义
符、转义字符 exclusive lock evaluate 评估 event 事件 event driven 事件驱动 的 event handler 事件处理器 evidence 证据 exception 异常 exception declara
tion 异常声明 exception handling 异常处理、异常处理机制 exception-safe 异常
安全的 exception specification 异常规范 exit 退出 explicit 显式 explicit s
pecialization 显式特化 export facility 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)导出 设施、设备 特性、特征 expression 表达
式 fat client 胖客户端 排它锁(for database)explicit transaction 显式事务
(for database)page 9 form 窗体
formal parameter 形参 forward declaration 前置声明 forward-only 只向前 的 forward-only cursor 只向前游标(for database)fragmentation 碎片(for d
atabase)framework 框架 full specialization 完全特化 function 函数 functio
n call operator(即 operator())函数调用操作符 function object 函数对象 f
unction overloaded resolution 函数重载决议 functionality functor 仿函数 GA C(global assembly cache)全局装配件缓存、全局配件缓存 GC(Garbage collect
ion)game 游戏 generate 生成 generic 泛化的、一般化的、通用的 generic algo
rithm 通用算法 genericity 泛型 getter(相对于 setter)取值函数 global 全局的
global object 全局对象 global scope resolution operator 全局范围解析操作符
grant group group box GUI 授权(for database)组、群 分组框 图形界面 握手
granularity 粒度 垃圾回收(机制)、垃圾收集(机制)功能 function template 函
数模板
GUID(Globally Unique Identifier)全球唯一标识符 hand shaking handle
handler 句柄 处理器
hard-coded 硬编码的 hard-copy 截屏图 hard disk 硬盘 hardware 硬件 has
h table 散列表、哈希表 header file 头文件 heap 堆 help file 帮助文件 hiera
rchy 层次结构、继承体系
hierarchical data 阶层式数据、层次式数据 hook 钩子 热键 Host(applica
tion)宿主(应用程序)hot key hyperlink 超链接 HTML(HyperText Markup Langua
ge)超文本标记语言 HTTP pipeline HTTP 管道 HTTP(HyperText Transfer Protoc
ol)超文本传输协议 icon 图标 接口定义语言 IDE(Integrated Development Envi
ronment)集成开发环境 IDL(Interface Definition Language)identifier 标识符
idle time 空闲时间 if and only if 当且仅当 IL(Intermediate Language)中间
语言、中介语言 image 图象 IME 输入法 直接基类 直接派生类 immediate base im
mediate derived immediate updating 即时更新(for database)implicit transaction 隐式事
务(for database)incremental update 增量更新(for database)index impleme
nt implicit import infinite loop information infrastructure inheritance in
line initialization initialize inner join instance instantiated instantiat ion integrate 索引(for database)实现 隐式 导入 无限循环 信息 基础设施 继
承、继承机制 内联 初始化 初始化 内联接(for database)实例 具现化、实体化(常应用于 template)具现体、具现化实体(常应用于 template)集成、整合 implementation 实现、实现品
increment operator 增加操作符 infinite recursive 无限递归
inline expansion 内联展开 initialization list 初始化列表、初始值列表 in-place active 现场激活 integrity 完整性、一致性
integrity constraint 完整性约束(for database)interprocess communica
tion(IPC)进程间通讯(IPC)interacts 交互 interface 接口 for GUI 界面 inter
operability 互操作性、互操作能力 interpreter invariants invoke iterate 解释
器 不变性 调用 迭代 introspection 自省
isolation level 隔离级别(for database)iterative 反复的、迭代的 iter
ator 迭代器 iteration 迭代(回圈每次轮回称为一个 iteration)item key laser
项、条款、项目 键(for database)键列(for database)激光 JIT compilation
JIT 编译 即时编译 key column late binding 迟绑定 left outer join 左向外联接(for database)level l
ibrary lifetime link linkage linker list 阶、层例 库 生命期、寿命 连接、链
接 连接、链接 连接器、链接器 high level 高阶、高层
literal constant 字面常数 列表、表、链表 list box 列表框 livelock 活锁
page 10(for database)load 装载、加载 load balancing 负载平衡 loader 装载器、载入
器 local 局部的 local object lock 锁 log 日志 login 登录 login security mo
de 登录安全模式(for database)lookup table 查找表(for database)局部对象
loop lvalue macro maintain 循环 左值 机器码、机器代码 宏 维护
loose coupling 松散耦合 machine code managed code 受控代码、托管代码 Managed Extensions 受控扩充件、托管扩 展 managed object 受控对象、托管对象 mangled name manifest 清单 manipulato
r 操纵器(iostream 预先定义的一种东西)many-to-many relationship 多对多关系
(for database)many-to-one relationship 多对一关系(for database)marshal
列集 member 成员 成员取用运算子(有 dot 和 arrow 两种)成员函数 member acc
ess operator member function member initialization list 成员初始值列表 memberwise 以 member 为单元
⋯、members 逐一⋯memberwise copy memory menu 内存 菜单 memory leak 内存泄
漏 message 消息 message based 基于消息的 message loop 消息环 message queui
ng 消息队列 metadata 元数据 metaprogramming 元编程 method 方法 micro 微 mi
ddleware 中间件 middle tier 中间层 modeling 建模 modeling language 建模语言
modifier 修饰字、修饰符 modem module mouse mutex 调制解调器 模块 鼠标 互斥
元、互斥体 多维 OLAP(MOLAP)(for database)most derived class 最底层的派生类 mutable 可变的 multidimensional OLA
P(MOLAP)multithreaded server application 多线程服务器应用程序 multiuser multi
-tasking multi-thread 多用户 多任务 多线程 命名参数
multicast delegate 组播委托、多点委托 named parameter namespace nativ
e named pipe 命名管道 名字空间、命名空间 原生的、本地的
native code 本地码、本机码 Native Image Generator(NGEN)本地映像生成器
nested class 嵌套类 nested query 嵌套查询(for database)nested table 嵌套
表(for database)network 网络 network card 网卡 nondependent name object
object file 对象 目标文件 object based 基于对象的 object model 对象模型 ob
ject oriented 面向对象的 object pooling 对象池化 ODBC data source ODBC 数据
源(for database)ODBC driver ODBC 驱动程序(for database)OLE 自动化对象
(for database)OLE 自动化服务器(for database)ODR(one-definition rule)OLE Automation objects OLE Automation serve r OLE DB consumer OLE DB 使用者(for database)OLE DB for OLAP 用于 OLA
P 的 OLE DB(for database)OLE DB provider OLE DB 提供者(for database)on
e-to-many relationship 一对多关系(for database)one-to-one relationship 一
对一关系(for database)online analytical processing(OLAP)online redo lo
g online transaction processing(OLTP)Open Data Services(ODS)operand 操
作数 联机分析处理(OLAP)(for database)联机事务处理(OLTP)(for database)联
机重做日志(for database)开放式数据服务(ODS)(for database)Open Database Connectivity(ODBC)开放式数据库连接(ODBC)(for databas
e)operating system(OS)操作系统 operation 操作 operator option 操作符、运
算符 选项
optimizer 优化器
outer join 外联接(for database)overflow overhead overload 上限溢位(相对于 underflow)额外开销 重载 重载决议 重载的函数 overload resolution overloaded function override package palette para
llel overloaded operator 被重载的操作符 覆写、重载、重新定义 包 调色板 并行
page 11 packaging 打包
parameter 参数、形式参数、形参 parameter list 参数列表 parameterize p
arent class parentheses parse parser part 解析 解析器 零件、部件 传址(函式
引数的传递方式)(非正式用语)参数化 父类 圆括弧、圆括号
partial specialization 局部特化 pass by address pass by reference 传地
址、按引用传递 pass by value 按值传递 pattern 模式 可移植可执行文件 PDA(p
ersonal digital assistant)个人数字助理 PE(Portable Executable)file perfo
rmance persistence pixel 像素 placement delete placement new placeholder 占
位符 platform平台 性能 持久性
PInvoke(platform invoke service)平台调用服务
POD(plain old data(type))POI(point of instantiation)pointer 指针
poll 轮询 pooling 池化 polymorphism 多态 pop up port postfix 弹出式 端口
后缀
precedence 优先序(通常用于运算子的优先执行次序)prefix 前缀 预处理器
主表(for database)preprocessor primary table primary key(PK)主键(PK)(for database)primary template 原始模板 pri
mitive type 原始类型 print printer 打印 打印机
procedure 过程 procedural 过程式的、过程化的 process profile profiler
program 进程 评测 效能(性能)评测器 程序
programmer 程序员 programming 编程、程序设计 progress bar 进度指示器
project property protocol 项目、工程 属性 协议
pseudo code 伪码 qualified 经过资格修饰(例如加上 scope 运算子)qualif
ied name qualifier 修饰符 quality queue radian radio button raise range ra
nk raw 质量 队列 弧度 单选按钮 引发(常用来表示发出一个 exception)范围、区
间 等级 未经处理的
race condition 竞争条件(多线程环境常用语)random number 随机数
readOnly 只读 record 记录(for database)recordset 记录集(for databa
se recursive 递归 re-direction 重定向 refactoring refer 重构 引用、参考 reference 引用、参考 reference counting 引用计数
referential integrity(RI)引用完整性(RI)(for database)register refl
ection 寄存器 反射
refresh data 刷新数据(for database)regular expression 正则表达式 re
lational database 关系数据库 remote represent resolve resolution result se
t return return type return value revoke robust robustness roll back routi
ne row row lock rowset 远程 表述,表现 解析、决议 解析过程 结果集(for dat abase)返回 返回类型 返回值 remote request 远程请求
retrieve data 检索数据
right outer join 右向外联接(for database)撤销 健壮 健壮性 回滚(for
database)例程 行(for database)行锁(for database)行集(for database)roll forward 前滚(for database)RPC(remote procedure call)RPC(远程过程调用)runtime 执行期、运行期、执行时、运行时 rvalue 右值 save 保存 savepoint 保存点(for database)SAX(Simple API for XML)scalable 可伸缩的、可扩展的 schedule 调度 scheduler 调
度程序 schema scope 模式、纲目结构 作用域、生存空间 scroll bar 滚动条 scop
e operator 生存空间操作符 scope resolution operator 生存空间解析操作符 scr
een 屏幕 SDK(Software Development Kit)软件开发包 sealed class 密封类 sear
ch 查找
semantics 语义 semaphore 信号量 sequential container 序列式容器 serve
r serial 服务器、服务端 串行
serialization/serialize 序列化 server cursor 服务端游标、服务器游标(for database)session setter sibling signature slider 滑块 slot 槽 smart p
page 12 ointer 智能指针 SMTP(Simple Mail Transfer Protocol)snapshot snapshot 截屏
图 快照(for database)简单邮件传输协议 会话(for database)设值函数 同级
签名
shared lock 共享锁(for database)side effect 副作用 single-threaded
单线程
specialization 特化 specification 规范、规格 splitter software source
code 切分窗口 简单对象访问协议 软件 源码、源代码 SOAP(simple object acce
ss protocol)SQL(Structured Query Language)结构化查询语言(for database)stack 栈、堆栈 stack unwinding 叠辗转开解(此词用于 exception 主题)standard librar y 标准库 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 子例程 sub
script operator 下标操作符 subset 子集
subtype 子类型 support 支持 suspend 挂起 symbol syntax 记号 语法 系统
数据库(for database)系统表(for database)system databases system tables table 表(for database)table lock 表锁(for database)table-level constraint 表级约束(for d
atabase)tape backup 磁带备份(for database)target 标的,目标 task switch
工作切换 TCP(Transport Control Protocol)template template-id template ar
gument deduction template parameter 模板参数 模板参数推导 template explici
t specialization 模板显式特化 模板 传输控制协议
template template parameter temporary object 临时对象 temporary table
临时表(for database)text 文本 text file 文本文件 thin client 瘦客户端 t
hird-party 第三方 thread 线程 thread-safe 线程安全的 throw 抛出、引发(常指
发出一个 exception)token 符号、标记、令牌(看场合)trace 跟踪 transactio
n 事务(for database)transaction log 事务日志(for database)transaction
rollback 事务回滚(for database)transactional replication 事务复制(for d
atabase)translation unit 翻译单元 traverse 遍历 trigger 触发器(for datab
ase)two-phase commit 两阶段提交(for database)tuple two-phase lookup 两阶
段查找 type 类型 UDDI(Universary Description, Discovery and Integration)统 一描述、查询与集成
UML(unified modeling language)统一建模语言 unary function 单参函数 u
nary operator 一元操作符 unboxing underflow Union query unique index unmar
shal unqualified 拆箱、拆箱转换 下限溢位(相对于 overflow)联合查询(for da
tabase)唯一索引(for database)散集 未经限定的、未经修饰的 统一资源定位器
UNIQUE constraints UNIQUE 约束(for database)unmanaged code 非受控代
码、非托管代码
URI(Uniform Resource identifier)统一资源标识符 URL(Uniform Resourc
e Locator)user 用户 user interface 用户界面 value types 值类型 variable 变
量 vector viable video view 向量(一种容器,有点类似 array)可行的 视频 视图
VEE(Virtual Execution Engine)虚拟执行引擎 vendor 厂商 view 视图(for
database)虚拟机 虚拟内存 web 服务 WHERE 子句(for database)通配符搜索(for database)窗口 窗口函数 窗口过程 virtual function 虚函数 virtual machi
ne virtual memory vowel Web Services WHERE clause wildcard search window w
page 13 indow function window procedure wizard 向导 word 单词 包装、包装器 word pr
ocessor 字处理器 wrapper write enable 写启用(for database)write-ahead lo
g 预写日志(for database)write-only 只写 WSDL(Web Service Description La
nguage)Web Service 描述语言
元音字母
wildcard characters 通配符字符(for database)Windows authentication Windows 身份验证
XML Message Interface(XMI)XSD(XML Schema Definition)XML 消息接口 XML 模式定义语言
XML(eXtensible Markup Language)可扩展标记语言 XSL(eXtensible Style
sheet Language)可扩展样式表语言 XSLT(eXtensible Stylesheet Language Tran
sformation)可扩展样式表语言转换 xxx based 基于 xxx 的 xxx oriented 面向 xx
x page 14__
第二篇:编程语言学习心得
程序语言学习的总结
通过两年的学习,我们基本上掌握了C语言,C++和C#三个编程课程。对于程序设计语言的学习,分为学习语法规定、掌握程序设计方法、提高程序开发能力,这些都必须通过充分的实际上机操作才能完成。课程上的安排除了课堂讲授以外,学院设有专门课堂到实验室进行上机操作实验。
要利用c语言学到的知识编写c语言程序,即把c语言作为工具,通过上机才能检验自己是否掌握c语言、自己编写的程序是否能够正确地解题。通过上机实验来验证自己编制的程序是否正确。在这种思想支配下,可能你会想办法去“掩盖”程序中的错误,而不是尽可能多地发现程序中存在的问题。自己编好程序上机调试运行时,可能有很多你想不到的情况发生,通过解决这些问题,可以逐步提高自己对c语言的理解和程序开发能力。
在原有的C语言的基础知识之上,初步接触C++时感到比较简单易懂。但随着之后的步步深入学习,C++的不同之处以及其优势逐。从第二章引入了C++简单程序的设计。包括一些C++语言的概述,基本数据类型和表达式,数据的输入与输出,算法的基本东芝结构,以及自定义类型数据等知识。此部分多与C语言相似。之后又学习了函数的相关内容,这里学到了新的知识要点----函数重载。该内容尤其在现在做课程设计的时候尤为重要。类是C++语言的精华之所在,在学习中,我感觉到类和C语言中的结构体有很大的相似之处,但在类中的构造函数、拷贝构造函数以及类的组合,经常弄混淆一些概念。在这之后又学习了类的继承与派生。这使得类与类之间形成了树状图的模型,各子类可以访问到父类的一些数据成员,同样也实现了数据的之间的“共享”。我个人在编写派生类的构造函数和拷贝构造函数时,感觉很不熟练,后面章节的多态性主要学习了运算符的重载,其本质就是函数的重载。
在学习C#中,类是具有相同特性和行为的对象的抽象。它使用关键字class声明的。在c#中仅允许单个继承,类只能从一个基类继承实现。但是一个类可以实现一个以上的接口。对象是人们要进行研究的任何事物,从最简单的整数到复杂的飞机等局可以看对象,它不仅表示具体的事物,还能表示抽象的规则、计划或者事件。接口只是包含方法、委托或事件的签名。方法的实现是在实现接口的类中完成的。接口可以是命名空间或类的成员,并可以包含下列成员:每个C#可执行文件都有一个入口—Main方法:static void Main()修饰符public表示可以在任何地方访问该方法。所以可以在类的外部调用它。修饰符static表示方法不能在类的实例上执行,因此不必先实例化类在调用。在变量声明时:变量是类或者结构中的字段,如果没有显示初始化,创建这些变量时,其值就是默认的0。变量是方法的局部变量就必须在代码中显示初始化,之后才能在语句中使用它们的值。
课堂上要讲授许多关于语法规则,要使用这些工具解决问题,通过多次上机练习,对于语法知识有了更深刻的认识,在理解的基础上就会自然而然地掌握。一个程序从编辑、编译、连接到运行,都要在一定的外部操作环境下才能进行。通过上机实验,熟练地掌握开发环境,为以后真正编写计算机程序解决实际问题打下基础。
第三篇:C语言编程
#include(stdio.h)
main()
{ int question[4]={-1,-1,-1,-1},i=0,j=0,k=0,A=0,B=0,answer[4]={0};
char again='y';
while(again=='y'){ srand((int)time(0));
while(i4){ k=(int)rand()%10;
for(j=0;ji;j++)if(k==question[j]){ k=-1;break;}
if(k==-1)continue;question[i]=k;i++;}/*while i*/
for(i=8;i0;i--)/*还有8次机会*/
{ A=0;B=0;printf(“n你还剩下%d次机会。”,i);
printf(“n请输入四个0-9之间的数字,中间用空格隔开n”);for(j=0;j4;j++)scanf(“%d”,&answer[j]);
for(j=0;j4;j++)
for(k=0;k4;k++)
{ if(answer[j]==question[k]){ if(j==k)A++;else B++;} }/*for*/
if(A==4){ again='0';
printf(“n你赢了,还继续猜吗?(y/n)”);
while(again!='y'&&again!='n')
scanf(“...%c”,&again);break;}/*if*/
printf(“n%dA%dB”,A,B);if(i==1){ again='0';
printf(“n你输了,正确答案是”);
for(j=0;j4;j++)
printf(“%dt”,question[j]);
printf(“n还继续吗?(y/n)”);
while(again!='y'&&again!='n')scanf(“%c”,&again);
printf(“%c”,again);break;}/*if*/ }/*for changce*/ }/*while again*/ printf(“感谢您玩这个游戏。”);}
第四篇:CNC编程介绍
CNC编程介绍
Computerized Numerical Control指的是数控加工中心,也就是普通的加工机器现在变成用电脑控制的那一种。
数控冲床(CNC Turret punch)的特点
通常市场上说的CNC培训主要指铣床,捎带讲加工中心,相对而言,工作机会比较多,工资也比其它机种高一些,但接受培训的人也多,只要看看华人培训学校的广告就知道,没有一家没有这方面培训的,竞争也十分激烈。相对而言,数控冲床则有很多大家不了解的地方: [ 相约加拿大:枫下论坛 rolia.net/forum ]
(1)数控冲床的培训至今在多伦多还没有,我咨询过4家公立学院,华人培训学校和一些洋人的培训学校,都没有。因此竞争相对平和一些;
(2)冲床给大家的概念是很危险的工种,因为在国内,冲床经常会发生冲掉手指等事故,但那是手工冲床。没有红外线保护,我最早看到进口CNC冲床是在国内的展览会上,展示机器正在加工一个熊猫图案的样品,实际上数控冲床是十分安全的,这种冲床完全不同于你想象中国内那种冲床,从安全性来讲,操作员远离机器,仅仅是按一个START按钮就可以了,连STOP键都不必按;同时,机器运转时操作员远离机器,而操作员操作时机器则停着,即机动人停,人动机停,不可能冲动手;全部的机器动作由程序控制,一旦机器运转不正常,只会停下来,给出一个报警信息,不会有其它事故发生;
(3)冲床是二维平面运动,很容易入门,实际上对新移民来讲是更快捷的就业之路,尤其是对那些非机械专业的技术移民非常适合,不需要三维的想象能力要求,当然如果你已经学过CNC铣床再转过来学冲床就是非常容易的事了,另外也不要求你会编程,你只要会操作就可以了,顶多学会setup,而这都不是难事。
(4)是脱离纯打工处境的捷径,为什么这么讲,大家知道,学铣床你必须学会编程你才算真正独立工作,而冲床就不一样,会SETUP就已经可以了,编程则作为专门的职位,有专人在编程,你要做的就是把程序那里把零件加工出来,反过来讲,一旦你成为programmer就不要在车间干活了,你就到office,到技术部门去编程了,不再属于labor,而这个过程,如果你努力的话,有1年时间就可以达到,因为你要做的就是学会Pro-engineer这个软件的钣金件设计功能,而同样的时间内,你能成为铣床的程序员吗?你的铣床编程水平最高,你也得在车间干,我不是诋毁铣床,而正说明铣床比较复杂,冲床更适合新移民学。
(5)就业面广,具有turret punch machine的工厂肯定有CNCpunch press, CNC brake press machine, 相当部分公司还会有laser cuttingsystem(CNC),一部分公司有AMADA等全自动punch machine,它们全部是CNC,所以工作机会非常多,一旦有操作全自动punchmachine(如AMADA)经验,工资起薪可达到18/小时,即使是junior再低也要15元/小时,也就是说在这几种工作中你可以不局限在某一个机种,只要找到其中一种机器,你就和CNC挂上钩了,也和冲床挂上钩了。
第五篇:vb语言编程教案
课
题:vb语言编程概述 课 时:2课时 授课时间:2011.09.05 课堂类型:讲授
教学目的:1.熟悉VB界面和VB集成开发环境;
2.在实际操作中学会编简单的VB应用程序;
教学要求:1.掌握VB基础知识。
2.会编简单的VB应用程序。
教学重点:1.熟悉VB集成开发环境
2.编写简单VB应用程序。
教学难点:在熟悉VB界面的同时学习编写简单VB应用程序 教学方法:讲授 教学过程:
一、VB简介
BASIC是英文Beginner’s All-purpose Symbolic Instruction Code(初学者通用符号指令代码)的缩写,它是专门为初学者设计的高级语言。Visual Basic是Microsoft公司于1991年推出的基于窗口的可视化程序设计语言。
a.“Visual”是“可视化的”、“形象化的”的意思。b.因此Visual Basic也具有易学易用的特点
c.目前Visual Basic的最新版本是Visual Basic 6.0(简称VB 6.0)
二、启动VB
1、首先显示“新建工程”对话框
直接单击“打开”按钮,创建“标准EXE”类型应用程序,进入集成开发环境主界面。
2、集成开发环境中的各元素 1)标题栏:用来显示窗口的标题。2)菜单栏 3)工具栏 4)工具箱 5)窗体窗口 6)工程窗口 7)属性窗口 8)窗体布局窗口
三、通过一个简单的应用程序快速入门
【例1.1(实训1,p16)】制作一个的一个简单的应用程序的运行界面。它由一个窗体、一个文本框、一个标签和一个命令按钮组成。当用户单击命令按钮“显示”时,文本框中出现“教你学VB”。1.新建工程 2.添加文本框Text1 3.添加命令按钮Command1 4.添加标签Label1 5.设置属性 6.编写事件过程代码
前面的工作把应用程序的界面设计好了,属性也设置完毕。但现在应用程序并不能实现实际的功能。为了使它具有一定的功能,还必须为对象编写实现某一功能的事件过程代码。1)双击窗体上的“显示”按钮,屏幕上出现代码窗口,程序代码就在这里编写。编写如下事件过程:
Private Sub Command1_Click()Text1.Text = “欢迎使用VB” End Sub 2)运行应用程序 3)保存应用程序
VB应用程序至少有两种文件需要保存: · 窗体文件(.frm)· 工程文件(.vbp)4)生成EXE文件
四、总结步骤
设计VB应用程序主要有以下4个步骤:(1)设计用户界面。(2)设置属性。(3)编写代码。(4)保存和运行调试程序,生成EXE文件。
五、知识延伸
1、只有一个文本框的实例 编写如下事件过程:
Private Sub Command1_Click()Text1.Text = “教你学VB“ End Sub
2、多个文本框时 编写如下事件过程:
Private Sub Command1_Click()Text1.Text = ”教你学VB“ Text2.Text = “欢迎使用VB“ End Sub
3、按照系统的元件特性分类(分别举例说明)课后实训1 第二个命令按钮:清除 第三个命令按钮:退出 步骤:
1.添加2个命令按钮 2.双击按钮,进入编程状态 3.和显示按钮命令编程相似 编写如下事件过程: Private Sub Command2_Click()Text1.Text = ” “ End Sub Private Sub Command3_Click()End End Sub
4、图片的加载方法
Private Sub Form_Load()Image1.Picture = LoadPicture(App.Path + “1.BMP”)End Sub
六、小结 1.熟悉界面。
2.掌握完整编程过程以及运行及调试程序的过程。