En tant que "nouveau" programmeur (j'ai écrit une ligne de code pour la première fois en 2009), j'ai remarqué qu'il est relativement facile de créer un programme qui présente des éléments assez complexes aujourd'hui, avec des éléments tels que .NET Framework, par exemple. Créer une interface visuelle ou trier une liste peut être fait avec très peu de commandes maintenant.
Lorsque j'apprenais à programmer, j'apprenais aussi la théorie de l'informatique en parallèle. Des choses comme les algorithmes de tri, les principes de fonctionnement matériel, l'algèbre booléenne et les machines à états finis. Mais j’ai remarqué que si j’ai toujours voulu tester un principe de base que j’avais appris en théorie, c’était toujours beaucoup plus difficile à démarrer car beaucoup de technologies sont masquées par des éléments tels que les bibliothèques, les frameworks et le système d’exploitation.
Créer un programme économe en mémoire était nécessaire il y a 40/50 ans, car il manquait de mémoire et coûtait cher. La plupart des programmeurs ont donc porté une attention particulière aux types de données et à la manière dont le processeur traiterait les instructions. De nos jours, certains pourraient soutenir qu'en raison de la puissance de traitement accrue et de la mémoire disponible, ces préoccupations ne sont pas une priorité.
Ma question est de savoir si les anciens programmeurs voient des innovations comme celles-ci comme une aubaine ou une couche supplémentaire à travers laquelle faire abstraction, et pourquoi pourraient-ils le penser? Et les jeunes programmeurs bénéficient-ils davantage d’apprentissage de la programmation de bas niveau AVANT d’explorer les royaumes de bibliothèques volumineuses? Si oui, alors pourquoi?