gpt4 book ai didi

c# - 什么是动态语言,为什么 C# 不符合条件?

转载 作者:IT王子 更新时间:2023-10-29 04:06:47 25 4
gpt4 key购买 nike

听播客,我听说 C# 不是动态语言,而 Ruby 是。

什么是“动态语言”?动态语言的存在是否意味着静态语言的存在?

为什么 C# 是一种动态语言,还有哪些其他语言是动态的?如果 C# 不是动态的,微软为什么要大力将它推向市场?

以及为什么大多数 .NET 程序员都为之疯狂并离开其他语言并转向 C#?

为什么 Ruby 是“ future 的语言”?

最佳答案

什么是动态语言?

语言是否是动态的通常是指编译器执行的绑定(bind)类型:静态或后期绑定(bind)。

静态绑定(bind)只是意味着方法(或虚方法的方法层次结构)在编译时绑定(bind)。运行时可能涉及虚拟分派(dispatch),但方法 token 在编译时绑定(bind)。如果在编译时不存在合适的方法,您将收到错误消息。

动态语言则相反。他们在运行时完成工作。它们在编译时很少或根本不检查方法是否存在,而是在运行时全部检查。

为什么 C# 不是动态语言?

C# 在 4.0 之前是一种静态绑定(bind)语言,因此不是动态语言。

为什么 Ruby 是 future 的语言?

这个问题基于一个错误的前提,即确实存在一种语言是编程的 future 。今天不存在这样一种语言,因为没有一种语言能够最好地完成所有需要完成的不同类型的编程。

例如,Ruby 是一种适用于许多不同应用程序的出色语言:Web 开发是一种流行的语言。但是,我不会在其中编写操作系统。

关于c# - 什么是动态语言,为什么 C# 不符合条件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/787239/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com