C est devenu un standard parce qu'il était la meilleure/moins pire
réponse aux problèmes que se posaient l'industrie à un moment donné.
La compatibilité entre machines, dans le temps et avec la base
installée font qu'il reste incontournable, et imuable dans ses
qualités et ses défauts.Je me demande entre autre si aujourd'hui, d'autres ne peuvent pas
imposer des standards (communauté Androîd supportée par Google...par
exemple) ? Mais c'est un autre sujet.
Tu as vu la guerre Java/C++/C# ?
Sun est mort, mais C# n'a pas gagné la guerre, loin de là .
Il faut une certaine "puissance de feu" pour faire émerger un
standard, mais ça n'est pas tout.
C est devenu un standard parce qu'il était la meilleure/moins pire
réponse aux problèmes que se posaient l'industrie à un moment donné.
La compatibilité entre machines, dans le temps et avec la base
installée font qu'il reste incontournable, et imuable dans ses
qualités et ses défauts.
Je me demande entre autre si aujourd'hui, d'autres ne peuvent pas
imposer des standards (communauté Androîd supportée par Google...par
exemple) ? Mais c'est un autre sujet.
Tu as vu la guerre Java/C++/C# ?
Sun est mort, mais C# n'a pas gagné la guerre, loin de là .
Il faut une certaine "puissance de feu" pour faire émerger un
standard, mais ça n'est pas tout.
C est devenu un standard parce qu'il était la meilleure/moins pire
réponse aux problèmes que se posaient l'industrie à un moment donné.
La compatibilité entre machines, dans le temps et avec la base
installée font qu'il reste incontournable, et imuable dans ses
qualités et ses défauts.Je me demande entre autre si aujourd'hui, d'autres ne peuvent pas
imposer des standards (communauté Androîd supportée par Google...par
exemple) ? Mais c'est un autre sujet.
Tu as vu la guerre Java/C++/C# ?
Sun est mort, mais C# n'a pas gagné la guerre, loin de là .
Il faut une certaine "puissance de feu" pour faire émerger un
standard, mais ça n'est pas tout.
In article <hv4pbg$2as$,
Marc Boyer wrote:
Je me demande entre autre si aujourd'hui, d'autres ne peuvent pas
imposer des standards (communauté Androîd supportée par Google...par
exemple) ? Mais c'est un autre sujet.
Tu as vu la guerre Java/C++/C# ?
Sun est mort, mais C# n'a pas gagné la guerre, loin de là.
Il faut une certaine "puissance de feu" pour faire émerger un
standard, mais ça n'est pas tout.
Une des tres importantes raisons pour lesquelles C est un standard, c'est
que c'est un standard ouvert: pas de problemes de brevets logiciels concernant
des reimplementations du langage. Et sans doute aussi une question d'epoque.
Les compilos C opensource sont "nes avec" le mouvement opensource, a peu de
choses pres.
Pour ce qui est de Java, Sun a rate le coche sur plusieurs points:
- ils ne sont jamais passe par l'etape normalisation cote comite ANSI/ISO.
A leur decharge, je crois bien qu'ils ont essaye, mais c'etait a l'epoque
ou Microsoft essayait de pourrir java (en diffusant entre autres des
bibliotheques subtilement incompatibles pour les applets), et celui-ci s'est
mis sur les rangs, pour essayer de faire du lobbying pour pourrir le
standard/l'enterrer. Du coup, Sun a laisse tomber le coup.
- Sun a mis des annees a diffuser ses jdk sous une license acceptable... ca
a pris pas mal de temps pour avoir des jdk performantes sur tous les systemes,
et il y a encore des bouts pour lesquelles il n'y a guere que l'implementation
de reference de Sun qui soit "raisonnable". Du coup, pas tres simple de faire
un standard avec du pur produit commercial...
Pour C#, c'est encore une autre histoire. Microsoft jouit d'une reputation
tellement mauvaise que, meme s'ils pondent un standard a peu pres ouvert,
la grosse majorite des gens dans le camp opensource va se mefier, voire
se declarer ouvertement hostiles. Il n'y a qu'a voir les casseroles
que se traine Miguel de Icaza pour avoir "libere" C# en ecrivant mono.
Pour qu'un langage de programmation soit un vrai standard, il faut que tout
le monde puisse jouer, sans que ca coute la peau des fesses... un peu rate
pour Java et C#.
Quant a C++, le probleme est autre: C++ est un langage bien trop complexe
pour jouir d'une adoption large. Il n'y a qu'un faible pourcentage des
informaticiens qui arrivent a faire des trucs corrects avec C++...
et la grammaire du langage est imbitable, au point qu'il n'y a
que relativement peu d'implementations du langage qui tournent de facon
efficace... (on pourrait egalement citer Ada, qui est dans une situation
a peu pres similaire).
In article <hv4pbg$2as$1@news.cict.fr>,
Marc Boyer <Marc.Boyer@cert.onera.fr.invalid> wrote:
Je me demande entre autre si aujourd'hui, d'autres ne peuvent pas
imposer des standards (communauté Androîd supportée par Google...par
exemple) ? Mais c'est un autre sujet.
Tu as vu la guerre Java/C++/C# ?
Sun est mort, mais C# n'a pas gagné la guerre, loin de là.
Il faut une certaine "puissance de feu" pour faire émerger un
standard, mais ça n'est pas tout.
Une des tres importantes raisons pour lesquelles C est un standard, c'est
que c'est un standard ouvert: pas de problemes de brevets logiciels concernant
des reimplementations du langage. Et sans doute aussi une question d'epoque.
Les compilos C opensource sont "nes avec" le mouvement opensource, a peu de
choses pres.
Pour ce qui est de Java, Sun a rate le coche sur plusieurs points:
- ils ne sont jamais passe par l'etape normalisation cote comite ANSI/ISO.
A leur decharge, je crois bien qu'ils ont essaye, mais c'etait a l'epoque
ou Microsoft essayait de pourrir java (en diffusant entre autres des
bibliotheques subtilement incompatibles pour les applets), et celui-ci s'est
mis sur les rangs, pour essayer de faire du lobbying pour pourrir le
standard/l'enterrer. Du coup, Sun a laisse tomber le coup.
- Sun a mis des annees a diffuser ses jdk sous une license acceptable... ca
a pris pas mal de temps pour avoir des jdk performantes sur tous les systemes,
et il y a encore des bouts pour lesquelles il n'y a guere que l'implementation
de reference de Sun qui soit "raisonnable". Du coup, pas tres simple de faire
un standard avec du pur produit commercial...
Pour C#, c'est encore une autre histoire. Microsoft jouit d'une reputation
tellement mauvaise que, meme s'ils pondent un standard a peu pres ouvert,
la grosse majorite des gens dans le camp opensource va se mefier, voire
se declarer ouvertement hostiles. Il n'y a qu'a voir les casseroles
que se traine Miguel de Icaza pour avoir "libere" C# en ecrivant mono.
Pour qu'un langage de programmation soit un vrai standard, il faut que tout
le monde puisse jouer, sans que ca coute la peau des fesses... un peu rate
pour Java et C#.
Quant a C++, le probleme est autre: C++ est un langage bien trop complexe
pour jouir d'une adoption large. Il n'y a qu'un faible pourcentage des
informaticiens qui arrivent a faire des trucs corrects avec C++...
et la grammaire du langage est imbitable, au point qu'il n'y a
que relativement peu d'implementations du langage qui tournent de facon
efficace... (on pourrait egalement citer Ada, qui est dans une situation
a peu pres similaire).
In article <hv4pbg$2as$,
Marc Boyer wrote:
Je me demande entre autre si aujourd'hui, d'autres ne peuvent pas
imposer des standards (communauté Androîd supportée par Google...par
exemple) ? Mais c'est un autre sujet.
Tu as vu la guerre Java/C++/C# ?
Sun est mort, mais C# n'a pas gagné la guerre, loin de là.
Il faut une certaine "puissance de feu" pour faire émerger un
standard, mais ça n'est pas tout.
Une des tres importantes raisons pour lesquelles C est un standard, c'est
que c'est un standard ouvert: pas de problemes de brevets logiciels concernant
des reimplementations du langage. Et sans doute aussi une question d'epoque.
Les compilos C opensource sont "nes avec" le mouvement opensource, a peu de
choses pres.
Pour ce qui est de Java, Sun a rate le coche sur plusieurs points:
- ils ne sont jamais passe par l'etape normalisation cote comite ANSI/ISO.
A leur decharge, je crois bien qu'ils ont essaye, mais c'etait a l'epoque
ou Microsoft essayait de pourrir java (en diffusant entre autres des
bibliotheques subtilement incompatibles pour les applets), et celui-ci s'est
mis sur les rangs, pour essayer de faire du lobbying pour pourrir le
standard/l'enterrer. Du coup, Sun a laisse tomber le coup.
- Sun a mis des annees a diffuser ses jdk sous une license acceptable... ca
a pris pas mal de temps pour avoir des jdk performantes sur tous les systemes,
et il y a encore des bouts pour lesquelles il n'y a guere que l'implementation
de reference de Sun qui soit "raisonnable". Du coup, pas tres simple de faire
un standard avec du pur produit commercial...
Pour C#, c'est encore une autre histoire. Microsoft jouit d'une reputation
tellement mauvaise que, meme s'ils pondent un standard a peu pres ouvert,
la grosse majorite des gens dans le camp opensource va se mefier, voire
se declarer ouvertement hostiles. Il n'y a qu'a voir les casseroles
que se traine Miguel de Icaza pour avoir "libere" C# en ecrivant mono.
Pour qu'un langage de programmation soit un vrai standard, il faut que tout
le monde puisse jouer, sans que ca coute la peau des fesses... un peu rate
pour Java et C#.
Quant a C++, le probleme est autre: C++ est un langage bien trop complexe
pour jouir d'une adoption large. Il n'y a qu'un faible pourcentage des
informaticiens qui arrivent a faire des trucs corrects avec C++...
et la grammaire du langage est imbitable, au point qu'il n'y a
que relativement peu d'implementations du langage qui tournent de facon
efficace... (on pourrait egalement citer Ada, qui est dans une situation
a peu pres similaire).
Marc Boyer a écrit :Le 13-06-2010, Samuel DEVULDER a écrit :a écrit :Tu passes du coq à l'âne. Que vient faire la POO dans les opérateurs
bitwise ? De plus, la POO n'est pas un langage ...
En fait, je me demandais si on pouvait manipuler des bits avec des
langages orientés objets?
Oui.. mais en héritage des langages de bas niveau. C'est jugé par les
puristes comme une erreur, car on peut avoir des langages a objets sans
aucune notion de bits explicites (cf Smalltalk où mêmes les booleens
sont des objets).
Et ils font comment les puristes pour décoder un en-tête IP ?
Ils font des concession avec le monde reel...
Ou pour échanger des entiers entre deux machines d'archi distinctes ?
.. et ils masquent ces concessions dans de belles classes qui masquent
les détails d'implémentation à ceux qui veulent les utiliser.
La POO et les manipulation binaires sont quand même à deux opposés
de la programmation. Chacun sont domaine d'application. Mais il arrive
qu'on ai besoin des deux dans un même code.
Tout à fait, mais pour les débutants en objet on ne leur fait pas jouer
avec la manip de bits directement, mais on leur fait travailler sur des
concepts de plus haut niveau.
Ici il n'est pas question de savoir si la manipulation binaire est utile
ou non. Elle l'est! Mais c'était de répondre à pascal qui se demandait
si c'était important en POO. La réponse est clairement non: on y fait
tout pour s'épargner les détailles scabreux de bas niveau.
Maintenant son pb d'origine étant de coder/debugger les drivers linux,
il n'a pas de choix: il devra se palucher les bitmasks à un moment donné
ou un autre. Le truc c'est qu'on arrive pas à savoir si il veut faire du
bas niveau ou du haut niveau au final.
Marc Boyer a écrit :
Le 13-06-2010, Samuel DEVULDER <samuel-dot-devulder@laposte-dot-com> a écrit :
bpascal123@googlemail.com a écrit :
Tu passes du coq à l'âne. Que vient faire la POO dans les opérateurs
bitwise ? De plus, la POO n'est pas un langage ...
En fait, je me demandais si on pouvait manipuler des bits avec des
langages orientés objets?
Oui.. mais en héritage des langages de bas niveau. C'est jugé par les
puristes comme une erreur, car on peut avoir des langages a objets sans
aucune notion de bits explicites (cf Smalltalk où mêmes les booleens
sont des objets).
Et ils font comment les puristes pour décoder un en-tête IP ?
Ils font des concession avec le monde reel...
Ou pour échanger des entiers entre deux machines d'archi distinctes ?
.. et ils masquent ces concessions dans de belles classes qui masquent
les détails d'implémentation à ceux qui veulent les utiliser.
La POO et les manipulation binaires sont quand même à deux opposés
de la programmation. Chacun sont domaine d'application. Mais il arrive
qu'on ai besoin des deux dans un même code.
Tout à fait, mais pour les débutants en objet on ne leur fait pas jouer
avec la manip de bits directement, mais on leur fait travailler sur des
concepts de plus haut niveau.
Ici il n'est pas question de savoir si la manipulation binaire est utile
ou non. Elle l'est! Mais c'était de répondre à pascal qui se demandait
si c'était important en POO. La réponse est clairement non: on y fait
tout pour s'épargner les détailles scabreux de bas niveau.
Maintenant son pb d'origine étant de coder/debugger les drivers linux,
il n'a pas de choix: il devra se palucher les bitmasks à un moment donné
ou un autre. Le truc c'est qu'on arrive pas à savoir si il veut faire du
bas niveau ou du haut niveau au final.
Marc Boyer a écrit :Le 13-06-2010, Samuel DEVULDER a écrit :a écrit :Tu passes du coq à l'âne. Que vient faire la POO dans les opérateurs
bitwise ? De plus, la POO n'est pas un langage ...
En fait, je me demandais si on pouvait manipuler des bits avec des
langages orientés objets?
Oui.. mais en héritage des langages de bas niveau. C'est jugé par les
puristes comme une erreur, car on peut avoir des langages a objets sans
aucune notion de bits explicites (cf Smalltalk où mêmes les booleens
sont des objets).
Et ils font comment les puristes pour décoder un en-tête IP ?
Ils font des concession avec le monde reel...
Ou pour échanger des entiers entre deux machines d'archi distinctes ?
.. et ils masquent ces concessions dans de belles classes qui masquent
les détails d'implémentation à ceux qui veulent les utiliser.
La POO et les manipulation binaires sont quand même à deux opposés
de la programmation. Chacun sont domaine d'application. Mais il arrive
qu'on ai besoin des deux dans un même code.
Tout à fait, mais pour les débutants en objet on ne leur fait pas jouer
avec la manip de bits directement, mais on leur fait travailler sur des
concepts de plus haut niveau.
Ici il n'est pas question de savoir si la manipulation binaire est utile
ou non. Elle l'est! Mais c'était de répondre à pascal qui se demandait
si c'était important en POO. La réponse est clairement non: on y fait
tout pour s'épargner les détailles scabreux de bas niveau.
Maintenant son pb d'origine étant de coder/debugger les drivers linux,
il n'a pas de choix: il devra se palucher les bitmasks à un moment donné
ou un autre. Le truc c'est qu'on arrive pas à savoir si il veut faire du
bas niveau ou du haut niveau au final.
Java est poussé par une entreprise et réussi (à mon avis, c'est une
réussite de diffusion/popularité/usage, sans juger de qualités
intrinsèques).
C# est poussé par l'entreprise la plus puissante du logiciel, et
se plante.
C++ me semble plus le produit d'un homme, qui fédère une communauté
et s'assure de soutients industriels, et qui réussit.
Java est poussé par une entreprise et réussi (à mon avis, c'est une
réussite de diffusion/popularité/usage, sans juger de qualités
intrinsèques).
C# est poussé par l'entreprise la plus puissante du logiciel, et
se plante.
C++ me semble plus le produit d'un homme, qui fédère une communauté
et s'assure de soutients industriels, et qui réussit.
Java est poussé par une entreprise et réussi (à mon avis, c'est une
réussite de diffusion/popularité/usage, sans juger de qualités
intrinsèques).
C# est poussé par l'entreprise la plus puissante du logiciel, et
se plante.
C++ me semble plus le produit d'un homme, qui fédère une communauté
et s'assure de soutients industriels, et qui réussit.
Ou pour échanger des entiers entre deux machines d'archi distinctes ?
.. et ils masquent ces concessions dans de belles classes qui masquent
les détails d'implémentation à ceux qui veulent les utiliser.
Je ne pense pas que ce soit des concessions: séparer l'interface
de l'implantation fait partie du travail en OO.
C'est plus compliqué d'apprendre à se servir d'une scie sauteuse,
d'une scie scirculaire et d'un marteau piqueur que de s'en tenir
à clou/marteau/scie égoïne. Mais pour monter une cloison, on va plus
vite avec les bons outils.
Ou pour échanger des entiers entre deux machines d'archi distinctes ?
.. et ils masquent ces concessions dans de belles classes qui masquent
les détails d'implémentation à ceux qui veulent les utiliser.
Je ne pense pas que ce soit des concessions: séparer l'interface
de l'implantation fait partie du travail en OO.
C'est plus compliqué d'apprendre à se servir d'une scie sauteuse,
d'une scie scirculaire et d'un marteau piqueur que de s'en tenir
à clou/marteau/scie égoïne. Mais pour monter une cloison, on va plus
vite avec les bons outils.
Ou pour échanger des entiers entre deux machines d'archi distinctes ?
.. et ils masquent ces concessions dans de belles classes qui masquent
les détails d'implémentation à ceux qui veulent les utiliser.
Je ne pense pas que ce soit des concessions: séparer l'interface
de l'implantation fait partie du travail en OO.
C'est plus compliqué d'apprendre à se servir d'une scie sauteuse,
d'une scie scirculaire et d'un marteau piqueur que de s'en tenir
à clou/marteau/scie égoïne. Mais pour monter une cloison, on va plus
vite avec les bons outils.
Marc Boyer écrivit :Ou pour échanger des entiers entre deux machines d'archi distinctes ?
.. et ils masquent ces concessions dans de belles classes qui masquent
les détails d'implémentation à ceux qui veulent les utiliser.
Je ne pense pas que ce soit des concessions: séparer l'interface
de l'implantation fait partie du travail en OO.
En C aussi (et désolé pour essayer de revenir au sujet du groupe) :
lorsqu'on écrit un morceau de code destiné être utilisé plusieurs fois,
il est de bon ton d'écrire un fichier .h, qui suffit normalement à
décrire l'interface, et l'implémentation est gardée dans du code (qui
peut être regroupé dans des bibliothèques).
C'est plus compliqué d'apprendre à se servir d'une scie sauteuse,
d'une scie scirculaire et d'un marteau piqueur que de s'en tenir
à clou/marteau/scie égoïne. Mais pour monter une cloison, on va plus
vite avec les bons outils.
Ce que ne sont ni le marteau piqueur, ni la grue. Autrement dit, les
outils complexes ne sont pas forcément des outils universels : ce sont
deux concepts assez orthogonaux, ÀMHA.
Le débat est en fait de savoir si la POO (ou C++, ou C) sont universels;
en ce qui concerne la POO, les puristes dont parlait Samuel semblent
trancher dans ce sens ; les Vrais Programmeurs du folklore sont
évidemment de l'avis opposé ; entre les deux... il y a beaucoup d'avis !
Marc Boyer écrivit :
Ou pour échanger des entiers entre deux machines d'archi distinctes ?
.. et ils masquent ces concessions dans de belles classes qui masquent
les détails d'implémentation à ceux qui veulent les utiliser.
Je ne pense pas que ce soit des concessions: séparer l'interface
de l'implantation fait partie du travail en OO.
En C aussi (et désolé pour essayer de revenir au sujet du groupe) :
lorsqu'on écrit un morceau de code destiné être utilisé plusieurs fois,
il est de bon ton d'écrire un fichier .h, qui suffit normalement à
décrire l'interface, et l'implémentation est gardée dans du code (qui
peut être regroupé dans des bibliothèques).
C'est plus compliqué d'apprendre à se servir d'une scie sauteuse,
d'une scie scirculaire et d'un marteau piqueur que de s'en tenir
à clou/marteau/scie égoïne. Mais pour monter une cloison, on va plus
vite avec les bons outils.
Ce que ne sont ni le marteau piqueur, ni la grue. Autrement dit, les
outils complexes ne sont pas forcément des outils universels : ce sont
deux concepts assez orthogonaux, ÀMHA.
Le débat est en fait de savoir si la POO (ou C++, ou C) sont universels;
en ce qui concerne la POO, les puristes dont parlait Samuel semblent
trancher dans ce sens ; les Vrais Programmeurs du folklore sont
évidemment de l'avis opposé ; entre les deux... il y a beaucoup d'avis !
Marc Boyer écrivit :Ou pour échanger des entiers entre deux machines d'archi distinctes ?
.. et ils masquent ces concessions dans de belles classes qui masquent
les détails d'implémentation à ceux qui veulent les utiliser.
Je ne pense pas que ce soit des concessions: séparer l'interface
de l'implantation fait partie du travail en OO.
En C aussi (et désolé pour essayer de revenir au sujet du groupe) :
lorsqu'on écrit un morceau de code destiné être utilisé plusieurs fois,
il est de bon ton d'écrire un fichier .h, qui suffit normalement à
décrire l'interface, et l'implémentation est gardée dans du code (qui
peut être regroupé dans des bibliothèques).
C'est plus compliqué d'apprendre à se servir d'une scie sauteuse,
d'une scie scirculaire et d'un marteau piqueur que de s'en tenir
à clou/marteau/scie égoïne. Mais pour monter une cloison, on va plus
vite avec les bons outils.
Ce que ne sont ni le marteau piqueur, ni la grue. Autrement dit, les
outils complexes ne sont pas forcément des outils universels : ce sont
deux concepts assez orthogonaux, ÀMHA.
Le débat est en fait de savoir si la POO (ou C++, ou C) sont universels;
en ce qui concerne la POO, les puristes dont parlait Samuel semblent
trancher dans ce sens ; les Vrais Programmeurs du folklore sont
évidemment de l'avis opposé ; entre les deux... il y a beaucoup d'avis !
Mon propos, c'est que l'enjeux du code actuel, c'est le passage Ã
l'échelle, et que le C n'offre pas de support pour traiter cela
(hormis .h/.c, #define, <stdint.h>...).
La POO est le paradigme actuel pour contenir cette complexité. C'est
compliqué, mais le problème est difficile.
Mon propos, c'est que l'enjeux du code actuel, c'est le passage Ã
l'échelle, et que le C n'offre pas de support pour traiter cela
(hormis .h/.c, #define, <stdint.h>...).
La POO est le paradigme actuel pour contenir cette complexité. C'est
compliqué, mais le problème est difficile.
Mon propos, c'est que l'enjeux du code actuel, c'est le passage Ã
l'échelle, et que le C n'offre pas de support pour traiter cela
(hormis .h/.c, #define, <stdint.h>...).
La POO est le paradigme actuel pour contenir cette complexité. C'est
compliqué, mais le problème est difficile.
In article <hv5cuk$afq$,
Marc Boyer wrote:Mon propos, c'est que l'enjeux du code actuel, c'est le passage à
l'échelle, et que le C n'offre pas de support pour traiter cela
(hormis .h/.c, #define, <stdint.h>...).
La POO est le paradigme actuel pour contenir cette complexité. C'est
compliqué, mais le problème est difficile.
Mouais bof. Plus le temps passe, plus je vois le procedural comme du POO
optimise, et la POO comme du procedural avec notation syntaxique en plus.
Pour des structures de donnees complexes, tu aimerais bien des types
abstraits, et pouvoir travailler avec ceux-ci.
Idealement, c'est ton
systeme de compilation qui optimise en fonction des besoins, et en particulier
qui fait disparaitre toutes les classes trop statiques. Par exemple, c'est ce
qu'on peut faire a la main en C++ a grand coup d'inlines et de templates,
meme si c'est effroyablement complexe.
A cote de ca, quand tu te ballades dans du code objet a outrances, tu te
perds en lourdeur syntaxique: pas de procedures globales, donc tu dois
te trimballer tous les objets/contextes avec lesquels tu bosses de facon
plus ou moins explicites
et difficulte a savoir ce sur quoi tu bosses
exactement: en fonction du contexte, un nom de fonction t'envoies un peu
n'importe ou.
J'aimerais bien des outils qui me permettent simplement de passer de l'un
a l'autre, d'une part parce que l'objet, ca peut etre lourd cote performances,
mais aussi et surtout, parce que c'est l'enfer a auditer (cote securite
par exemple)...
In article <hv5cuk$afq$1@news.cict.fr>,
Marc Boyer <Marc.Boyer@cert.onera.fr.invalid> wrote:
Mon propos, c'est que l'enjeux du code actuel, c'est le passage à
l'échelle, et que le C n'offre pas de support pour traiter cela
(hormis .h/.c, #define, <stdint.h>...).
La POO est le paradigme actuel pour contenir cette complexité. C'est
compliqué, mais le problème est difficile.
Mouais bof. Plus le temps passe, plus je vois le procedural comme du POO
optimise, et la POO comme du procedural avec notation syntaxique en plus.
Pour des structures de donnees complexes, tu aimerais bien des types
abstraits, et pouvoir travailler avec ceux-ci.
Idealement, c'est ton
systeme de compilation qui optimise en fonction des besoins, et en particulier
qui fait disparaitre toutes les classes trop statiques. Par exemple, c'est ce
qu'on peut faire a la main en C++ a grand coup d'inlines et de templates,
meme si c'est effroyablement complexe.
A cote de ca, quand tu te ballades dans du code objet a outrances, tu te
perds en lourdeur syntaxique: pas de procedures globales, donc tu dois
te trimballer tous les objets/contextes avec lesquels tu bosses de facon
plus ou moins explicites
et difficulte a savoir ce sur quoi tu bosses
exactement: en fonction du contexte, un nom de fonction t'envoies un peu
n'importe ou.
J'aimerais bien des outils qui me permettent simplement de passer de l'un
a l'autre, d'une part parce que l'objet, ca peut etre lourd cote performances,
mais aussi et surtout, parce que c'est l'enfer a auditer (cote securite
par exemple)...
In article <hv5cuk$afq$,
Marc Boyer wrote:Mon propos, c'est que l'enjeux du code actuel, c'est le passage à
l'échelle, et que le C n'offre pas de support pour traiter cela
(hormis .h/.c, #define, <stdint.h>...).
La POO est le paradigme actuel pour contenir cette complexité. C'est
compliqué, mais le problème est difficile.
Mouais bof. Plus le temps passe, plus je vois le procedural comme du POO
optimise, et la POO comme du procedural avec notation syntaxique en plus.
Pour des structures de donnees complexes, tu aimerais bien des types
abstraits, et pouvoir travailler avec ceux-ci.
Idealement, c'est ton
systeme de compilation qui optimise en fonction des besoins, et en particulier
qui fait disparaitre toutes les classes trop statiques. Par exemple, c'est ce
qu'on peut faire a la main en C++ a grand coup d'inlines et de templates,
meme si c'est effroyablement complexe.
A cote de ca, quand tu te ballades dans du code objet a outrances, tu te
perds en lourdeur syntaxique: pas de procedures globales, donc tu dois
te trimballer tous les objets/contextes avec lesquels tu bosses de facon
plus ou moins explicites
et difficulte a savoir ce sur quoi tu bosses
exactement: en fonction du contexte, un nom de fonction t'envoies un peu
n'importe ou.
J'aimerais bien des outils qui me permettent simplement de passer de l'un
a l'autre, d'une part parce que l'objet, ca peut etre lourd cote performances,
mais aussi et surtout, parce que c'est l'enfer a auditer (cote securite
par exemple)...
Je me dis que si je suis comptable, ça serait logique de rester dans
un domaine voisin (je crois qu'un langage comme Windev permet des
manipulations avec les bases de données, tout comme Php...).
Je me dis que si je suis comptable, ça serait logique de rester dans
un domaine voisin (je crois qu'un langage comme Windev permet des
manipulations avec les bases de données, tout comme Php...).
Je me dis que si je suis comptable, ça serait logique de rester dans
un domaine voisin (je crois qu'un langage comme Windev permet des
manipulations avec les bases de données, tout comme Php...).