我目前正在评估接下来我可以选择学习哪些强类型服务器端语言。我来自主要是 php 开发 (oop) 的背景。我正在研究强类型语言,因为我认为这是 php 的主要缺点(有时是优点)。
我知道 C# 和 Java (JSP/Servlets) 都是一种选择,但是我想考虑一下我尚未研究的其他语言。
我主要是从职业 POV 来看这一点,因此选择一种正在消亡或需求量低(现在或将来)的语言是没有意义的。
我目前正在评估接下来我可以选择学习哪些强类型服务器端语言。我来自主要是 php 开发 (oop) 的背景。我正在研究强类型语言,因为我认为这是 php 的主要缺点(有时是优点)。
我知道 C# 和 Java (JSP/Servlets) 都是一种选择,但是我想考虑一下我尚未研究的其他语言。
我主要是从职业 POV 来看这一点,因此选择一种正在消亡或需求量低(现在或将来)的语言是没有意义的。
Scala 将面向对象编程和函数式编程完美地融合在一起,形成了一种新的编程范式,称为对象函数式编程,就我的经验而言,它是有史以来最具可扩展性和生产力的范式。
去吧,我会说。
你的意思是静态类型语言(在编译时检查)?如果是这样,C# 或 Java 真的可能是广泛使用的服务器端语言的最佳选择。Python 和 Ruby 等语言是强类型的,但它们像 PHP 一样是动态的。
http://en.wikipedia.org/wiki/Type_system
http://en.wikipedia.org/wiki/Strongly_typed_programming_language
首先避免使用大多数人误解的“强类型”这个术语。(我个人拒绝赋予它一个意义)
我假设您说的是静态类型语言而不是动态类型语言。
我可以从您的 php 背景中了解到您想要使用静态类型语言,但请注意 php 是我见过的最糟糕的动态类型语言。
我会说,如果您了解 C#,Java 就足够了。恕我直言,为职业 POV 学习语言并不能提高您的 PL 技能。这是因为大多数行业不知道选择哪种语言来表达最好的问题。因此,需要根据其他竞争对手使用的语言来选择语言。[1]
您还必须问自己为什么要学习静态类型语言。了解静态类型和动态类型之间的区别及其含义。这是一个很难回答的问题。并不像大多数人想象的那么明显。
所以我可以在提高您的编程技能的同时回答哪种语言(LISP(DT),Smalltalk(DT),Scheme(DT),ML(ST),Haskell(ST),Prolog(DT),C(ST),Self(DT) ))。
DT:动态类型,ST:静态类型