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

Affichage des résultats du sondage: Votre langage de programmation préféré

Votants
1511. Vous ne pouvez pas participer à ce sondage.
  • Java

    394 26,08%
  • C#

    258 17,07%
  • C++

    215 14,23%
  • C

    107 7,08%
  • Visual Basic .NET

    53 3,51%
  • Visual Basic 6 (et antérieurs)

    23 1,52%
  • VBA (Office)

    40 2,65%
  • Delphi

    82 5,43%
  • Python

    79 5,23%
  • Perl

    15 0,99%
  • ADA

    6 0,40%
  • Pascal

    14 0,93%
  • Ruby

    19 1,26%
  • BASIC

    5 0,33%
  • WinDev

    60 3,97%
  • PowerBuilder

    3 0,20%
  • Cobol

    8 0,53%
  • Fortran

    7 0,46%
  • Langages fonctionnels (OCaml, Haskell, F#, Scheme, Erlang...)

    27 1,79%
  • Objective-C

    16 1,06%
  • Autres (précisez)

    57 3,77%
  • Sans opinion

    23 1,52%
Débats sur le développement - Le Best Of Discussion :

Votre langage de programmation préféré en 2010 ? [Débat]


Sujet :

Débats sur le développement - Le Best Of

  1. #61
    Membre du Club
    Inscrit en
    Février 2007
    Messages
    34
    Détails du profil
    Informations personnelles :
    Âge : 61

    Informations forums :
    Inscription : Février 2007
    Messages : 34
    Points : 44
    Points
    44
    Par défaut C++
    C++:
    * objet
    * rigueur
    * performances
    * multi-plateformes
      0  0

  2. #62
    Membre confirmé
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Février 2008
    Messages
    159
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2008
    Messages : 159
    Points : 486
    Points
    486
    Par défaut
    J'aurais pu voter C#, étant donné que c'est avec celui-ci que je travail quotidiennement (pas tant pour le langage en lui même mais plutôt pour tout ce qui gravite autour : EDI, possibilités offertes par la plateforme .net etc..)
    Mais finalement j'ai voté Pascal : nostalgie, c'est avec lui que j'ai fais mes armes.
      2  0

  3. #63
    Membre expert
    Avatar de Klaim
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Août 2004
    Messages
    1 717
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur de jeux vidéo
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 1 717
    Points : 3 344
    Points
    3 344
    Par défaut
    Moi ca me désespère de voir autant de Java, C# ou C++ ... désolé, mais ca me fait penser que c'est le pôle emploi qui nous a tous embrigadés dans des jobs où on pratique surtout ces langages, donc j'ai voté Objective-C qui est selon moi objectivement un langage plus beau que Java ou C++.
    La "beauté" est totallement subjective et est totallement orthogonale à la productivité et à l'efficacité. L'efficacité est elle même dépendante des objectifs d'un projet.
      3  1

  4. #64
    Membre éprouvé Avatar de Ragmaxone
    Homme Profil pro
    Responsable systèmes de distribution
    Inscrit en
    Août 2007
    Messages
    441
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Pologne

    Informations professionnelles :
    Activité : Responsable systèmes de distribution

    Informations forums :
    Inscription : Août 2007
    Messages : 441
    Points : 1 001
    Points
    1 001
    Par défaut
    Citation Envoyé par Klaim Voir le message
    La "beauté" est ... totallement orthogonale à la productivité et à l'efficacité.
    <troll> contre-exemple : travailler avec un Mac permet d'être 200% productif en toute beauté </troll>
      0  2

  5. #65
    Membre expert
    Avatar de Klaim
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Août 2004
    Messages
    1 717
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur de jeux vidéo
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 1 717
    Points : 3 344
    Points
    3 344
    Par défaut
    Oui, exactement, troll
      0  0

  6. #66
    Modérateur
    Avatar de ToTo13
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Janvier 2006
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 793
    Points : 9 860
    Points
    9 860
    Par défaut
    ---- Pourquoi ce choix
    Simplicité et rapidité. Je dois faire pas mal de prototypage et je gagne beaucoup de temps à faire ça en Java.
    La TRES grande communauté Java permet d'avoir accès aux bibliothèques des autres développeurs et comme toutes les classes de base sont communes, la connexion se fait très facilement.


    ---- Les plus/avantages
    * Rapidité du langage. Les 3 ou 4% avec C sont négligeables.
    * Simplicité.
    * La possibilité de me connecter aux autres librairies très facilement. Et dans mon cas cela change totalement mon travail.
    * Le débug ultra-rapide grade à l'auto-compilation des IDE.
    * L'abstraction des pointeurs qui fait gagner beaucoup de temps et de "segmentation fault"
    * C'est le langage le plus utilisé au monde, donc plus de chance d'intéresser un employeur.
    * Multi-plateforme (trivial)
    * L'installation des librairies est trivial, le jar est une révolution par rapport à toutes les librairies qui plantent fautes de dépendances.
    * Android est en java, donc facile de passer à la programmation pour SmartPhones.


    ----- Les moins/inconvénients
    J'en vois pas réellement, car avant j'ai fait du C.


    ----- Quels projets réalisez-vous avec et pourquoi
    * Traitement d'images
    * Classification / Classement
    * IA en général


    ----- Vers quels autres langages pensez-vous évoluer dans le futur
    Pourquoi changerai je ?
    MatLab à la rigueur pour toutes ses librairies.


    ----- Comment vous êtes-vous formé, ou avez-vous été formé sur ce langage
    Autodidacte, mais après une formation rigoureuse en C.


    ----- Est-ce une utilisation amateur ou professionnelle
    Professionnelle.


    - Avez-vous fait votre choix pour raison professionnelle, par plaisir, par choix personnel
    Professionnel. Je me suis dis à l'époque que puisque cela fait maintenant plus de 10 ans que c'est de loin le langage le plus utilisé c'est qu'il devait bien y avoir une raison.


    - Quels outils vous utilisez (Editeur, EDI, etc.)
    Eclipse


    - Autres langages utilisés, pourquoi ? Dans quel cadre ? Et comparaisons ?
    C de par mes origines d'étudiant. Mais j'en fais le moins possible.
    Python car j'y suis obligé : je dois parfois utiliser une plateforme qui a une sur-couche python. Mais j'oublierai ce langage dès que je peux.


    - Sur quels systèmes ou plateformes vous travaillez (Windows, DotNET, Linux, etc.)
    Mac OS X et pour rien au monde je ne voudrai avoir à revenir sur un autre OS.
    J'ai commencé par Window (l'ignorance du débutant), puis je suis passé durant mes études sous Linux (l'horreur incarnée), puis je suis finalement arrivé grâce à mon travail sous Mac et depuis je vis de manière beaucoup plus tranquille et j'oublie même souvent qu'il y a un OS derrière tout ce que j'utilise !!!


    - Conclusion
    Je n'ai à ce jour aucune raison de changer de langage et d'OS.
    Consignes aux jeunes padawans : une image vaut 1000 mots !
    - Dans ton message respecter tu dois : les règles de rédaction et du forum, prévisualiser, relire et corriger TOUTES les FAUTES (frappes, sms, d'aurteaugrafe, mettre les ACCENTS et les BALISES) => ECRIRE clairement et en Français tu DOIS.
    - Le côté obscur je sens dans le MP => Tous tes MPs je détruirai et la réponse tu n'auras si en privé tu veux que je t'enseigne.(Lis donc ceci)
    - ton poste tu dois marquer quand la bonne réponse tu as obtenu.
      1  2

  7. #67
    Candidat au Club
    Inscrit en
    Avril 2006
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    Windev si on veut mener a terme des projets de gestion et autres !
      1  4

  8. #68
    Membre éprouvé
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    612
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2008
    Messages : 612
    Points : 1 050
    Points
    1 050
    Par défaut
    C#

    C'est un vrai langage objet, pas une "surcouche" ajouté au C (c'est l'impression que je ressens avec le C++, même si ce n'est qu'une impression car je ne donne que mon avis personnel, pas un jugement), ce qui fait que sa syntaxe est limpide et ne donne pas une impression d'usine à gaz. Les outils sont diaboliquement efficaces et on ne perd pas de temps sur des choses non essentielles: tout est optimisé.

    C'est un langage d'avenir, surtout que Java, avec sa reprise par Oracle et maintenant son abandon par Apple , me semble pour le moins compromis, du moins sous sa forme actuelle.

    C'est un vrai langage "portable", au contraire du C (où seul le source est plus ou moins portable, et souvent moins que plus), la plateforme virtuelle et je jit étant les garants de cette portabilité. Le seul concurrent actuel étant Java, qui a un peu l'avantage pour l'instant mais avec un concept objet moins finalisé, un avenir inquiétant, et des outils moins conviviaux.

    Je suis un utilisateur atypique car je développe des applications qui mettent en relation des cartes électroniques à microcontroleurs avec des PC. Donc j'écris des applications dont une partie tourne avec des langages de très bas niveau (langage d'assemblage, ou C selon la cible) et dont l'autre tourne sur PC avec langages de haut niveau. Je connais bien les deux mondes, mais pour moi les langages "intermédiaires" entre le pur "abstrait" et le pur "efficacité" me semblent des langages qui n'excellent dans aucun des deux domaines.

    Je pense que le C# est un bon investissement pour l'avenir, surtout si Mono arrive à maturité. Vu que je pense qu'on vote ici pour des langages "sur PC" et non sur microcontroleurs, je vote donc C# sans hésitation aucune.

    A+
    Claude
      3  2

  9. #69
    Expert éminent
    Homme Profil pro
    Big Data / Freelance EURL
    Inscrit en
    Mars 2003
    Messages
    2 124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Big Data / Freelance EURL

    Informations forums :
    Inscription : Mars 2003
    Messages : 2 124
    Points : 7 291
    Points
    7 291
    Par défaut
    Python

    Les projets complets que j'ai eu à réaliser avant 2005 sont en Delphi qui était mon langage préféré, en fait Pascal, avant de connaitre Python. Après 2005 je n'ai quasiment plus fait de programmation sauf épisodiquement.

    Pascal reste un de mes langages préférés mais j'ai récemment appris le python : je le trouve très puissant et en même temps très concis. Dommage qu'il soit encore plus confidentiel que Delphi alors qu'il est pour le coup très moderne et avec des concepts très sympas.

    J'aime le python principalement pour son langage, ça veut dire que j'aimerai qu'il soit plus répandu notamment en version compilé, et pas seulement IronPython abandonné par Microsoft. En revanche on peut dire qu'il existe dans l'environnement Java avec Jython.

    Mon rêve est d'avoir Python dans un EDI Delphi.

    Il faut aussi de jamais perdre de vue ce à quoi on destine le langage. Le C est trop bas niveau pour l'informatique de gestion, même s'il peut en faire, et le Jython est trop haut niveau pour l'informatique industrielle, même s'il peut en faire.

    Les plus/avantages
    Typé
    Concepts de List notamment très puissant
    Concis et non verbeux
    Lisible facilement.
    Comme le pascal permet de faire du bas niveau, quand on n'en a besoin, mais on n'est pas obligé de se coltiner des pointeurs quand on n'en a pas la nécessité (partage cet avantage avec Pascal).
    Tant qu'on ne fait pas de GUI et qu'on se contente de scripts, ou alors des programmes avec peu d'IHM, les inconvénients ci-dessous ne sont pas gênants.



    Les moins/inconvénients
    Pas très répandu
    N'existe pas en version compilée ou seulement IronPython mais on est obligé de se coltiner le framework .NET
    A part .NET, trop marqué par l'architecture microsoft, les GUI sont trop marqués par l'architecture unix. J'aimerai un python comme il existe un Delphi et un Kylix (malheureusement encore moins répandu, voire abandonné (je n'ai pas suivi les derniers épisodes)).
    Les sauts de lignes et indentation sont déroutantes pour le débutant, et oblige quelques fois à des acrobaties de présentation de code inutiles.


    Quels projets réalisez-vous avec et pourquoi
    Comme je le disais à part des besoins de scripts, je ne programme plus dans la vie de tout les jours (sauf de temps à autre du jython, du VBA). Sauf si faire du SQL c'est faire de la programmation.


    Comment vous êtes-vous formé, ou avez-vous été formé sur ce langage
    Avec la doc de python mais principalement avec l'excellent Plongez au coeur de Python (Mark Pilgrim)


    Est-ce une utilisation amateur ou professionnelle
    Voir au dessus. Ma première utilisation est professionnelle même si finalement ces derniers temps je programme très peu.

    Avez-vous fait votre choix pour raison professionnelle, par plaisir, par choix personnel
    Utilisé pour un projet professionnel. Et je me redirigerais vers Python ou le pousserait en avant pour d'autres projets.

    Quels outils vous utilisez (Editeur, EDI, etc.)
    IDLE (que je trouve trop basique).

    Autres langages utilisés, pourquoi ? Dans quel cadre ? Et comparaisons ?
    Delphi (Pascal)
    VB, VBA

    Sur quels systèmes ou plateformes vous travaillez (Windows, DotNET, Linux, etc.)
    Windows

    Conclusion
    Mon rêve serait d'avoir Python dans un EDI Delphi et ce de façon non confidentielle
      1  1

  10. #70
    Membre actif
    Avatar de Fildz
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    161
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 161
    Points : 272
    Points
    272
    Par défaut
    Java pour moi, notamment parce que j'ai été formé sur ce langage. Mais j'apprécie de développé en Ruby (pour faire du Rails) et même si je n'aime pas trop les technos microsoft je trouve C# (pour faire du .NET) vraiment sympa
      0  0

  11. #71
    OPi
    OPi est déconnecté
    Membre actif
    Avatar de OPi
    Homme Profil pro
    en recherche d'emploi
    Inscrit en
    Août 2005
    Messages
    74
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Belgique

    Informations professionnelles :
    Activité : en recherche d'emploi
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2005
    Messages : 74
    Points : 245
    Points
    245
    Par défaut
    J'ai voté pour Python. J'ai touché à pas mal de langages différents et je trouve Python très agréable. J'essaierai d'en dire plus plus tard, si je suis inspiré.

    Mais je voudrais signaler (comme je le fais régulièrement ici et là) que Python est un langage compilé (dans ses implémentation standard dont CPython, l'implémentation de référence) et non interprété. La même erreur est très souvent commise envers PHP et d'autres. JavaScript aussi est compilé, non ?

    Profitions de ce sondage qui recense un peu les langages pour s'interroger sur quels langages est interprétés de nos jours ?..
    DragonSoft DS (informatique) — Johnny Five JF (textes) — Olivier Pirson OPi (mathématiques)
    OPiCitationshttps://bitbucket.org/OPiMedia
      0  2

  12. #72
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Août 2010
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 5
    Points : 0
    Points
    0
    Par défaut
    C++ (C au pire)
      0  4

  13. #73
    OPi
    OPi est déconnecté
    Membre actif
    Avatar de OPi
    Homme Profil pro
    en recherche d'emploi
    Inscrit en
    Août 2005
    Messages
    74
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Belgique

    Informations professionnelles :
    Activité : en recherche d'emploi
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2005
    Messages : 74
    Points : 245
    Points
    245
    Par défaut Python
    Quelques bons côtés de Python :
    • les types abstraits usuels agréablement utilisables
    • la généralisation de l'opérateur [] pour accéder aux éléments
    • les fonctions builtin qui permettent de généraliser des comportements de base du langages à ces propres classes (même si j'avoue un peu honteux que je ne maîtrise pas du tout le modèle objet)
    • l'indentation pour marquer les blocs (un peu troublant au début, mais rapidement un vrai bonheur)
    • tout est objet
    • support (partiel) des fonctions anonymes
    • le support de l'UNICODE
    • le toolkit Tk est un module standard
    • la compilation automatique avec sauvegarde des modules compilés
    • ...


    Un truc (temporairement) gonflant, c'est que Python 3 va prendre du temps à remplacer la branche 2.*...
    DragonSoft DS (informatique) — Johnny Five JF (textes) — Olivier Pirson OPi (mathématiques)
    OPiCitationshttps://bitbucket.org/OPiMedia
      0  0

  14. #74
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    406
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 406
    Points : 380
    Points
    380
    Par défaut
    Toujours les mêmes en tête!
    Comme quoi la migration vers les langages évolués se fait très très doucement.
      0  0

  15. #75
    Nouveau membre du Club
    Inscrit en
    Mars 2010
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 25
    Points : 27
    Points
    27
    Par défaut
    Javaaaaaaaaaaa
      0  3

  16. #76
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2010
    Messages
    2
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2010
    Messages : 2
    Points : 15
    Points
    15
    Par défaut
    J'ai voté pour C#.

    Pourquoi ce choix
    J'utilise C# depuis 6 ans; durant les quelles je me suis amusé à pratiqué et apprendre plusieurs autres langages.
    Je doix dire que personnellement je ne pense pas qu'il y a un langage de programmation meilleur que les autres.
    Mon choix se réserve aux langages de la famille C. Dans cette catégorie le C# a des atouts que d'autres n'ont pas tel que les expressions lambdas ou plus généralement les fonctions anonymes et les délégués (ce qui relve plutôt du framework que du langage)

    Les plus/avantages
    Comme le cas de plusierus autres langages, le C# est un langage à tout faire.
    Ce qui le différencie est l'outil phare Visual Studio et le Framework .NET et tout ce qu'il a à donner.
    C'est une question de gout et de méthodes, à chacun son avis.
    Enfin, il y a l'intégration à Windows, qui n'importe quel autre langage ou framework ne peut rivaliser avec. On me dira, peut le C(++) avec les API WIN32. Je dirai alors je préfére le C# pour sa facilité d'utilisation ce qui me raméne au premier point.
    Les moins/inconvénients
    Sa limitation plus ou moins grave à Windows.
    C'est vrai que mono existe et j'encourage une telle initiative.
    Mais le simple fait de la non portabilité de WinForms me rend hésitant que dire de WPF.
    Je doix avouer que je n'ai pas testé ASP.NET ou Silverlight ou tout autre Framework de la plateforme .NET sous mono.
    Quels projets réalisez-vous avec et pourquoi
    Je réalise avec des projets de tout genre, ce qu'en me demande de faire, enfin.
    Vers quels autres langages pensez-vous évoluer dans le futur
    Je migrerai, dans le sens de cohabitation pas d'exculsion, vers Python en y forgeant mes connaissances.
    Aussi, il y a plusieurs autres autres langages qui m'intriguent dont Tcl, Haskell, F#.
    Comment vous êtes-vous formé, ou avez-vous été formé sur ce langage
    Je me suis formé tout seul.
    Est-ce une utilisation amateur ou professionnelle
    Toutes les deux.
    Avez-vous fait votre choix pour raison professionnelle, par plaisir, par choix personnel
    Au début, c'tait purement par plaisir. Maintenant, la raison professionnelle et le plaisir.
    Quels outils vous utilisez (Editeur, EDI, etc.)
    Principalement Visual Studio, TFS et tout ce qui va avec.
    Autres langages utilisés, pourquoi ? Dans quel cadre ? Et comparaisons ?
    J'utilise python et Matlab.
    Python, je l'utilise plutot quand je suis sur Linux et Matlab quand je fais que traitement de signal.
    Matlab et C# ne sont pas à comparer, chacun son domaine; même s'il se croisent en certains l'un ou l'autre finit par se déclarer vainceur (ou perdant).
    C# et Python se ressemble en le fait qu'il sont des langages à tout faire.
    En parlant purement langage je préfére C#, faute d'être formé au C et au typage fort. J'apprécie aussi la syntaxe OO de C# au dépit de celle de Python.
    En parlant origines et notions fondatrices ils ne sont pas à comparer car sa reviendra à comparer les réseaux cablés avec les réseaux sans fils.
    Sur quels systèmes ou plateformes vous travaillez (Windows, DotNET, Linux, etc.)
    Côté OS je travaille sur Windows, Linux et FreeBSD.
    - Conclusion
    Vu que le langage tout seul ne sert à rien et que chaque langage avec son framework a ses notions fondatrices, il est difficile de dire qu'un langage est absolument meilleur qu'un autre; ça dépend de ce qu'on veut faire avec.
      3  0

  17. #77
    Membre confirmé
    Inscrit en
    Mai 2007
    Messages
    335
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 335
    Points : 511
    Points
    511
    Par défaut
    Citation Envoyé par zakaria84 Voir le message
    Toujours les mêmes en tête!
    Comme quoi la migration vers les langages évolués se fait très très doucement.
    lol!

    Quels sont les langages évolués?

    (Question bonus / 10 points: comment on définit un langage évolué?)
      2  0

  18. #78
    Membre du Club
    Homme Profil pro
    Inscrit en
    Janvier 2010
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 46
    Points : 57
    Points
    57
    Par défaut
    Citation Envoyé par raoufff Voir le message
    Sa limitation plus ou moins grave à Windows.
    C'est vrai que mono existe et j'encourage une telle initiative.
    Mais le simple fait de la non portabilité de WinForms me rend hésitant que dire de WPF.
    Je doix avouer que je n'ai pas testé ASP.NET ou Silverlight ou tout autre Framework de la plateforme .NET sous mono.
    Il existe une implémentation des WinForms sous Mono. C'est WPF qui n'a été porté et qui ne risque pas de l'être.
    Néanmoins, la plupart des développements Mono sous Linux utilise plutôt GTK#.
      0  0

  19. #79
    Nouveau Candidat au Club
    Profil pro
    Assistant de Direction
    Inscrit en
    Novembre 2010
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : Algérie

    Informations professionnelles :
    Activité : Assistant de Direction

    Informations forums :
    Inscription : Novembre 2010
    Messages : 1
    Points : 0
    Points
    0
    Par défaut je prefer delphi
    delphi 7
      0  2

  20. #80
    Membre éprouvé
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    309
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 309
    Points : 928
    Points
    928
    Par défaut
    J'ai choisi "langages fonctionnels", mais j'aimerai quand même préciser un peu !

    Mon langage "normal" préféré est OCaml. C'est un langage multiparadigme. Il incite à la programmation fonctionnelle, mais donne au programmeur la possibilité de programmer en impératif (il y a les boucles, références et tableaux qu'il faut), mais aussi en objet (c'est le O de OCaml). Son modèle objet est d'ailleurs beaucoup plus puissant que celui de java par exemple, autorisant du vrai polymorphisme, du sous typage structurel (et non lié à l'héritage, qui n'est là que pour le partage de code), de parler de la classe courante dans les types, etc etc.
    Son système de type statique extrêmement puissant (et continuant à s'améliorer régulièrement) rend les programmes très sûr (les programmeurs caml ont l'habitude de dire "ça type, donc ça marche". Ce n'est bien sûr pas complètement vrai, mais c'est loin d'être complètement faux). Mais l'inférence de type complète fait que pour une utilisation normale, il n'y a aucun type à écrire, sauf pour la documentation ou pour aider à l'abstraction. Par exemple le code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    let rec map fn lst =
      match lst with
      | [] -> []
      | hd::tl -> fn hd :: map fn tl
    qui applique une fonction à tous les éléments d'une liste est un code parfaitement typé (de type polymorphe ('a -> 'b) -> 'a list -> 'b list pour ceux que ça intéresse). Aucune annotation !
    Pour ce qui est des performances, elles sont plus qu'honorables. On parle généralement de facteurs 2 à 4 avec le C. C'est néanmoins très variable suivant les applications. J'ai déjà écris une application plusieurs ordre de grandeurs fois plus rapide que son homologue en C, juste parce que caml libère du temps cerveau programmeur en se chargeant des problématiques bas niveau, autorisant celui ci à se concentrer sur les vrais problématiques. (Dans le cas dont je parle, la solution était de faire de la mémoization, grandement faciliter entre autre par la possibilité de rendre du code "lazy" en caml. Évidemment, le code aurait put être repris en C avec du temps, et aurait sans doute été plus performant, mais le jeu n'en valait pas la chandelle).
    Un des plus gros défaut de caml est qu'un ne permet pas d'écrire des programmes tournant sur plusieurs coeurs. Vous pouvez écrire un programme avec des threads s'il y a un avantage algorithmique à le faire (et pour ne pas freezer en cas de lattence lors d'une lecture réseau par exemple), mais un lock global empêchera les différents threads de s'exécuter en parallèle. Cette limitation est du au GC (garbage collector, glaneur de cellules), qui pour être correcte nécessite une exécution linéaire.


    Mon deuxième langage préféré pour 2010 (et 2011 ) est moins "normal". En effet, ce langage est Coq. Coq est un langage fonctionnel, comme OCaml. Contrairement à ce dernier pourtant, coq n'est vraiment *que* un langage fonctionnel. Il n'a aucun trait impératif (il est totalement pur), au point qu'on ne peut même pas directement lire un fichier ou afficher quelque chose sur la sortie standard ! (j'insiste sur le "pas directement", sinon ce serait vraiment inutile).
    Alors quel est l'intérêt par rapport à caml ? Hé bien c'est la puissance du système de type de Coq ! Je disais plus haut que celui de caml était puissant. Si le système de type de Java est une souris, et celui de caml une baleine bleue, celui de coq ressemblerait plutôt à ça. Quel est l'intéret ? Et bien on peut y exprimer des théorèmes mathématiques. Par exemple on peut y exprimer que tout entier est soit paire soit impaire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Lemma foo: forall n:nat, exists p, n = 2 *p \/ n = 2 * p +1
    On peut ensuite prouver ce lemme. Coq est en fait ce qu'on appelle un "assistant de preuve". C'est à dire qu'il laisse l'utilisateur exprimer des théorèmes puis les prouver, et vérifie extrêmement strictement que la preuve est correcte (et prouve aussi automatiquement les morceaux faciles).

    Alors pourquoi je parle de ça dans un sondage sur le langage de programmation préféré ? Hé bien la magie de Coq (qui vient de l'isomorphisme de Curry-Howard), c'est que c'est aussi un langage de programmation. Mais en combinant les deux (langage de programmation + assistant de preuve), on peut prouver formellement les programmes que l'ont écris. Et il y a deux grosses différences avec une simple preuve sur papier. La première est que Coq, en tant qu'assistant de preuve, est particulièrement précis, et empêche toute erreur. Mais surtout, ici, on prouve directement *le programme*, c'est à dire celui qui tournera effectivement. Il n'y a donc plus de risque d'introduire des erreurs en implémentant l'algorithme qu'on a prouvé sur papier.

    Une fois le programme écris et prouvé, on peut ensuite "l'extraire", c'est à dire d'une certaine manière le "compiler" vers... ocaml ! C'est ensuite en caml qu'il faut écrire la "glue" pour faire tourner le code (par exemple la lecture dans les fichiers, l'écriture, etc).

    La question légitime est: peut on réellement prouver de "vrais" programmes, et pas juste des exemples jouets. La réponses est clairement "oui".

    La librairie standard de Coq contient un certain nombre d'exemple, dont une implémentation intégralement prouvé des maps à base d'AVL. Il y a une preuve de la validité fonctionnelle (quand on ajoute un élément, il est ensuite dans la map !) mais aussi que toutes les opérations maintiennent l'équilibre.

    Mais en beaucoup plus impressionnant, il y a le compilateur C Compcert. Ici, c'est un compilateur complet, de C vers ARM, PowerPC et x86 qui est prouvé. Seul le parsing et l'ouput final de l'assembleur (c'est à dire juste l'impression dans un fichier. La génération de l'assembleur est bien sur prouvé) sont écris en caml non prouvés. Il est donc bien possible de prouver intégralement de vrais gros projets.

    Voici donc mes deux langages préférés
      8  0

Discussions similaires

  1. Quel est votre langage de programmation préféré en 2013 ?
    Par Community Management dans le forum Langages de programmation
    Réponses: 102
    Dernier message: 18/09/2014, 07h40
  2. Quel est votre langage de programmation préféré en 2009 ?
    Par Yogui dans le forum Débats sur le développement - Le Best Of
    Réponses: 315
    Dernier message: 26/10/2010, 17h58
  3. [Archive] Quel est votre langage de programmation préféré ? (2004..2008)
    Par Idelways dans le forum Débats sur le développement - Le Best Of
    Réponses: 403
    Dernier message: 04/02/2009, 00h56

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