Ce ne sera pas une question "programmation", mais plus de questions liées à la technologie / à la plate-forme. J'essaie de déterminer si Python peut être une alternative Java appropriée pour les applications Enterprise / Web. p>
Quels sont les cas idéaux où vous préférez utiliser Python au lieu de Java? Comment une application Web de python typique (Base de données / sessions / Concurrence) serait-elle comparée à une application Java typique? Comment les cadres python spécifiques sont-ils carrés contre les cadres basés sur Java (printemps, couture, greils, etc.)? P>
Pour les entreprises, passez de l'infrastructure Java à une infrastructure python. Est-ce trop dur / coûteux / ressource intensif / non viable? Agitez également une lumière sur l'analyse de rentabilisation pour fournir une solution basée sur Python + Google Appengine au client final. Sera-t-il rentable dans un scénario typique? P>
Désolé si je demande trop de questions, j'aurais aimé le garder spécifique, mais j'ai besoin de votre aide pour évaluer Python dans son ensemble des perspectives des programmeurs, service fournissant une entreprise et fin de compte. p>
Pour une PME, une pile de technologies basée sur Python / GoogleAppengine est une plate-forme précise évolutive et abordable. Mais qu'en est-il d'un grand MNC qui a déjà beaucoup investi dans Java. P>
Merci beaucoup. Je fais des recherches moi-même et je vais volontiers partager mes conclusions ici! P>
merci, Srirangan p>
5 Réponses :
Une entreprise qui a déjà un térabucks d'investissements Java devrait ajouter Jython à leur mélange de technologies - Il peut être adopté progressivement et progressivement, au premier abord aux fonctions auxiliaires telles que les tests, les «Données uniques», le prototypage de nouvelles fonctionnalités, des cas dans lesquels l'utilisation de certaines bibliothèques de python open source existantes est évidemment très pratique, etc., et ainsi de suite - alors, comme les nombreux développeurs Java de la société apprennent à utiliser Jython, certains des prototypes seront simplement mis en production en tant que code Jython, car il n'y aurait aucun avantage de les recoder, un seul sous-système nécessitant un recodage sera recodé en Jython, et ainsi de suite. p>
Ce n'est jamais vraiment une décision judicieuse de jeter une énorme base de base existante et de travail et l'investissement ginormous qu'il représente - les forces de Python incluent sa richesse d'implémentations fortes et de niveau de production, dans quelle mesure elles "jouent avec d'autres" et comment puits python peut progressivement et incrémenter la plupart des magasins de développement. P>
"Terabucks" est-il là où vous obtenez votre café? :)
Plus votre investissement dans une technologie existante est important, plus il est cher, il est de s'éloigner de cela. Cobol est peut-être le meilleur exemple ici. P>
Cet investissement ne consiste pas uniquement à porter des solutions existantes, mais également à la reconversion ou à l'embauche de nouveau personnel afin que vous ayez les compétences pour créer et soutenir les nouvelles technologies même tout en conservant vos solutions héritées. P>
Ajouter à cela le fait que pour la plupart des grandes entreprises multinationales, le logiciel n'est pas leur activité principale. Tant que cela fonctionne efficacement et remplit les besoins de l'entreprise, ils n'ont pas tendance à se soucier de «détails». p>
Vous devez être capable d'offrir des avantages assez convaincants pour surmonter ce type d'inertie. P>
triste mais vrai. p>
Si vous avez besoin de faire le genre de choses que vous pouvez faire avec Django, Django et Python sont totalement ce que vous voulez. Google App Engine exécute Django aussi bien . Donc, vous pouvez faire une application Django et l'héberger sur Google App Moteur, puis modifier votre esprit et passer à l'hébergement de serveur conventionnel, ou à l'hébergement auto-hébergement si vous avez votre propre serveur. P>
Je n'ai pas essayé Google App Moteur, mais ma compréhension est que le prix est assez raisonnable pour ce que vous obtenez. Le service informatique de Google fait un excellent travail de garder leurs centres de données. Si vous externalisez l'hébergement sur Google App Moteur, vous savez que vos données sont sauvegardées, vous savez que les serveurs ne vont pas en panne, et même si une pack-backhoe prend tout un centre de données Google sur Internet, un autre centre de données Google continuera de servir. votre demande à vos clients. Vous savez également que si votre application devient soudainement très populaire, Google App Moteur Wil L échelle automatiquement pour gérer la charge. (Je pense que vous définissez une casquette pour le maximum que vous êtes prêt à payer et que cela échoue jusqu'à ce qu'il frappe le capuchon. Mais comme je l'ai dit que je ne l'ai pas utilisé et que je ne suis pas certain.) P>
Je n'ai pas encore utilisé Java, mais d'après ce que j'en ai vu, Python est un langage beaucoup plus expressif et des codeurs de python qualifiés peuvent avoir plus de travail effectué en une journée simplement parce que la langue est que beaucoup mieux. Cependant, si vous avez déjà investi dans Java et que vous avez une expertise interne à Java, vous seriez fou de vous échapper de la nuit. La bonne chose est de choisir un nouveau projet pour simplement essayer cette chose de python fou. P>
Et je recommande vraiment django. Vous pouvez obtenir le livre Django et essayer le tutoriel. Si votre premier projet pilote à Python est un projet Django, vous devriez avoir une heure facile des choses. P>
Django est génial. Gae + Django est moins génial, étant donné que GAE ne supporte pas vraiment de nombreuses caractéristiques qui rendent Django vraiment utile. L'OP demande à ce que les types de problèmes sont résolus avec du matériel interne dans tous les cas, ce qui rend la réponse à la GAE.
En outre, j'adore Python, mais si vous n'avez pas utilisé Java, ne perrochez pas non-sens à ce sujet que vous avez entendu ailleurs, cela vous rend simplement mauvais.
RAWK! I> Steveha veut un cracker! <- c'est perroré. S'il vous plaît identifier spécifiquement la partie où je parrobé quelque chose que j'avais entendu ailleurs. NOTE J'ai dit "de ce que j'en ai vu" ... Je discutais de ma propre expérience. Python prend moins de lignes de code par rapport à Java et la plupart des gens conviennent que cela aide les gens plus productifs. Voir aussi: pythonconquerstheuniverse.wordpress.com/category/...
@Paul, si GAE ne supporte pas vraiment de nombreuses fonctionnalités de Django, c'est une information importante et la peine de noter. Mon idée est-elle toujours correcte qu'il serait facile de prendre une application GAE et de la déplacer à l'hébergement conventionnel sur Django? Si Django est un superset approprié de GAE, cela devrait fonctionner, mais si GAE dispose de fonctionnalités supplémentaires manquantes de Django, cela ne fonctionnera pas très bien. Dois-je modifier ma réponse pour sortir tout ce qui est incorrect?
Il y a - presque - pas de "cas d'affaires" utilisable pour tout choix technologique. P>
"Qu'en est-il d'un grand MNC qui a déjà beaucoup investi dans Java" Demander autour de vous. Voir s'il y a une analyse de rentabilisation pour Java. P>
Je doute que vous trouverez n'importe quoi. La plupart des entreprises dérivent dans des choix technologiques lentement. P>
Il n'y a pas eu de cas de rentricité pour Cobol - c'était le seul jeu de la ville dans les jours olden. P>
Il y a rarement une analyse de rentabilisation pour Java. Ce qui se produit généralement, c'est que certains individu visionnaires ont commencé à construire le premier site Web (probablement à Perl). La «chose Web» a gagné une traction et une vision individuelle a commencé à construire des sites Web en Java. Finalement, le succès de ces petites équipes indiquait à d'autres que Java avaient des avantages sur Cobol. P>
Les gestionnaires disent que les mots "font une affaire de rentabilisation", mais regardez ce qu'ils font réellement. Ils écoutent (1) leurs pairs, (2) des personnes qui réussissent. p>
Pour faire la "case d'affaires" pour Python, vous devez être cet individu visionnaire. P>
1) Utilisez Python. P>
2) réussir. P>
3) Partagez vos succès. P>
4) Soyez prêt à expliquer que votre succès est dû à vos outils, pas de votre niveau personnel de génie et de charisme. P>
Il y a très certainement des cas de travail pour une langue. Nos développeurs ont-ils des connaissances appropriées, existe-t-il des (nouveaux) développeurs disponibles pour cette langue? Peut-on facilement interopérer avec cette autre pile logicielle de la nôtre (intégration LDAP par exemple) ou avons-nous besoin de réinventer cette roue nous-mêmes? C'est juste ni vraiment la technologie intéressante pour l'analyse de rentabilisation, mais l'utilisation et le soutien de cette technologie.
@extraneon: toutes les questions intéressantes. Mais, aucun de ceux-ci n'a été réellement utilisé dans une manière quantitative de «cas de rentabilisation» de faire de l'une des décisions d'utilisation linguistique. Au lieu de cela, la décision de l'utilisation de la langue est une chose qui se produit lentement en fonction du succès précédent. Regardez l'adoption de Java dans n'importe quelle organisation. Trouvez la documentation «cas de rentabilisation». C'est très, très rare.
La réponse à votre question est oui. Python peut être bien adapté à l'entreprise car Python est une langue qui a une puissance brute, flexible et peut être collée avec d'autres langages de programmation. Quelle entreprise nécessite vraiment une langue qui fait tout et je pense que Python est déjà prêt à être prêt. Si vous voulez des exemples, je pense qu'il ne peut y avoir de plus grand exemple que Google. Google exécute Python en interne et en externe pour ses applications critiques d'entreprise. Le seul problème avec Python est qu'il n'est pas très bien reconnu par la plus grande entreprise de MNC et nous, en tant que programmeur Python, il trouve du mal à convaincre l'équipe de direction. Je suppose que vous ferez face au même problème. Mais je vous garantissons une fois que vous avez mouillé vos pieds dans Python, vous comprendrez sa véritable puissance p>