Nada en este mundo toca más el corazón de los programadores que las herramientas de programación. VC, DELPHI, JAVA... estos nombres deslumbrantes no solo ocupan la vida de los programadores, sino que también parecen haberse convertido en una especie de creencia. Sin embargo, con la llegada del nuevo siglo, estas creencias volvieron a encontrar grandes desafíos. Microsoft, el león que estaba exhausto y molesto por los jueces y los piratas informáticos, prometió mantener la corona en su cabeza, hizo lo mejor que pudo y ideó su estrategia de habilidad especial: .NET. Como lenguaje de desarrollo central de .NET, C# surgió naturalmente. Los programadores tienen que tomar una decisión dolorosa: ¿a quién seguir? Para encontrar la respuesta, tenemos que hacer algunas comparaciones y predicciones.
Si dejamos de lado todos los factores no técnicos, C# es sin duda el mejor lenguaje de programación jamás creado en este planeta. Contiene casi todos los resultados más recientes en desarrollo de software e investigación en ingeniería de software. Orientado a objetos, tipo, tecnología de componentes, gestión automática de memoria, manejo de excepciones multiplataforma, control de versiones, gestión de seguridad de código... No puedes encontrar todas estas características en otro idioma. Aunque, como mucha gente ha notado, cuando enumero las características anteriores, la gente siempre piensa en JAVA, pero C# va más allá. Pero la realidad es que factores no técnicos a menudo determinan el futuro de un producto. Especialmente en la historia del software informático, los productos técnicamente sobresalientes, como OS/2, Mac OS, UNIX, etc., han sido derrotados por la belleza. de Windows. Debajo de la mejilla. Pero esta vez, el papel de Microsoft parece haber cambiado de un revolucionario con las manos desnudas a un viejo propietario intimidador. Si las cosas realmente cambian, ¿no nacería este niño de C# en el niño equivocado? Tal vez la situación no sea tan mala después de todo, un camello flaco es más grande que un caballo, y C # ha sido enviado a una organización de estandarización. Una vez que se convierte en un estándar internacional, no se sabe si algún héroe que le pica (tal vez el propio Microsoft). lo trasplantará a otras plataformas. En ese caso, JAVA estaría en problemas. Debido a que los usuarios de JAVA son principalmente desarrolladores de servicios de red y desarrolladores de software de dispositivos integrados, el software de dispositivos integrados no es el lugar donde C# entra en juego. En términos de servicios de red, la compilación justo a tiempo y las soluciones de caché de código local de C# sí lo son. más potente que la máquina virtual JAVA Tiene ventajas absolutas de rendimiento. Es más, una vez que C# se convierta en un estándar público como C++, los desarrolladores de software pueden ahorrarse la tarifa de la licencia JAVA y no tener que preocuparse de convertirse en esclavos de Microsoft. Aquellos que están en contra de Microsoft y aquellos que defienden la independencia del fabricante pueden no tener la licencia. El mismo problema. Qué opiniones. Esto puede ser exactamente lo que Microsoft está buscando.
Si se compara la competencia entre C# y JAVA en el campo de los servicios de red con la competencia por la supremacía aérea en el futuro, entonces la competencia entre C# y las herramientas tradicionales de desarrollo rápido de uso general (VB, DELPHI, etc.) será una salida. batalla cuerpo a cuerpo. Quizás el programador más miserable es el programador de VB. En Microsoft, VB es como Clinton que dejó el cargo. No solo ha perdido toda su gloria, sino que también tiene problemas. Piénselo, los proyectos escritos en VB6 deben convertirse a código basado en .NET utilizando una herramienta de conversión antes de poder transferirlos a VB7, lo cual es casi irreconocible. Dado que VB7 sigue la Especificación de lenguaje común (CLS) establecida para atender a .NET, se han agregado casi todas las funciones que originalmente solo estaban disponibles en C++, JAVA y otros lenguajes, pero la sintaxis es compatible con el original. Si es la primera vez que ve el código convertido de su antiguo proyecto VB6 en VB7, ¡tenga cuidado con su corazón! Así que adelante y no me digas que te vas a retirar. La situación de DELPHI no es mucho mejor. La habilidad especial original es hacer aplicaciones rápidas y bien, pero ahora mire la última VS.NET Beta 1, se sentirá muy familiar, con numerosas listas de propiedades, componentes... Quién hace. ¿Eres pobre? Ni siquiera el diseñador jefe puede apoyarte.
De hecho, el verdadero señor entre los lenguajes de programación ha sido C++ durante muchos años. Todos los sistemas operativos y la mayoría del software comercial utilizan C++ como principal lenguaje de desarrollo. La gran mayoría de los programadores de JAVA también son entusiastas de C++, y el éxito de PHP también se debe a una sintaxis similar a la de C++. En los campos de los sistemas operativos, controladores de dispositivos, videojuegos, etc., C++ seguirá ocupando una posición dominante durante mucho tiempo, y en el desarrollo de la mayor cantidad de software de aplicaciones, es probable que C# reemplace a C++. En primer lugar, C#, al igual que JAVA, simplemente copia parte de la sintaxis de C++. Por lo tanto, es fácil para una gran cantidad de programadores de C++ aprender y comenzar. Además, es más simple que C++ para principiantes. En segundo lugar, Windows es actualmente la plataforma monopolista y, por supuesto, al desarrollar aplicaciones para Windows, no se puede ignorar la voz de Microsoft. Lo más importante es que, en comparación con C++, usar C# para desarrollar software de aplicación puede acortar en gran medida el ciclo de desarrollo y, al mismo tiempo, puede usar el código C++ original excepto el código de la interfaz de usuario.
Sin embargo, C# también tiene debilidades. En primer lugar, los programas C# aún no pueden ejecutarse en una gran cantidad de plataformas Windows existentes, porque los programas C# requieren la biblioteca de tiempo de ejecución .NET como base, y la biblioteca de tiempo de ejecución .NET se lanzará como parte de la nueva generación de Windows (Whistler ), o como Service Pack entregado a los usuarios de Windows Me y Windows 2000. Por lo tanto, en un futuro próximo, C# se utilizará principalmente en el servidor. En segundo lugar, solo hay unos pocos componentes o bibliotecas que C# puede utilizar, como la biblioteca de tiempo de ejecución .NET, y no hay bibliotecas de software ricas de terceros disponibles. Esto requiere un proceso y el soporte de varios desarrolladores de software. también muy importante. En tercer lugar, algunos de los factores de éxito de JAVA son promocionados por el campo anti-Microsoft. Aunque "escribir una vez, ejecutar en cualquier lugar" es sólo un eslogan, después de todo ya es una tecnología madura. En la actualidad, el único defensor de C# es Microsoft, que tiene mala reputación y sólo puede ejecutarse en Windows. De hecho, estos dos lenguajes no son insustituibles. Desde un punto de vista racional, para los desarrolladores de software, cualquier cosa con la que estén más familiarizados es la mejor herramienta. Especialmente para los usuarios de C++, C# no aporta nada nuevo, porque la biblioteca de tiempo de ejecución .NET también se puede usar en C++ y no hay ninguna razón absoluta para cambiar.
En resumen, personalmente creo que en los últimos años, C# inevitablemente ascenderá y se convertirá en el protagonista de la plataforma Windows, mientras que JAVA se convertirá en el actor dominante en UNIX, Linux y otras plataformas, y C++ seguirá ejerciendo su fuerza en el mercado. campo del software del sistema. Lo que es muy interesante es que la sintaxis de estos lenguajes es extremadamente parecida, porque tanto JAVA como C# se desarrollaron a partir de C++. Por supuesto, otras herramientas de desarrollo continuarán su camino durante mucho tiempo, pero inevitablemente se verán afectadas en términos de cuota de mercado.