Java、C# 和 Python 有多相似?
我知道这个问题有点宽泛,但任何回答都很受欢迎。
10 个回答
7
C#和Java的语法几乎一模一样,而且它们的库也很相似。不过,它们之间还是有一些需要注意的区别,比如Java中的类型擦除。
而Python就完全不同了。它是一种动态语言(而C#和Java不是)。Python的风格更像是Ruby这样的语言。
11
Python是一种动态语言,而Java和C#则不是。它们之间的差别非常大。用Python完成某些事情的方法,可能在Java和C#中就不太适用,反过来也一样。
虽然Java和C#看起来很相似,但它们之间其实有很多不同之处。精通其中一种语言,并不意味着你就能轻松掌握另一种。它们的语法和库确实有相似之处,所以在学习其中一种时会比较容易上手,但也有一些细微的差别可能会让你感到困惑。
15
大家好:
- 这些语言都需要在你的系统上运行某种运行环境(比如JVM/.net/Python运行时)
- 理论上都可以编译成不需要运行环境的可执行文件,但这并不简单,具体情况要看情况,它们都不是为了这样设计的
- 都是不错的编程语言
- 每种语言都有自己更适合的特定领域
Java:
- 努力做到跨平台,通常能成功
- 对平台特性(不在SDK中的)访问较少
- 更新速度是三者中最慢的,缺少其他两种语言常见的特性,比如闭包
- 向后兼容性很好(部分原因是上面提到的)
- 运行速度快(大约是C语言的两倍慢,比Python快很多倍)
- 可能是三者中库支持最多的
- 已经有强大的多平台服务器系统在使用J2EE
- 可以缩小到嵌入式系统(我参与过两个不同的嵌入式Java项目——很快就会出现在你身边的机顶盒上)
- 静态语言
C#:
- 添加新特性的速度更快
- 仅限于Windows——Mono可以跨平台,但库支持不够
- 起初与Java很相似,但现在有了更多语言特性
- 对Windows API的访问更好
- 速度不太确定——我觉得和Java差不多
- 库支持非常好
- 三者中唯一需要付费的(“入门级”是免费的)
- 静态语言
Python:
- 语言是跨平台的。不确定非语言平台的访问(比如拖放功能)——有人知道吗?
- 可能是最容易学习的语言
- 三者中唯一不使用C类语法的
- 三者中速度最慢,但与其他动态语言相比仍然相当快
- 动态语言