t'as la journée? parce que la liste est longue.
Entre autres:
- un modele objet pourri (heritage multiple, virtual doit être explicite)
- une ABI affreuse
- une syntaxe context sensitive a se taper le cul par terre
- des features de partout que c'est un merdier sans nom
- des temps de compilation de malade
- des templates super funn
- des comportements indefinis en veux tu en voila pour des cas tres courants (t'appelles une fonction virtuelle dans un destructeur, indéfini, tu lances une exception dans destructeur, indéfini, et j'en rate)
- le RTTI, trop de la balle
- passage par valeur et reference, nique tout chie d'dans
- pas de properties
Ya une bonne raison pour laquelle tous les projets C++ décents ont des règles tres précises sur quelles features sont ok et ce qui est strictement interdit, tu retrouves ca dans aucun autre langage (sauf perl peut être?).
y'a certes l'air d'avoir du progrès ces dernières années, mais aucun des problèmes fondamentaux liste ci dessus n'est résolu (et ne le sera probablement jamais, vu que ca péterais tout le language).
Le C++ est pas pire que objective C.
Objective-c est infiniment plus simple a beaucoup de point de vue, et a un model objet tres clair.
On peut ergoter sur le message sending, perso je trouve ca super elegant, et tres pratique (typiquement t'écris un proxy vers d'autre objets en 2 minutes avec ca).
Les paramètres nommes sont une tuerie (l'essayer c'est l'adopter), et la gestion de la mémoire devient enfantine grace a ARC.
[^] # Re: "Create once, deploy everywhere"
Posté par groumly . En réponse au journal The Qt Company. Évalué à 3.
t'as la journée? parce que la liste est longue.
Entre autres:
- un modele objet pourri (heritage multiple, virtual doit être explicite)
- une ABI affreuse
- une syntaxe context sensitive a se taper le cul par terre
- des features de partout que c'est un merdier sans nom
- des temps de compilation de malade
- des templates super funn
- des comportements indefinis en veux tu en voila pour des cas tres courants (t'appelles une fonction virtuelle dans un destructeur, indéfini, tu lances une exception dans destructeur, indéfini, et j'en rate)
- le RTTI, trop de la balle
- passage par valeur et reference, nique tout chie d'dans
- pas de properties
Ya une bonne raison pour laquelle tous les projets C++ décents ont des règles tres précises sur quelles features sont ok et ce qui est strictement interdit, tu retrouves ca dans aucun autre langage (sauf perl peut être?).
y'a certes l'air d'avoir du progrès ces dernières années, mais aucun des problèmes fondamentaux liste ci dessus n'est résolu (et ne le sera probablement jamais, vu que ca péterais tout le language).
Objective-c est infiniment plus simple a beaucoup de point de vue, et a un model objet tres clair.
On peut ergoter sur le message sending, perso je trouve ca super elegant, et tres pratique (typiquement t'écris un proxy vers d'autre objets en 2 minutes avec ca).
Les paramètres nommes sont une tuerie (l'essayer c'est l'adopter), et la gestion de la mémoire devient enfantine grace a ARC.