Ca, ça demande un peu de développement. Parce que tu fais abondamment
référence à l'ISO qui comme son nom l'indique, s'occupe de
standardiser.
Ok, l'API Windows n'est pas un standard puisque c'est du privé. Donc,
quand on programme une appli destinée exclusivement à tourner sous
Windows, on n'a pas à en tenir compte. C'est un point de vue.
A mon avis, peu importe qu'un standard - ou une norme, je sais plus -
soit édictée par l'ISO, l'IEEE ou par une vilaine boîte privée qui
veut gagner des sous avec (qui a commis le format GIF, au fait ?), du
moment que tout le monde s'en sert.
Plus sérieusement, les décideurs qui se contentent de suivre
frileusement sont nombreux, mais c'est pas leurs produits qui font
boum sur le marché. Plutôt ceux des voisins qui, eux, ont décidé de
prendre quelques risques et casser les académismes.
Press F1. En haut à gauche sur le clavier normalisé.
Question bête : combien d'entre eux ont déjà mis le nez hors de leur
labo universitaire pour créer un truc qui, tout simplement, se vendait
?
A quelle norme ISO fais-tu references ?
Que je sache, les fonctions specifiques au systeme Windows sont tout
sauf normalisees.
Là, ça devient surréaliste.
Tu te rends compte de ce que tu écris ?
Les octets ont été définis par une société privée. L'ASCII a longtemps
été concurrent d'EBCDIC. Le VGA était une idée IBM, etc.
Finalement, la norme, c'est ce qui marche. Peu importe qui la crée.
Ca permet a ton programme de supporter d'autres langues, comme
l'arabe, le russe...
Pour lesquelles il ne sera jamais compilé. Ca lui fait une belle
jambe.
Ca, ça demande un peu de développement. Parce que tu fais abondamment
référence à l'ISO qui comme son nom l'indique, s'occupe de
standardiser.
Ok, l'API Windows n'est pas un standard puisque c'est du privé. Donc,
quand on programme une appli destinée exclusivement à tourner sous
Windows, on n'a pas à en tenir compte. C'est un point de vue.
A mon avis, peu importe qu'un standard - ou une norme, je sais plus -
soit édictée par l'ISO, l'IEEE ou par une vilaine boîte privée qui
veut gagner des sous avec (qui a commis le format GIF, au fait ?), du
moment que tout le monde s'en sert.
Plus sérieusement, les décideurs qui se contentent de suivre
frileusement sont nombreux, mais c'est pas leurs produits qui font
boum sur le marché. Plutôt ceux des voisins qui, eux, ont décidé de
prendre quelques risques et casser les académismes.
Press F1. En haut à gauche sur le clavier normalisé.
Question bête : combien d'entre eux ont déjà mis le nez hors de leur
labo universitaire pour créer un truc qui, tout simplement, se vendait
?
A quelle norme ISO fais-tu references ?
Que je sache, les fonctions specifiques au systeme Windows sont tout
sauf normalisees.
Là, ça devient surréaliste.
Tu te rends compte de ce que tu écris ?
Les octets ont été définis par une société privée. L'ASCII a longtemps
été concurrent d'EBCDIC. Le VGA était une idée IBM, etc.
Finalement, la norme, c'est ce qui marche. Peu importe qui la crée.
Ca permet a ton programme de supporter d'autres langues, comme
l'arabe, le russe...
Pour lesquelles il ne sera jamais compilé. Ca lui fait une belle
jambe.
Ca, ça demande un peu de développement. Parce que tu fais abondamment
référence à l'ISO qui comme son nom l'indique, s'occupe de
standardiser.
Ok, l'API Windows n'est pas un standard puisque c'est du privé. Donc,
quand on programme une appli destinée exclusivement à tourner sous
Windows, on n'a pas à en tenir compte. C'est un point de vue.
A mon avis, peu importe qu'un standard - ou une norme, je sais plus -
soit édictée par l'ISO, l'IEEE ou par une vilaine boîte privée qui
veut gagner des sous avec (qui a commis le format GIF, au fait ?), du
moment que tout le monde s'en sert.
Plus sérieusement, les décideurs qui se contentent de suivre
frileusement sont nombreux, mais c'est pas leurs produits qui font
boum sur le marché. Plutôt ceux des voisins qui, eux, ont décidé de
prendre quelques risques et casser les académismes.
Press F1. En haut à gauche sur le clavier normalisé.
Question bête : combien d'entre eux ont déjà mis le nez hors de leur
labo universitaire pour créer un truc qui, tout simplement, se vendait
?
A quelle norme ISO fais-tu references ?
Que je sache, les fonctions specifiques au systeme Windows sont tout
sauf normalisees.
Là, ça devient surréaliste.
Tu te rends compte de ce que tu écris ?
Les octets ont été définis par une société privée. L'ASCII a longtemps
été concurrent d'EBCDIC. Le VGA était une idée IBM, etc.
Finalement, la norme, c'est ce qui marche. Peu importe qui la crée.
Ca permet a ton programme de supporter d'autres langues, comme
l'arabe, le russe...
Pour lesquelles il ne sera jamais compilé. Ca lui fait une belle
jambe.
Arnold McDonald (AMcD) :
Un exemple trivial, en c++, tu peux desallouer un pointeur NULL en
ecrivant delete(mon_pointeur). Ca, c'est la norme qui l'a decide, et tous
les compilo doivent adopter ce comportement.
Si la norme n'existait pas, comment tu programmerais en sachant qu'un
compilo peut accepter le delete(mon_pointeur) avec un pointeur NULL et que
sur un autre ca causera une operation illegale ? Ca devient ingerable.
Arnold McDonald (AMcD) :
Un exemple trivial, en c++, tu peux desallouer un pointeur NULL en
ecrivant delete(mon_pointeur). Ca, c'est la norme qui l'a decide, et tous
les compilo doivent adopter ce comportement.
Si la norme n'existait pas, comment tu programmerais en sachant qu'un
compilo peut accepter le delete(mon_pointeur) avec un pointeur NULL et que
sur un autre ca causera une operation illegale ? Ca devient ingerable.
Arnold McDonald (AMcD) :
Un exemple trivial, en c++, tu peux desallouer un pointeur NULL en
ecrivant delete(mon_pointeur). Ca, c'est la norme qui l'a decide, et tous
les compilo doivent adopter ce comportement.
Si la norme n'existait pas, comment tu programmerais en sachant qu'un
compilo peut accepter le delete(mon_pointeur) avec un pointeur NULL et que
sur un autre ca causera une operation illegale ? Ca devient ingerable.
Laisse tomber. Je me demande s'il sait seulement programmer.
Laisse tomber. Je me demande s'il sait seulement programmer.
Laisse tomber. Je me demande s'il sait seulement programmer.
le programmeur expérimenté écrira plutot :
if (mon_pointeur != NULL) delete(mon_pointeur);
mon_pointeur=NULL;
le programmeur expérimenté écrira plutot :
if (mon_pointeur != NULL) delete(mon_pointeur);
mon_pointeur=NULL;
le programmeur expérimenté écrira plutot :
if (mon_pointeur != NULL) delete(mon_pointeur);
mon_pointeur=NULL;
Vincent Burel :
> le programmeur expérimenté écrira plutot :
>
> if (mon_pointeur != NULL) delete(mon_pointeur);
> mon_pointeur=NULL;
Non.
Vincent Burel :
> le programmeur expérimenté écrira plutot :
>
> if (mon_pointeur != NULL) delete(mon_pointeur);
> mon_pointeur=NULL;
Non.
Vincent Burel :
> le programmeur expérimenté écrira plutot :
>
> if (mon_pointeur != NULL) delete(mon_pointeur);
> mon_pointeur=NULL;
Non.
Je pense qu'on est plus ou moins d'accord. Simplement, je pose en
préalable au respect des normes que c'est pas le problème numero 1
dans un projet.
Admettons, mais à force d'admettre, on arrive à spéculer les mouches
sur des cas de plus en plus restreints.
J'ajoute que rien ne m'empêche
de fournir un compilo disparu à un sous-traitant hors licence.
L'éditeur qui a officiellement décidé d'abandonner son compilo sans
assurer sa maintenance et qui me poursuit devant une cour de justice
parce que j'ai été obligé de le prêter à un sous-traitant, il aura
besoin d'un très très bon avocat pour me causer du souci.
Bon, j'ai acheté le Borland C++ 5.02 OWL en 1997. Borland l'a
abandonné, mais mon projet continue (un peu plus de 323 000 lignes de
code, hein, c'est pas un projet minuscule). J'ai sciemment décidé
d'utiliser OWL pour ne pas avoir à me fader l'encapsulage de l'API et
réinventer la roue. Evidemment, c'est hors normes, et en plus
abandonné par Borland. Tu remarques d'ailleurs que l'API elle-même
contient un certain nombre de trucs "NT only", "XP only", etc. On fait
donc de la norme sur une base système mouvante. Au risque de se tordre
la cheville.
Alors tu fais quoi ? Tu rejettes tout ce qui n'est pas commun à tous
les compilos du marché ? C'est un point de vue certes prudent, mais tu
vas avoir du mal à créer - rapidement - un projet qui marche et se
vend.
Non. En tant que programmeur professionnel, je dois avant tout
produire du code qui marche et qui comporte les fonctionnalités fixées
dans le cahier des charges (plus celles que les petits génies qui
"décident" auront oublié, et c'est aussi mon métier que de le prévoir
à leur place). La maintenance et la réutilisation sont importantes,
mais ça passe après. En tout cas pour ce qui me concerne.
J'ai déjà vu du code qui passait et que le client nous renvoyait à la
figure avec des insultes parce que ça marchait pas génial. Que ça soit
programmé selon les normes ou pas, lui, il s'en fout un peu.
Certes. Mais soit il est psychorigide, soit il peut se bouger le cul
pour les apprendre. Quand on m'a bombardé dans des équipes qui
bossaient selon la méthode Truc et le compilo Machin, même si je
connaissais pas, j'ai pas commencé par pousser des cris d'orfraie. Un
programmeur qui ne veut pas toucher un code qui ne cadre pas au
point-virgule près avec ses dogmes et idéaux cosmiques, il reste pas
trois jours dans mon équipe. Je suis pas assez couillon pour m'asseoir
sur les normes, hein, parce qu'en général c'est plutôt du bon sens,
mais faut quand même pas en devenir fondamentaliste. Y'a le bon sens
aussi qui compte.
De toute façon, pour créer une appli C++ sous Windows, j'ai du mal à
imaginer qu'il y ait une Vérité Unique, ne serait-ce que parce que
l'OS lui-même a évolué et qu'on peut de moins en moins imposer la
version d'OS au client. Mon code tourne toujours de Win95 à XP, NT-4
compris. Je me sers pas des truc spécifiques NT ou XP - et je le
regrette parfois - mais ça devrait t'indiquer que je crache pas sur le
standard pour me jeter sur la première API spécifique venue.
... et ne marche pas, donc ne se vend pas, donc te laisse sur le
carreau avec ta norme. Va dire au client qui hurle que ton code est
strictement conforme à la norme ISO, juste pour voir sa réaction.
Je pense qu'on est plus ou moins d'accord. Simplement, je pose en
préalable au respect des normes que c'est pas le problème numero 1
dans un projet.
Admettons, mais à force d'admettre, on arrive à spéculer les mouches
sur des cas de plus en plus restreints.
J'ajoute que rien ne m'empêche
de fournir un compilo disparu à un sous-traitant hors licence.
L'éditeur qui a officiellement décidé d'abandonner son compilo sans
assurer sa maintenance et qui me poursuit devant une cour de justice
parce que j'ai été obligé de le prêter à un sous-traitant, il aura
besoin d'un très très bon avocat pour me causer du souci.
Bon, j'ai acheté le Borland C++ 5.02 OWL en 1997. Borland l'a
abandonné, mais mon projet continue (un peu plus de 323 000 lignes de
code, hein, c'est pas un projet minuscule). J'ai sciemment décidé
d'utiliser OWL pour ne pas avoir à me fader l'encapsulage de l'API et
réinventer la roue. Evidemment, c'est hors normes, et en plus
abandonné par Borland. Tu remarques d'ailleurs que l'API elle-même
contient un certain nombre de trucs "NT only", "XP only", etc. On fait
donc de la norme sur une base système mouvante. Au risque de se tordre
la cheville.
Alors tu fais quoi ? Tu rejettes tout ce qui n'est pas commun à tous
les compilos du marché ? C'est un point de vue certes prudent, mais tu
vas avoir du mal à créer - rapidement - un projet qui marche et se
vend.
Non. En tant que programmeur professionnel, je dois avant tout
produire du code qui marche et qui comporte les fonctionnalités fixées
dans le cahier des charges (plus celles que les petits génies qui
"décident" auront oublié, et c'est aussi mon métier que de le prévoir
à leur place). La maintenance et la réutilisation sont importantes,
mais ça passe après. En tout cas pour ce qui me concerne.
J'ai déjà vu du code qui passait et que le client nous renvoyait à la
figure avec des insultes parce que ça marchait pas génial. Que ça soit
programmé selon les normes ou pas, lui, il s'en fout un peu.
Certes. Mais soit il est psychorigide, soit il peut se bouger le cul
pour les apprendre. Quand on m'a bombardé dans des équipes qui
bossaient selon la méthode Truc et le compilo Machin, même si je
connaissais pas, j'ai pas commencé par pousser des cris d'orfraie. Un
programmeur qui ne veut pas toucher un code qui ne cadre pas au
point-virgule près avec ses dogmes et idéaux cosmiques, il reste pas
trois jours dans mon équipe. Je suis pas assez couillon pour m'asseoir
sur les normes, hein, parce qu'en général c'est plutôt du bon sens,
mais faut quand même pas en devenir fondamentaliste. Y'a le bon sens
aussi qui compte.
De toute façon, pour créer une appli C++ sous Windows, j'ai du mal à
imaginer qu'il y ait une Vérité Unique, ne serait-ce que parce que
l'OS lui-même a évolué et qu'on peut de moins en moins imposer la
version d'OS au client. Mon code tourne toujours de Win95 à XP, NT-4
compris. Je me sers pas des truc spécifiques NT ou XP - et je le
regrette parfois - mais ça devrait t'indiquer que je crache pas sur le
standard pour me jeter sur la première API spécifique venue.
... et ne marche pas, donc ne se vend pas, donc te laisse sur le
carreau avec ta norme. Va dire au client qui hurle que ton code est
strictement conforme à la norme ISO, juste pour voir sa réaction.
Je pense qu'on est plus ou moins d'accord. Simplement, je pose en
préalable au respect des normes que c'est pas le problème numero 1
dans un projet.
Admettons, mais à force d'admettre, on arrive à spéculer les mouches
sur des cas de plus en plus restreints.
J'ajoute que rien ne m'empêche
de fournir un compilo disparu à un sous-traitant hors licence.
L'éditeur qui a officiellement décidé d'abandonner son compilo sans
assurer sa maintenance et qui me poursuit devant une cour de justice
parce que j'ai été obligé de le prêter à un sous-traitant, il aura
besoin d'un très très bon avocat pour me causer du souci.
Bon, j'ai acheté le Borland C++ 5.02 OWL en 1997. Borland l'a
abandonné, mais mon projet continue (un peu plus de 323 000 lignes de
code, hein, c'est pas un projet minuscule). J'ai sciemment décidé
d'utiliser OWL pour ne pas avoir à me fader l'encapsulage de l'API et
réinventer la roue. Evidemment, c'est hors normes, et en plus
abandonné par Borland. Tu remarques d'ailleurs que l'API elle-même
contient un certain nombre de trucs "NT only", "XP only", etc. On fait
donc de la norme sur une base système mouvante. Au risque de se tordre
la cheville.
Alors tu fais quoi ? Tu rejettes tout ce qui n'est pas commun à tous
les compilos du marché ? C'est un point de vue certes prudent, mais tu
vas avoir du mal à créer - rapidement - un projet qui marche et se
vend.
Non. En tant que programmeur professionnel, je dois avant tout
produire du code qui marche et qui comporte les fonctionnalités fixées
dans le cahier des charges (plus celles que les petits génies qui
"décident" auront oublié, et c'est aussi mon métier que de le prévoir
à leur place). La maintenance et la réutilisation sont importantes,
mais ça passe après. En tout cas pour ce qui me concerne.
J'ai déjà vu du code qui passait et que le client nous renvoyait à la
figure avec des insultes parce que ça marchait pas génial. Que ça soit
programmé selon les normes ou pas, lui, il s'en fout un peu.
Certes. Mais soit il est psychorigide, soit il peut se bouger le cul
pour les apprendre. Quand on m'a bombardé dans des équipes qui
bossaient selon la méthode Truc et le compilo Machin, même si je
connaissais pas, j'ai pas commencé par pousser des cris d'orfraie. Un
programmeur qui ne veut pas toucher un code qui ne cadre pas au
point-virgule près avec ses dogmes et idéaux cosmiques, il reste pas
trois jours dans mon équipe. Je suis pas assez couillon pour m'asseoir
sur les normes, hein, parce qu'en général c'est plutôt du bon sens,
mais faut quand même pas en devenir fondamentaliste. Y'a le bon sens
aussi qui compte.
De toute façon, pour créer une appli C++ sous Windows, j'ai du mal à
imaginer qu'il y ait une Vérité Unique, ne serait-ce que parce que
l'OS lui-même a évolué et qu'on peut de moins en moins imposer la
version d'OS au client. Mon code tourne toujours de Win95 à XP, NT-4
compris. Je me sers pas des truc spécifiques NT ou XP - et je le
regrette parfois - mais ça devrait t'indiquer que je crache pas sur le
standard pour me jeter sur la première API spécifique venue.
... et ne marche pas, donc ne se vend pas, donc te laisse sur le
carreau avec ta norme. Va dire au client qui hurle que ton code est
strictement conforme à la norme ISO, juste pour voir sa réaction.
> le programmeur expérimenté écrira plutot :
>
> if (mon_pointeur != NULL) delete(mon_pointeur);
> mon_pointeur=NULL;
Non.
si
> le programmeur expérimenté écrira plutot :
>
> if (mon_pointeur != NULL) delete(mon_pointeur);
> mon_pointeur=NULL;
Non.
si
> le programmeur expérimenté écrira plutot :
>
> if (mon_pointeur != NULL) delete(mon_pointeur);
> mon_pointeur=NULL;
Non.
si
Quand on a plus d'argument sur le fond, on s'attaque a la personne.
<plonk>
Quand on a plus d'argument sur le fond, on s'attaque a la personne.
<plonk>
Quand on a plus d'argument sur le fond, on s'attaque a la personne.
<plonk>
Vincent Burel :
>> > le programmeur expérimenté écrira plutot :
>> >
>> > if (mon_pointeur != NULL) delete(mon_pointeur);
>> > mon_pointeur=NULL;
>>
>> Non.
>
> si
Non, c'est du code qu'on ecrit seulement pour les vieux compilo. Pourquoi
mettre un if alors que sans if c'est du code c++ correct.
Vincent Burel :
>> > le programmeur expérimenté écrira plutot :
>> >
>> > if (mon_pointeur != NULL) delete(mon_pointeur);
>> > mon_pointeur=NULL;
>>
>> Non.
>
> si
Non, c'est du code qu'on ecrit seulement pour les vieux compilo. Pourquoi
mettre un if alors que sans if c'est du code c++ correct.
Vincent Burel :
>> > le programmeur expérimenté écrira plutot :
>> >
>> > if (mon_pointeur != NULL) delete(mon_pointeur);
>> > mon_pointeur=NULL;
>>
>> Non.
>
> si
Non, c'est du code qu'on ecrit seulement pour les vieux compilo. Pourquoi
mettre un if alors que sans if c'est du code c++ correct.
Tu as une facon bizarre de concevoir la norme. La norme ne doit pas etre
une contrainte incommensurable, la norme c'est juste la definition du
langage.
C'est comme les regles d'orthographes pour le francais. Bien sur, tu
peux ecrire dans un francais qui ne respecte pas l'orthographe, mais tu
n'est pas sur d'etre compris par tout le monde.
Ecrire en bon francais n'est pas une contrainte si c'est fait
directement.
Quand on te demande de programmer en C++, ca sous entend C++ iso.
Pas du tout. Comment peux-tu etre parfaitement sur que tu n'auras JAMAIS
besoin de sous-traiter ?
En travaillant dans une entreprise, c'est suicidaire.
Quand ton patron voudra faire sous-traiter une partie de ton projet, tu
vas lui dire que tu dois planifier 1000 heures de boulot pour adaper le
code source ? C'est completement irrealiste.
Meme si tu es sur que ca n'arrivera jamais, il faut toujours
l'envisager.
L'éditeur qui a officiellement décidé d'abandonner son compilo sans
assurer sa maintenance et qui me poursuit devant une cour de justice
parce que j'ai été obligé de le prêter à un sous-traitant, il aura
besoin d'un très très bon avocat pour me causer du souci.
Tu expliqueras ca au service juridique de ta boite quand tu auras ete
licensie pour faute grave.
Ton exemples sur les OWL montre bien qu'on ne parle pas de la meme
chose.
Je parle de la programmation profesionnelle dans le milieu industriel.
QUEL logiciel professionnel utilise les OWL ou les MFC ? Photoshop ?
Office ? Catia v5 ?
Tous les projets professionnels Windows, quand ils font appel a
l'interface utilisateur, developpent leur propre bibliotheque C++ qui
fait couche avec les API win32 (qui elles, sont la encore au moins pour
10 ans). Et si on developpe pour plusieurs OS, alors on ecrit un
bibliotheque et on se contente de reecrire les fonctions bas niveau
specifiques de chaque systeme.
Certaines bibliotheque de ce type sont utilisees et maintenues depuis 10
ans.
Le client, peut-etre. Mais pas ton patron.
Parce que ce coute le plus cher pour une entreprise c'est la main
d'oeuvre, et si tu produis un programme qui n'est pas conforme, ca nuit
a sa reutilisabilite, donc ca coute cher.
Tu es a cote du probleme.
Ce qui est de la norme et ce qui ne l'est pas n'est pas evident.
Il faut dissocier le langage lui-meme et l'utilisation des bibliotheque.
Comme j'ai dis plus haut, le client il s'en fout, mais pas ton patron.
Admettons que pour un projet Windows, tu dois passer 500 heures a coder
une classe de cryptage RSA. Puis 2 ans plus tard, ta boite remporte le
marche pour un autre logiciel qui necessite des fonctions de cryptage
RSA, mais son MacOS. Tu vas dire a ton patron, "on doit repasser 500
heures a reprogrammer la classe qu'on a deja programme il y a 1 an parce
que le code est specifique a vc++" ?
Tu as une facon bizarre de concevoir la norme. La norme ne doit pas etre
une contrainte incommensurable, la norme c'est juste la definition du
langage.
C'est comme les regles d'orthographes pour le francais. Bien sur, tu
peux ecrire dans un francais qui ne respecte pas l'orthographe, mais tu
n'est pas sur d'etre compris par tout le monde.
Ecrire en bon francais n'est pas une contrainte si c'est fait
directement.
Quand on te demande de programmer en C++, ca sous entend C++ iso.
Pas du tout. Comment peux-tu etre parfaitement sur que tu n'auras JAMAIS
besoin de sous-traiter ?
En travaillant dans une entreprise, c'est suicidaire.
Quand ton patron voudra faire sous-traiter une partie de ton projet, tu
vas lui dire que tu dois planifier 1000 heures de boulot pour adaper le
code source ? C'est completement irrealiste.
Meme si tu es sur que ca n'arrivera jamais, il faut toujours
l'envisager.
L'éditeur qui a officiellement décidé d'abandonner son compilo sans
assurer sa maintenance et qui me poursuit devant une cour de justice
parce que j'ai été obligé de le prêter à un sous-traitant, il aura
besoin d'un très très bon avocat pour me causer du souci.
Tu expliqueras ca au service juridique de ta boite quand tu auras ete
licensie pour faute grave.
Ton exemples sur les OWL montre bien qu'on ne parle pas de la meme
chose.
Je parle de la programmation profesionnelle dans le milieu industriel.
QUEL logiciel professionnel utilise les OWL ou les MFC ? Photoshop ?
Office ? Catia v5 ?
Tous les projets professionnels Windows, quand ils font appel a
l'interface utilisateur, developpent leur propre bibliotheque C++ qui
fait couche avec les API win32 (qui elles, sont la encore au moins pour
10 ans). Et si on developpe pour plusieurs OS, alors on ecrit un
bibliotheque et on se contente de reecrire les fonctions bas niveau
specifiques de chaque systeme.
Certaines bibliotheque de ce type sont utilisees et maintenues depuis 10
ans.
Le client, peut-etre. Mais pas ton patron.
Parce que ce coute le plus cher pour une entreprise c'est la main
d'oeuvre, et si tu produis un programme qui n'est pas conforme, ca nuit
a sa reutilisabilite, donc ca coute cher.
Tu es a cote du probleme.
Ce qui est de la norme et ce qui ne l'est pas n'est pas evident.
Il faut dissocier le langage lui-meme et l'utilisation des bibliotheque.
Comme j'ai dis plus haut, le client il s'en fout, mais pas ton patron.
Admettons que pour un projet Windows, tu dois passer 500 heures a coder
une classe de cryptage RSA. Puis 2 ans plus tard, ta boite remporte le
marche pour un autre logiciel qui necessite des fonctions de cryptage
RSA, mais son MacOS. Tu vas dire a ton patron, "on doit repasser 500
heures a reprogrammer la classe qu'on a deja programme il y a 1 an parce
que le code est specifique a vc++" ?
Tu as une facon bizarre de concevoir la norme. La norme ne doit pas etre
une contrainte incommensurable, la norme c'est juste la definition du
langage.
C'est comme les regles d'orthographes pour le francais. Bien sur, tu
peux ecrire dans un francais qui ne respecte pas l'orthographe, mais tu
n'est pas sur d'etre compris par tout le monde.
Ecrire en bon francais n'est pas une contrainte si c'est fait
directement.
Quand on te demande de programmer en C++, ca sous entend C++ iso.
Pas du tout. Comment peux-tu etre parfaitement sur que tu n'auras JAMAIS
besoin de sous-traiter ?
En travaillant dans une entreprise, c'est suicidaire.
Quand ton patron voudra faire sous-traiter une partie de ton projet, tu
vas lui dire que tu dois planifier 1000 heures de boulot pour adaper le
code source ? C'est completement irrealiste.
Meme si tu es sur que ca n'arrivera jamais, il faut toujours
l'envisager.
L'éditeur qui a officiellement décidé d'abandonner son compilo sans
assurer sa maintenance et qui me poursuit devant une cour de justice
parce que j'ai été obligé de le prêter à un sous-traitant, il aura
besoin d'un très très bon avocat pour me causer du souci.
Tu expliqueras ca au service juridique de ta boite quand tu auras ete
licensie pour faute grave.
Ton exemples sur les OWL montre bien qu'on ne parle pas de la meme
chose.
Je parle de la programmation profesionnelle dans le milieu industriel.
QUEL logiciel professionnel utilise les OWL ou les MFC ? Photoshop ?
Office ? Catia v5 ?
Tous les projets professionnels Windows, quand ils font appel a
l'interface utilisateur, developpent leur propre bibliotheque C++ qui
fait couche avec les API win32 (qui elles, sont la encore au moins pour
10 ans). Et si on developpe pour plusieurs OS, alors on ecrit un
bibliotheque et on se contente de reecrire les fonctions bas niveau
specifiques de chaque systeme.
Certaines bibliotheque de ce type sont utilisees et maintenues depuis 10
ans.
Le client, peut-etre. Mais pas ton patron.
Parce que ce coute le plus cher pour une entreprise c'est la main
d'oeuvre, et si tu produis un programme qui n'est pas conforme, ca nuit
a sa reutilisabilite, donc ca coute cher.
Tu es a cote du probleme.
Ce qui est de la norme et ce qui ne l'est pas n'est pas evident.
Il faut dissocier le langage lui-meme et l'utilisation des bibliotheque.
Comme j'ai dis plus haut, le client il s'en fout, mais pas ton patron.
Admettons que pour un projet Windows, tu dois passer 500 heures a coder
une classe de cryptage RSA. Puis 2 ans plus tard, ta boite remporte le
marche pour un autre logiciel qui necessite des fonctions de cryptage
RSA, mais son MacOS. Tu vas dire a ton patron, "on doit repasser 500
heures a reprogrammer la classe qu'on a deja programme il y a 1 an parce
que le code est specifique a vc++" ?