Précédent   Forum du club des développeurs et IT Pro > Général Développement > Langages de programmation
Langages de programmation Forum général sur les langages de programmation, sur la POO, opinions, choix, ...
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 12/04/2006, 17h18   #1
kisitomomotene
Membre actif
 
Inscription : août 2005
Messages : 296
Détails du profil
Informations forums :
Inscription : août 2005
Messages : 296
Points : 174
Points : 174
Par défaut [Guide] Comment choisir un langage ?

Salut à tous.

Voici d'après moi la meilleure façon de procéder pour choisir un langage de programmation pour un projet.
Je pars des objectifs qui doivent être atteints lorsqu'on développe une application :

- Faisabilité : existe-t-il dans ce langage des ressources pour satisfaire aux spécifications fonctionnelles de l'application ? Existe-t-il des ressources pour faire déployer et fonctionner les applications écrites dans ce langage sur la (ou les) plateforme(s) cibles ?

- Fiabilité de l'application : existe-t-il dans ce langage des frameworks de test, des frameworks de logging, des véritables outils de debugging (comme findbugs dans java)?

- Maintenabilité, extensibilité, flexibilité : le langage est-il orienté objet ? Existe-t-il dans ce langage des frameworks qui implémentent les principaux design patterns ? Existe-t-il dans ce langage des outils pour effectuer des forward et reverse engineer entre le code source et le langage UML ? Existe-t-il des frameworks d'AOP ?

- Manageability : existe-t-il des frameworks pour effectuer l'instrumentation des ressources dans ce langage ? (comme JMX dans java ou WMI API pour les appli .Net ou Win32)

- Performance : existe-t-il dans ce langage des outils pour effectuer des "performance profilings" ? Existe-t-il des frameworks de pooling et de caching ?

- Productivité : existe-t-il des IDE qui intègrent et complètent les principaux outils et frameworks ci-dessus et qui pallient à certaines insuffissances du langage ? Existe-t-il déjà du code réutilisable pour l'application à developper ? Existe-t-il des frameworks de persistances ?

Peut être pouvez-vous compléter la liste...
kisitomomotene est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/04/2006, 17h24   #2
Marc Lussac
Directeur Marketing
 
Avatar de Marc Lussac
 
Homme Marc Lussac
Responsable marketing opérationnel
Inscription : mars 2002
Messages : 27 386
Détails du profil
Informations personnelles :
Nom : Homme Marc Lussac
Localisation : Canada

Informations professionnelles :
Activité : Responsable marketing opérationnel
Secteur : Communication - Médias

Informations forums :
Inscription : mars 2002
Messages : 27 386
Points : 42 536
Points : 42 536
Parts de marchés/pérénité

Plus un langage est utilisé, plus on trouve pour ce langage des articles, cours, des libs, des outils, des sources, etc. Bref de nombreuses choses indispensables à la vie d'un langage.
__________________
-> Ne pas me contacter pour le forum et je ne répondrai à aucune question technique -> Comment nous contacter
-> Pour partenariat ou publicité : Mon Email
Marc Lussac est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/04/2006, 17h47   #3
kisitomomotene
Membre actif
 
Inscription : août 2005
Messages : 296
Détails du profil
Informations forums :
Inscription : août 2005
Messages : 296
Points : 174
Points : 174
Citation:
Envoyé par Marc Lussac
Parts de marchés/pérénité

Plus un langage est utilisé, plus on trouve pour ce langage des articles, cours, des libs, des outils, des sources, etc. Bref de nombreuses choses indispensables à la vie d'un langage.
Je crois que cela depend. MS peut à lui tout seul par exemple fournir suffissament de ressource et de support pour ses langages (VB.Net ou C#)

Par contre en PHP il y a beaucoup de code libre, mais je ne sais pas 'il existe par exemple en PHP des véritables frameworks qui implémentent des design pattern ( comme MVC, IOC etc) ou des frameworks d'AOP et comme PHP (avant sa dernière version) n'était pas OO, si les critère de maintenabilité , de flexibilité et d'évolutivité sont importants dans un projet, faut pas chosir PHP ( du moins si les hypothèses évoquées ci dessus s'averaient vraies)
kisitomomotene est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/04/2006, 18h15   #4
Marc Lussac
Directeur Marketing
 
Avatar de Marc Lussac
 
Homme Marc Lussac
Responsable marketing opérationnel
Inscription : mars 2002
Messages : 27 386
Détails du profil
Informations personnelles :
Nom : Homme Marc Lussac
Localisation : Canada

Informations professionnelles :
Activité : Responsable marketing opérationnel
Secteur : Communication - Médias

Informations forums :
Inscription : mars 2002
Messages : 27 386
Points : 42 536
Points : 42 536
Il y à une énorme part de marché sur PHP (c'est le leader sur le web pour la Francophonie), quand à Microsoft, Microsoft peu investir des millions pour lancer C# et en faire un succès.

Par contre il y à environ 1000 langages de programmations qui ont fait des bides, il faut le savoir ca...

Un langage il faut réussir le lancement marketing, c'est comme pour tout

C'est pas parce que tu as inventé "ton langage super génial" que ca sera un succès mondial...

Sur developpez.com on à les stats, en tete pour les langages de programmation c'est Java puis (dans le désordre) C++, C, PHP, C#/VB.NET,...

Tu as aussi sur le web des sites qui donnent des stats sur les langages...
__________________
-> Ne pas me contacter pour le forum et je ne répondrai à aucune question technique -> Comment nous contacter
-> Pour partenariat ou publicité : Mon Email
Marc Lussac est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/04/2006, 22h21   #5
reggae
Membre chevronné
 
Avatar de reggae
 
Inscription : août 2005
Messages : 773
Détails du profil
Informations forums :
Inscription : août 2005
Messages : 773
Points : 683
Points : 683
J'avais commencé un article concernant le choix du langage...
Je ne l'ai jamais fini, mais voici certains points que j'avais mentionné et qui ne paraisse pas encore ici:
La disponibilité d'EDI
Utilisation en entreprises
OS visé
L'éventuelle portabilité du programme (framework, machines
virtuelles, etc)
Le domaine dans lequel le langage devra être efficace (ingénirie,
traitement web,etc.)
Voilà
reggae est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/04/2006, 12h44   #6
Woufeil
Rédacteur
 
Avatar de Woufeil
 
Étudiant
Inscription : février 2006
Messages : 1 076
Détails du profil
Informations personnelles :
Âge : 25
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : février 2006
Messages : 1 076
Points : 2 080
Points : 2 080
Pour moi, c'est pas tant la faisabilité quu est importante (sinon on se retrouverait à tout faire en C++ voir même en ASM, puisqu'on peut réellement TOUT faire dans ces deux langages) mais plutôt la facilité avc lequelle l'objectif pourra être atteint.

Par exemple si j'ai besoin d'un outil d'administration système permettant le traitement de logs divers, l'automatisation des taches courantes, le gestion des droits et celle du réseau le tout avec une GUI : si je suis à la lettre les critères donnés je serais emmené à faire ce programme en C++ ou en Java, alors que je suis persuadé que pour ce genre de choses Perl est le meilleur choix.

Je sais pas, je trouve que ce guide est une bonne idée mais j'ai l'impression qu'en le suivant on se retrouve à utiliser toujours les mêmes langages qui ont fait leurs preuves (et donc qui sont très utilisés et donc pour lesquels le programmeur dispose de plein d'outils à se disposition). N'est il pas dommage de zaper le Python par exemple ?
Woufeil est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/10/2007, 13h00   #7
Myshl
Invité de passage
 
Inscription : décembre 2006
Messages : 10
Détails du profil
Informations forums :
Inscription : décembre 2006
Messages : 10
Points : 4
Points : 4
L'utilisation en entreprise est un critère positif de pérennité.
L'ouverture vers DotNet est un critère positif de durée.
Le foisonnement de sites/blogs/forums n'est pas un critère positif,
sinon l'indice d'un affolement.
La normalisation ISO du langage est contraignante mais un critère positif de sérieux.
Le prix n'est jamais un critère de qualité.
Le garbage collector est un critère positif.
L'utilisation en enseignement supérieur est un critère positif,
la documentation produite en facs est accueillie à bras ouverts.
La portabilité des sources sur les différents OS est un critère positif.
La connexion avec les SGBD est un critère positif.
La capabilité application locale/serveur est un critère positif.
La capacité à modulariser en fichiers distincts est un critère positif.
La françisation de l'EDI est un critère positif, mais moins que la disponibilité de la documentation en français.
Des logiciels s'annonçant comme "orientés jeux" peuvent être utilisés à la programmation autre, ne pas se laisser influencer négativement par le mot "jeu".
La multiplicité des EDI pour un même produit révèle une insatisfaction.
La nouveauté du langage force l'apprentissage, elle ne doit pas effrayer le programmeur qui vit dans un monde évolutif et évoluant.

Formé à Basic, passé par TurboPascal, amoureux de Python voire de Ruby,
après avoir flirté avec Scriptol, j'en viens à choisir entre PureBasic, Ada et Eiffel. J'élimine Ada, trop d'EDIs, trop libre, PureBasic me tente malgré son prix, il peut me satisfaire, je teste Eiffel qui a l'air solide, portable, ouvert web, connectable aux SGDB, utilisé en entreprises, enseigné en fac, et autres qualités selon moi.
Bon, mais faut l'apprendre.
Myshl est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 13h07.


 
 
 
 
Partenaires

Hébergement Web