¿Reemplazaría Swift C / C ++ para escribir software de aplicación?

C es un lenguaje de programación de propósito general. Encontrará C en casi todos los campos de la tecnología de la información, ya sea juegos, satélites, sistemas operativos, proyectos de espionaje de defensa, lo que se le ocurra.

Además, C es un lenguaje de bajo nivel. Uno necesita invertir una gran cantidad de tiempo y practicar para comprender C. Al mismo tiempo, C le da el poder de controlar la mayor parte del aspecto de bajo nivel de su programa. La mayoría del sistema operativo, más bien diría que todos los sistemas operativos están codificados en C en gran medida. La mayoría de los sistemas que requieren seguridad, robustez y velocidad usan C.

Cuando se trata de Swift, es un bebé recién nacido en el mundo de los lenguajes de programación. Es un lenguaje de alto nivel. Hay una bonita capa de abstracción en Swift. Nunca se enterará de lo que sucede en segundo plano cuando ejecute su código rápido a menos que entre en la arquitectura y estudie el compilador. Además, Swift se usa para el desarrollo de aplicaciones iOS, no es un lenguaje de programación de propósito general.

Dicho esto, ambos idiomas son mutuamente excluyentes. Sus roles son completamente diferentes. Ningún idioma va a reemplazar a otro.

Ciertamente está reemplazando Objective-C para el desarrollo de aplicaciones en Mac e iOS.

Swift es realmente un C ++ modernizado. Debería ofrecer niveles similares de rendimiento, con características mejoradas para hacer que el desarrollo sea más rápido y con menos errores.

Pero si alguna vez desplazará cantidades significativas de C ++ de la corriente principal depende de muchos factores. No todos son técnicos.

Cuando Swift tiene interoperabilidad completa de C ++, podríamos ver que Swift se está probando experimentalmente en las bases de código C ++ existentes. Si eso resulta valioso, podría acelerar su adopción.

En sistemas Apple, sí. Pero Swift no es compatible con Windows, que es el sistema operativo de escritorio más popular. Y en Linux, no podrá competir con la popularidad de C / C ++, que ha sido la base de toda la línea de productos Linux.

Un nuevo lenguaje como Swift tendrá una tarea difícil para reemplazar las herramientas que se han utilizado durante casi 50 años (C) o 30 años (C ++) sin haberse probado en el mundo del desarrollo. Sería como dar a un niño pequeño el control de una importante empresa internacional. Demasiadas cosas saldrán mal al principio.

Pero los niños pequeños crecerán, así que pregunte nuevamente en 15 años más o menos, cuando Swift llegue a la pubertad. 😉


El mayor desafío será si Swift puede ser independiente de la plataforma, como lo son C y C ++. Esto significa que las bibliotecas estándar de Swift deben estar disponibles para todas las plataformas y todas deben usar la misma lógica. Tener bibliotecas estándar que funcionen en sistemas Apple pero no en Linux o Windows limitará severamente el idioma …