这个世界是动态的;为什么编程语言应该是静态的?
The world is dynamic; why should a programming language be static?
我首先简要介绍任何语言设计者在类型模型中必须考虑的一些决策,着重介绍静态类型和动态类型的一些不同的决策。
I'll start with a general description of the decisions any language designer must consider within a typing model, focusing on the controversial decision of static versus dynamic typing.
可能的几个需要支持的变化是:标签信息改变的频率,文字数量,语言,数据格式,组成标签的静态信息和动态信息等。
There could be several variations to support - frequency of changes to label information, number of words, language, data formatting, mixture of static and dynamic messages that make up a label, etc.
在这三个角度中,静态类型与动态类型对于语言的特征有最大的影响,因此接下来我将重点解释这两种策略各自的优点。
Of the three axes, static versus dynamic typing tends to have the most impact on a language's character, so I'll focus now on these two strategies' respective strengths.
Parrot是一个旨在通过Parrot bytecode上的各种中间表示高效执行静态和动态语言的VM。
Parrot is a VM designed to efficiently execute static and dynamic languages through a variety of intermediate representations over Parrot bytecode.
Dalvik正在推动当前手机内的应用程序开发,且Parrot为编译器创建者提供一个用于静态和动态语言的高效框架。
Dalvik is powering application development within current handsets, and Parrot provides an efficient framework for compiler writers for static and dynamic languages.
在.NET社区中,并没有多少人大声要求对动态语言的支持,因此也就没有多少习惯了静态语言的人能够了解动态语言所带来的好处。
While not many folks are clamoring for dynamic language support in the .
我们都曾经在不同的时间和静态语言和动态语言打过交道。
We have worked with both static and dynamic languages, at various times.
虽然近年来在动态语言优化方面的提升渐渐浮现希望,但是它们还是落在静态语言的优化艺术的后面。
While recent advancements in optimizations for dynamic languages are promising, they lag behind the state of the art for static languages.
相比静态语言来说,优化动态语言的性能更富有挑战性。
Optimizing the performance of a dynamic language is more challenging than for a static language.
这又经常导致动态语言的支持者指责静态语言总是太低级,用它们来编写应用程序生产率很低——但那是一种很狭隘的观点。
This often leads fans of dynamically typed languages to accuse statically typed languages of always being too low-level to be productive languages for applications — but that's a narrow world view.
它的低学习门槛让很多人都称它为学前脚本语言,它另外一个让人嘲笑的东西是动态语言的概念是偏偏使用了高标准的静态数据类型。
The low barrier of entry leads some people to call it a script kiddie language, others scoff at the concept of a dynamic language while riding their statically typed high horse.
设计该扩展的原因是为了保证动态语言之间的互操作性,能和原有CLR支持的静态类型语言间的互操作性一致。
This extension is being designed to enable interoperability between dynamic languages in the same manner that the CLR enabled interoperability between statically typed languages.
静态类型语言通常是显式类型的,但也不完全是;而动态类型语言几乎都是隐式类型的。
Statically typed languages are usually, but not exclusively, type explicit; dynamically typed languages are almost always type-inferred.
静态类型的语言既可以有强类型,也可以有弱类型;而动态类型系统通常是强类型的,但也不完全是。
Statically typed languages can have strong or weak typing; dynamically typed systems are usually, though not exclusively, strongly typed.
总体上说,应用动态语言和静态语言是相当简单的,DLR的存在很好的证明了这个观点。
It is reasonably easy with dynamic and static languages in general as can be illustrated by the existence of the DLR.
UML是一种可视化的建模语言,定义了多种视图,从不同侧面描述了软件系统的静态结构和动态行为。
UML is a visual modeling language, defining all kinds of diagrams to describe the static structure and dynamic behaviors of software systems concisely from deferent aspects.
Parrot支持大量语言,但是让其如此有趣的一个方面是它同时对静态和动态语言的支持,包括对功能语言的特定支持。
Parrot supports a large number of languages, but one aspect that makes it so interesting is its support for both static and dynamic languages, including specific support for functional languages.
正如采用静态类型化的语言进行编程的朋友们一样,Python和其他动态语言的程序员通常使用关系数据库作为后端数据存储区。
Just like their friends who program in statically typed languages, programmers of Python and in other dynamic languages often use relational databases as a back-end data store.
作为一名新的Ruby拥护者,我深信动态语言更能提高生产率,虽然我不能比常见的静态语言的支持者拿出更多具体的证据来。
As a new Ruby convert, I strongly believe that dynamic languages are more productive, though I don't have any more hard evidence than a typical static-language proponent.
原则上是静态的,在需要的时候可以是动态的:mobl语言是静态类型的语言,支持像错误突出显示、引用解析和代码自动完成等IDE特性。
Static in principle, dynamic when required: the mobl language is statically typed, enabling IDE features such as error highlighting, reference resolving and code completion.
Charles:我认为JVM是目前最好最快的途径,不论对于静态语言还是动态语言。
Charles: I think the JVM is by far the best way to get a new language up and going quickly, whether it's static or dynamically-typed.
动态语言与静态语言的互操作。
不幸的是,CIL是静态类型语言,不过,正如我之前在介绍中提及的那样,这就是DLR如何能够提供CLR和例如Ruby这样动态语言交互能力的关键所在。
Unfortunately, CIL is statically typed and as I alluded to in my introduction, this is where the DLR comes in to enable interoperability between the CLR and dynamic languages such as Ruby.
DebasishGhosh对一场动态VS .静态语言的讨论做出了回应,提出了用静态语言编程时动态类型检查的使用问题。
Echoing at a discussion on dynamic vs. static languages, Debasish Ghosh raises the issue of using dynamic type-checking while programming with static languages.
在顶层建模语言中,把系统模型划分为静态结构模型和动态行为模型。
In the top-level modeling language, system model was divided into static structure and dynamic behavior.
详细介绍了统一建模语言(uml)在某武器故障诊断专家系统中的具体应用,给出了系统的静态模型和动态模型。
Specific application of UML (Unified modeling Language) in fault diagnosis expert system for a weapon system were set forth in detail. Static modeling and dynamic modeling are also built.
作为一个通用的标准建模语言,U ML可以对任何具有静态结构和动态行为的系统进行建模。
As a standard language for modeling systems, UML can model the system with static structure and dynamic behavior.
利用统一建模语言(uml)来描述软件的静态结果和动态行为。
The static structures and dynamic situations of software are illustrated by Unified Modeling Language (UML).
利用统一建模语言(uml)来描述软件的静态结果和动态行为。
The static structures and dynamic situations of software are illustrated by Unified Modeling Language (UML).
应用推荐