哪种语言介于C和x2B之间+;Java呢?

哪种语言介于C和x2B之间+;Java呢?,java,c++,programming-languages,Java,C++,Programming Languages,我觉得这两种语言不足以快速构建复杂但高性能的本机应用程序 我想要一种包括以下内容的语言: 编译时类型检查 内存指针,但没有代码指针 一个VM类的内部设计,但不需要在VM上运行(比如Java) 自动内存管理 OOP,但不是纯粹的OOP 仿制药 反射操作 开放社区 还有一件事:.NET总是毫无理由地被排除在外 < >在C++中添加自动内存管理可能很棘手,但是添加反射支持不是那么容易。p> 如果语言能够做到以下几点,那就更好了: 关闭 尾部递归 C++0x(当它出现时)C++0x(当它出现时)听

我觉得这两种语言不足以快速构建复杂但高性能的本机应用程序

我想要一种包括以下内容的语言:

  • 编译时类型检查
  • 内存指针,但没有代码指针
  • 一个
    VM
    类的内部设计,但不需要在VM上运行(比如Java)
  • 自动内存管理
  • OOP,但不是纯粹的OOP
  • 仿制药
  • 反射操作
  • 开放社区
还有一件事:.NET总是毫无理由地被排除在外

< >在C++中添加自动内存管理可能很棘手,但是添加反射支持不是那么容易。p> 如果语言能够做到以下几点,那就更好了:

  • 关闭
  • 尾部递归

C++0x(当它出现时)

C++0x(当它出现时)

听起来像是Scala。。。然而:

Scala是一种JVM语言。我对它了解得不够,无法解决你的问题


我不知道技术的状态,但我知道一些开发人员曾经把java编译成C++。所以这不是一个完美的解决方案,但在该领域的进一步研究可能会很有趣。

听起来像Scala。。。然而:

Scala是一种JVM语言。我对它了解得不够,无法解决你的问题

我不知道技术的状态,但我知道一些开发人员曾经把java编译成C++。因此,这不是一个完美的解决方案,但该领域的进一步研究可能会很有趣。

我还建议查看或C#(有,fwiw),但它们忽略了“本机目标”部分。对于大多数应用程序,它们可能具有所需的“高性能”——但这取决于特定的应用程序和功能需求。(在任何情况下,我都会毫无疑问地使用Java之上的任何一种语言:-)


我还建议查看或C#(有,fwiw),但它们忽略了“本机目标”部分。对于大多数应用程序,它们可能具有所需的“高性能”——但这取决于特定的应用程序和功能需求。(在任何情况下,我都会毫无疑问地使用Java以上的任何一种语言:-)

当您编译到p代码时,Visual Basic 5和6在没有安装标准的情况下满足VM(如果您编译到本机代码,它们也满足本机要求)。它还处理内部分配对象的内存管理,不过如果需要固定指针,则根据使用情况可能会丢失自动处理。它确实处理了按您要求的准OOP,并且有一个相当活跃的社区(如果缺乏与C++社区相比的健壮的软件工程原理)。
然而,13年前发布的可能是最适合您需求的语言这一事实表明,您的需求需要工作。

Visual Basic 5和6在编译为p代码时满足VM,而无需安装标准(如果编译为本机代码,它们也满足本机需求)。它还处理内部分配对象的内存管理,不过如果需要固定指针,则根据使用情况可能会丢失自动处理。它确实处理了按您要求的准OOP,并且有一个相当活跃的社区(如果缺乏与C++社区相比的健壮的软件工程原理)。
然而,13年前发布的可能是最适合您需求的语言这一事实表明,您的需求需要工作。

谷歌正在大力推动Go,这可能会达到最佳点。

谷歌正在大力推动Go,这可能会达到最佳点。

是城里最酷的新语言:-)

1编译时类型检查。
->静态类型(没有运行时类型,因此根据定义必须是静态的)

2个内存指针,但没有代码指针。
->绝对没有代码指针。不需要内存指针

3内置虚拟机类设计,但不需要在虚拟机(如Java)上运行。
->空白解释程序是用空白编写的。
->这表明该语言可以很容易地用VM方法实现

4自动内存管理。
->所有内存都是自动管理的

5个OOP,但不是纯粹的OOP。
->在这方面失败了。其程序性

6种仿制药。
->函数可用于任何宽度整数。
->所以在某种程度上是通用的

7个反射操作。
->不需要它们。所有类型都是整数

8开放社区。
->是的。他们会接受任何想要帮助的人。

是镇上最酷的新语言:-)

1编译时类型检查。
->静态类型(没有运行时类型,因此根据定义必须是静态的)

2个内存指针,但没有代码指针。
->绝对没有代码指针。不需要内存指针

3内置虚拟机类设计,但不需要在虚拟机(如Java)上运行。
->空白解释程序是用空白编写的。
->这表明该语言可以很容易地用VM方法实现

4自动内存管理。
->所有内存都是自动管理的

5个OOP,但不是纯粹的OOP。
->在这方面失败了。其程序性

6种仿制药。
->函数可用于任何宽度整数。
->所以在某种程度上是通用的

7个反射操作。
->不需要它们。所有类型都是整数

8开放社区。

->是的。他们将接受任何想要帮助的人。

C++Builder及其发布的关键字扩展将为您提供所需的反射。
在C++的Builder中,自动内存管理也不是不可能的(我已经写了一个代标记和扫描GC,它在很多我们的生产软件中使用)。你也可以得到所有与本地C++ C++相关的其他东西。