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: Quel avenir pour le langage C ?

Votants
65. Vous ne pouvez pas participer à ce sondage.
  • Le C est encore un langage d'avenir

    24 36,92%
  • Le C est destiné à rester confiné en programmation système

    27 41,54%
  • Le C doit se moderniser pour faire face à la concurrence

    2 3,08%
  • Le C est appelé à disparaitre

    11 16,92%
  • Autres : préciser en commentaire

    1 1,54%
C Discussion :

Quel avenir pour le langage C ? Un développeur expérimenté fait ses adieux au langage


Sujet :

C

  1. #61
    Membre éprouvé
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    1 821
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 1 821
    Points : 979
    Points
    979
    Par défaut
    Citation Envoyé par Kannagi Voir le message
    L'assembleur imbuvable , ce qu'il ne faut pas entendre
    Non sérieux, je ne peux pas te laisser dire ça
    => tu prends une personne qui a déjà fait un peu de C, il arrivera rapidement à comprendre le code d'un langage orienté objet (et l'inverse est vrai) : je ne peux pas en dire autant pour l'assembleur => je trouve que le raisonnement à avoir lorsque l'on développe en assembleur n'est pas naturel par rapport aux algos que l'on essaie de mettre en place... peut être qu'avec des millier d’heures de prog en langage ASM, ça devient naturel mais je n'en suis pas encore là (pour le moment j'ai du y passer entre 100 et 200h et c'était surtout pour faire des choses impossibles à réaliser en langage C).

    Citation Envoyé par Kannagi Voir le message
    le C demande de la rigueur mais ne l'ensiegne pas , c'est la tout le souci de ce langage.
    La rigueur il faut l'avoir pour n'importe quel langage. J'ai un peu de mal à te suivre sur cette phrase, pourquoi un langage orienté objet permet d'enseigner de la rigueur et pas le C (tu peux faire des programmes fonctionnels en faisant de la merde dans n'importe quel langage ) ?
    L'un des gros avantage des langages objet c'est que ça permet d'apporter un cadre sur la manière des gérer certains mécanismes (création d'objet, gestion des évènements, ...), ce qui facilite le travail en équipe et réduit le temps de dev (les personnes vont plus naturellement travailler de la même manière).

  2. #62
    Responsable Systèmes


    Homme Profil pro
    Gestion de parcs informatique
    Inscrit en
    Août 2011
    Messages
    17 352
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Gestion de parcs informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Août 2011
    Messages : 17 352
    Points : 42 824
    Points
    42 824
    Par défaut
    L'un des gros avantage des langages objet c'est que ça permet d'apporter un cadre sur la manière des gérer certains mécanismes (création d'objet, gestion des évènements, ...), ce qui facilite le travail en équipe et réduit le temps de dev (les personnes vont plus naturellement travailler de la même manière).
    C'est ce même cadre qui libère des taches plus bas niveau telles que la gestion de l'allocation/libération mémoire, ce qui permet de plus se concentrer sur les fonctionnalités de ce qu'on développe. Sans être un pro de la programmation, je suppose qu'il suffit de mal construire un constructeur pour se retrouver avec une fuite mémoire au même titre qu'oublier un free en C.

    Le langage assembleur sera clair pour quelqu'un qui fait de l'électronique, pas pour quelqu'un qui fait de l'informatique de gestion par exemple. Et il est très lié au matériel. C'est pas pour rien que des langages de plus haut niveau ont été inventés.
    Ma page sur developpez.com : http://chrtophe.developpez.com/ (avec mes articles)
    Mon article sur le P2V, mon article sur le cloud
    Consultez nos FAQ : Windows, Linux, Virtualisation

  3. #63
    Modérateur
    Avatar de gangsoleil
    Homme Profil pro
    Manager / Cyber Sécurité
    Inscrit en
    Mai 2004
    Messages
    10 148
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Manager / Cyber Sécurité

    Informations forums :
    Inscription : Mai 2004
    Messages : 10 148
    Points : 28 113
    Points
    28 113
    Par défaut
    Citation Envoyé par boboss123 Voir le message
    je trouve que le raisonnement à avoir lorsque l'on développe en assembleur n'est pas naturel par rapport aux algos que l'on essaie de mettre en place..
    Ce qui ne t'es pas naturel n'est pas pour autant ésotérique pour tout le monde, et vice-versa.

    Ce qu'il faut voir, c'est le besoin ; normalement, le langage vient ensuite. Le soucis est qu'aujourd'hui on fait souvent l'inverse : le développeur connait un langage, donc il l'utilise pour tout et n'importe quoi. Une interface web en assembleur, c'est pas optimal. Un driver réseau en javascript non plus.
    "La route est longue, mais le chemin est libre" -- https://framasoft.org/
    Les règles du forum

  4. #64
    Expert éminent sénior
    Avatar de Kannagi
    Homme Profil pro
    cyber-paléontologue
    Inscrit en
    Mai 2010
    Messages
    3 214
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cyber-paléontologue

    Informations forums :
    Inscription : Mai 2010
    Messages : 3 214
    Points : 10 136
    Points
    10 136
    Par défaut
    Citation Envoyé par boboss123 Voir le message
    => tu prends une personne qui a déjà fait un peu de C, il arrivera rapidement à comprendre le code d'un langage orienté objet (et l'inverse est vrai) : je ne peux pas en dire autant pour l'assembleur => je trouve que le raisonnement à avoir lorsque l'on développe en assembleur n'est pas naturel par rapport aux algos que l'on essaie de mettre en place... peut être qu'avec des millier d’heures de prog en langage ASM, ça devient naturel mais je n'en suis pas encore là (pour le moment j'ai du y passer entre 100 et 200h et c'était surtout pour faire des choses impossibles à réaliser en langage C).
    Bof c'est relative , moi je pige que dalle a l'Objectif-C je le trouve imbuvable vraiment mais c'est mon impression personnel.

    "je trouve que le raisonnement à avoir lorsque l'on développe en assembleur n'est pas naturel par rapport aux algos que l'on essaie de mettre en place... "
    Trop personnel , je n'ai jamais eu un souci de mettre un algo quelconque en assembleur , si tu veux mon avis tu manque peut être de formalisme parce que on peut réduire l'assembleur a 4 chose simple : lire , faire des calcul , écrire , saut conditionnel , bon faire un algo sur ces principes de base me semble pour ma par relativement facile.
    (Peut être que tu t'y prend mal parce que avec 100h ou 200h assembleur pour ma part j'en ai compris les mécanismes grandement).


    Citation Envoyé par boboss123 Voir le message
    La rigueur il faut l'avoir pour n'importe quel langage. J'ai un peu de mal à te suivre sur cette phrase, pourquoi un langage orienté objet permet d'enseigner de la rigueur et pas le C (tu peux faire des programmes fonctionnels en faisant de la merde dans n'importe quel langage ) ?
    Je que je dis c'est que le C permet de faire n'importe quoi vraiment , par exemple le Pascal était enseigner parce que il était extrêmement rigoureux , je n'ai pas fait de python mais je pense que il oblige un peu plus au programmeur de faire attention de la manière de comment on écrit son code , qui me semble assz fondamentale.

  5. #65
    Responsable Systèmes


    Homme Profil pro
    Gestion de parcs informatique
    Inscrit en
    Août 2011
    Messages
    17 352
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Gestion de parcs informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Août 2011
    Messages : 17 352
    Points : 42 824
    Points
    42 824
    Par défaut
    je n'ai pas fait de python mais je pense que il oblige un peu plus au programmeur de faire attention de la manière de comment on écrit son code , qui me semble assz fondamentale.
    Je suis pas forcément d'accord, mais je suis loin d'être un spécialiste Python. En Python les blocs de code sont juste séparé par leur indentation, et pas de déclaration de variables.

    D'un autre coté, avec l'indentation automatique des IDE actuels, ça ne change pas grand-chose, le boulot est mâché (auto-indentation, ouverture/fermeture automatique des accolades, parenthèses, etc.). Un débutant se verra faciliter l'apprentissage, et un utilisateur avancé se verra décharger de la lourdeur de la gestion des accolades/parenthèses par l'IDE.

    Les variables ne sont pas typés, ce qui est à la fois un avantage et un inconvénient. Le typage de variable empêche par exemple de traiter une variable comme une chaine, puis ensuite comme un nombre, ce qui donnera un résultat improbable. Devoir déclarer les variables permet d'éviter beaucoup d'erreurs de ce type. Et Python a peut-être un système (optionnel) imposant la déclaration de variables avant leur utilisation.
    Ma page sur developpez.com : http://chrtophe.developpez.com/ (avec mes articles)
    Mon article sur le P2V, mon article sur le cloud
    Consultez nos FAQ : Windows, Linux, Virtualisation

  6. #66
    Modérateur

    Avatar de Bktero
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Juin 2009
    Messages
    4 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués

    Informations forums :
    Inscription : Juin 2009
    Messages : 4 481
    Points : 13 678
    Points
    13 678
    Billets dans le blog
    1
    Par défaut
    En Python, le typage est fort mais dynamique, a contrario de C pour qui le typage est statique mais (relativement) faible.

    Mais bon on digresse un peu là

    [Dans les 2 liens Wikipédia, voir la fiche d'identité du langage à droite, section "Typing Discipline"]

  7. #67
    Membre éprouvé
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    1 821
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 1 821
    Points : 979
    Points
    979
    Par défaut
    Citation Envoyé par Kannagi Voir le message
    je n'ai jamais eu un souci de mettre un algo quelconque en assembleur , si tu veux mon avis tu manque peut être de formalisme parce que on peut réduire l'assembleur a 4 chose simple : lire , faire des calcul , écrire , saut conditionnel , bon faire un algo sur ces principes de base me semble pour ma par relativement facile.
    (Peut être que tu t'y prend mal parce que avec 100h ou 200h assembleur pour ma part j'en ai compris les mécanismes grandement).
    J'ai bien compris les mécanismes de l'assembleur mais après le problème est qu'il faut connaitre l'utilité des registres du CPU (sachant que tous les CPU n'ont pas les mêmes registres). Et si on veut faire du code assembleur qui puisse s'interfacer avec des fonctions en langage C, il faut connaitre la manière d'utiliser les registres du CPU par le compilateur C.
    En plus le jeu d'instructions à mémoriser en assembleur est assez dure à mémoriser par rapport au langage C.

  8. #68
    Membre chevronné
    Avatar de lilington
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2005
    Messages
    681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Chine

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2005
    Messages : 681
    Points : 1 944
    Points
    1 944
    Par défaut
    Citation Envoyé par boboss123 Voir le message
    J'ai bien compris les mécanismes de l'assembleur mais après le problème est qu'il faut connaitre l'utilité des registres du CPU (sachant que tous les CPU n'ont pas les mêmes registres)
    Ainsi tu viens de dire par toi meme que le probleme n'est pas le langage assembleur. Il faut comprendre le materiel sur le quel on l'utilise car l'assembleur en lui meme est extremement simple. il n'y a pas plus simple

    Citation Envoyé par boboss123 Voir le message
    Et si on veut faire du code assembleur qui puisse s'interfacer avec des fonctions en langage C, il faut connaitre la manière d'utiliser les registres du CPU par le compilateur C.
    la encore c'est la meme chose ce n'est pas l'assembleur qui pose probleme mais C et les compilateurs C. tu dois plus seulement comprendre ton materiel mais aussi un autre langage et son compilo.


    Citation Envoyé par boboss123 Voir le message
    En plus le jeu d'instructions à mémoriser en assembleur est assez dure à mémoriser par rapport au langage C.
    J'ai des doutes, mais la c'est plutot subjectif. donc no comments.
    Petit lien vers mon premier jeux SDL2/C
    http://store.steampowered.com/app/72..._Soul_Of_Mask/
    la suite? ca vient,ca vient!

  9. #69
    Expert éminent sénior
    Avatar de Mat.M
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    8 352
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 8 352
    Points : 20 359
    Points
    20 359
    Par défaut
    Citation Envoyé par boboss123 Voir le message
    J'ai bien compris les mécanismes de l'assembleur mais après le problème est qu'il faut connaitre l'utilité des registres du CPU
    rien de compliqué...en x86 pour faire une opération il faut toujours passer par le registre EAX
    Pour ce qui est du jeu d'instruction en fait un certain nombre est vraiment utile.
    la doc d'Intel est bien faite à ce sujet

    Citation Envoyé par lulu7 Voir le message
    Aujourd'hui on mets l'accent sur la stabilité (tests fonctionnel, unitaires...) et l'ingénierie des exigence.
    la stabilité et la qualité logicielle ( donc en faisant des tests ) c'est une condition nécessaire et intrinséque pour la réussite d'un projet ; c'est comme si je voulais piloter un avion alors il me faut passer un brevet de pilotage.
    Ce qui compte c'est la "méta programmation" notamment grâce aux API web pour appeler des modules divers et variés et l'intérêt c'est que ça coûte moins cher et ça évite de réinventer la roue.

    Citation Envoyé par Victor Vincent Voir le message
    Il souligne que les problèmes du langage C tels que son ontologie de type de données limité
    mouarf mouarf ontologie de type de données limitée ça c'est très discutable et ça n'est pas seulement lié au langage C...ce problème peut être lié avec les autres langages et l'informatique en général.
    De toute façon que ce soit en C ou en Java ou en Csharp il faut toujours définir des entités

  10. #70
    Inactif  
    Homme Profil pro
    Architecte matériel
    Inscrit en
    Décembre 2017
    Messages
    155
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Architecte matériel

    Informations forums :
    Inscription : Décembre 2017
    Messages : 155
    Points : 0
    Points
    0
    Par défaut
    Un des gros soucis avec le langage C est que le développeur doit se soucier en permanence des problèmes de gestion de la mémoire, des caches, entre autres, estime Eric Raymond
    Quelqu'un comprend cette phrase?

    Citation Envoyé par Kannagi Voir le message
    Je que je dis c'est que le C permet de faire n'importe quoi vraiment ,
    Comme quoi par exemple?

    Citation Envoyé par Kannagi Voir le message
    par exemple le Pascal était enseigner parce que il était extrêmement rigoureux , je n'ai pas fait de python mais je pense que il oblige un peu plus au programmeur de faire attention de la manière de comment on écrit son code , qui me semble assz fondamentale.
    Pascal est juste un jouet. Il est tellement limité, c'est une blague.

    Citation Envoyé par e101mk2 Voir le message
    Le C disparaîtra le jour ou nos ordinateurs fonctionneront sans CPU, GPU et autres contrôleurs .

    Je me voit mal écrire un driver sans C. Mais je l'ais abandonné pour mes projets Desktop avec le C++, qui me permet d'écrire mes codes avec plus d'aisance.
    Pourquoi pas écrire le driver en C++?

  11. #71
    Membre éprouvé
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    1 821
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 1 821
    Points : 979
    Points
    979
    Par défaut
    Citation Envoyé par liberal1 Voir le message
    Quelqu'un comprend cette phrase?
    ça veut dire qu'il faut déclarer la réservation et la libération de la mémoire (malloc, free)

    Citation Envoyé par liberal1 Voir le message
    Comme quoi par exemple?
    Accéder aux registres de manière optimale => créer un driver (on peut être encore plus optimisé en utilisant de l'assembleur mais pour développer de gros drivers, ça devient vite compliqué pour au finale ne pas avoir forcément un résultat probant)
    Accéder aux fonctions bas niveau de l'OS : par exemple en java, il est impossible de forger intégralement des paquets Ethernet sans utiliser une bibliothèque externe (écrite en C).

  12. #72
    Inactif  
    Homme Profil pro
    Architecte matériel
    Inscrit en
    Décembre 2017
    Messages
    155
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Architecte matériel

    Informations forums :
    Inscription : Décembre 2017
    Messages : 155
    Points : 0
    Points
    0
    Par défaut
    Citation Envoyé par boboss123 Voir le message
    Accéder aux registres de manière optimale => créer un driver (on peut être encore plus optimisé en utilisant de l'assembleur mais pour développer de gros drivers, ça devient vite compliqué pour au finale ne pas avoir forcément un résultat probant)
    Quels registres?

    Comment accéder aux registres de manière "optimale" en C?

    Qu'est-ce que la manière "optimale"?

    Citation Envoyé par boboss123 Voir le message
    Accéder aux fonctions bas niveau de l'OS : par exemple en java, il est impossible de forger intégralement des paquets Ethernet sans utiliser une bibliothèque externe (écrite en C).
    En quoi le C permet de "forger intégralement des paquets Ethernet"?

  13. #73
    Expert éminent sénior
    Avatar de Mat.M
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    8 352
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 8 352
    Points : 20 359
    Points
    20 359
    Par défaut
    Citation Envoyé par Kannagi Voir le message
    L'assembleur imbuvable , ce qu'il ne faut pas entendre
    avant de contredire et d'être dans le malentendu il faudrait peut-être comprendre ; je pense que boboss123 a voulu écrire que l'assembleur c'est un langage qui n'est pas facile à appréhender parce qu'il faut quasiment tout programmer en assembleur par rapport à des langages de plus "haut niveau".

    Par plus haut-niveau j'entends des langages qui permettent une conceptualisation accrue pour faire des d'entités ( bref les structures de données et leur traitement par du code informatique ) ; quelque part des outils comme Java ou C# permettent la metaprogrammation par rapport à l'assembleur.
    Et faire un projet informatique en assembleur je ne pense pas que cela donne du sens...
    ensuite ces polémiques n'ont pas lieu d'être car tel ou tel outil informatique correspond plus à des problématiques données : l'assembleur c'est parfait et ça correspond pile-poile à des optimisations de partie de code ou pour de la programmation bas-niveau , temps réel etc..

    Citation Envoyé par liberal1 Voir le message
    En quoi le C permet de "forger intégralement des paquets Ethernet"?
    parce que, que l'on corrige si je me trompe, l'accès direct mémoire en Java n'est pas possible bref on ne peut pas déclarer de pointeurs mémoires direct comme on peut faire en langage C

  14. #74
    Modérateur
    Avatar de gangsoleil
    Homme Profil pro
    Manager / Cyber Sécurité
    Inscrit en
    Mai 2004
    Messages
    10 148
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Manager / Cyber Sécurité

    Informations forums :
    Inscription : Mai 2004
    Messages : 10 148
    Points : 28 113
    Points
    28 113
    Par défaut
    Citation Envoyé par liberal1 Voir le message
    Pourquoi pas écrire le driver en C++?
    Pourquoi l'écrire en C++ ? Qu'est-ce que ce langage t'apporte par rapport à C pour l'écriture d'un driver ?
    "La route est longue, mais le chemin est libre" -- https://framasoft.org/
    Les règles du forum

  15. #75
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 518
    Points
    41 518
    Par défaut
    Citation Envoyé par gangsoleil Voir le message
    Pourquoi l'écrire en C++ ? Qu'est-ce que ce langage t'apporte par rapport à C pour l'écriture d'un driver ?
    Tous les filets de sécurité que le C++ apporte, au moment où l'on en a besoin.
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  16. #76
    Membre éprouvé
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    1 821
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 1 821
    Points : 979
    Points
    979
    Par défaut
    Citation Envoyé par Mat.M Voir le message
    parce que, que l'on corrige si je me trompe, l'accès direct mémoire en Java n'est pas possible bref on ne peut pas déclarer de pointeurs mémoires direct comme on peut faire en langage C
    Non ce n'est pas exactement ce que je voulais dire, il n'est pas forcément utile d'avoir un accès directe à la mémoire du périphérique pour pouvoir forger un paquet Ethernet, il suffit d'avoir la bibliothèque qui va bien pour le faire (généralement fournie avec l'OS) : en java il n'y a pas de bibliothèque qui permette de créer un paquet de bout en bout => on est obligé de faire appelle à un wrapper qui pointe vers une bibliothèque en C (ex: winpcap).
    Java est tellement haut niveau qu'il n'existe même pas une fonction pour envoyer un ping.

    Citation Envoyé par liberal1 Voir le message
    Quels registres?

    Comment accéder aux registres de manière "optimale" en C?

    Qu'est-ce que la manière "optimale"?
    Je parle aux registres des périphériques et registres CPU
    Par optimal, je parle d'un code qui permet de consommer un minimum de ressources (espace disque/mémoire) et ayant une vitesse d’exécution élevée

  17. #77
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 518
    Points
    41 518
    Par défaut
    Java est tellement haut niveau qu'il n'existe même pas une fonction pour envoyer un ping.
    Il en est de même pour le C standard. Le C standard ne sait pas ce que c'est un ping, ni ce qu'est un réseau! Là encore, tu dépends de l'environnement autour, pour finir avec des fonctions de très bas niveau qui ne peuvent pas être programmées en C, pas plus qu'en C++ ou Java (comme les accès aux périphériques sur un processeur x86).
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  18. #78
    Membre éprouvé
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    1 821
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 1 821
    Points : 979
    Points
    979
    Par défaut
    Citation Envoyé par Médinoc Voir le message
    Il en est de même pour le C standard. Le C standard ne sait pas ce que c'est un ping, ni ce qu'est un réseau! Là encore, tu dépends de l'environnement autour, pour finir avec des fonctions de très bas niveau qui ne peuvent pas être programmées en C, pas plus qu'en C++ ou Java (comme les accès aux périphériques sur un processeur x86).
    Tu es vraiment certains que sur un processeur x86 tu ne peux pas accéder directement aux périphériques ?... en tous cas sur contrôleur ça ne pose aucun problème pour accéder aux registres d'un périphérique.
    => Les seules choses que je vois impossible à réaliser en C sur un µcontrôleur sont :
    - la gestion d'interruption pour le gestionnaire de taches d'un OS temps réel.
    - du code pour debuguer la pile

  19. #79
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 518
    Points
    41 518
    Par défaut
    Le x86 a la particularité d'avoir un espace d'adressage séparé pour les périphériques (en plus des parties mappées pour les périphériques lourds en bande passante), alors que beaucoup d'autres processeurs y accèdent à la place entièrement via des adresses mémoires mappées vers les périphériques (ce qui signifie qu'on peut y accéder par de simples pointeurs volatile).
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  20. #80
    Responsable Systèmes


    Homme Profil pro
    Gestion de parcs informatique
    Inscrit en
    Août 2011
    Messages
    17 352
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Gestion de parcs informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Août 2011
    Messages : 17 352
    Points : 42 824
    Points
    42 824
    Par défaut
    beaucoup d'autres processeurs y accèdent à la place entièrement via des adresses mémoires mappées vers les périphériques
    C'est aussi le cas sur x86 maintenant.
    Ma page sur developpez.com : http://chrtophe.developpez.com/ (avec mes articles)
    Mon article sur le P2V, mon article sur le cloud
    Consultez nos FAQ : Windows, Linux, Virtualisation

Discussions similaires

  1. Quel avenir pour un développeur PHP?
    Par Bizuto dans le forum Salaires
    Réponses: 34
    Dernier message: 23/12/2015, 15h28
  2. Quel avenir pour le Framework.NET ?
    Par Louis-Guillaume Morand dans le forum Général Dotnet
    Réponses: 139
    Dernier message: 16/07/2009, 19h06
  3. Quel avenir pour le format de données Access ?
    Par Katyucha dans le forum Access
    Réponses: 4
    Dernier message: 31/12/2005, 14h57
  4. Quel avenir pour les informaticiens ?
    Par ghita269 dans le forum Emploi
    Réponses: 25
    Dernier message: 09/12/2005, 10h21
  5. Quel avenir pour les outils de génération de code ?
    Par Bruno75 dans le forum Débats sur le développement - Le Best Of
    Réponses: 5
    Dernier message: 05/11/2003, 19h30

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