2010-06-23 12 views
1

J'évalue actuellement les langues serveur fortement typées que je pourrais choisir pour apprendre ensuite. Je viens d'un fond de développement principalement php (oop). Je regarde les langages fortement typés car je considère cela comme un inconvénient majeur pour php (et parfois un inconvénient).Quelles langues fortement typées dois-je considérer pour ma prochaine langue de développement?

Je sais que C# et Java (JSP/Servlets) sont une option, mais je voulais considérer d'autres langues que je n'ai pas encore étudiées. Je regarde principalement cela d'un point de vue de carrière, donc il n'y a aucun intérêt à ramasser un langage qui est en train de mourir ou en faible demande (maintenant ou dans le futur).

+0

Voulez-vous vraiment dire fortement typé ou typé statiquement? – sepp2k

Répondre

1

d'abord éviter d'utiliser "fortement typé" la plupart des gens ont mal compris ce terme. (Personnellement, je refuse de lui donner un sens)

Je suppose que vous parlez d'un langage de type statique par opposition à un langage de type dynamique.

Je peux comprendre de votre expérience avec php que vous voulez m'appuyer sur un langage de type statique, mais sachez que php est le pire type de langage dynamique que j'ai jamais vu.

Je dirais que si vous connaissez C#, Java c'est suffisant. IMHO apprendre une langue pour une carrière POV n'est pas ce qui va améliorer vos compétences en PL. Cela parce que la plupart des industries n'ont aucune idée de la langue à choisir dans d'autres pour exprimer les meilleurs problèmes. Il y a donc une base de choix de langue sur ce que les autres concurrents ont utilisé. [1]

Vous devez également vous demander pourquoi vous voulez apprendre la langue de type statique. Comprendre quelle est la différence entre le typage statique et dynamique et ce que cela implique. C'est une question difficile à répondre. N'est pas aussi évident que ce que la plupart des gens pensent. Je peux donc répondre quelle langue tout en améliorant vos compétences en programmation (LISP (DT), Smalltalk (DT), Schéma (DT), ML (ST), Haskell (ST), Prolog (DT), C (ST) , Soi (DT)).

DT: Type Dynamiquement, ST: type statiquement

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

+2

Je dirais que l'apprentissage d'une nouvelle langue est utile sur plusieurs fronts, même s'il n'y a pas de rémunération à l'emploi: 1) c'est un exercice intellectuel, bon pour l'esprit en général. 2) si l'OP s'ennuie, c'est un moyen de garder l'intérêt pour surmonter l'ennui.3) chaque langue a son propre point de vue, et l'exposition à plus de façons de penser à un problème aura des avantages même s'il reste avec C#/Java. – DaveE

+0

Oui, c'est mon point, mais si vous apprenez C#, vous ne serez pas bouché en apprenant Java et d'autres langues courantes. Vous obtenez beaucoup en apprenant ce que j'appelle la langue filaire. – mathk

3

Scala mélanges très belle programmation orientée objet et la programmation fonctionnelle pour former un nouveau paradigme de programmation appelé programmation fonctionnelle objet qui est, pour autant que je sache, le paradigme le plus évolutif et le plus productif de tous les temps.

Allez-y, je dirais.