IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langages de programmation Discussion :

[Guide] Comment choisir un langage ?


Sujet :

Langages de programmation

  1. #1
    Membre averti
    Inscrit en
    Août 2005
    Messages
    307
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 307
    Points : 378
    Points
    378
    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...

  2. #2
    Rédacteur en Chef
    Avatar de Marc Lussac
    Homme Profil pro
    Responsable marketing opérationnel
    Inscrit en
    Mars 2002
    Messages
    28 664
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Mars 2002
    Messages : 28 664
    Points : 61 613
    Points
    61 613
    Par défaut
    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. Pour contacter les différents services du club (publications, partenariats, publicité, ...) : Contacts

    15 000 offres d'emploi développeurs et informatique
    Cours et tutoriels développeurs et informatique
    Les FAQ's & Les Livres
    Codes sources
    Téléchargements

  3. #3
    Membre averti
    Inscrit en
    Août 2005
    Messages
    307
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 307
    Points : 378
    Points
    378
    Par défaut
    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)

  4. #4
    Rédacteur en Chef
    Avatar de Marc Lussac
    Homme Profil pro
    Responsable marketing opérationnel
    Inscrit en
    Mars 2002
    Messages
    28 664
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Mars 2002
    Messages : 28 664
    Points : 61 613
    Points
    61 613
    Par défaut
    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. Pour contacter les différents services du club (publications, partenariats, publicité, ...) : Contacts

    15 000 offres d'emploi développeurs et informatique
    Cours et tutoriels développeurs et informatique
    Les FAQ's & Les Livres
    Codes sources
    Téléchargements

  5. #5
    Membre éclairé Avatar de reggae
    Profil pro
    Inscrit en
    Août 2005
    Messages
    773
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2005
    Messages : 773
    Points : 795
    Points
    795
    Par défaut
    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à

  6. #6
    Membre chevronné
    Avatar de Woufeil
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    1 076
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 1 076
    Points : 2 004
    Points
    2 004
    Par défaut
    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 ?
    "En essayant continuellement, on finit par réussir. Donc : plus ça rate, plus on a de chances que ça marche" (devise Shadock)
    Application :

    ainsi qu'à regarder la avant de poser une question.

    La rubrique Perl recrute, contactez-moi.

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10
    Points : 9
    Points
    9
    Par défaut
    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.

Discussions similaires

  1. [Disque Dur] Guide : Comment choisir ses disques durs ?
    Par Baptiste Wicht dans le forum Périphériques
    Réponses: 0
    Dernier message: 12/02/2010, 15h50
  2. Les distributions GNU/Linux et BSD + Guide pour choisir sa distribution Linux
    Par Community Management dans le forum Distributions
    Réponses: 1
    Dernier message: 23/09/2006, 18h20
  3. Association : comment choisir le sens ?
    Par 1cado dans le forum Diagrammes de Classes
    Réponses: 2
    Dernier message: 26/09/2004, 23h12
  4. [JSP][Tomcat] COmment choisir la place des fichiers .class?
    Par mathieu dans le forum Tomcat et TomEE
    Réponses: 16
    Dernier message: 03/03/2004, 09h24
  5. Comment choisir une langue differente de la locale?
    Par julian_ross dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 01/03/2004, 18h08

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo