• [^] # Re: Julia

    Posté par . En réponse au journal De l'enseignement de la programmation en classe préparatoire. Évalué à 8.

    Chez Google ils font pas grand chose du C++ ? Hm peut être, mais j'ai un doute.

    En C++, un simple "new" peut lever une exception lorsqu'il n'y à plus de mémoire. Est ce que google utilise new ? Apparemment oui. Est ce qu'il attrape l'exception std::bad_alloc ? D'après le guide de google, non tu doit pas le faire, mais plutôt bidouiller ton new pour qu'il lance pas d'exception. Moi j'appelle ça lutter contre le langage.

    D'un autre côté tu viens de donner un exemple légitime au dessus (code C/C++).

    Je vois pas le rapport. Si tu fait du C tu peux avoir envie d'utiliser des goto. Si tu fait du C++, tu fait du cleanup automatique (plus connu sous le nom de RAII). Si tu doit faire du C++ qui s'interface avec du code C, tu sais que si tu ne wrappe pas les ressources C dans des classes avec des destructeurs, ça sera super emmerdant dès que tu voudra les mettre dans un conteneur standard du style std::vector/list/set, parce qu'ils sont prévus pour des objets avec des destructeurs. Et si tu ne le fait pas, tu ferai mieux de faire ta fonction en C et de la mettre dans la partie écrite en C.

    En fin de compte vous êtes d'accord (et moi aussi) ; il ne s'agit pas de savoir si goto >? exception, mais de dire que les deux ont leur légitimité, et que la programmation dogmatique c'est le mal.

    Non. À Rome il faut faire comme les romains. Si ton langage gère les erreurs avec des exceptions de partout et/ou du RAII, gérer des erreurs avec goto c'est le mal.