[调查]大家觉得C和Pascal相比如何啊?

ouyadi 2004-08-28 09:36:16
有点无聊,大家说说看,我知道大部分人都会说C好的(因为这里是C的地盘嘛),那为什么说C好呢?
...全文
722 17 打赏 收藏 转发到动态 举报
写回复
用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也更直接(方便)一些。

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧