Je me demande s'il y a des moins biaisées des ressources qui donnent bonne, des aperçus spécifiques des langues et de leurs objectifs de programmation destinés. Je voudrais apprendre une nouvelle langue, mais visiter les sites de chaque langue ne fonctionne pas. Chacun parle de sa grandeur sans trop mentionner ses faiblesses ou ses objectifs spécifiques .
Ruby est un langage de programmation open source dynamique axé sur la simplicité et la productivité.
Python est un langage de programmation qui vous permet de travailler plus rapidement et d'intégrer vos systèmes plus efficacement.
Après avoir été développeur PHP pendant des années, Vic Cherubini résume bien mon sort:
Je connaissais bien PHP, j'avais mon propre framework et je pouvais travailler rapidement pour que quelque chose soit opérationnel.
J'ai programmé comme ça tout au long de la révolution MVC. J'ai obtenu de meilleurs emplois (lire: mieux payer, meilleur titre) en tant que développeur PHP, mais tout au long du chemin, je me suis rendu compte que le code que j'avais écrit pendant mon temps était excellent et que le code avec lequel je travaillais au travail était horrible. Genre, pire qu'horrible. Atroce. Niveau de commerce OS mauvais. Avoir des projets parallèles m'a gardé sain d'esprit, car le code avec lequel je travaillais au travail me rendait misérable.
C'est pourquoi je me retire de PHP pour mes projets parallèles et mes nouvelles entreprises de programmation. Je suis passé avec PHP. Épuisé, si vous voulez. J'ai atteint un niveau où je pense que je suis au top avec comme langue et si je ne passe pas à une nouvelle langue bientôt, j'en aurai fini avec la programmation et je ne veux pas ça.
Les langues que j'ai examinées incluent JavaScript (pour node.js), Ruby, Python et Erlang. J'ai même pensé à Scala ou C ++.
Le problème est de savoir lesquels sont conçus pour répondre au mieux à mes besoins.
Alors, où puis-je aller pour sauter le battage médiatique et obtenir de vraies informations sur la maturité d'une plate-forme, la taille de la communauté et les forces et les faiblesses de cette langue. Si je les connais, choisir une langue pour continuer mon développement web devrait être facile.
Mise à jour
Je ne veux tout simplement pas avoir 4 mois sur la route avec un peu de langage et le trouver est nul parce que chaque thread a 4 Mo de surcharge, ou que les connexions simultanées maximales sont 999, il n'y a pas de package pour faire la fonctionnalité "X", ou le support est en cours de suppression pour une nouvelle branche linguistique.
la source
Réponses:
Je n'allais pas poster ceci comme réponse, mais Xeoncross me l'a demandé, alors c'est parti:
(Sidenote: si quelqu'un pouvait résoudre le problème de démarque dans le petit exemple de code, je l'apprécierais.)
Publié par Alex Martelli sur comp.lang.python : Quoi de mieux à propos de Ruby que de Python? le 18 août 2003, 17h50
la source
Bonne chance
Aucune des descriptions d'exemple fournies n'est objective ou testable. Ils sont tous du battage médiatique et de l'opinion.
Essayez-le
Prenez un petit exemple de projet du type que vous êtes susceptible de faire et essayez-le avec toutes les langues qui vous intéressent. Ensuite, postez votre examen objectif, et nous le saurons tous.
la source
Je pense qu'une partie du problème est que quiconque en sait assez pour commenter de manière significative une ou plusieurs langues aura un parti pris. En près de 4 décennies de programmation, j'ai travaillé dans plus de langues que je ne peux en compter. Je peux vous donner des opinions (certaines datées) sur bon nombre de ces langues, mais aucune de ces opinions ne sera impartiale.
Je prends l'approche d'utiliser la bonne langue pour le travail. Vous vous interrogez spécifiquement sur le développement Web , mais c'est toujours une catégorie assez large - un peu comme dire que vous êtes intéressé par la photographie. Micro? Astro? etc. Bien que je convienne que PHP n'est pas un langage émotionnellement satisfaisant pour travailler, pour de nombreux clients, c'est le bon langage basé sur un certain nombre de facteurs, dont le moindre n'est pas la capacité à long terme de trouver des programmeurs pour réparer le site après votre départ. et / ou se faire heurter par un bus.
Alors peut-être devriez-vous regarder les types de clients qui s'intéressent à des projets qui se prêtent à quelque chose de différent, puis travailler à vous rendre intéressant pour eux.
la source
Python
Le but le plus universel et général de tous, mais aussi dans le cas de la programmation Web, offre un choix plus large de produits. Une interface WSGI standardisée garantit une grande interopérabilité entre le framework et les serveurs. Certains des produits Web Python notables:
Rubis
Le rubis est également un langage assez universel. Mais de loin son produit le plus notable est Ruby on Rails. Son design a été une source d'inspiration pour beaucoup (y compris Django mentionné ci-dessus).
Javascript
Actuellement, le seul choix côté serveur pour JS est node.js. Il est très similaire à Tornado et Twisted (dont il a été inspiré). Cependant, il manque toujours un cadre à part entière similaire à Django ou RoR construit par-dessus.
Scala
En tant que langage fonctionnel, il est idéal pour le calcul massivement parallèle, en ce qui concerne la programmation Web à usage général, il existe Lift - framework Web inspiré de RoR, utilisé par exemple par FourSquare.
la source
Dans mon dernier projet Web, j'ai commencé avec PHP parce que je l'avais déjà utilisé pour un projet Web (démarrage rapide), mais j'ai eu beaucoup de problèmes avec le langage, par exemple un mauvais support UTF-8 et une frappe dynamique. J'ai également une certaine expérience Java et j'aime vraiment la saisie statique et les bons outils de refactoring. Java a également de bonnes performances par rapport à PHP. Mais j'aime aussi l'expressivité de la programmation fonctionnelle.
Scala and Play Framework
Avec l'expérience ci-dessus, j'aime vraiment le langage de programmation Scala, il est typé statiquement, prend en charge la programmation orientée objet et fonctionnelle et il a de bonnes performances par rapport aux autres langages utilisés pour le développement Web. Mais je n'aimais pas les frameworks Web pour Java et les servlets, et j'ai trouvé Play Framework qui prend en charge Scala et Java et qui a un cycle de développement très rapide - enregistrez le fichier et mettez à jour votre page Web. J'ai été très satisfait de Scala & Play Framework le mois dernier. Mais le support Scala dans Play Framework n'est pas encore très mature, ni le support d'outillage.
En bref, je recommande Scala comme langage de programmation et Play Framework comme framework web.
la source
En fait, vous envisagez probablement trois types de ressources:
Ces deux ressources seraient biaisées.
Vous pouvez avoir une chance de trouver une comparaison neutre, mais il est très difficile d'en écrire une. Personnellement, je ne pourrais jamais écrire une comparaison entre un vrai langage et PHP sans critiquer tout le temps PHP. Et je suis sûr que je ne suis pas le seul à ne pas être suffisamment neutre.
Si vous voulez avoir un aperçu des différentes langues, vous devez les apprendre vous-même - et lire beaucoup . Par apprentissage, je veux dire connaître les bases de la langue, mais pouvoir avoir sa propre opinion . Ce n'est pas parce que vous avez lu un manuel Ruby que vous êtes en mesure d'expliquer ce qui est bon et ce qui est mauvais dans cette langue.
Cela signifie que vous devez soit passer du temps (des mois, voire des années) à pratiquer. Ou, vous pouvez lire beaucoup. Mais essayez de lire des choses contradictoires . Si une personne écrit qu'il déteste PHP et PHP est l'un des pires langages de tous les temps, en particulier par rapport à de vrais langages comme Ruby, C # ou Java, essayez également de trouver une personne qui dit que PHP est merveilleux et qu'il est plus facile à utiliser que C #, beaucoup plus rapide que Java, et beaucoup ... (je ne sais vraiment pas quoi) que Ruby.
Rappelez-vous une chose: si vous connaissez déjà bien une langue, vous serez très critique au début lors de l'apprentissage d'une autre , estimant que la langue que vous connaissez déjà est meilleure et beaucoup plus facile à utiliser. C'est comme les utilisateurs de Linux qui détestent Windows et les utilisateurs de Windows qui détestent Linux: en fait, aucun OS n'est meilleur; c'est juste qu'un utilisateur Linux ne sait pas comment utiliser Windows, et vice versa. Ce n'est qu'après avoir acquis suffisamment d'expérience dans les deux que vous pourrez décider correctement lequel vous convient le mieux.
Dernière chose, souvent oubliée: il est également très important de pouvoir évaluer "l'environnement" d'une langue:
la source
Eh bien, comme l'un de vos critères semble être "c'est amusant de travailler avec", je pense que vous voudriez trouver des informations biaisées. Si l'auteur de quelque chose est passionné par la langue de son choix, il y a de fortes chances qu'il donne une évaluation biaisée.
Vous devriez peut-être l'aborder dans l'autre sens. Puisque vous semblez parler de faire évoluer une carrière plutôt qu'un passe-temps, vous devriez peut-être sonder certaines offres d'emploi, trouver des technologies / langages intéressants et les examiner.
Quant aux langues ayant des objectifs spécifiques, de nombreuses langues n'en ont pas. La plupart des langues que vous avez répertoriées sont assez générales. Par exemple, le langage Ruby est un langage assez polyvalent adapté à de nombreuses tâches. Une fois que vous y ajoutez un framework, comme Rails , cela a un objectif assez spécifique.
la source
Ce n'est pas exactement ce que vous demandiez, mais si je cherchais quelque chose pour me sortir d'une ornière professionnelle de développement Web, tout en tirant parti de cette expérience et de ces contacts, j'entrerais dans l'écriture d'applications Android et iPhone. Être en mesure de vendre une application qui complète le site Web d'un client pourrait vraiment vous démarquer en développant un Internet de plus en plus accessible via des appareils mobiles.
la source
Avez-vous vraiment atteint la limite de PHP, ou simplement les limites de PHP telles que vous les connaissez?
Avez-vous regardé Drupal ? Il s'agit d'un CMS et d'un cadre de programmation basés sur PHP qui encouragent fortement les bonnes normes et pratiques de codage. (Ayant dû travailler avec OSCommerce dans des emplois précédents, je ressens votre douleur là-bas.) Bien que basé sur PHP, il est suffisamment différent pour que souvent la "bonne" façon de faire quelque chose en PHP pur ne soit pas la bonne façon de le faire dans Drupal, et vous allez avoir une bonne courbe d'apprentissage à grimper pour vraiment le maîtriser. Cependant, cela peut changer vos perspectives sur les capacités de PHP en tant que langage et le développement Web dans son ensemble.
la source