我想过,如果有一种编程语言编译为机代码或二进制(不码然后执行通过一个虚拟机,这是完全不同的东西时考虑到打字),具有动态和/或薄弱的打字、电子.g:

认为编制语言,其中:

  • 变量的不需要宣布
  • 变量可以创建在运行期间
  • 功能可以回值的不同类型

问题:

  • 是有这样一种编程语言?
  • (什么)没有?

我认为,一个动态而又强大的输入,编制语言真的感觉,但是这可能吗?

有帮助吗?

解决方案

我相信我口齿不清符合这样的描述。

http://en.wikipedia.org/wiki/Common_Lisp

其他提示

目的C可能拥有的一些属性。课程可以打开并改变运行时,可以发送任何类型的信息的对象,无论它通常是响应。在这方面,可以实现的鸭子输入,就像在红宝石。的类型 id, ,大致相当于一个 void*, ,可以被赋予的接口,指定一个合同,(否则的未知)的类型将坚持。

C#4.0有许多,如果不是所有这些特性。如果你真的希望本机代码,你可以 编码下的机器码 使用一个实用工具。

特别是,使用 dynamic 关键字允许的对象和他们的成员为可能在运行时动态.

检查出来安德斯*Hejlsberg的视频 未来的C# 对于一个入门:

http://channel9.msdn.com/pdc2008/TL16/

目标C中有许多功能,你说:它编译成机器码,并有效地动态类型,与相对于对象的实例。的 id 类型可以存储的任何类实例和目标-C使用的消息传递,而不是件功能的电话。方法可建立/加入在运行时间。目标-C运行时也可以合成类实例的变量在运行,但当地的变量,仍然需要加以声明(只是作为在C)。

C#4.0有许多的这些特征,除了编制IL(码)和解释使用虚拟机(本CLR)。这带来了一个有趣的观点,但是:如果字节是时编译成机器码,这是否算什么?如果是这样,它会打开车门,不仅任。网络语言,但是蟒蛇(见 PyPyUnladed吞下IronPython)和红宝石(见 MacRuby如何从语言特性)和许多其他类型的动态语言,没有更多的口齿不清的变体。

是的,这是可能的。看看 朱莉娅.它是一个动态的语言(你可以编写程序没有类型),但是它从来没有上运行的一个虚拟机。编译程序原代码在运行时(JIT汇编).

在一个类似的静脉口齿不清的,有的是 因子, 一concatenative*的语言与 没有变量 通过默认的、动态的打字和灵活的对象系统。因代码可以运行的交互式解释,或编制到一个地利用其可执行 deploy 功能。

*点免费的功能基于栈

VB6的大多数,

我不知道任何的语言,正是这些能力。我可以想到的两个具有显着的子集,但:

  • D 具有类型推理,垃圾收集,并强大的元编程设施、又汇编了有效的机器码。它并没有打字动态,但是。
  • C# 可以编制直接向机代码通过的单项目。C#具有类似功能设置D,但同样没有动态。

蟒蛇至C,可能需要这些标准。

  1. 写在蟒蛇。

  2. 编译Python可执行的。看看 工艺转换成简单的Python脚本到Windows可执行.也见 编写代码翻译从Python C?

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top