Rien dans ce monde ne touche plus le cœur des programmeurs que les outils de programmation. VC, DELPHI, JAVA... ces noms éblouissants occupent non seulement la vie des programmeurs, mais semblent aussi être devenus une sorte de croyance. Cependant, avec l’avènement du nouveau siècle, ces croyances se sont à nouveau heurtées à des défis majeurs. Microsoft, le lion épuisé et agacé par les juges et les hackers, a juré de garder la couronne sur la tête, a fait de son mieux et a mis au point sa stratégie spéciale .NET. En tant que langage de développement principal de .NET, C# est naturellement apparu. Les programmeurs doivent faire un choix douloureux : qui suivre ? Pour trouver la réponse, nous devons faire quelques comparaisons et prédictions.
Si l’on met de côté tous les facteurs non techniques, C# est sans aucun doute le meilleur langage de programmation jamais créé sur cette planète. Il contient presque tous les derniers résultats en matière de développement logiciel et de recherche en génie logiciel. Orienté objet, type, technologie des composants, gestion automatique de la mémoire, gestion des exceptions multiplateformes, contrôle de version, gestion de la sécurité du code... Vous ne trouverez pas toutes ces fonctionnalités dans un autre langage. Bien que, comme beaucoup de gens l'ont remarqué, lorsque j'énumère les fonctionnalités ci-dessus, les gens pensent toujours à JAVA, mais C# va plus loin. Mais la réalité est que des facteurs non techniques déterminent souvent l'avenir d'un produit. Surtout dans l'histoire des logiciels informatiques, des produits techniquement remarquables, tels que OS/2, Mac OS, UNIX, etc., ont tous été vaincus par la beauté. de Windows. Sous la joue. Mais cette fois, le rôle de Microsoft semble être passé d'un révolutionnaire aux mains nues à un vieux propriétaire intimidant. Si les choses changent vraiment, cet enfant C# ne naîtrait-il pas dans le mauvais enfant ? Peut-être que la situation n'est pas si mauvaise. Après tout, un chameau maigre est plus gros qu'un cheval, et C# a été soumis à un organisme de normalisation. Une fois qu'il est devenu une norme internationale, on ne sait pas s'il y a un héros qui démange (peut-être Microsoft lui-même). le transplantera sur d’autres plateformes. Dans ce cas, JAVA serait en difficulté. Étant donné que les utilisateurs de JAVA sont principalement des développeurs de services réseau et des développeurs de logiciels de périphériques embarqués, les logiciels de périphériques embarqués ne sont pas le lieu où C# entre en jeu. En termes de services réseau, les solutions de compilation juste à temps et de cache de code local de C# le sont. plus puissant que la machine virtuelle JAVA. Présente des avantages absolus en termes de performances. De plus, une fois que C# deviendra une norme publique comme C++, les développeurs de logiciels pourront économiser les frais de licence JAVA et n'auront pas à craindre de devenir les esclaves de Microsoft. Ceux qui sont anti-Microsoft et ceux qui prônent l'indépendance des fabricants n'auront peut-être pas ce droit. même problème. Quelles opinions. C’est peut-être exactement ce que Microsoft recherche.
Si la concurrence entre C# et JAVA dans le domaine des services réseau est comparée à la concurrence pour la suprématie aérienne à l'avenir, alors la concurrence entre C# et les outils de développement rapide à usage général traditionnels - VB, DELPHI, etc. combat au corps à corps. Le programmeur le plus misérable est peut-être le programmeur VB. Chez Microsoft, VB est comme Clinton qui a quitté ses fonctions. Non seulement il a perdu toute sa gloire, mais il est aussi troublé. Pensez-y, les projets écrits en VB6 doivent être convertis en code basé sur .NET à l'aide d'un outil de conversion avant de pouvoir être transférés en VB7, ce qui est presque méconnaissable. Étant donné que VB7 suit la Common Language Spécification (CLS) établie pour répondre à .NET, presque toutes les fonctionnalités qui n'étaient à l'origine disponibles qu'en C++, JAVA et d'autres langages ont été ajoutées, mais la syntaxe est compatible avec l'original. Si c'est la première fois que vous voyez le code converti de votre ancien projet VB6 en VB7, faites attention à votre cœur ! Alors foncez et ne me dites pas que vous allez prendre votre retraite. La situation de DELPHI n'est guère meilleure. La compétence particulière d'origine est de créer des applications rapidement et correctement, mais regardez maintenant la dernière version de VS.NET Beta 1, vous vous sentirez tellement familier, avec de nombreuses listes de propriétés, de composants... Qui fait tu es pauvre ? Même le concepteur en chef ne peut pas te soutenir.
En fait, le véritable seigneur parmi les langages de programmation est le C++ depuis de nombreuses années. Tous les systèmes d'exploitation et la plupart des logiciels commerciaux utilisent le C++ comme principal langage de développement. La grande majorité des programmeurs JAVA sont également des passionnés du C++, et le succès de PHP tient également à une syntaxe similaire à celle du C++. Dans les domaines des systèmes d'exploitation, des pilotes de périphériques, des jeux vidéo, etc., le C++ occupera encore longtemps une position dominante, et dans le développement du plus grand nombre de logiciels d'application, le C# est susceptible de remplacer le C++. Tout d’abord, C#, comme JAVA, copie simplement une partie de la syntaxe du C++. Il est donc facile pour un grand nombre de programmeurs C++ d’apprendre et de démarrer. De plus, c’est plus simple que le C++ pour les novices. Deuxièmement, Windows est actuellement la plate-forme monopolistique et lors du développement d'applications Windows, la voix de Microsoft ne peut bien sûr pas être ignorée. La chose la plus importante est que par rapport au C++, l'utilisation de C# pour développer des logiciels d'application peut considérablement raccourcir le cycle de développement, et en même temps, vous pouvez utiliser le code C++ d'origine à l'exception du code de l'interface utilisateur.
Cependant, C# présente également des faiblesses. Tout d'abord, les programmes C# ne peuvent pas encore fonctionner sur un grand nombre de plates-formes Windows existantes, car les programmes C# nécessitent la bibliothèque d'exécution .NET comme base, et la bibliothèque d'exécution .NET sera publiée dans le cadre de la nouvelle génération de Windows (Whistler ), ou sous forme de Service Pack fourni aux utilisateurs de Windows Me et Windows 2000. Ainsi, dans un futur proche, C# sera principalement utilisé sur le serveur. Deuxièmement, seuls quelques composants ou bibliothèques peuvent être utilisés par C#, tels que la bibliothèque d'exécution .NET, et aucune riche bibliothèque de logiciels tiers n'est disponible. Cela nécessite un processus et le support de divers développeurs de logiciels est nécessaire. également très important. Troisièmement, certains des facteurs de succès de JAVA sont vantés par le camp anti-Microsoft. Bien que « écrire une fois, exécuter n'importe où » ne soit qu'un slogan, il s'agit après tout d'une technologie déjà mature. À l’heure actuelle, le seul défenseur du C# est Microsoft, qui a une mauvaise réputation et ne peut fonctionner que sous Windows. En fait, ces deux langages ne sont pas irremplaçables. D’un point de vue rationnel, pour les développeurs de logiciels, celui qu’ils connaissent le mieux est le meilleur outil. Surtout pour les utilisateurs de C++, C# n’apporte rien de nouveau, car la bibliothèque d’exécution .NET peut également être utilisée en C++, et il n’y a aucune raison absolue de changer.
Pour résumer, je crois personnellement qu'au cours des dernières années, C# va inévitablement se développer et devenir le protagoniste sur la plate-forme Windows, tandis que JAVA deviendra l'acteur dominant sur UNIX, Linux et d'autres plates-formes, et que C++ continuera à montrer ses muscles dans le domaine du logiciel système. Ce qui est très intéressant, c’est que la syntaxe de ces langages est extrêmement proche, car JAVA et C# ont tous deux été développés à partir de C++. D’autres outils de développement poursuivront bien sûr encore longtemps leur chemin, mais en prendront forcément un coup en termes de parts de marché.