作者:依然-狠幸福 | 2023-08-15 21:14
我班上提出了关于C和C#的论点.
我说过,说C&C#是相同的(意思是:功能相同,但不是概念).
根据概念不同:C#意味着比C更容易编程.C更具描述性.功能相同:使用C#制作的所有内容 - 您也可以使用C(包括OOP)制作.
是对的吗?
编辑:
在阅读答案时,我注意到我的问题并不清楚.
请参阅语言的语法.好像我在问:对于C程序员来说,学习C#会非常容易吗?或者它就像一个全新的语言(比如组装会有很大不同)......
从这个意义上讲,我会说C和C#几乎是一样的.
(对不起来感到抱歉)
1> Randy Procto..:
好吧,他们都是图灵完成的.
这里要记住的关键是图灵机能够计算我们知道可计算的所有内容(显然它不是一个非常有效的工具,但:) :).因此,如果图灵机可以完成可以计算的所有事情,并且语言X是图灵完备的,那么语言X必然可以完成所有可以计算的事情.
但请注意,图灵完整性对于语言来说是一个非常微不足道的目标.您不仅想要计算可计算的函数,而且几乎总是想要控制硬件.图灵完整语言(+库)不一定能打开套接字,读取串口,或改变显示器的省电模式.仅仅因为图灵完成两种语言(受资源限制)并不意味着你可以用另一种语言完成一种语言.它们可能具有不同的资源约束和不同的硬件接口功能.
好吧,Bf是Turing Complete,它在功能上不等于C#或C.
从某种意义上说"C/C#中的任何东西都可以在BF中完成,那么是的,绝对意味着它.显然BF很少,如果有的话,它将成为这项工作最有效的工具,但它始终是可能的.
在您考虑使用特定语言"执行某些操作"之前,可能会参考源代码和输出代码.如果"某事"是"用X字符编写一个hello world程序",那么就存在一个X,这样我就可以在Perl中"做到",但在Java中"无法做到".图灵忽略了这种"某种东西".这些问题对程序员很重要,但对正式功能对等的证明则不重要.提问者的编辑重新定义了与源的外观"完全相同",而非正式的等价.声明"C没有封闭",有意义.
2> AraK..:
C是一种针对系统编程的通用语言.
C#是一种针对应用程序编程的通用语言.
两者都提供了比其他区域更好地完成所需工作的工具.所以,不,他们是不同的.
@Don我想我必须澄清我的答案.
当你说:
C#意味着比C更容易编程.C更具描述性.
错了,这取决于.对于操作系统程序员,我会说C会更容易玩.甚至奇点也有一些用C语言写成的部分.
功能相同:使用C#制作的所有内容 - 您也可以使用C(包括OOP)制作.
再说一次,你能告诉我如何在C中写Lambda吗?....
在一天结束时,两者都是图灵完全,这意味着,任何可以使用第一个计算,可以使用第二个计算.我不明白这个问题是计算理论的一个练习,对不起,如果这就是问题的意义.