Meowcate (./161) :
Et ? si tu te cantonnes à Java, comme tu dis, à quoi cela sert alors d'apprendre à gérer la mémoire ?
Ça sert à faire des programmes qui ne leakent pas des ressources comme des passoires, par exemple.
Je ne dis pas qu'il faut tout coder en C (ou en assembleur, tiens) pour autant. Mais même si on code dans un langage de haut niveau, il faut avoir un minimum de culture sur comment ce qu'on code va être concrètement exécuté.
Pour moi, prétendre que les langages de haut niveau rendent la programmation plus facile, c'est l'une des plus grandes grandes impostures de l'informatique. Moins laborieuse, certainement ; mais plus facile... si on veut en faire de façon sérieuse, je n'en suis pas sûr du tout. Même avec un langage qui fait le café, si le programmeur choisit une stratégie débile (du genre ajouter des caractères à une chaîne un par un), le programme sera mauvais. Et pour pouvoir comprendre ça, on ne peut pas se retrancher perpétuellement derrière des abstractions.
Les langages évolués sont de prise en main plus simple, donc il y a plus de programmeurs qu'avant ; je suis pas sûr qu'il y en ait davantage de
bons.