社区
C语言
帖子详情
[调查]大家觉得C和Pascal相比如何啊?
ouyadi
2004-08-28 09:36:16
有点无聊,大家说说看,我知道大部分人都会说C好的(因为这里是C的地盘嘛),那为什么说C好呢?
...全文
722
17
打赏
收藏
[调查]大家觉得C和Pascal相比如何啊?
有点无聊,大家说说看,我知道大部分人都会说C好的(因为这里是C的地盘嘛),那为什么说C好呢?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
17 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
武稀松
2004-10-22
打赏
举报
回复
两者低层开发能力是相同的。最大的却别是风格不同。
人们对它们的评价往往是个人喜好的倾向而已
baojian88888
2004-10-22
打赏
举报
回复
我不觉得 C 不严谨
baojian88888
2004-10-22
打赏
举报
回复
我不喜欢pascal
是因为我不喜欢它的
BEGIN
IF
...
ELSE
..
ENDIF
END
敲着真是麻烦。
而 C 只要 { } if else 。
看 C 多简洁!
ked
2004-10-22
打赏
举报
回复
C更灵活;而Pascal更严谨。
说C更强大 倒不一定
pressman
2004-10-22
打赏
举报
回复
都不错
晨星
2004-10-22
打赏
举报
回复
C更灵活,更强大;而Pascal更严谨。
liubingqian
2004-10-22
打赏
举报
回复
想说的都让plainsong(短歌)(不用马甲——马甲都扔垃圾堆了)说了。
yjh1982
2004-10-22
打赏
举报
回复
我只觉得pascal 可怜.
梦想家大魔王
2004-08-29
打赏
举报
回复
整天讨论这种问题真的很有必要么?说好说孬都是人家的意思,各人都有自己的喜好,别人说的一定适合你么?你的标准一定适合别人么?
fengyvn
2004-08-29
打赏
举报
回复
打个比喻来说,pascal语法严谨优美,就跟古典音乐一样.
C的语法比较随意,更像摇滚乐.
C本来就是贝尔实验室专门为底层开发而开发的语言,这方面比pascal更有优势.
new_c
2004-08-29
打赏
举报
回复
呵呵 支持C系列
ouyadi
2004-08-29
打赏
举报
回复
呵呵,我只不过是刚才程序写累了,所以随便发的,并没有真的觉得哪个好哪个差。
我倒是觉得C和Pascal基本一样,除了Pascal比较烦以外
Rance
2004-08-28
打赏
举报
回复
编程语言远不是最重要的
短歌如风
2004-08-28
打赏
举报
回复
Pascal本来是为了教学目的产生的,并不适合于软件开发,因为它不支持多源文件联编;后来Borland公司扩充了Pascal的内容,加进了“单元”的概念,才让Pascal变得实用起来。用Borland公司的话说:“Turbo Pascal不是Pascal。”
其实Pascal与C是很象的,C(比较规范的)代码与Pascal代码之间的翻译几乎可以完全由程序实现,只是Pascal更严谨,而C更灵活。C的表达式与Pascal相比能力更强,连“赋值”都是一个有返回值的表达式,所以在C中可以用“a = b = c = d = 0”这样的表达式来把多个变量设为同一个值,而在Pascal中必须要用多个赋值语句。用C的表达式甚至可以实现分支语句的能力(用三目操作符),再加上循环可以用递归来实现,这要在C代码中你甚至可以不使用流程控制语句(但代码很可能会很难懂)。
灵活的代价是很容易出错。比如在条件中把“==”操作符错写成“=”操作符——这是C代码中觉的错误,而在Pascal中如果你在条件表达式中使用“:=”是绝对无法通过编译的。再比如在C中可以把指针当数组用,这样就可能在调用一个要求数组作为参数的函数中传一个非数组的指针进去;而Pascal是严格区分“指向数组的指针”和“指向单个元素的指针”的。
C号称是“最简洁的通用语言”,简洁在这里有两层含义,一是指代码简洁——这是由C功能强大的表达式带来的特点,但过于简洁的代码通常会导至可读性下降。我曾经见过C程序员费尽心机地把多条语句的功能用一个表达式来完成,不过后来他自己也不清楚这条表达式的功能了……这种行为只适合于锻炼程序员的能力而不应该在软件开发中使用。
简洁的另一层含义是指C语言本身简洁,因为它的保留字很少——连输入输出语句都没有,要由函数去完成(注意:Pascal的输入输出是语句而不是函数,你无法写一个函数接口与readln一样)。简洁的代价就是不是很好用,C的输入输出没有Pascal好用;C中没有字符串类型导致字符串操作很不直观等等。
关于开发能力问题,事实上C能完成的Pascal基本上也都能完成,Pascal不能完成的内容在C中也要去调用汇编编写的函数。C可以开发操作系统(与汇编结合的情况下),Pascal也同样能作到。事实上,在这一层上C的唯一优点是曾经的高效,这是因为C就象汇编一样为实现同样的运算提供了多种选择,程序员就可以选择一种最快的实现。但随着编译理论的发展,C的这个能力已经成为历史,现在的C代码并不一定比Pascal代码高效。
其实C与Pascal相比最大的优点应该是“标准”和“支持”。C是一种有国际标准的通用编程语言,Pascal是不是有标准?我不太了解,听说已经委托给Borland公司了。各个生产开发工具的公司都在生产C编译器(其实现状是生产C++编译器同时兼容旧标准的C),它们运行在各种不同的当前流行的操作系统上,而Pascal相比之下没有什么支持。
south_river
2004-08-28
打赏
举报
回复
你看看现在数据结构,算法的书大部分都是 c/c++的
coyprightbao
2004-08-28
打赏
举报
回复
他们是本家,那有自家人争高下的,儿子能跟老子比吗?^_^
nichotilikai
2004-08-28
打赏
举报
回复
我挺喜欢PASCAL的语法风格的。
C语言的发明一开始就是为了实用,沃思开发PASCAL的初衷是为了有一个适合于教学的语言,并没有想到商业应用,虽然以后PASCAL也流行开来,但C的功能,特别是底层的能力更强一些,对程序员有更大的自由,包括UNIX在内的很多(也可以说是大部分)操作系统都是由C写成,在此之上的开发用C也更直接(方便)一些。
Pascal
程序设计(二级)——基础篇01介绍课程
概述本课程的目的,结合时代特点,略微谈谈教学的时代背景,学习层次和目的。
c语言课程教学改革,C语言课程教学改革和实践.doc
C语言课程教学改革和实践C语言课程教学改革和实践程序设计课程在计算机科学(Computer Science, CS)专业新生的教学中起着相当基础的作用,CS专业包括计算机科学与技术、软件工程和网络工程。尽管近年来涌现了很多新...
c语言编程行数显示,C语言编程中统计输入的行数以及单词个数的方法
统计输入的行数标准库保证输入文本流以行序列的...#include /* count lines in input */main(){int c, nl;nl = 0;while ((c = getchar()) != EOF)if (c == '\n')++nl;printf("%d\n", nl);}在该程序中,while 循环语...
unix是c语言编写的程序称为,从零开始C(节选自《C语言教程(原书第4版)》)
C的外部变量和静态变量在默认情况下被初始化为0。本书解释了C的所有概念,并带你领略用C进行编程的快乐。C是一种通用的编程语言,最初是在1972年由贝尔实验室的Dennis Ritchie所设计,并在一台PDP-11机器上实现。一...
10亿行C ++代码使用3万元/个的电脑处理器AMD Threadripper 3990X:在64核CPU处理器256GB内存电脑上编译需要多长时间?
RAD Studio由Delphi和C ++ Builder组成。在Delphi方面,Object
Pascal
编译器是单行编译器,并且编译器本身不是并行编译器,但是当并行编译多个项目时,它能够在5分钟内在AMD Ryzen 9 5950x上编译10亿行Object
Pascal
...
C语言
69,371
社区成员
243,080
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章