Portrait of a N00b

Steve Yegge, un blogger influent qui travaille chez Google, a posté un article intitulé « Portrait of a N00b ». Comme à son habitude, c’est un très long post où il explique les différences dans la manière de coder (et commenter son code) entre un développeur peu expérimenté et un développeur avec 20 ans d’expérience.

S’en suit une digression très intéressante entre langages à typage statique (Ocaml, Haskell), langages à typage dynamique (Perl, Python, Ruby), et les langages classiques (C++, Java) à typage statique mais qui vous laisse tricher avec les types. On y trouve quelques perles :

If static types are comments, then I think we can conclude that people who rely too much on static types, people who really love the static modeling process, are n00bs.

You can write C++ like straight C code if you like, using buffers and pointers and nary a user-defined type to be found. Or you can spend weeks agonizing over template metaprogramming with your peers, trying to force the type system to do something it’s just not powerful enough to express.

Perl, Python and Ruby fail to attract many Java and C++ programmers because, well, they force you to get stuff done.

Mais le plus simple reste d’aller lire l’original : Portrait of a N00b. C’est long, mais ca en vaut largement la lecture. Et si vous avez encore du temps, les autres articles sont aussi des lectures recommandées.

Ai-je précisé que je me retrouve plus dans la peau du dév expérimenté que du N00b, même si c’est un prétentieux, vu que je suis encore vraiment loin d’avoir 20 ans d’expérience ?