编程语言最重要的属性是什么?

时间:2010-07-28 07:18:00

标签: language-agnostic programming-languages

对我而言:强类型

Wikipedia

  “强类型”意味着编程语言严格限制允许发生的混合,从而阻止编译或运行使用数据的源代码被认为是无效的方式

为什么重要?因为我喜欢编译错误远远超过运行时错误

我想最好提供一些信息以及一些重要原因。

9 个答案:

答案 0 :(得分:5)

表现性。

也就是说,它可以很容易地表达设计和想法,并且不需要技术解决方法来使设计工作。

答案 1 :(得分:4)

完成工作。我认为熟悉多种语言是件好事。尽管我喜欢C#,但我认为它并不是最好的。所以对我来说,我只看一下手头的任务以及一些要求,然后尝试选择最匹配的语言。

答案 2 :(得分:3)

支持一流(又名高阶)功能

答案 3 :(得分:2)

重要的是代码看起来像伪代码,因为它易于读写。对此没有客观的衡量标准,因为随着时间的推移,语言和程序员往往会相互弯曲。

答案 4 :(得分:2)

1 )强类型和支持它的功能

C#/ Java v1.0是强类型语言,但有时你不得不打破静态类型,因为根本没有足够的表现力去做一些东西而且有静态类型(即你需要强制转换,当从无类型中提取对象时例如集合。

泛型当然会改善这种情况,并且在支持更高阶泛型的语言(如Scala)中,事情变得更加美好。

2 )简洁。如果很明显,我不需要写它。类型推断是一个很好的工具。

3 )一个很棒的图书馆。如果经常需要,我不需要写它。

答案 5 :(得分:1)

支持以便在良好测试后快速部署。

答案 6 :(得分:1)

我无法忍受纯粹的显性,主格,静态类型,即Java风格。我觉得我只能用至少提供以下一种语言的语言进行有效编程:

  1. 鸭子打字类似于Python,PHP,Perl,Ruby。

  2. 支持可变参数的良好模板系统,静态if等(如D的模板系统)加上至少某种类型的传播(如C#的var关键字或D'auto关键字)。我已经使用了D一段时间了,它的模板系统已经足够好了,我经常把它称为“编译时鸭子打字”。

  3. 如果没有至少其中一件,我常常觉得自己陷入了一件完整的直夹克。

答案 7 :(得分:0)

简洁但明确的语法。

Visual Basic:很明显发生了什么,但它非常冗长。

Perl:它非常简洁,但你可以通过随机敲击键盘来获得更清晰的程序。

C#:恰到好处:D

答案 8 :(得分:-2)

图灵完整有帮助。