JKB writes:
[...]
| >| mais lorsque tu écris un
| >| malloc() en C, tu sais exactement ce que tu fais
| >
| > et comment peux-tu prouver cela ?
|
| Parce que j'ai passé une partie de ma vie sur des codes critiques à
| qualifier des compilos et à regarder exactement ce qu'ils généraient. Un
| malloc() en C, c'est un appel à la libc qui alloue de la mémoire.
Premièr entubage.
| Une allocation d'un objet en C++ ou en Java, c'est un tas de mécanismes
| imbriqués qui se _terminent_ par un appel du type malloc ou mmap.
Deuxième entubage.
(Pour info: on peut en fait écrire du C++ tel que 'new T' ne fait
pas de l'allocation dynamique, mais plutôt statique.)
| Je prétends donc que tu _sais_ ce que tu veux faire au niveau de ton objet,
| mais tu ne _sais_ pas exactement comment le code va le faire.
Soyons modeste -- ne géneralise pas ton ignorance.
| C'est même
| pour ça qu'on avait l'interdiction d'utiliser autre chose que du C, ADA ou
| Fortran dans toutes les applications militaires critiques.
Troisième entubage.
|
| >| (hors problème
| >| d'implantation du malloc sur l'OS en question). Lorsque tu crées des
| >| objects en C++ ou en Java, tu ne sais plus ce que tu fais _exactement_.
| >
| > Erreur. Sit *tu* ne sais pas ce que tu fais, alors tu as un problème de
| > compréhension -- ce n'est pas le langage.
|
| J'aimerais rencontrer _une_ seule personne capable de m'expliquer
| dans le détail tout ce que génère un bout de code C++ et toutes les
| étapes élémentaires (et la façon qu'a le compilo de les optimiser). Il
Je fais un cours de C++ (je crois) le semestre prochain -- de fin Août à
mi Décembre. Ou alors tu peux aussie t'inscrire au semestre de printemps
où j'enseigne aussi un cours d'implémentation de langage avec
C++. C'est du niveau « troisième année », mais cela devarit convenir.
| faut être un minimum sérieux ! Même avec un vulgaire compilo C, les
| optimisations ne sont pas piquées des vers, alors avec un C++...
???
| >| Tu sais exactement ce que tu cherches à faire, mais tu ne sais pas
| >| exactement ce que le compilateur va générer comme code.
| >
| > Huh? Et comment le sais-tu pour le C ?
|
| Parce qu'il y a nettement moins de couches d'abstraction, avec un
| peu d'habitude, on arrive a avoir une idée assez précise.
Plus précisément ?
| >| C'est exactement
| >| pour cela qu'on se retrouve avec des logiciels style usine à gaz qui
| >| utilisent les ressources des machines comme des gorets.
| >
| > Encore une fois, tu confonds incompétence de programmeur avec outil --
| > mais je ne suis pas trop surpris, en lisant les lignes auxquelles je
| > réponds.
|
| Non, je ne confonds absolument pas.
Je n'ai pas dis que tu confondais volontairement.
| Mais depuis plus de vingt ans que je pratique, je constate une chose
| étonnante.
Il m'arive de temps en temps de rencontrer des gens bloqués su des
incompréhensions d'il y a plus de vingt ans.
| Dès que quelqu'un dit
| que les langages objets ne sont pas _bons_ pour telle ou telle chose, on
| lui répond toujours qu'il n'a rien compris ou qu'il mélange tout.
Des fois, il y a de très bonnes raisons de croire que c'est vrai.
JKB <knatschke@koenigsberg.fr> writes:
[...]
| >| mais lorsque tu écris un
| >| malloc() en C, tu sais exactement ce que tu fais
| >
| > et comment peux-tu prouver cela ?
|
| Parce que j'ai passé une partie de ma vie sur des codes critiques à
| qualifier des compilos et à regarder exactement ce qu'ils généraient. Un
| malloc() en C, c'est un appel à la libc qui alloue de la mémoire.
Premièr entubage.
| Une allocation d'un objet en C++ ou en Java, c'est un tas de mécanismes
| imbriqués qui se _terminent_ par un appel du type malloc ou mmap.
Deuxième entubage.
(Pour info: on peut en fait écrire du C++ tel que 'new T' ne fait
pas de l'allocation dynamique, mais plutôt statique.)
| Je prétends donc que tu _sais_ ce que tu veux faire au niveau de ton objet,
| mais tu ne _sais_ pas exactement comment le code va le faire.
Soyons modeste -- ne géneralise pas ton ignorance.
| C'est même
| pour ça qu'on avait l'interdiction d'utiliser autre chose que du C, ADA ou
| Fortran dans toutes les applications militaires critiques.
Troisième entubage.
|
| >| (hors problème
| >| d'implantation du malloc sur l'OS en question). Lorsque tu crées des
| >| objects en C++ ou en Java, tu ne sais plus ce que tu fais _exactement_.
| >
| > Erreur. Sit *tu* ne sais pas ce que tu fais, alors tu as un problème de
| > compréhension -- ce n'est pas le langage.
|
| J'aimerais rencontrer _une_ seule personne capable de m'expliquer
| dans le détail tout ce que génère un bout de code C++ et toutes les
| étapes élémentaires (et la façon qu'a le compilo de les optimiser). Il
Je fais un cours de C++ (je crois) le semestre prochain -- de fin Août à
mi Décembre. Ou alors tu peux aussie t'inscrire au semestre de printemps
où j'enseigne aussi un cours d'implémentation de langage avec
C++. C'est du niveau « troisième année », mais cela devarit convenir.
| faut être un minimum sérieux ! Même avec un vulgaire compilo C, les
| optimisations ne sont pas piquées des vers, alors avec un C++...
???
| >| Tu sais exactement ce que tu cherches à faire, mais tu ne sais pas
| >| exactement ce que le compilateur va générer comme code.
| >
| > Huh? Et comment le sais-tu pour le C ?
|
| Parce qu'il y a nettement moins de couches d'abstraction, avec un
| peu d'habitude, on arrive a avoir une idée assez précise.
Plus précisément ?
| >| C'est exactement
| >| pour cela qu'on se retrouve avec des logiciels style usine à gaz qui
| >| utilisent les ressources des machines comme des gorets.
| >
| > Encore une fois, tu confonds incompétence de programmeur avec outil --
| > mais je ne suis pas trop surpris, en lisant les lignes auxquelles je
| > réponds.
|
| Non, je ne confonds absolument pas.
Je n'ai pas dis que tu confondais volontairement.
| Mais depuis plus de vingt ans que je pratique, je constate une chose
| étonnante.
Il m'arive de temps en temps de rencontrer des gens bloqués su des
incompréhensions d'il y a plus de vingt ans.
| Dès que quelqu'un dit
| que les langages objets ne sont pas _bons_ pour telle ou telle chose, on
| lui répond toujours qu'il n'a rien compris ou qu'il mélange tout.
Des fois, il y a de très bonnes raisons de croire que c'est vrai.
JKB writes:
[...]
| >| mais lorsque tu écris un
| >| malloc() en C, tu sais exactement ce que tu fais
| >
| > et comment peux-tu prouver cela ?
|
| Parce que j'ai passé une partie de ma vie sur des codes critiques à
| qualifier des compilos et à regarder exactement ce qu'ils généraient. Un
| malloc() en C, c'est un appel à la libc qui alloue de la mémoire.
Premièr entubage.
| Une allocation d'un objet en C++ ou en Java, c'est un tas de mécanismes
| imbriqués qui se _terminent_ par un appel du type malloc ou mmap.
Deuxième entubage.
(Pour info: on peut en fait écrire du C++ tel que 'new T' ne fait
pas de l'allocation dynamique, mais plutôt statique.)
| Je prétends donc que tu _sais_ ce que tu veux faire au niveau de ton objet,
| mais tu ne _sais_ pas exactement comment le code va le faire.
Soyons modeste -- ne géneralise pas ton ignorance.
| C'est même
| pour ça qu'on avait l'interdiction d'utiliser autre chose que du C, ADA ou
| Fortran dans toutes les applications militaires critiques.
Troisième entubage.
|
| >| (hors problème
| >| d'implantation du malloc sur l'OS en question). Lorsque tu crées des
| >| objects en C++ ou en Java, tu ne sais plus ce que tu fais _exactement_.
| >
| > Erreur. Sit *tu* ne sais pas ce que tu fais, alors tu as un problème de
| > compréhension -- ce n'est pas le langage.
|
| J'aimerais rencontrer _une_ seule personne capable de m'expliquer
| dans le détail tout ce que génère un bout de code C++ et toutes les
| étapes élémentaires (et la façon qu'a le compilo de les optimiser). Il
Je fais un cours de C++ (je crois) le semestre prochain -- de fin Août à
mi Décembre. Ou alors tu peux aussie t'inscrire au semestre de printemps
où j'enseigne aussi un cours d'implémentation de langage avec
C++. C'est du niveau « troisième année », mais cela devarit convenir.
| faut être un minimum sérieux ! Même avec un vulgaire compilo C, les
| optimisations ne sont pas piquées des vers, alors avec un C++...
???
| >| Tu sais exactement ce que tu cherches à faire, mais tu ne sais pas
| >| exactement ce que le compilateur va générer comme code.
| >
| > Huh? Et comment le sais-tu pour le C ?
|
| Parce qu'il y a nettement moins de couches d'abstraction, avec un
| peu d'habitude, on arrive a avoir une idée assez précise.
Plus précisément ?
| >| C'est exactement
| >| pour cela qu'on se retrouve avec des logiciels style usine à gaz qui
| >| utilisent les ressources des machines comme des gorets.
| >
| > Encore une fois, tu confonds incompétence de programmeur avec outil --
| > mais je ne suis pas trop surpris, en lisant les lignes auxquelles je
| > réponds.
|
| Non, je ne confonds absolument pas.
Je n'ai pas dis que tu confondais volontairement.
| Mais depuis plus de vingt ans que je pratique, je constate une chose
| étonnante.
Il m'arive de temps en temps de rencontrer des gens bloqués su des
incompréhensions d'il y a plus de vingt ans.
| Dès que quelqu'un dit
| que les langages objets ne sont pas _bons_ pour telle ou telle chose, on
| lui répond toujours qu'il n'a rien compris ou qu'il mélange tout.
Des fois, il y a de très bonnes raisons de croire que c'est vrai.
Pierre Maurette writes:Gabriel Dos Reis, le 03/07/2009 a écrit :
[...]Le système d'exploitation qui pilote le Mars Rover est écrit en C++.
Le logiciel de capture et traitement d'images du Mars Rover est du C++.
Ouh là là, vous m'étonnez.
Tant mieux, parce que l'information est de première main.
Pierre Maurette <maurettepierre@wanadoo.fr> writes:
Gabriel Dos Reis, le 03/07/2009 a écrit :
[...]
Le système d'exploitation qui pilote le Mars Rover est écrit en C++.
Le logiciel de capture et traitement d'images du Mars Rover est du C++.
Ouh là là, vous m'étonnez.
Tant mieux, parce que l'information est de première main.
Pierre Maurette writes:Gabriel Dos Reis, le 03/07/2009 a écrit :
[...]Le système d'exploitation qui pilote le Mars Rover est écrit en C++.
Le logiciel de capture et traitement d'images du Mars Rover est du C++.
Ouh là là, vous m'étonnez.
Tant mieux, parce que l'information est de première main.
se serait pas remis politiquement de l'histoire du petit robot qui vire
hédoniste.
se serait pas remis politiquement de l'histoire du petit robot qui vire
hédoniste.
se serait pas remis politiquement de l'histoire du petit robot qui vire
hédoniste.
Le 2 juillet 2009, candide a écrit :Est-ce que notre programmeur doit gérer l'affichage des segments de
l'affichage LCD ou encore doit-il gérer le changement de date en
fonction de l'heure ?
Ça m'étonnerait beaucoup : faire une puce pour l'affichage ne demande que
quelques portes logiques.
Dans un « simple » chronomètre par exemple je doute qu'il y ait le moindre
processeur.
Le 2 juillet 2009, candide a écrit :
Est-ce que notre programmeur doit gérer l'affichage des segments de
l'affichage LCD ou encore doit-il gérer le changement de date en
fonction de l'heure ?
Ça m'étonnerait beaucoup : faire une puce pour l'affichage ne demande que
quelques portes logiques.
Dans un « simple » chronomètre par exemple je doute qu'il y ait le moindre
processeur.
Le 2 juillet 2009, candide a écrit :Est-ce que notre programmeur doit gérer l'affichage des segments de
l'affichage LCD ou encore doit-il gérer le changement de date en
fonction de l'heure ?
Ça m'étonnerait beaucoup : faire une puce pour l'affichage ne demande que
quelques portes logiques.
Dans un « simple » chronomètre par exemple je doute qu'il y ait le moindre
processeur.
Marc Boyer writes:
[...]
| Nous travaillons avec le CEA sur des outils d'analyse statique, donc pour
| l'embarqué avion mais potentiellement aussi le nucléaire. Le langage cible
| est C. Java n'est pas à ma connaissance sur les écrans radards.
Si tu es familier avec les Joint Strike Fighters[1] et des compagnies qui
en fabriquent, tu trouvera ceci interessant :
http://www.research.att.com/~bs/JSF-AV-rules.pdf
Marc Boyer <Marc.Boyer@cert.onera.fr.invalid> writes:
[...]
| Nous travaillons avec le CEA sur des outils d'analyse statique, donc pour
| l'embarqué avion mais potentiellement aussi le nucléaire. Le langage cible
| est C. Java n'est pas à ma connaissance sur les écrans radards.
Si tu es familier avec les Joint Strike Fighters[1] et des compagnies qui
en fabriquent, tu trouvera ceci interessant :
http://www.research.att.com/~bs/JSF-AV-rules.pdf
Marc Boyer writes:
[...]
| Nous travaillons avec le CEA sur des outils d'analyse statique, donc pour
| l'embarqué avion mais potentiellement aussi le nucléaire. Le langage cible
| est C. Java n'est pas à ma connaissance sur les écrans radards.
Si tu es familier avec les Joint Strike Fighters[1] et des compagnies qui
en fabriquent, tu trouvera ceci interessant :
http://www.research.att.com/~bs/JSF-AV-rules.pdf
Le 03-07-2009, ? propos de
Re: Du C ou du Java dans les systèmes embarqués automobile ?,
Gabriel Dos Reis ?crivait dans fr.comp.lang.c :Erreur. Sit *tu* ne sais pas ce que tu fais, alors tu as un problème de
compréhension -- ce n'est pas le langage.
J'aimerais rencontrer _une_ seule personne capable de m'expliquer
dans le détail tout ce que génère un bout de code C++ et toutes les
étapes élémentaires (et la façon qu'a le compilo de les optimiser). Il
faut être un minimum sérieux !
Même avec un vulgaire compilo C, les
optimisations ne sont pas piquées des vers, alors avec un C++...
Le 03-07-2009, ? propos de
Re: Du C ou du Java dans les systèmes embarqués automobile ?,
Gabriel Dos Reis ?crivait dans fr.comp.lang.c :
Erreur. Sit *tu* ne sais pas ce que tu fais, alors tu as un problème de
compréhension -- ce n'est pas le langage.
J'aimerais rencontrer _une_ seule personne capable de m'expliquer
dans le détail tout ce que génère un bout de code C++ et toutes les
étapes élémentaires (et la façon qu'a le compilo de les optimiser). Il
faut être un minimum sérieux !
Même avec un vulgaire compilo C, les
optimisations ne sont pas piquées des vers, alors avec un C++...
Le 03-07-2009, ? propos de
Re: Du C ou du Java dans les systèmes embarqués automobile ?,
Gabriel Dos Reis ?crivait dans fr.comp.lang.c :Erreur. Sit *tu* ne sais pas ce que tu fais, alors tu as un problème de
compréhension -- ce n'est pas le langage.
J'aimerais rencontrer _une_ seule personne capable de m'expliquer
dans le détail tout ce que génère un bout de code C++ et toutes les
étapes élémentaires (et la façon qu'a le compilo de les optimiser). Il
faut être un minimum sérieux !
Même avec un vulgaire compilo C, les
optimisations ne sont pas piquées des vers, alors avec un C++...