为什么Java和C++在语法上有相似之处

Why do Java and C++ have syntactical similarities?

本文关键字:相似 语法 Java C++ 为什么      更新时间:2023-10-16

我注意到C++和Java在语法方面似乎有许多共同的特点,尽管我认为它们是完全不同的语言。例如,这两种语言都支持强制转换和定义函数,方法是先指定返回类型,然后指定函数的名称。for循环似乎也非常相似。此外,它们都对各种语句和结构使用大括号。

这有什么原因吗?例如,Java和C++是否有一些共同的前身,或者一个的语法基于另一个?还是我只是读得太多了?

Java只是C风格语言家族(即语法上基于C编程语言的语言(的成员。该系列包括以下语言:

C++, Java, JavaScript, PHP, Perl

例如,在1990-s和2000-s开始时非常受欢迎。

今天的流行

Python,Ruby,Rust,Kotlin,Swift等。

稍微将焦点从C风格的语言上移开。摆脱 C 风格的原因之一是 C 具有上下文相关的语法,而新语言往往具有几乎与上下文无关的语法,这使得其解析更容易且更可预测。

任何设计新语言的人都无法通过对相同的操作使用不同的语法来获得任何好处。因此,例如,如果该语言的潜在用户习惯于将"a++"作为一个变量"a",其值递增但返回a的现有值,或者他们习惯于将大括号分隔代码块,那么新语言没有理由不使用这些相同的东西。如果这种新语言确实改变了这些东西,那么它们可能会使人们感到困惑并阻止人们使用它。

这不仅扩展到Java和C++,还扩展到其他一些语言。例如,JavaScript 和 Perl 使用了许多与 Java 和 C++相同的语法功能。