Les avantages de coder from scratch en 2013

La tendance depuis quelques années en développement web est d’utiliser tout un tas d’outils afin de coder le moins possible et d’arriver le plus rapidement au résultat attendu.

Coder from scratch (entendre par là : coder de A à Z sans aide complémentaire) n’est pas pour autant une (bonne ou) mauvaise idée et cela n’est pas devenu obsolète. C’est juste une technique comme une autre.

Entre les préprocesseurs CSS, boilerplate HTML5 et autres frameworks CSS / PHP… Nous sommes bien servi.

Je ne vais pas dans ce billet démonter ce genre d’outils car ils sont géniaux, permettent de gagner un temps fou et de diviser le temps de développement.

Il ne faut pas oublier que coder se fait « from scratch » à la base.

Pour apprendre le développement ou quand nous sommes débutant il vos mieux apprendre à coder petit à petit et ce, from scratch, qu’apprendre un framework directement.
Je sais d’avance que certains ne seront pas d’accord avec cette affirmation mais c’est pourtant mon point de vue.

Je fais parti, malheureusement, des gens qui ont appris les langages en même temps que ces outils et je suis vite parvenu à un stade ou je n’arrivais pas à utiliser tel ou tel outil juste car je ne comprenais pas comment ils avaient été développé.

Souvent, on peut utiliser quelque chose sans savoir comment il a été conçu.
Prenons l’exemple d’une voiture. De nombreuses personnes l’utilisent tous les jours sans pour autant savoir comment cela fonctionne (sous le capot).

Pour les outils du web c’est rarement possible. Utiliser un outil sans savoir comment ce dernier fonctionne c’est rarement facile.

Souvent, lorsque j’étais en stage et que je n’arrivais pas à faire quelque chose sur le CMS utilisé par la boite, mon tuteur me disais : « Trace le code » (sous entendu, prend le fichier index et regarde dans l’ordre qu’est ce qui se passe, quoi déclenche quoi…) Cela me dépité car pour moi c’était comme gravir un sommet en deux mot : très difficile.

Pourtant quand on bloque sur un outil, il existe 3 solutions :

  1. Tracer le code (cela amène souvent vers le point 2);
  2. Lire la documentation / Googler ;
  3. Demander à un super héro de venir régler le problème.

Et pour tracer le code…
…mieux vaut savoir coder !

J’ai, pour la petite histoire, du revenir au source et j’ai codé (en fait c’est pas fini) un projet quasiment entièrement from scratch pour bien comprendre certaines choses.

Parce que c’est en codant que l’on devient développeur !

Donc coder from scratch en 2013 n’est pas interdit bien au contraire.
Après, il y a une famille de développeurs qui préfère tout faire maison mais ça c’est une autre histoire.

Je pense qu’il est nécessaire de se poser certaines questions avant d’utiliser un outil sur un projet comme :

  • Va t’il me faire gagner du temps ?
  • Est ce que je sais suffisamment l’utiliser ?
  • Est ce que ça vaut le coup que je l’utilise ?
  • (dans le cas ou je maitrise pas encore l’outil) Est ce que ça vaut le coup que je l’utilise sachant que ça va me prendre du temps pour le comprendre ?
  • Est ce que cet outil ne va pas me compliquer la tache par la suite ? (Mise à jour, incompatibilité, obsolescence…)

Personnellement, en ce moment je travaille sur un projet et je vais utiliser Bootstrap de Twitter et Sass parce qu’il faut que j’apprenne à les utiliser. Le projet risque de me prendre légèrement plus de temps car en même temps que j’avance, j’apprend les outils mais cela me fera gagner un temps fou sur les projets futurs (un mal pour un bien).

Bien entendu le temps perdu à apprendre les outils ne sera pas facturé au client.

N’hésitez pas à me dire si vous préférez coder from scratch ou pas dans les commentaires.