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

Réseau C Discussion :

Question sur les phases de compilation et d'assemblage.


Sujet :

Réseau C

  1. #21
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2006
    Messages : 52
    Points : 18
    Points
    18
    Par défaut
    Ouch! Ecrire tout ça, et a deux heures du mat', t'es pas fou non ???
    J'ai regardé grâce à vos liens les sources de linux (1.0), et non je ne voulais pas m'attaquer à tout ça (j'y comprends rien, mais alors rien du tout!!!!), mais juste voir de mes propres yeux à quoi ressemblait à un OS, et c'est assez impressionant (et encore j'ose pas imaginer les sources du Vista...)!
    Koala, merci à toi de prendre le temps de m'expliquer tout ça, je trouve que c'est des notions à avoir (en parallèle avec les bases du C), et avant ça je n'avais aucun début d'embryon d'idée sur la façon dont se passait les choses à l'interieur de mon PC. Pour Linux, c'était juste pour voir qu'un OS c'était que des lignes du code (j'y croyais pas trop, avant...), même si il y en a énormement!!
    Pour le C, effectivement je débute avec des cours de C, j'ai fait mon "Hello World" sur le site et puis j'ai continué l'initiation, et puis Emmanuel m'a ouvert les yeux sur la nature de cette initiation et son apport (maigre), donc je me suis redirigé vers les cours de Bernard Cassagne (très pédagogique!) et d'Anne Canteaut (déjà plus durs...). Je suis encore bien loin des "quelques centaines de ligne" , je travaille tranquillement, sur mes structures, tableaux, pointeurs( j'ai galéré pour ceux-là...), mais à part les exercices proposés dans les cours, je n'ai aucun idée de programme pour m'exercer. Enfin bon, ça viendra, c'est comme tout, j'ai une semaine et demie de C dans les pattes, je vais pas commencer à me plaindre déjà .
    En tout cas, merci à vous tous de m'expliquer tout ça, ah oui j'ai une dernière petite question,
    Une fois un programme converti en langage machine, il n'y a pas besoin des sources. Seuls les langages interprétés ont besoin des sources à l'exécution, et encore pas mal d'entre eux ont des formes plus ou moins compilées.
    Si l'on sait où se trouvent les sources de notre OS, on ne peut pas effectuer la conversion langage machine -> langage de programmation (C, Assembleur), désolé d'insister encore là-dessus mais je ne comprends pas pourquoi chaque fois que l'on démarre notre machine, on tourne sur un OS sans pouvoir en voir les sources (même si elles sont sur le portable de Bill Gates, hein Emmanuel, au pire je tape un petit raid la nuit prochaine et je rammène tout ça..).
    Merci!

  2. #22
    Expert éminent sénior
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Points : 20 985
    Points
    20 985
    Par défaut
    Citation Envoyé par Preez
    avant ça je n'avais aucun début d'embryon d'idée sur la façon dont se passait les choses à l'interieur de mon PC. Pour Linux, c'était juste pour voir qu'un OS c'était que des lignes du code (j'y croyais pas trop, avant...), même si il y en a énormement!!
    Ah bon, tu pensais que c'était ça ?



    Plus sérieusement, pour la culture générale, un petit tour sur Wikipédia ne fait pas de mal... Parce que là, on est gravement hors sujet... (Il y a aussi un forum plus généraliste comme http://www.developpez.net/forums/forumdisplay.php?f=57
    mais à part les exercices proposés dans les cours, je n'ai aucun idée de programme pour m'exercer.
    Ah ? Tu fais du C pourquoi ? Tu n'as aucun but précis ?
    Si l'on sait où se trouvent les sources de notre OS, on ne peut pas effectuer la conversion langage machine -> langage de programmation (C, Assembleur),
    Pas du français. Tu veux dire ça ?
    "Même si l'on sait où se trouvent les sources de notre OS, on ne peut pas effectuer la conversion langage machine -> langage de programmation (C, Assembleur), "
    désolé d'insister encore là-dessus mais je ne comprends pas pourquoi chaque fois que l'on démarre notre machine, on tourne sur un OS sans pouvoir en voir les sources
    Tu as des questions bizarres.

    "Je prend le métro tous les matins, pourquoi je ne vois pas le dossier de fabrication."

    "J'entre chez moi tous les soir, pourquoi je ne vois pas les plans de l'immeuble..."

    Je ne comprends pas où tu veux en venir...

    Le produit est construit. Que veux tu de plus ?
    Pas de Wi-Fi à la maison : CPL

  3. #23
    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 Preez
    Si l'on sait où se trouvent les sources de notre OS, on ne peut pas effectuer la conversion langage machine -> langage de programmation (C, Assembleur), désolé d'insister encore là-dessus mais je ne comprends pas pourquoi chaque fois que l'on démarre notre machine, on tourne sur un OS sans pouvoir en voir les sources (même si elles sont sur le portable de Bill Gates, hein Emmanuel, au pire je tape un petit raid la nuit prochaine et je rammène tout ça..).
    Merci!
    Les sources sont dans un fichier. Le résultat de la compilation dans un autre. Pourquoi aurais-tu besoin des sources?
    Les MP ne sont pas là pour les questions techniques, les forums sont là pour ça.

  4. #24
    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 519
    Points
    41 519
    Par défaut
    L'ordinateur n'a pas besoin des sources.
    Un utilisateur méfiant aime bien avoir un OS open-source, pour être sûr qu'il n'y a pas de backdoors.

    Il est de notoriété publique (ou de légende urbaine) que certaines des nombreuses failles de sécurité de Windows sont volontaires (voire même pour certaines, ordonnées par le gouvernement américain).
    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.

  5. #25
    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 Médinoc
    Un utilisateur méfiant aime bien avoir un OS open-source, pour être sûr qu'il n'y a pas de backdoors.

    Tu en connais beaucoup qui ont vérifé? J'avoue sans honte faire partie de ceux qui ne l'ont pas fait. De même que je n'ai pas vérifié que gcc n'introduisait pas de backdoor quand il compile linux... Pour ceux que le problème intéresse: http://www.ece.cmu.edu/~ganger/712.f...1-thompson.pdf
    Les MP ne sont pas là pour les questions techniques, les forums sont là pour ça.

  6. #26
    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 519
    Points
    41 519
    Par défaut
    J'ignore qui vérifiera en pratique les 4 millions de lignes de codes de Linux.
    De toutes façons, pour l'instant je tourne sous Windows...

    Pour le coup du compilateur, je ne me souviens plus où j'avais lu qu'un certain compilateur introduisait un backdoor dans un programme, et que le debugger livré avec le cachait (c'était pour un défi spécifique "cherchez le backdoor", hein, rien n'était dit sur les compilateurs officiels)...
    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.

  7. #27
    Membre éprouvé
    Avatar de InOCamlWeTrust
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    1 036
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 1 036
    Points : 1 284
    Points
    1 284
    Par défaut
    Honnêtement, j'en ai pour l'instant rien à péter des sources de Linux et de gcc. Au fur et à mesure que je sens la nécessité de rentrer dans le code source d'un programme, je le fais : c'est entre autres comme ça que je commence à rentrer de plus en plus dans le code d'Objective Caml. Mais se dire : "Je vais vérifier moi tout seul si mon OS ou mon compilo marche bien !", c'est ridicuile si on n'en a pas réellement besoin.

    L'autre jour, j'avais un problème avec le pré-processeur de OCaml, Camlp4, et je voulais savoir si ce comportement étrange venait de mon programme ou de Camlp4 directement : je suis allé voir dans le code, et ça ne m'a pas pris plus de 5 minutes pour repérer le bout de code qui posait problème (mais pas de bug, en fait). J'en suis re-sorti et je ne suis pas allé vérifier le reste : à quoi bon si je n'avais aucun souci de plus ?
    When Colt produced the first practical repeating handgun, it gave rise to the saying God created men, but Colt made them equal.

  8. #28
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2006
    Messages : 52
    Points : 18
    Points
    18
    Par défaut
    Ah bon, tu pensais que c'était ça ?
    Au moins ça, ouais...
    Ah ? Tu fais du C pourquoi ? Tu n'as aucun but précis ?
    Si, programmer un jeu d'echecs, un moteur 3D et remake des Lemmings, pour tes questions je ne vois aucunement le rapport avec des programmes pour s'ENTRAINER, et la motivation de me lancer dans le C.

    Le produit est construit. Que veux tu de plus ?
    Comprendre comment un OS peut-être "construit" et installé sur MA machine sans que je puisse voir ce dont il est fait...

    "Je prend le métro tous les matins, pourquoi je ne vois pas le dossier de fabrication."
    Etrange comparaison, mais admettons. Le metro est mon OS, j'en dispose donc, je le prends dans le sac à dos, je l'emmène dans mon garage (je l'avais dit que c'était étrange...), et je PEUX le démonter pièce par pièce pour voir de quoi il est fait.

    Bref, parlons bien parlons peu, j'arrête d'insister là-dessus, il me manque apparement des élèments pour comprendre cette affaire, ça viendra plus tard.

  9. #29
    Expert éminent sénior
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Points : 20 985
    Points
    20 985
    Par défaut
    Citation Envoyé par Preez
    Si, programmer un jeu d'echecs, un moteur 3D et remake des Lemmings, pour tes questions je ne vois aucunement le rapport avec des programmes pour s'ENTRAINER, et la motivation de me lancer dans le C.
    Tu n'avais pas précisé "pour s'entrainer..." Il y a tous les exercices du K&R2, par exemple...

    Mais je rappelle que le C n'est qu'un outil. Pour écrire un jeu d'echec ou un moteur 3D, il faut bien d'autres connaissances que la simple maitrise d'un langage. Tu sembles ignorer la phase de conception, et c'est ça qui provoque tes question bizarres..
    Comprendre comment un OS peut-être "construit" et installé sur MA machine sans que je puisse voir ce dont il est fait...
    Comment il est construit, c'est de la conception : Spécification détaillée, architecture, organisation du code, processus, tâches immédiates, taches, dialogues internes, organisation des données, fourniture de services, ordonancement, gestion de la mémoire, pilotes de matériels... Comme je te l'ai dit, rien de tout ça na à voir avec un quelconque langage.
    Etrange comparaison, mais admettons. Le metro est mon OS, j'en dispose
    On dit 'métaphore'...

    Tu n'en disposes pas. Tu l'utilises en tant qu'unité indivisible (J'appelle 'metro' le service de transport fourni par la RATP moyennant une juste rétribution, pas la rame ni le wagon). C'est à dessein que j'ai cité cette métaphore.

    Un système (OS), c'est pareil. Vu du programmeur, c'est un ensemble de services offerts dont on connait l'interface et le comportement (API Applicatio Programming Interface), mais pas les détails de réalisation, ce dont on se fout royalement, du moment que le comportement est défini et qu'il est conforme à la définition.
    Pas de Wi-Fi à la maison : CPL

  10. #30
    Expert éminent sénior
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 614
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 614
    Points : 30 626
    Points
    30 626
    Par défaut
    Citation Envoyé par Emmanuel Delahaye
    (snip)
    Un système (OS), c'est pareil. Vu du programmeur, c'est un ensemble de services offerts dont on connait l'interface et le comportement (API Applicatio Programming Interface), mais pas les détails de réalisation, ce dont on se fout royalement, du moment que le comportement est défini et qu'il est conforme à la définition.
    Et qu'il réagit bel et bien de la manière dont le définit le comportement bon...
    A méditer: La solution la plus simple est toujours la moins compliquée
    Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
    Compiler Gcc sous windows avec MinGW
    Coder efficacement en C++ : dans les bacs le 17 février 2014
    mon tout nouveau blog

  11. #31
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2006
    Messages : 52
    Points : 18
    Points
    18
    Par défaut
    pour m'exercer
    Tu chipotes!
    Oki je comprends mieux l'histoire de l'OS et du métro,
    Tu n'en disposes pas
    C'est là que ça posait problème.
    Bon bah c'est reglé alors, euh "K&R2", What's this???? Tu m'en avais déjà parlé et je me suis organisé pour l'acheter, mais c'est K&R tout simple je crois, "Langage C Norme ANSI" (édtition 2004, dit la FNAC). D'ici une semaine ça devrait être bon! Par contre j'ai lu sur internet que les solutions des exercices étaient sur un autre bouquin, c'est embêtant . Enfin, je m'éloigne.
    Merci pour tout ça!

  12. #32
    Rédacteur

    Avatar de millie
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    7 015
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 015
    Points : 9 818
    Points
    9 818
    Par défaut
    Si tu cherches un cours de système d'exploitation ou d'architecture des ordinateurs, tu peux jeter un oeil ici :

    http://systeme.developpez.com/cours/
    Je ne répondrai à aucune question technique en privé

  13. #33
    Membre chevronné
    Homme Profil pro
    Dév. Java & C#
    Inscrit en
    Octobre 2002
    Messages
    1 413
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Dév. Java & C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 413
    Points : 1 993
    Points
    1 993
    Par défaut
    Citation Envoyé par Preez
    Bon bah c'est reglé alors, euh "K&R2", What's this????


    Si tu observes la disposition des touches sur un clavier, tu remarqueras que le caractère '2' et le caractère '"' sont regroupés sur la même touche.

    Un doigt d'Emmanuel a dû glisser en dactilographiant la réponse.
    Bien le bonjour chez vous
    Jowo

  14. #34
    Expert éminent sénior
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Points : 20 985
    Points
    20 985
    Par défaut
    Citation Envoyé par jowo
    Un doigt d'Emmanuel a dû glisser en dactilographiant la réponse.
    Non, laisse mon doigt tranquille !

    Le 'K&R2' est le petit nom de Kernighan et Ritchie édition 2 (dite ANSI).

    (Référence sur mon site).
    Pas de Wi-Fi à la maison : CPL

  15. #35
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2006
    Messages : 52
    Points : 18
    Points
    18
    Par défaut
    Si tu cherches un cours de système d'exploitation ou d'architecture des ordinateurs, tu peux jeter un oeil ici
    Merci beaucoup, je crois effectivement que j'en ai bien besoin !!
    Le 'K&R2' est le petit nom de Kernighan et Ritchie édition 2 (dite ANSI).
    Ok, je voyais ça bien plus couteux, c'est accessible!

  16. #36
    Expert éminent sénior
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 614
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 614
    Points : 30 626
    Points
    30 626
    Par défaut
    Citation Envoyé par Preez
    Merci beaucoup, je crois effectivement que j'en ai bien besoin !!
    Quand tu roules en voiture, tout ce dont tu as besoin, c'est de connaitre l'utilisation des différents commodo, qu'il faut du carburant, de ce qui se passe (en gros) quand tu tourne le volant ou que tu changes la vitesse...

    Des termes comme "colone de direction", "culasse","piston","soupape" ne te sont peut etre pas inconnus, mais tu n'as pas *forcément* besoin de savoir à quoi ca sert, ni où cela se trouve dans le moteur

    Evidemment, si tu es mécano, ce sont des détails que tu devra connaitre parmis d'autres, mais tu n'auras par contre pas besoin de savoir que la culasse est faite dans un alliage contenant telle quantité d'un métal et telle autre quantité d'un autre

    Ce genre de détails, ce sera pour le concepteur de la piece pour le tourneur/fraiseur qui devra la fabriquer qu'ils seront importants... alors que le touneur/fraiseur n'a peut etre aucune idée de la manière dont la piece est assemblée dans le moteur ...

    Tu te demandes peut etre quel est le rapport entre ce texte et la connaissance d'un système d'exploitation...

    C'est simplement le fait que, selon l'utilisation que tu fais, certains détails te seront utiles/nécessaires, et d'autres ne te serviront à rien d'autre que... ta "culture générale".

    Un utilisateur "simple" se contentera de lancer une application, sans s'inquiéter le moins du monde de la manière dont l'application (qui peut etre une commande) arrive au résultat qu'elle nous donne...

    Un "gestionnaire de parc informatique" connaitra une série de commandes "inconnues de l'utilisateur lambda", saura en interpréter le résultat... mais n'en aura pas grand chose à faire de la manière dont elle y arrive

    Un programmeur saura (éventuellement) comment utiliser certaines librairies partagées, connaitra alors les "points d'entrée", les fonctions qui l'intéressent, le résultat obtenu par ces fonctions, mais ne saura pas *forcément* comment la fonction arrive au résultat qu'elle fournis

    Par contre, le programmeur qui doit tenter d'améliorer une telle librairie devra par contre connaitre beaucoup mieux les "détails d'implémentation" qui permettent à chaque fonction d'arriver au résultat voulu... Mais ne s'inquiétera que peu de l'utilisation qu'en feront les autres ... il se "contentra" de fournir quelque chose qu'il estime utile

    Un système d'exploitation n'est qu'un ensemble de petites applications qui permettent d'utiliser au mieux ce qui est branché (directement ou indirectement) sur la carte mere... mais il faut que tu te pose la question de savoir si tu as réellement besoin de savoir le pourquoi du comment de l'implémentation de telle ou telle commande (en dehors de ta culture générale)... Dans bien des cas, la simple connaissance de "comment utiliser telle commande" te sera suffisante
    A méditer: La solution la plus simple est toujours la moins compliquée
    Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
    Compiler Gcc sous windows avec MinGW
    Coder efficacement en C++ : dans les bacs le 17 février 2014
    mon tout nouveau blog

  17. #37
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2006
    Messages : 52
    Points : 18
    Points
    18
    Par défaut
    D'accord, je comprends ce que tu veux me dire. Quoiqu'il arrive je n'ai pas le niveau, ni les conséquences requi(se)s pour comprendre tout ce qui se passe dans un OS. J'ai cependant "besoin" de savoir comment fonctionne un ordinateur "en gros", histoire de savoir ce qui se passe un peu là-dedans (et ça ne peut-être qu'une aide pour la programmation). Je mène toutes ces petites recherches/lectures en parallèle de mon apprentissage du C, et puis tout ce que vous avez pris la peine de me dire m'a beaucoup appris.

  18. #38
    Expert éminent sénior
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 614
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 614
    Points : 30 626
    Points
    30 626
    Par défaut
    Selon moi, ce qu'il te faut *éventuellement*, c'est bien plus de savoir comment le processeur (et tout ce qui est branché sur la carte mere, en gros) fonctionne que la manière dont le système d'exploitation que tu utilises mets cela en "musique"...

    Et encore, il y a des détails (le taux théorique de transfert d'un lecteur de CD-ROM en vitesse simple, la taille des blocs utilisables par le FAT ou le NTFS, le taux de transfert d'un port USB etc) dont tu n'auras sans doute pas besoin dans un premier temps

    N'oublies surtout jamais qu'il faut savoir marcher avant de vouloir courrir...

    Sinon, c'est la chute assurée

    En plus, tu as beaucoup plus de chances de devenir un bon programmeur si tu es en mesure de trouver la meilleur logique pour arriver à un résultat que si meme tu connais "à fond" le fonctionement interne du PC...

    Bien sur, à force de t'intéresser au contenu de ton ordinateur, tu apprendra un tas de choses qui ne pourront sans doute que te faire progresser d'avantage, mais, si tu n'arrives pas à créer un bon algorithme, résistant aux erreurs éventuelles de l'utilisateur, présentant une logique stricte et "sécurisante", tu auras beau savoir exactement comment fonctionne ton ordinateur, tu n'en sera sans doute pas un meilleur programmeur pour autant

    Tu es au début de ton apprentissage, et ce qui importe pour l'instant, c'est surtout d'arriver à te faire une "image mentale" précise de la manière de travailler avec ton langage de programmation...

    La manière dont le compilateur va générer l'exécutable, d'une certaine manière, tu n'en a pas grand chose à faire: la seule certitude c'est que les compilateurs font généralement cela très bien, et tendent meme à le faire de mieux en mieux... C'est dans un premier temps ce qui importe...

    Plus tard, quand tu auras fini de faire joujou avec les "hello world", que tu auras assimilié une ou plusieurs manière(s) de créer des applications correctement structurées et respectant une logique stricte, que tu te sera suffisemment habitués aux tableaux et au pointeurs, que tu auras compris les principes qui régissent la création de fonction(s) (tout cela pouvant aller tres vite, selon ta capacité propre à comprendre quelque chose qui reste quand meme fort "abstrait") et que tu commencera à créer des projets plus importants, il sera temps de commencer à se poser la question de savoir comment "diviser" un projet en plusieurs fichiers, les avantages que cela implique, comment fonctionne le préprocesseur (qui est la première étape de la compilation), comment s'assurer que le preprocesseur n'inclue pas des fichiers de manière circulaire etc.

    A peu pres au meme moment, tu commenceras sans doute à vouloir optimiser au mieux le travail du processeur, parce que tu ne voudra pas attendre à chaque fois 5 minutes que ton application effectue son travail... Et il sera donc temps d'explorer d'autres horizons...

    Je ne mets en doute ni ton intelligence, ni ta capacité de compréhension, ni tes compétences... je dis juste qu'à force de vouloir trop te dissiper dans différentes recherches qui, dans un premier temps du moins, ne te serviront pas à grand chose (pour ne pas dire à rien), tu coures le risque de passer à coté de choses qui te sont, elles, indispensables...

    Avancer progressivement, en mettant un pied devant l'autre a toujours été, et restera, le meilleur moyen pour arriver à bon port
    A méditer: La solution la plus simple est toujours la moins compliquée
    Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
    Compiler Gcc sous windows avec MinGW
    Coder efficacement en C++ : dans les bacs le 17 février 2014
    mon tout nouveau blog

  19. #39
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2006
    Messages : 52
    Points : 18
    Points
    18
    Par défaut
    Je comprends mon erreur:
    c'est bien plus de savoir comment le processeur (et tout ce qui est branché sur la carte mere, en gros) fonctionne que la manière dont le système d'exploitation que tu utilises mets cela en "musique"...
    J'ai confondu tout ça. C'est le mot, toutes ces notions sont très confuses pour l'instant. La seule chose qui me fait peur, c'est de progresser dans ma manière de programmer et de passer à côté de notions importantes (comme le processeur, "les cadences d'horloges") qui me permettrait d'executer mes programmes plus vite.
    Mais, comme tu l'as dit, je suis au début de mon apprentissage, et je me laisse avoir par ma tendance à tout vouloir controler et savoir, ce qui m'eparpille à droite à gauche...
    Je me concentre donc sur le C, et en attendant le K&R(2)n sur les cours de Bernard Cassagne.
    Merci Koala de m'orienter, c'est super sympa!
    Bonne nuit!

  20. #40
    Expert éminent sénior
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Points : 20 985
    Points
    20 985
    Par défaut
    Citation Envoyé par Preez
    La seule chose qui me fait peur, c'est de progresser dans ma manière de programmer et de passer à côté de notions importantes (comme le processeur, "les cadences d'horloges") qui me permettrait d'executer mes programmes plus vite.
    Encore une fois, confusion totale. Ce qui fait qu'un programme est performant c'est la qualité de l'algorithme. La vitesse d'horloge, fait simplement que le même algo s'exécutera plus ou moins vite, c'est tout. Ce n'est pas une donnée qui influence la programmation.
    Je me concentre donc sur le C, et en attendant le K&R(2)n sur les cours de Bernard Cassagne.
    C'est effectivement ce que tu as de mieux à faire en ce moment. Garde quand même en tête que la programmation, ce n'est pas la simple maitrise d'un langage. C'est aussi

    1 - Savoir définir clairement un problème
    2 - Trouver des solutions simples et performantes
    3 - Coder proprement, tester son code

    Seule la phase 3 concerne la mise en oeuvre d'un langage de programmation.

    La phase 2 (conception) est la plus difficile. En plus elle conditionne complètement le codage. C'est sur ce point qu'il faut acquérir des connaissances et surtout de l'expérience, ainsi que développer son intuition.
    Pas de Wi-Fi à la maison : CPL

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 3 PremièrePremière 123 DernièreDernière

Discussions similaires

  1. Question sur les macros compilées
    Par JeromeMATHIAS dans le forum Macro
    Réponses: 3
    Dernier message: 15/10/2012, 22h39
  2. Question sur les types fantômes et la compilation
    Par GnuVince dans le forum Caml
    Réponses: 9
    Dernier message: 15/11/2010, 18h40
  3. Question sur les classes (car problème lors de la compilation)
    Par beegees dans le forum Débuter avec Java
    Réponses: 9
    Dernier message: 09/10/2009, 17h23
  4. question sur les erreurs de compilation
    Par vince3320 dans le forum C
    Réponses: 5
    Dernier message: 19/04/2004, 11h34
  5. question sur les message box !
    Par krown dans le forum Langage
    Réponses: 7
    Dernier message: 02/08/2002, 16h11

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