为什么动态类型编程语言会如此流行?

简介:

screenshot

我使用过很多静态类型的编程语言,也使用过不少动态类型的语言。我发现,当使用静态类型的语言时,各种的IDE给了我巨大的帮助。这些编程语言集成 开发环境能让我的开发极其的高效。代码的修改和移动(例如重构代码)都非常的方便,不容易出现错误。编译速度通常不是问题。IDE的自动编译功能使得在我 每敲完几个代码后都能得到编译好的程序。文档提示和变量、方法、类提示在我输入变量时会自动弹出。所有的这些都能够使我把全身心注意力都投入写代码中。

相反,编程语言的类型越动态,我就越无法借助于IDE的帮助,通常在使用动态类型编程语言开发程序时,我只能使用一个文本编辑器。编程效率受此的影 响而下降很多。代码重构变得困难,甚至完全不可能,程序的正确性严重的依赖单元测试。但测试程序并非能做到完美。很多时候,一些老的、历史遗留的项目中的 测试程序根本不可信。

在文本编辑器中依靠grep来重构,就是个笑话。即费事,又费力,而且效率不高,经常出错。然而,重构是很多程序员经常、大量需要做的事情。

动态类型语言通常会在速度上有些欠缺——因为它的动态属性。

使用动态编程语言开发的过程中,我通常会严重的依赖文档来决定应该使用哪一个方法或提供了哪些方法。如果一个类没有提供文档说明,我必须打开源代 码,搜索整个文件,来了解它提供的功能。有时,一个代码库里包含了成百上千的代码文件。很显然,我是没法记住在这样的一个代码库里哪些文件包含了哪些方法 和类。因此,我不得不频繁的打开一个又一个文件,经常出现找来找去也找不到某个方法究竟是在哪个文件里。于是,我只能使用grep来搜索整个项目库文件。

我能想出很多的静态类型语言的优点和好处,但对于动态编程语言,我总结不出多少有点,但很显然,有很多人非常的喜欢动态编程语言,为什么?

screenshot

一个答案就是动态语言通常更方便开发较小的项目,因为可以无需声明类型而节省了很多麻烦。另外一个答案是,动态类型解除了程序员的束缚,可以最大的 发挥程序员的编程技能,能最有效的利用编程语言里的各种特征和模式。但这些能力都是一把双刃剑,更多的依赖于程序员的个人才能,如果用不好,或用的过度, 都会产生负面的害处。

文章转载自 开源中国社区 [http://www.oschina.net]

相关文章
|
人工智能 开发框架 物联网
为什么 C# 可能是最好的第一编程语言
C# 是一个全面领域的全能型语言,结合新时代的 .NET 平台,与时俱进的发展创新,未来无限可期!对于带着有色眼镜看待的人们,是否该刮目相看了呢?下面看看行业大佬关于 .NET 的解说。
1054 2
为什么 C# 可能是最好的第一编程语言
|
4月前
|
机器学习/深度学习 人工智能 测试技术
年度编程语言将花落谁家
年度编程语言将花落谁家
|
10月前
|
人工智能 分布式计算 Java
【编程语言选择】我们学C++将来能做什么?
【编程语言选择】我们学C++将来能做什么?
87 0
|
12月前
|
JavaScript 前端开发 Java
常用的编程语言
世界上最常用的几种语言
79 0
|
Oracle JavaScript Java
最好的编程语言
当我想在工作中休息一下时,我有时会阅读技术论坛。有一种帖子我真的很喜欢:编程语言之间的火焰战争。我喜欢这些帖子,因为你可以看到充满激情和聪明的人,他们正在争论,好像他们的生活正在发挥作用。 这些职位有2个优点: 他们让我笑 我学新东西 如果我必须总结这种帖子,那将是这样的: 帖子标题“Java是最好的语言”由NewJavaFanBoy撰写 NewJavaFanBoy:Java是最好的语言,因为它的社区。此外,它具有非常酷的功能,如lambdas。为什么这么多人讨厌Java? 前JavaFanBoy:Oracle杀死了Java。 DotNetFanBoy:Java的演进太慢了,
129 0
最好的编程语言
|
算法 数据可视化 IDE
1 分钟学会 30 种编程语言
1 分钟学会 30 种编程语言
127 0
1 分钟学会 30 种编程语言
|
Rust Ubuntu 编译器
“C 不再是一种编程语言”
本文标题里的观点很“刺激”,它来自国外一位 Swift 和 Rust 专家 Aria Beingessner,他近日撰写了一篇文章《C 不再是一种编程语言》,在技术社区引起了热议。
178 0
“C 不再是一种编程语言”
|
Java 程序员 容器
最好的编程语言是怎样的?
最好的编程语言是怎样的?
183 0
最好的编程语言是怎样的?