免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2919 | 回复: 8
打印 上一主题 下一主题

请教各种程序语言的比较 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2003-05-13 21:30 |只看该作者 |倒序浏览
使用过C++,   UnixShell, 还有VB, 现在看delphi,  脑子对这几个语言有点乱了,  希望高手们帮个忙:比较其中几种语言语法、数据结构、功能的具体实现及其编程环境等的不同,谈谈某一种语言的演变历史也行。先谢了。

论坛徽章:
0
2 [报告]
发表于 2003-05-13 21:48 |只看该作者

请教各种程序语言的比较

VB 简单,但是功能不强大,写大代码时不容易维护,所以一般用于写小程序

DELPHI语法检查严格,另外有许多面向对象特征,只是需要有BORLAND编译器,跨平台性不好,另外开发界面时速度快,可执行程序速度也快,常用于开发界面

SHELL 语法简单,功能强大(可以使用系统中所有的命令来写),但执行速度慢,常用于写系统维护程序(如cron脚本)

C++面向对象的开发中使用
另外许多系统上都有编译器,所以跨平台上好
运行性能高,
用于开发系统级程序或是多平台程序
另外面有面向对象功能,所以大的软件也用它开发

论坛徽章:
0
3 [报告]
发表于 2003-05-13 21:50 |只看该作者

请教各种程序语言的比较

我觉得学那么多没有多少用
只要精通一两种就可以了

如果是在UNIX上脚本语言是要精通的
因为可以很方便的帮助你做许多事

另外再选择C++或JAVA
VB只是写小程序
DELPHI只是开发界面,技术量不是很高,当然MONEY也不是很多
所以还是上面那两种语言学好了就OK了

论坛徽章:
0
4 [报告]
发表于 2003-05-13 22:07 |只看该作者

请教各种程序语言的比较

语言不分好坏,只是没有语言都会有它适用的场所。
即便是在大家眼里所谓VB这样的“弱”语言,也可以写出XP这样操作系统来。

论坛徽章:
0
5 [报告]
发表于 2003-05-13 22:09 |只看该作者

请教各种程序语言的比较

[quote]原帖由 "无双"]C++面向对象的开发中使用,另外许多系统上都有编译器,所以跨平台上好运行性能高,所以大的软件也用它开发。。。DELPHI只是开发界面,技术量不是很高,当然MONEY也不是很多。。。[/quote 发表:

如果只运行在window系统平台,VB和delphi也可以了。
至于MONEY,唉这年代就是经济挂帅,程序员也逃不掉这框。

现在各行业涌现出一些用VB和delphi编的软件,有点不是很规范,过一段时间使用者老觉得不好用,要作改。所过才萌发了学delphi的念头。
谢谢你的回贴,让我在迷雾中看到了一丝亮光。
虽然你作了概括式的发言,我也想知道大家是怎么看这几个语言的。

论坛徽章:
0
6 [报告]
发表于 2003-05-15 18:54 |只看该作者

请教各种程序语言的比较

感觉就中国而言……语言和行业环境很有关系
如果确定了行业那就比较好把握需要的语言了

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
7 [报告]
发表于 2003-05-16 01:44 |只看该作者

请教各种程序语言的比较

请问Cobol语言具体用在什么行业? 银行吗?  为什么呢

论坛徽章:
0
8 [报告]
发表于 2003-05-16 12:29 |只看该作者

请教各种程序语言的比较

COBOL语言,又称通用商业语言,在财会工作、统计报表、计划编制、 情报检索、人事管理等数据管理及商业数据处理领域,都有着广泛的 应用。COBOL程序由4部(DIVISION)组成,而每个部又由若干节 (SECTION)组成。

  (1) IDENTIFICATION DIVISION.(标识部)

  (2) ENVIRONMENT DIVISION.(环境部)

  (3) DATA DIVISION.(数据部)

  FILE SECTION(文件节)

  FD...

  SD...

  WORKING STORAGE SECTION. (工作存储节)

  (4) PROCEDURE DIVISION.(过程部)

  2000年的来临,使得以往COBOL程序在数据部中定义的6位日期型数据变量(YYMMDD)的计算、比较及排序运行结果出现了错误。具体表现如下:

  1 日期型数据变量的计算

  例:COMPUTE WORKING-PERIOD = CURRENT-DATE - WORK-JOINED-DATE

  如果用此例来计算工龄,则2000年以后,工龄可能出现负值错误,如: 000321 - 890720 (2000年3月21日 - 1989年7月20日)。

  2 两个日期型数据变量的比较

  例:IF DATE1 >; DATE2 PROGRAM1 ELSE PROGRAM2

  如果DATE1与DATE2的年份都是2位,那么2000年时,这两个数据变量 中的值就变为00xxxx,从而使比较结果可能出现错误。

  3 SORT语句中用日期型数据变量作为关键字进行排序

  例:SORT SAMPLE-FILE ON ASCENDING KEY BIRTH-DATE

  INPUT PROCEDURE INP-SEC

  GIVING WORKF.

  此例用出生日期作关键字排序。若出生年份为2位,则到2000年后排

  序结果也会出现错误。

  修正这些错误的具体方法如下:

  (1) 根据系统设计说明书、文件说明书阅读程序,找出程序中的日 期型数据变量。

  1文件节(FD、SD)中定义的数据变量;

  2工作存储节(WORKING STORAGE SECTION)中定义的数据变量;

  3源程序及拷贝程序中使用的数据变量。

  (2) 将原来2位年份的日期型数据变量,在工作存储节中增加一个描 述4位年份的 变量(SORT语句的日期变量则必须紧跟在文件节中的 SD之后)。

  例:1 01 WORK-JOINED-DATE PIC X(06). ?

  01 WORK-JOINED-DATE-2000.(增加定义,插在工作存储节中)

  02 WORK-JOINED-DATE-1 PIC XX.

  02 WORK-JOINED-DATE-2 PIC X(06).

  2 01 DATE1

  PIC 9(06). ?

  01 DATE1-2000

  PIC 9(0. (增加定义,插在工作存储节中)

  3 01 SD SORT-FILE.

  01 SORT-REC.

  ...

  02 BIRTH-DATE

  PIC 9(06).

  ...

?

  02 BIRTH-DATE-2000 PIC 9(0.(增加定义,插在SD最后)

  (3) 相应过程部(PROCEDURE DIVISION)中的对应程序如下。

  例:1

  * *** 公历2000年对应 START 1997.12.05 ***

  (注释对应开始)

  * COMPUTE WORKING-PERIOD =

  CURRENT-DATE - WORK-JOINED-DATE. (原语句注释掉)

  ...(CURRENT-DATE对应,与下边类似)

  MOVE WORK-JOINED-DATE TO WORK-JOINED-DATE-2.

  IF WORK-JOINED-DATE < '300000'(年份小于30,为2000年以后年份)

  MOVE '20' TO WORK-JOINED-DATE-1

  ELSE (年份大于30,为1900年以后年份)

  MOVE '19' TO WORK-JOINED-DATE-1.

  COMPUTE WORKING-PERIOD =

  CURRENT-DATE-2000 - WORK-JOINED-DATE-2000

  (用对应后的日期进行计算,结果没有错误)

  * *** 公历2000年对应 END 1997.12.05 ***(注释对应结束)

  2

  * *** 公历2000年对应START 1997.12.05 ***(注释对应开始)

  *IF DATE1 >; DATE2 PROGRAM1 ELSE PROGRAM2. (原语句注释掉)

  IF DATE1 〈 300000

  COMPUTE DATE1-2000 = DATE1 + 20000000

  (年份小于30,为2000年以后年份)

  ELSE

  COMPUTE DATE1-2000 = DATE1 + 19000000.

  (年份大于30,为1900年以后年份)

  ...(DATE2 对应,与上边类似).

  IF DATE1-2000 >; DATE2-2000 PROGRAM1 ELSE PROGRAM2.

  (用对应后的日期进行比较,程序流程没有错误)

  * *** 公历2000年对应 END 1997.12.05 ***(注释对应结束)

  3

  * *** 公历2000年对应START 1997.12.05 ***(注释对应开始)

  *SORT SORTF ON ASCENDING KEY BIRTH-DATE(原语句注释掉)

  SORT SORTF ON ASCENDING KEY BIRTH-DATE-2000

  (用对应后的日期作为键值,排序结果没有错误)

  * *** 公历2000年对应 END 1997.12.05 ***(注释对应结束)

  INPUT PROCEDURE INP-SEC

  GIVING WORKF.

  ...

  * *** 公历2000年对应 START 1997.12.05 *** (注释对应开始)

  * RELEASE SORTFR.(原语句注释掉)

  IF BIRTH-DATE 〈 300000 (年份小于30,为2000年以后年份)

  COMPUTE BIRTH-DATE-2000 = BIRTH-DATE + 20000000

  ELSE (年份大于30,为1900年以后年份)

  COMPUTE BIRTH-DATE-2000 = BIRTH-DATE + 19000000.

  (在排序语句RELEASE前,将键值对应完毕)

  RELEASE SORTR.

  * *** 公历2000年对应 END 1997.12.05 ***(注释对应结束)

  按以上方法,就可以解决COBOL语言的2000年问题。

论坛徽章:
0
9 [报告]
发表于 2003-05-16 12:29 |只看该作者

请教各种程序语言的比较

[quote]原帖由 "系统工程师"]请问Cobol语言具体用在什么行业? 银行吗?  为什么呢[/quote 发表:

金融的确用的比较多,cobol主要用于是后台程序的开发(大机),别的行业有大机的不多。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP