我应该为下一个开发语言考虑哪些强类型语言?

时间:2010-06-23 05:18:01

标签: programming-languages strong-typing

我目前正在评估下一步我可以选择学习的强类型服务器端语言。我来自主要是php开发(oop)的背景。我正在研究强类型语言,因为我认为这是php的一个主要缺点(有时是一个好处)。

我知道C#和Java(JSP / Servlets)都是一个选项,但是我想考虑其他我尚未研究的语言。

我主要是从职业POV看这个,所以没有必要选择一种消失或需求低的语言(现在或将来)。

3 个答案:

答案 0 :(得分:3)

Scala非常精美地融合了面向对象的编程和函数式编程,形成了一种新的编程范式,称为对象函数式编程,就我的经验而言,它是最具可扩展性和高效性的范例。

我会说,去吧。

答案 1 :(得分:1)

你的意思是静态类型语言(在编译时检查)?如果是这样,C#或Java确实可能是广泛使用的服务器端语言的最佳选择。像Python和Ruby这样的语言是强类型的,但它们像PHP一样是动态的。

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

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

答案 2 :(得分:1)

首先避免使用“强类型”大多数人误解了这个词。 (我个人拒绝给它一个含义)

我假设您正在谈论静态类型语言而不是动态类型语言。

我可以从你的php背景中了解到你想要使用静态类型的语言,但要注意php是我见过的最糟糕的动态类型语言。

我想说如果你了解C#,那就足够了。 恕我直言学习职业POV的语言并不会提高你的PL技能。 这是因为大多数行业都不知道选择哪种语言来表达最好的问题。所以选择其他竞争对手使用的语言基础。 [1]

您还必须问自己为什么要学习静态类型语言。 了解静态和动态类型之间的区别及其含义。这是一个难以回答的问题。并不像大多数人想的那么明显。

所以我可以在提高编程技能的同时回答哪种语言(LISP(DT),Smalltalk(DT),Scheme(DT),ML(ST),Haskell(ST),Prolog(DT),C(ST),自我(DT))。

DT:动态类型, ST:静态类型

[1] http://www.paulgraham.com/avg.html