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 :

L'avenir des langages de programmation


Sujet :

Langages de programmation

  1. #1
    Membre averti
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2005
    Messages
    513
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

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

    Informations forums :
    Inscription : Mai 2005
    Messages : 513
    Points : 416
    Points
    416
    Par défaut L'avenir des langages de programmation
    Bonjour à tous,
    Voilà en fait je suis en train de constater qu'actuellement, les langages comme Java et .NET, avec machine virtuelle ou framework, prennent de plus en plus de place dans les entreprises. Cela veut dire que l'on utilise moins les langages comme C, C++ et autres langages dans le même style.
    Comment pensez-vous que tout cela va évoluer ? Vous pensez que nos langages que je qualifierai de "traditionnels" font disparaître pour laisser place uniquement a des frameworks, ou machine virtuelles ?
    Merci par avance pour vos réponses.
    Bob
    Jérémy
    Ingénieur Conception et Développement

  2. #2
    Expert éminent

    Inscrit en
    Novembre 2005
    Messages
    5 145
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 5 145
    Points : 6 911
    Points
    6 911
    Par défaut Re: L'avenir des langages de programmation
    Citation Envoyé par LordBob
    Comment pensez-vous que tout cela va évoluer ? Vous pensez que nos langages que je qualifierai de "traditionnels" font disparaître pour laisser place uniquement a des frameworks, ou machine virtuelles?
    On fait toujours de l'assembleur, du Fortran et du Cobol. Je ne vois pas C et C++ disparaître dans un proche avenir: il y a trop de base installée pour cela d'une part, il faudra toujours des langages plus proches de la machine d'autre part: je ne vois pas comment écrire un garbage collector en Java... et pourtant il en faut un pour faire tourner Java.

    Petite anectode à propos de Java: nous avions du Java dans notre application, ce code a été réécrit en C++.

    Quant à .NET, ce n'est pas un langage d'une part, il n'est pas disponible pour les plateformes pour lesquelles nous délivrons d'autre part. Autrement dit, pas sur mon radar.
    Les MP ne sont pas là pour les questions techniques, les forums sont là pour ça.

  3. #3
    Membre averti
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2005
    Messages
    513
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

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

    Informations forums :
    Inscription : Mai 2005
    Messages : 513
    Points : 416
    Points
    416
    Par défaut
    oui je sais bien que les langages de bas niveaux du genre l'assembleur, le C/C++ ou autre aurront toujours une part quand même.
    mais je ne sais pas trop comment l'expliquer, mais les langage comme Java, le framework .NET (qui n'est pas un langage je le sais, C# et VB.NET sont des langage) ou autre atelier de génie logiciel comme WinDev par exemple,c'est produits prennent une place de plus en plus importante dans le monde de l'entreprise car on peut faire des applications conséquante en un minimum de temps.
    je suis conscient que certaine application nécessite des langages de bas niveau, mais je que je veux savoir c'est si ces applications qui nécessite des langage comme le C, ou autre dans le même style, ne vont pas avoir tendance à disparaitre, pour laisser place à des atelier génie logiciel, permettant de déployer facilement et rapidement de grosse application. tout cela pour un point de vue économique, parce que cela coutera moins cher à mettre en place!
    Jérémy
    Ingénieur Conception et Développement

  4. #4
    Membre expérimenté Avatar de davcha
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    1 258
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 258
    Points : 1 539
    Points
    1 539
    Par défaut
    Citation Envoyé par LordBob
    mais ce que je veux savoir c'est si ces applications qui nécessite des langage comme le C, ou autre dans le même style, ne vont pas avoir tendance à disparaitre, pour laisser place à des atelier génie logiciel, permettant de déployer facilement et rapidement de grosse application. tout cela pour un point de vue économique, parce que cela coutera moins cher à mettre en place!
    Les amorces des systèmes d'exploitation sont toujours écrites en assembleur, à ma connaissance.

    Maintenant, mis à part ce cas particulier, à mon avis ça dépend des besoins et des capacités des langages haut niveau à compiler du code optimisé aussi efficace que le C, par exemple.
    Les applis qui nécessitent un langage bas niveau, c'est soit dû directement à une contrainte (exemple, amorce d'un système d'exploitation en assembleur), soit dû à une contrainte de performances en taille et/ou puissance de calcul.

    Si le C#, par exemple, est capable de compiler un programme de façon à ce qu'il prenne aussi peu de mémoire et qu'il fasse un minimum d'appels systèmes (genre allocation mémoire), que le même programme écrit en C, alors je vois mal pourquoi on s'embêterait avec les pointeurs.

    La question est, le C#, dans cet exemple, est-il capable de faire ça ?

  5. #5
    Expert éminent

    Inscrit en
    Novembre 2005
    Messages
    5 145
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 5 145
    Points : 6 911
    Points
    6 911
    Par défaut
    Citation Envoyé par LordBob
    oui je sais bien que les langages de bas niveaux du genre l'assembleur, le C/C++ ou autre aurront toujours une part quand même.
    mais je ne sais pas trop comment l'expliquer, mais les langage comme Java, le framework .NET (qui n'est pas un langage je le sais, C# et VB.NET sont des langage) ou autre atelier de génie logiciel comme WinDev par exemple,c'est produits prennent une place de plus en plus importante dans le monde de l'entreprise car on peut faire des applications conséquante en un minimum de temps.
    je suis conscient que certaine application nécessite des langages de bas niveau, mais je que je veux savoir c'est si ces applications qui nécessite des langage comme le C, ou autre dans le même style, ne vont pas avoir tendance à disparaitre, pour laisser place à des atelier génie logiciel, permettant de déployer facilement et rapidement de grosse application. tout cela pour un point de vue économique, parce que cela coutera moins cher à mettre en place!
    Qu'est-ce qu'il fait que pour toi C++ est un langage de plus bas niveau que Java? (Pour préciser, ma perception est que C++ permet de travailler dans un intervalle de niveaux d'abstraction plus large que Java d'une part, et d'autre part que le niveau le plus élevé possible en C++ est légèrement supérieur au plus évelé possible de Java -- on peut faire de la méta-programmation par exemple même si c'est inconfortable.

    Je me demande dans quelle mesure tu ne confonds pas langage et bibliothèques d'une part, et langage et environnement de développement d'autre part. Une bibliothèque, un environnement permettant l'utilisation facile d'un framework sont un avantage certain, pour autant qu'on ait à faire quelque chose qui rentre dans le cadre de ce qui a été prévu. Je suis atypique, mais ce n'est pas mon cas.

    Le genre d'applications sur lesquelles je travaille ne va pas disparaître sous prétexte qu'il y en a d'autres pour lesquelles un développement plus rapide est possible. Et encore, je me demande quelle est la part de mode dans ces changements de langage...

    Donc oui je vois la proportion des projets fait en C ou en C++ diminuer, non je ne la vois pas tendre vers 0 tant qu'un autre langage n'est pas introduit qui puisse concurrencer C et C++ sur leur terrain. Et non, je ne crois pas qu'il y aura un langage capable de couvrir l'ensemble des niveaux d'abstraction. Il me semble qu'il y a un antagonisme fondamental à entre les niveaux les plus bas et les niveaux les plus hauts.
    Les MP ne sont pas là pour les questions techniques, les forums sont là pour ça.

  6. #6
    Expert éminent

    Inscrit en
    Novembre 2005
    Messages
    5 145
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 5 145
    Points : 6 911
    Points
    6 911
    Par défaut
    Citation Envoyé par davcha
    Si le C#, par exemple, est capable de compiler un programme de façon à ce qu'il prenne aussi peu de mémoire et qu'il fasse un minimum d'appels systèmes (genre allocation mémoire), que le même programme écrit en C, alors je vois mal pourquoi on s'embêterait avec les pointeurs.
    C# n'a pas de pointeurs? Il les appelles peut-être références mais ce sont des pointeurs.

    Quant à l'occupation mémoire, même les partisants les plus acharnés du GC admettent qu'il y a un surcout en mémoire.
    Les MP ne sont pas là pour les questions techniques, les forums sont là pour ça.

  7. #7
    Membre expérimenté Avatar de davcha
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    1 258
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 258
    Points : 1 539
    Points
    1 539
    Par défaut
    Citation Envoyé par Jean-Marc.Bourguet
    Quant à l'occupation mémoire, même les partisants les plus acharnés du GC admettent qu'il y a un surcout en mémoire.
    C'est ce que je sous-entendais

    Quant aux pointeurs, oui c'est vrai, mais en définitive c'est plus "transparent" qu'en C/C++.
    On a moins tendance à utiliser ref en C# que les pointeurs en C/C++, je veux dire.

  8. #8
    Membre chevronné
    Avatar de afrikha
    Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    1 600
    Détails du profil
    Informations personnelles :
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2005
    Messages : 1 600
    Points : 2 208
    Points
    2 208
    Par défaut
    pour faire court, moi je pense qu'on assiste à une spécialisation des languages plus qu'à une concurrence sur le mème terrain.


    Mes publications
    Lisez
    Les régles du forum
    Pensez au bouton

  9. #9
    Membre actif
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    178
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 178
    Points : 201
    Points
    201
    Par défaut Re: L'avenir des langages de programmation
    Citation Envoyé par LordBob
    Comment pensez-vous que tout cela va évoluer ? Vous pensez que nos langages que je qualifierai de "traditionnels" font disparaître pour laisser place uniquement a des frameworks, ou machine virtuelles ?
    Merci par avance pour vos réponses.
    Bob
    Bof les machine virtuelle ont seulement deux intérets :
    * permettre de rendre portable entre machine et SE différent le même exécutable. Pas vraiment utile a mon avis.
    * Éviter aux concepteurs de langages d'avoir a se fatiguer a réaliser un véritable compilateur performant.

    Sinon ca sert a rien et c'est lent

  10. #10
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Points : 12 462
    Points
    12 462
    Par défaut
    Je te trouve bien prétentieux outs de dire que ca ne sert à rien ... as-tu deja seulement testé un langage de .Net ? Franchement moi je disais toujours que Java est lent, j'ai donc testé C# recement et je peut te dire que je l'ai trouvé loin d'être lent ...
    Ok moi non plus je ne suis pas fan des langages interpreté et surtout de très haut niveau comme ceux-là mais ils peuvent servir à tester rapidement un algorythme avant de le mettre en place en C par exemple, d'où mon choix du Python comme langage interpreté, facile et rapide à mettre en oeuvre !
    Mon Site
    Ma bibliothèque de gestion des chaînes de caractères en C

    L'imagination est plus importante que le savoir. A. Einstein

    Je ne répond à aucune question technique par MP, merci d'avance !

  11. #11
    Membre actif
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    178
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 178
    Points : 201
    Points
    201
    Par défaut
    Oh je suis d'accord pour dire qu'ils ont beaucoup travaillé la dessus. compilation JIT etc...

    d'un autre coté cite moi un avantage a utiliser une machine virtuelle (MV) a part que ca facilite le travail des concepteurs de langages ?

    Si on regarde Ocaml qui propose compilation native ET bytecode a l'intention d'une MV.

    Ou alors SmartEiffel qui propose une code compilé probablement le plus efficace des compilo objets.

    Et ce sont des langages haut-niveau, avec gestion automatique de mémoire et quantité de chose intéressante niveau langage.

    PS: j'ai jamais dit que ca serait a rien, relis mon message j'ai cité deux avantages

  12. #12
    Expert confirmé
    Avatar de Hephaistos007
    Profil pro
    Enseignant Chercheur
    Inscrit en
    Décembre 2004
    Messages
    2 493
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 493
    Points : 4 166
    Points
    4 166
    Par défaut
    Citation Envoyé par outs
    d'un autre coté cite moi un avantage a utiliser une machine virtuelle (MV) a part que ca facilite le travail des concepteurs de langages ?
    Une machine virtuelle (ou peut importe le nom qu'on lui donne) n'est que la conséquence de l'utilisation d'un code pseudo-compilé. Ta question ne serait donc pas plutôt : "cite moi un avantage a utiliser du code pseudo-compilé" ?
    Il vaut mieux mobiliser son intelligence sur des conneries que mobiliser sa connerie sur des choses intelligentes --- devise SHADOKS

    Kit de survie Android : mon guide pour apprendre à programmer sur Android, mon tutoriel sur les web services et enfin l'outil en ligne pour vous faire gagner du temps - N'oubliez pas de consulter la FAQ Android

  13. #13
    Membre actif
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    178
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 178
    Points : 201
    Points
    201
    Par défaut
    Citation Envoyé par Hephaistos007
    Une machine virtuelle (ou peut importe le nom qu'on lui donne) n'est que la conséquence de l'utilisation d'un code pseudo-compilé. Ta question ne serait donc pas plutôt : "cite moi un avantage a utiliser du code pseudo-compilé" ?
    Oui cela reviens au même.

    Et ça s'appelle du bytecode (très mauvaise dénomination d'ailleur)

  14. #14
    Expert confirmé
    Avatar de Hephaistos007
    Profil pro
    Enseignant Chercheur
    Inscrit en
    Décembre 2004
    Messages
    2 493
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 493
    Points : 4 166
    Points
    4 166
    Par défaut
    Donc je peux me permettre de répondre qu'un code pseudo-compilé contient des méta-données directement exploitable pour la méta-programmation par exemple, là où un langage compilé nécessite un traitement plus complexes pour récupérer ces méta-données.
    Il vaut mieux mobiliser son intelligence sur des conneries que mobiliser sa connerie sur des choses intelligentes --- devise SHADOKS

    Kit de survie Android : mon guide pour apprendre à programmer sur Android, mon tutoriel sur les web services et enfin l'outil en ligne pour vous faire gagner du temps - N'oubliez pas de consulter la FAQ Android

  15. #15
    Membre actif
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    178
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 178
    Points : 201
    Points
    201
    Par défaut
    Citation Envoyé par Hephaistos007
    Donc je peux me permettre de répondre qu'un code pseudo-compilé contient des méta-données directement exploitable pour la méta-programmation par exemple, là où un langage compilé nécessite un traitement plus complexes pour récupérer ces méta-données.
    Tout a fait : cela rend donc le travail des concepteur plus facile pour ce genre de chose. Ce que je disais depuis le début.

    Mais c'est possible aussi en compilation native. Par exemple les mecs de http://isaacos.loria.fr/ ont bossé la dessus. Il est prevu que les objets dans isaacOs gardent leur caractéristiques d'objet tout en étant compilé nativement. A rapprocher avec ce que tu disais sur le programamtion orienté composant, c'est exactement le même but.

    Apres le sujet initial du post c'est le futur des langages avec ou sans machines virtuelles (MV).
    A court terme, les MV ont et vont avoir une énorme place. Car c'est plus simple avec les MV et commercialement ils ont besoin que ca marche tout de suite. Mais a long terme j'espere que l'avenir sera a réussir a faire la même chose mais sans les MV.

Discussions similaires

  1. avenir des langages de programmation
    Par lemacdupc33 dans le forum Langages de programmation
    Réponses: 8
    Dernier message: 17/08/2015, 17h16
  2. 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, 14h51
  3. Réponses: 1
    Dernier message: 25/08/2009, 12h11
  4. Avenir des langages VBA et VBScript
    Par Chatbour dans le forum Discussions diverses
    Réponses: 3
    Dernier message: 17/08/2007, 15h13

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