代码之家  ›  专栏  ›  技术社区  ›  Ben Rowe

对于下一种开发语言,我应该考虑使用哪些强类型语言?

  •  1
  • Ben Rowe  · 技术社区  · 14 年前

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

    我知道C语言和Java(JSP/servlet)都是一种选择,但是我想考虑我还没有研究过的其他语言。

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

    3 回复  |  直到 14 年前
        1
  •  1
  •   Matt H    14 年前

    您的意思是静态类型语言(在编译时检查)?如果是这样的话,C语言或Java可能是你广泛使用的服务器端语言的最佳赌注。诸如python和ruby之类的语言是强类型的,但它们像php一样是动态的。

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

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

        2
  •  3
  •   Jim    14 年前

    scala将面向对象编程和功能编程完美地融合在一起,形成了一种新的编程范式,称为对象功能编程,据我的经验来看,这是有史以来最具可扩展性和生产力的范式。

    去吧,我会说。

        3
  •  1
  •   mathk    14 年前

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

    我假设您所说的是静态类型语言,而不是动态类型语言。

    我可以从您使用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:静态类型

    〔1〕 http://www.paulgraham.com/avg.html