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 :

avenir des langages de programmation


Sujet :

Langages de programmation

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Juin 2015
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2015
    Messages : 61
    Par défaut avenir des langages de programmation
    Bonjour

    Quels sont les tendances d'avenir à long terme ( dans 30 ans ) de la programmation ?
    Y aura t il des créations de nouveaux langages de programmation ? ou bien une révolution avec un langage universel ?
    Merci de m'éclairer sur ce qui se dit dans le milieu des programmeurs.

    Cdt

  2. #2
    Membre Expert Avatar de DonQuiche
    Inscrit en
    Septembre 2010
    Messages
    2 741
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 2 741
    Par défaut
    Bonjour.

    Il n'y a aucun consensus parmi les communautés PL (programming language - les communautés qui tournent autour de la création de langages et d'outils : Lambda The Ultimate, plusieurs personnes sur Reddit ou HackerNews). Mais peu de personnes dans ces communautés soutiendront que l'on continuera à utiliser les mêmes langages (ils existeront toujours mais essentiellement pour maintenir de vieilles applis). Il y a toutefois un consensus pour dire que la recherche sur le sujet est aujourd'hui stagnante, même si certains s'attendent à ce que ce soit le calme avant la tempête.

    Pour l'heure les grands axes de développement sont les problèmes de vérifiabilité (preuve par les types - Rust, dependent types, etc -, analyse statique plus efficace, banalisée, systématisée, ...) et de concurrence (modèles vérifiables, mémoire transactionnelle, calcul hétérogène, etc). On pourrait aussi citer l'hygiène (Go), la facilité (besoin de recruter de plus en plus de personnel de moins en moins compétents et qualifiés), les systèmes réactifs (Rx, Sean McDirmid) et le débogage (possibilité de rebrousser le temps et de connaître la série d'actions qui a débouché sur une valeur présente).

    Pour ma part je suis convaincu qu'à l'avenir le langage naturel dominera très largement la programmation, et je m'attends à ce que d'ici quelques années seulement il soit possible de réaliser vocalement des programmes rudimentaires ("Cortana/Siri/Google, quand je clique sur ce bouton, affiche tous les clients dont le pays est indiqué ici dans la liste là") et qu'une partie significative du code puisse être générée à partir de spécifications. Mais le reste du chemin sera long, très long : il faudra notamment qu'à partir du résultat voulu le compilateur puisse déboucher sur un algorithme (constraint-based programming, example-based programming), ce qui est encore expérimental aujourd'hui et pour longtemps.

    Enfin tous les progrès à venir vont demander beaucoup de puissance de calcul et j'imagine que les compilateurs migreront donc vers le nuage. Par ailleurs certains actes du développement logiciel ne relèveront plus de la programmation telle qu'on l'entend mais plutôt de tâches liées au traitement de données et à la création de réseaux neuraux. Les outils nécessaires seront sans doute spécialisés et très différents.

  3. #3
    Membre actif
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Juin 2015
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2015
    Messages : 61
    Par défaut intelligence artificielle
    Bonjour et merci beaucoup pour votre longue analyse

    Malheureusement si j'ai bien compris dans l'avenir une intelligence artificielle fera tout le boulot à notre place. C'est à dire : je pose le problème en français ou en anglais et le compilateur vas y répondre et afficher le code automatiquement.

    Es ce bien cela ?

    Merci de bien vouloir me répondre.

  4. #4
    Membre Expert Avatar de DonQuiche
    Inscrit en
    Septembre 2010
    Messages
    2 741
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 2 741
    Par défaut
    Citation Envoyé par lemacdupc33 Voir le message
    Malheureusement si j'ai bien compris dans l'avenir une intelligence artificielle fera tout le boulot à notre place. C'est à dire : je pose le problème en français ou en anglais et le compilateur vas y répondre et afficher le code automatiquement.
    Ces AI n'afficheront même pas de code, elles manipuleront directement des arbres sémantiques en interne, ne présentant que le résultat final créé depuis un texte décrivant les spécifications et assorti de diagrammes, ou des instructions vocales.

    Quant à savoir si ces AI feront tout le boulot, tout dépend d'à quel point elles seront intelligentes. Pendant longtemps il faudra un développeur qui comprenne à un haut niveau le fonctionnement des machines et du matériel, capable de deviner les algorithmes générés par la machine, et capable d'imagination et d'une fine perception des organisations humaines. Ce sera une étape très intéressante pour nous car nous pourrons nous focaliser sur des problèmes architecturaux de haut niveau et laisser la basse plomberie de côté, pour produire en masse des logiciels de très haut niveau. Tout comme nous l'avons fait dans le passé : un programmeur contemporain ne se préoccupe plus des registres et instructions du CPU.

    Puis les AI seront capables de créer de bout en bout un document depuis des spécifications. Mais rédiger de bonnes spécifications sera encore un savoir-faire humain : la plupart des clients ne savent pas ce dont ils ont besoin et il faut les aider à "accoucher", ce qui demande de la psychologie et de l'intuition et une compréhension du domaine du client, puis suggérer un bon design, faire preuve de créativité, de sensibilité. Et enfin les AI deviendront capables de faire tout ce qu'un humain pourra faire, y compris des interactions sociales fines. Il sera sans doute possible de lui passer commande d'un logiciel sans savoir exactement quels sont nos besoins et d'entrer dans un dialogue socialement complexe avec elle.

    Cela dit ces évolutions seront observées dans tous les métiers. D'ici quelques décennies dessiner un bâtiment ne nécessitera sans doute aucune compétence technique, le diagnostic médical sera posé par une infirmière et il sera possible de produire un jeu vidéo sans avoir de compétences artistiques ou en programmation.

  5. #5
    Membre actif
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Juin 2015
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2015
    Messages : 61
    Par défaut Problèmes de haut niveau
    Merci de votre réponse

    Quand vous parlez de haut niveau, entendez vous par la des diagrammes UML ?
    Car actuellement on est pas capable de faire le moindre calcul avec ces diagrammes.
    Par exemple je souhaite calculer une valeur approchée d'une intégrale par différentes méthodes avec des fonctions compliqués. Es ce que le compilateur sera capable, dans un avenir plus ou moins lointain, de la calculer si l'énoncé du problème est long et compliqué à expliquer ?
    Merci bien de me guider

    Cdt

  6. #6
    Membre Expert Avatar de DonQuiche
    Inscrit en
    Septembre 2010
    Messages
    2 741
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 2 741
    Par défaut
    Citation Envoyé par lemacdupc33 Voir le message
    Quand vous parlez de haut niveau, entendez vous par la des diagrammes UML ?
    UML n'est pas un outil de conception, ce n'est pas non plus une architecture. Juste un outil de communication.

    Par ailleurs ce n'est qu'un outil de communication parmi d'autres : UML ne vise pas aujourd'hui à être exhaustif ou à se substituer au langage naturel dans la rédaction des spécifications. Il est complémentaire. Chaque diagramme est ciblé sur un besoin précis, un ensemble limité de concepts (séquence d'événements, arbre de décision, graphe d'objets, etc) qui ne constituent pas un ensemble exhaustif des concepts humains.

    Enfin il y a plusieurs types de diagrammes UML. Certains sont orientés code (diagrammes de classe) et plutôt à destination des développeurs. Ils auront de moins en moins d'intérêt. D'autres sont orientés métier / cas d'utilisation et sont plutôt à destination du commanditaire et ses intermédiaires. Dans les seconds il est tout à fait possible d'avoir un noeud contenant un texte tel que "calculer le score de pertinence comme la somme du nombre de liens pointant vers cette page". A ce titre UML supporte donc les calculs via l'inclusion du langage naturel ou des équations, qui sont déjà parfaits pour les concepts mathématiques. Cela dit en général on renverra plutôt vers des définitions extérieures où seront détaillés les calculs - toujours via équations et langage naturel.


    Quand vous parlez de haut niveau
    Les problèmes de haut niveau qu'affronteront quotidiennement ces développeurs seront plutôt liés au parallélisme de masse, aux problèmes de transactions, de consistance, de tolérance de panne, de fiabilité, de logique floue, de réseaux neuraux, d'internationalisation, d'expérience utilisateur, d'ergonomie, de caches matériels, de latence réseau, de protocoles, de quelques algorithmes complexes, etc. Leur tâche sera d'imaginer des solutions techniques capables de satisfaire ces problèmes puis d'utiliser divers supports de communication (texte, diagrammes, équations, images, exemples, parfois même pseudo-code d'un algorithme particulier voire instructions asm si nécessaire, etc) pour rédiger des instructions suffisamment détaillées pour que le compilateur sache quel programme créer.


    Par exemple je souhaite calculer une valeur approchée d'une intégrale par différentes méthodes avec des fonctions compliqués. Es ce que le compilateur sera capable, dans un avenir plus ou moins lointain, de la calculer si l'énoncé du problème est long et compliqué à expliquer ?
    Matlab ou Mathematica en sont déjà capables.

    Et il n'y a pas une grande différence entre le fait de découper un problème en plusieurs sous-variables/expressions/fonctions rentrées une à une dans Mathematica, et le fait de découper un problème en plusieurs définitions listées les unes à à la suite des autres dans un fichier texte, mêlant anglais et équations.

Discussions similaires

  1. Parts de marchés des langages de programmation
    Par Marc Lussac dans le forum Langages de programmation
    Réponses: 51
    Dernier message: 21/05/2013, 13h51
  2. Réponses: 1
    Dernier message: 25/08/2009, 11h11
  3. Avenir des langages VBA et VBScript
    Par Chatbour dans le forum Discussions diverses
    Réponses: 3
    Dernier message: 17/08/2007, 14h13
  4. L'avenir des langages de programmation
    Par LordBob dans le forum Langages de programmation
    Réponses: 14
    Dernier message: 02/04/2006, 23h03

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