我应该考虑将哪些强类型语言用于我的下一个开发语言?
我目前正在评估下一步可以选择学习哪些强类型服务器端语言。我的背景主要是 php 开发 (oop)。我正在研究强类型语言,因为我认为这是 php 的主要缺点(有时也是优点)。
我知道 C# 和 Java(JSP/Servlet)都是一种选择,但是我想考虑我尚未研究的其他语言。
我主要是从职业角度来看待这个问题,所以选择一门正在消失或需求量较低(现在或将来)的语言是没有意义的。
I'm currently assessing which strongly-typed server-side languages I could choose to learn next. I'm coming from a background of mainly php development (oop). I'm looking at strongly-typed languages as I consider this a major downside to php (and sometimes an upside).
I know both C# and Java (JSP/Servlets) are an option, however I wanted to consider other languages that I've yet to research.
I'm mainly looking at this from a career POV, so theres no point in picking up a language that's dying out or in low demand (now or in the future).
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
Scala 非常完美地融合了面向对象编程和函数式编程,形成了一种称为对象函数式编程的新编程范式,就我的经验而言,这是有史以来最具可扩展性和生产力的范式。
我想说,去吧。
Scala very beautifully blends object oriented programming and functional programming to form a new programming paradigm called object-functional programming which is, as far as my experience goes, most scalable and productive paradigm ever.
Go for it, I would say.
您的意思是静态类型语言(在编译时检查)吗?如果是这样,C# 或 Java 确实可能是广泛使用的服务器端语言的最佳选择。 Python 和 Ruby 等语言是强类型的,但它们像 PHP 一样是动态的。
http://en.wikipedia.org/wiki/Type_system
http://en.wikipedia.org/wiki/Strongly_typed_programming_language
Do you mean statically typed languages (checked at compile time)? If so, C# or Java really are probably your best bets for widely used server-side languages. Languages such as Python and Ruby are strongly typed, but they are dynamic like 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:静态类型
[1] http://www.paulgraham.com/avg.html
First avoid using "strongly typed " most people misunderstood this term. (I personally refuse to give it a meaning)
I am assuming that your are talking of a statically type language as opposed to a dynamically type language.
I can understand from your background with php that you want to lean a statically type language but be aware that php is the worst dynamically type language that I have ever seen.
I would say that if you know C#, Java that is enough.
IMHO learning a language for a career POV is not what will improve your skill in PL.
This because most industries have no idea which language to choose in other to express the best there problems. So there are choosing language base on what the other competitors used. [1]
Your also have to ask your self why you want to learn statically type language.
Understand what is the difference between static and dynamic typing and what it implies. This is a hard question to answer. Is not as obvious as what most people think.
So I can answer which language while improve your programming skill ( LISP (DT) , Smalltalk (DT) , Scheme (DT) , ML (ST) , Haskell (ST), Prolog (DT), C (ST), Self (DT) ).
DT: Dynamically type,
ST: Statically type
[1] http://www.paulgraham.com/avg.html