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

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

L'utilisation d'un langage de programmation approprié permettrait une réduction considérable des dépenses


Sujet :

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

  1. #41
    Membre éclairé
    Inscrit en
    Juillet 2012
    Messages
    231
    Détails du profil
    Informations forums :
    Inscription : Juillet 2012
    Messages : 231
    Points : 870
    Points
    870
    Par défaut
    Citation Envoyé par Sirus64 Voir le message
    Quelqu'un a-t-il des exemples et retours sur des applications qui ont été programmés en fonctionnel pur ? (outre les lib JavaScript)
    Pour citer un exemple en Haskell, il y a XMonad (un gestionnaire de fenêtre basé sur la Xlib).
    Pour ceux qui veulent « des trucs de la vraie vie avec des vrais projets  », il y a aussi des entreprises sur cette page (Alcatel-Lucent , AT&T, Facebook, des banques, Google, NVIDIA, Qualcomm, …).
    De manière générale, tu dois sûrement avoir plus de projets (et de détails) dans les talks du CUFP (Commercial Users of Functional Programming).

  2. #42
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    Citation Envoyé par Sirus64 Voir le message
    Quelqu'un a-t-il des exemples et retours sur des applications qui ont été programmés en fonctionnel pur ? (outre les lib JavaScript)
    Euh, depuis quand Javascript est un langage fonctionnel pur ? On peut à la rigueur dire que c'est un langage fonctionnel (dans la mesure où il permet de manipuler des fonctions comme des données), en plus d'autres paradigmes, mais surement pas fonctionnel pur...

  3. #43
    Membre du Club
    Inscrit en
    Mars 2009
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 41
    Points : 57
    Points
    57
    Par défaut
    Je n'ai fait qu'appuyer ce que d'autres ont déjà dit le langage n'est qu'un outil, il est à choisir en fonction des besoins lors de l'étude. Un langage comme le C n'est pas plus sujet au bogue qu'un autre du moment que de bonnes pratiques sont mises en place on n'a pas inventé les tests unitaires et d'intégration pour rien.

  4. #44
    Membre averti
    Homme Profil pro
    Développeur Java
    Inscrit en
    Février 2006
    Messages
    380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2006
    Messages : 380
    Points : 314
    Points
    314
    Par défaut
    Est-ce qu'un dévelopeur quelconque peut avoir un avis sur un langage quelconque et que ça fasse un article trollesque ?

    Apparemment oui

    Bon qu'est-ce que je peux préconiser ce matin ?

    Il y en a marre des trolls de ce genre, je fréquente et apprécie ce site depuis longtemps.
    La politique est-elle de nous tirer vers le bas pour avoir du public ? Ce type d'articles commence à être lourd. Cherche-ton de la popularité ? Ce n'est certainement pas le bon chemin.

    Ce que recherchent les gens, dévelopeurs de métiers ou occasionnels, ce sont de BONS articles et de bonnes solutions aux problèmes qu'ils rencontrent. Nous sommes sur développez.net, pas sur trollez.net.

    Le site qui marche en ce moment c'est malheureusement un site anglophone que je ne citerai pas mais que vous avez tous en tête, mais pourquoi ? Parce qu'on y trouve les questions que tout le monde se pose.

  5. #45
    Membre éclairé

    Homme Profil pro
    Architecture logiciel
    Inscrit en
    Janvier 2013
    Messages
    103
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecture logiciel
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2013
    Messages : 103
    Points : 713
    Points
    713
    Par défaut
    Citation Envoyé par tomlev Voir le message
    Euh, depuis quand Javascript est un langage fonctionnel pur ? On peut à la rigueur dire que c'est un langage fonctionnel (dans la mesure où il permet de manipuler des fonctions comme des données), en plus d'autres paradigmes, mais surement pas fonctionnel pur...
    Héhé ! Fonctionnel pur est un peu abusif. Le but était simplement de parler de la facon de résourdre les problèmes par de faire du lambda calcul. Quand je cite javascript, je pense à la lib underscore par exemple qui est un bon exemple d'utilisation détournée du fonctionnel pour des gens qui n'ont pas l'habitude de l'utiliser.
    Personnellement, je ne crois pas au tout fonctionnel. Quand on regarde OCaml par exemple ils ont introduit les pointeurs ce qui casse le caractère immuable propre aux langages fonctionnels.
    En parlant du caractère immuable des objets, j'ai bien aimé la présentation de d'Erik Meijer (http://channel9.msdn.com/posts/Erik-...rst-Principles).

    grim7reaper : merci pour les références : je me pose quand même la question de l'utilisation de ce type de langage dans un environnement de travail de tous les jours. Si des personnes sur ce fil ont une expérience à rapporter sur le sujet (développement en entreprise, hors domaine de la recherche), je serais le premier heureux de constater une avancée.

  6. #46
    Membre chevronné

    Homme Profil pro
    Mentaliste
    Inscrit en
    Mars 2008
    Messages
    872
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Mentaliste
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2008
    Messages : 872
    Points : 1 813
    Points
    1 813
    Par défaut
    Citation Envoyé par laerne Voir le message
    ...Maintenant au niveau de la compilation, quelle dureté avec le typage. Tout les cast doivent être explicites. ....
    Ce qui fait la force et la faiblesse de Php c'est son manque de typage clair. Même chose pour JavaScript. Même chose pour python. ADA était formidable pour ça et empêchait / empêche toute erreur. Même chose pour Haskell. Ce n'est pas un problème, c'est au contraire, un avantage. Les seuls qui y voient un inconvénient sont ceux qui veulent aller vite au détriment de la maintenance et de la qualité (ceux que ça ne dérange pas de faire de la m... en d'autre termes).
    .I..

  7. #47
    Membre éclairé
    Inscrit en
    Juillet 2012
    Messages
    231
    Détails du profil
    Informations forums :
    Inscription : Juillet 2012
    Messages : 231
    Points : 870
    Points
    870
    Par défaut
    Citation Envoyé par SurferIX Voir le message
    Ce qui fait la force et la faiblesse de Php c'est son manque de typage clair. Même chose pour JavaScript. Même chose pour python.
    C’est sûr que Python n’est pas au niveau d’un Ada ou d’un Haskell.
    Mais il fait quand même plus de vérification que PHP et JavaScript.
    Du genre :
    ne passera pas en Python. PHP va renvoyer 6 et Javascript va renvoyer 42 il me semble (à vérifier…).

    De plus, depuis Python 3 on peut ajouter des annotations de types (qui sont ignorés par l’interprétreur, c’est vrai… Mais je pense que des outils d’analyse statique peuvent se baser dessus, c’est mieux que rien).

  8. #48
    Expert éminent
    Avatar de transgohan
    Homme Profil pro
    Développeur Temps réel Embarqué
    Inscrit en
    Janvier 2011
    Messages
    3 146
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Temps réel Embarqué

    Informations forums :
    Inscription : Janvier 2011
    Messages : 3 146
    Points : 9 386
    Points
    9 386
    Par défaut
    Citation Envoyé par grim7reaper Voir le message
    C’est sûr que Python n’est pas au niveau d’un Ada ou d’un Haskell.
    Mais il fait quand même plus de vérification que PHP et JavaScript.
    Du genre :
    ne passera pas en Python. PHP va renvoyer 6 et Javascript va renvoyer 42 il me semble (à vérifier…).

    De plus, depuis Python 3 on peut ajouter des annotations de types (qui sont ignorés par l’interprétreur, c’est vrai… Mais je pense que des outils d’analyse statique peuvent se baser dessus, c’est mieux que rien).
    Ce n'est pas une question de vérification mais d'opérateur et de cast...
    Python Javascript va associer l'opérateur à l'opérande de gauche et donc utiliser l'opérateur + comme la concaténation. Tout naturellement il va donc caster le 2 en "2".

    « Toujours se souvenir que la majorité des ennuis viennent de l'espace occupé entre la chaise et l'écran de l'ordinateur. »
    « Le watchdog aboie, les tests passent »

  9. #49
    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
    Citation Envoyé par transgohan Voir le message
    Ce n'est pas une question de vérification mais d'opérateur et de cast...
    Python va associer l'opérateur à l'opérande de gauche et donc utiliser l'opérateur + comme la concaténation. Tout naturellement il va donc caster le 2 en "2".
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    >>> "4" + 2
    TypeError: Can't convert 'int' object to str implicitly
    DragonSoft DS (informatique) — Johnny Five JF (textes) — Olivier Pirson OPi (mathématiques)
    OPiCitationshttps://bitbucket.org/OPiMedia

  10. #50
    Expert éminent
    Avatar de transgohan
    Homme Profil pro
    Développeur Temps réel Embarqué
    Inscrit en
    Janvier 2011
    Messages
    3 146
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Temps réel Embarqué

    Informations forums :
    Inscription : Janvier 2011
    Messages : 3 146
    Points : 9 386
    Points
    9 386
    Par défaut
    Citation Envoyé par OPi Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    >>> "4" + 2
    TypeError: Can't convert 'int' object to str implicitly
    Il faut remplacer Python par Javascript dans mon message en fait.
    Petite erreur de frappe.

    Donc toute la magie est dans le fait que Python ne fasse pas de cast si vous ne lui demandez pas explicitement.

    « Toujours se souvenir que la majorité des ennuis viennent de l'espace occupé entre la chaise et l'écran de l'ordinateur. »
    « Le watchdog aboie, les tests passent »

  11. #51
    Membre averti
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2012
    Messages
    162
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2012
    Messages : 162
    Points : 308
    Points
    308
    Par défaut
    Il a peut-être raison mais il ne faut pas perdre de vue que c'est un commerçant et qu'il fait de la réclame pour son produit. Et puis, suis-je disposé à me relancer dans un nouveau langage alors que je n'ai pas fini de maîtriser les 3 actuelles (que j'utilise) avec toutes ces mises à jour perpétuelles. Pas sûr.

  12. #52
    Expert éminent
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Points : 9 127
    Points
    9 127
    Par défaut
    Comment être crédible quand on dit un truc aussi contradictoire*?

    Il est évident que plus le langage est adapté au besoin, moins ça coute cher.
    La conclusion s'impose d'elle-même: aucun langage n'est l'optimum pour Tous les besoins.
    Et le gus préconise un langage. Rien qu'en lisant le titre, le mec perd sa crédibilité.

    A+JYT

  13. #53
    Membre habitué
    Inscrit en
    Octobre 2004
    Messages
    83
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 83
    Points : 132
    Points
    132
    Par défaut
    Citation Envoyé par tomlev Voir le message
    Pour donner un avant-goût des possibilités, voilà à quoi peut ressembler un quicksort en Haskell :

    Code Haskell : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    quicksort :: Ord a => [a] -> [a]
    quicksort []     = []
    quicksort (p:xs) = (quicksort lesser) ++ [p] ++ (quicksort greater)
        where
            lesser  = filter (< p) xs
            greater = filter (>= p) xs

    Difficile de faire plus concis... l'implémentation correspond de très près à la description de l'algorithme.

    (évidemment cette implémentation est un peu simpliste ; elle n'est pas "in-place", et utilise toujours le 1er élément comme pivot, ce qui n'est pas idéal)

    Bref, pour conclure, c'est un langage super, mais je me vois mal développer des applis complètes avec ça... Ce qui peut être intéressant, par contre, c'est d'utiliser Haskell pour les parties métier où il y a des algorithmes complexes, et autre chose pour la partie UI.
    Ce sujet est très polémique et va encore susciter nombre de réactions, dont la mienne

    A première vue ce langage répond en effet au critère de concision.
    Seulement on parle d'économie liée à la maintenance du code.
    On cherche donc à faire du code propre/maintenable.

    L'outil utilisé a un grand impact sur les possibilités d'atteindre ce but, mais c'est avant tout la façon dont on l'utilise qui le permettra.

    Dans cet exemple que je généralise certainement à tord, on arrive en effet à deviner facilement l'algorithme. Mais que demande-t-on à un développeur ? Que vous demandent vos clients ? D'implémenter un algorithme ? Biensûr que non !!!

    Pour réellement réduire les coûts, il faut axer les efforts sur la pédagogie et l'apprentissage des développeurs. Savoir écrire du C, du JAVA, on plus généralement un arbre programmatique ne veut pas dire être un bon développeur !!!
    Si on devait parler de langage approprié pour écrire du code maintenable, il faudrait en trouver un qui ne permette pas l'implémentation !!!
    Le but étant d'arrêter de réfléchir à comment on fait ci ou ça mais de penser à ce qu'on veut faire, et de faire en sorte que ça transparaisse naturellement dans le programme, sans avoir à le deviner en tentant de comprendre une implémentation, au risque en plus de se tromper sur les intentions du développeur à l'origine du bout de code.

    Arrêtons d'être des machines à "pisser du code", avec comme objectif de sortir le programme le plus complexe possible qui tiendrait sur une seule ligne complètement incompréhensible !!!
    Prenons le temps de réfléchir d'abord à ce que nous faisons !!!

Discussions similaires

  1. 17 créateurs de langages de programmation disent ne pas utiliser de débogueurs interactifs
    Par Idelways dans le forum Débats sur le développement - Le Best Of
    Réponses: 310
    Dernier message: 28/09/2016, 12h51
  2. langages de programmation necessaires pour une application web
    Par nesrine 51092 dans le forum Débuter
    Réponses: 3
    Dernier message: 30/05/2014, 21h25
  3. Réponses: 51
    Dernier message: 17/10/2013, 20h52
  4. Réponses: 15
    Dernier message: 15/12/2010, 00h38
  5. Quel langage de programmation utiliser pour un MMOG?
    Par @v@lon dans le forum Développement 2D, 3D et Jeux
    Réponses: 18
    Dernier message: 17/03/2007, 12h31

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