Petites dérives autour du 4eme défi
Citation:
Envoyé par ram-0000
Désolé Mac LAK d'éditer ton message.
Je viens de séparer la conversation faite dans le thread du 4eme défi pour mettre dans cette discussion tout ce qui ne concerne pas le défi.
Citation:
Envoyé par
Nogane
Hihi^^
Bon je suis pas là pour faire l'apologie de la STL à quelqu'un qui sait certainement trés bien s'en passer. Sache seulement que j'ai commencé le C a 14 ans, et le C++ a 20, et que je suis pas du genre a codé qu'une fois de temps en temps.
Je suis d'accord qu'il FAUT savoir faire autrement et que la STL a ses limites. D'ailleur je serais tout a fait capable de (re)faire sans. Mais dans mon cas personel la STL/boost répondent a 99.9% a mais problème de structure de données, donc j'en use et j'en abuse avec joie. Et c'est surement de m'être galeré aussi longtemps en C qui me fait apprécier autant la STL. (Je précise que j'ai rien contre le C)
Sûr que pour des "petites" structures, sans contraintes particulières de performances lourdes, ou de consommation mémoire, la STL ou Boost répondent aux besoins. C'est souvent le cas dans pas mal de projets graphiques par exemple, où l'affichage est le plus gros consommateur de temps CPU, ou des programmes de communication pour lesquels le temps de propagation des trames est souvent bien supérieur au temps de traitement.
Mais là où je suis plus gêné, justement, c'est de "faire apprendre" à des débutants exclusivement via la STL / Boost sans leur en montrer les limites... Là, je parle par expérience, j'ai vu trop de débutants utiliser des trucs dix fois trop lourds dans des parties de code critique, ou pire, ne pas savoir utiliser des éléments "basiques" comme un simple "TYPE*" en guise de tableau, ne pas savoir faire un sizeof correct, etc.
Pour moi, un exemple de "mauvaise réponse" à un problème, c'est de dire d'utiliser telle fonction de telle librairie quand, manifestement, le posteur cherchait à comprendre comment le faire... Il est humain, et ira sûrement vers la facilité d'utiliser un truc tout prêt, mais du coup aura perdu le fait d'apprendre à le faire par lui-même.
Faut pas réinventer la roue à chaque programme, bien sûr, mais il faut savoir le faire au besoin.