• [^] # Re: Pas le même paradigme

    Posté par . En réponse au message Avantages du C++ sur le C ?. Évalué à -4.

    n'apprends pas C++

    Le problème, c'est que certaines librairies logicielles publiées par des organisations sont en C++, au lieu du C. Par exemple LibTorch et CUDA.

    Résultat, je dois coder en C++ aussi, et faire des librairies wrapper qui font l'interface entre des programmes C et des librairies C++.

    J'ai aussi l'impression que le C++ est utilisé pour complexifier volontairement, c'est à dire obfusquer, le code source de certains programmes et librairies open source. Et ce, dans le but de dissimuler des bugs qui font que ça fonctionne bien sous Windows mais pas sous GNU/Linux, pour dissimuler des failles de sécurité, et aussi pour empêcher des programmeurs indépendants de faire des forks de meilleure qualité que l'original.

    Voilà pourquoi je suis, d'un point de vue politique, pour l'obligation légale et internationale de publier un programme C et une librairie C, répondant à la norme POSIX, quand une organisation veut publier une librairie ou un programme open source, sans lui interdire de publier aussi dans un autre langage.

    La situation actuelle, c'est qu'au lieu de faire des librairies pour enrichir et faciliter le développement d'applications en C, les organisations font des librairies pour plein de nouveaux langages: C++, Rust, Python, etc... Mais elle n'en font pas pour le C.

    Je ne sais pas pourquoi, mais j'ai l'impression que le langage C est fortement méprisé par nombre de programmeurs ou par les commerciaux qui dirigent les équipes de programmeurs.

    Car même pour les librairies et applications GNU/Linux, ce sont principalement des multinationales qui sont derrière, y compris Microsoft. Donc les commerciaux doivent probablement avoir une influence sur le développement des librairies et applications GNU/Linux. Suffit de regarder ce qu'est devenu GNOME quand il est passé de la version 2 à la version 3, je doute fortement que ce soit par la volonté des programmeurs et des utilisateurs.

    Deux possibilités. La possibilité 1, c'est que des millions d'ingénieurs ont conçu, appris, amélioré, et utilisé dans des milliers de logiciels des concepts de programmation qui n'ont aucun intérêt.

    Les protected et private, ça empêche les programmeurs qui utilisent la librairie de faire ce qu'ils veulent avec l'objet. Je suis pour la liberté de programmation, et le C++ permet de restreindre cette liberté, je trouve que c'est contraire à la philosophie du Libre.

    Concernant les commerciaux ou "ingénieurs" qui dirigent les équipes de programmeurs, on leur a appris: "le C++ c'est mieux, la programmation objet c'est mieux" et beaucoup ne vont pas chercher plus loin, ils croient ce qu'on leur a dit, et une fois en entreprise ils imposent du développement C++, voir Java, Rust, et même Python.

    La possibilité 2, c'est que ta formation et ton expérience en programmation sont trop parcellaires pour que tu comprennes l'utilité de ces concepts, et même trop limitées pour que tu puisses comprendre ce qu'il te manque pour comprendre l'utilité de ces concepts.

    Ou alors, ces concepts de private et protected sont pour les débutants et les programmeurs qui ont du mal à gérer les objets ? Parceque lire et écrire une variable d'un objet avec des méthodes du type GetVariable() et SetVariable(), ce n'est certainement pas pour faire un programme efficace, ça fait des appels de fonction inutiles. Et c'est contraire à la philosophie du Libre qui veut que l'on fasse le programme le plus efficace possible.

    Y a t'il vraiment plus de difficultés à trouver les bugs quand on écrit "int tmp = objet.a" que lorsqu'on écrit "int tmp = objet.GetA()" ?