Pour réduire la complexité cyclomatique d'un programme, il y a en effet le polymorphisme, et la programmation par contrat (disons qu'elle force le programmeur a coder proprement et pas mettre des ifs partout).
Attention, il y a une différence entre "qui marche" et "qui est conforme aux standards" hein ^^
C'est conforme au standard, vu que c'est CPP qui passe avant sur le code ^^

Proud to be CAKE©®™
GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.
Je vois pas le rapport. Le préprocesseur fait partie du standard hein. C'est pas parce que GCC a choisi de faire un binaire distinct qu'il ne fait pas partie de la compilation.
si tu prefere c'est valide, c'est tout.. D'ailleurs _si j'ai bonne mémoire_, l'IOCCC n'accepte que du code qui est valide et qui ne joue pas avec dse spécificitée de compilo (bug ou non)

Proud to be CAKE©®™
GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.
La phase de préprocessing n'est pas la phase 7.
Certes, mais ça n'a aucun rapport avec ce qui est écrit ^^
Il n'est pas écrit que ces mots sont réservés *en phase 7*. Il est écrit qu'ils sont réservés *parce que* la phase 7 en fait un usage spécifique.
Je trouve pourtant la formulation claire :
=> Ces mots sont réservés.
=> La spécification précise ensuite à quel usage (pour utilisation en tant que mots clé).
L'information principale c'est que ces mots sont réservés. La réservation est indépendante de la phase, elle est définie dans le paragraphe précédent, comme des identifiants qui "shall not be used otherwise".
C'est celle du C++, la dernière version draft parce que la version définitive c'est toujours très chiant de mettre la main dessus. Et oui, un nombre est un identifiant. Il me semble qu'ils définissent plus tard comme un genre spécial d'identifiant. Je remets le nez sur le document lundi ^^
Zeph Le 28/12/2012 à 14:42 J'ai raté ce topic à l'époque ; oui les conditions et les boucles c'est pas du "joli OO". Comme beaucoup d'autres choses, on les utilise encore parce que même si c'est pas aussi strict que de faire du polymorphisme et des fonctions récursives partout, c'est à la fois plus concis à écrire et plus facile à optimiser pour un compilateur. Il y a pas mal de langages qui essaient d'imposer un modèle orienté objet aussi pur que possible, quitte à supprimer des choses simples pour les remplacer par des constructions horriblement compliquées et pas plus efficaces (souvent le contraire d'ailleurs). En poussant à l'extrême, on peut arriver à exprimer un langage avec un nombre ridiculement faible de primitives (dont les conditions et les boucles ne feraient bien sûr pas partie) et dans lequel tout peut se recréer en les combinant les une aux autres. Mais dans quel but, uniquement artistique ? J'ai beau être assez sensible à cet objectif en général, il faut quand même se rendre compte du moment où ça devient absurde et contre-productif. À mon sens c'est le cas ici.

All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez
par ici :)
onur Le 28/12/2012 à 18:42 Ouais c'est pas que artistique je pense y a un réel interet. Les gens citent erlang par exemple, qui a une sorte de if qui n'en est pas vraiment un. Ca conduit à d'autres pratiques de programmation comme l'actor-model. Je suis encore assez loin de ce monde et assez intrigué à vrai dire.
Tout ce qui passe pas par le port 80, c'est de la triche.
C'est comme dans tout : il y a ceux qui font de la théorie, et ceux qui font de la pratique. La théorie est utile, mais en attendant, c'est bien ceux qui font de la pratique qui écrivent les softs qui sortent ^^

—
Zeroblog —
« Tout homme porte sur l'épaule gauche un singe et, sur l'épaule droite, un perroquet. » —
Jean Cocteau
« Moi je cherche plus de logique non plus. C'est surement pour cela que j'apprécie les Ataris, ils sont aussi logiques que moi ! » —
GT TurboOk. Oui pareil, la concision est un grand objectif, qu'un code éclaté sur 50 classes, même petites, est déjà assez mal parti pour remplir ^^