¿Es Swift el próximo gran lenguaje de programación?

Sí, este podría ser el próximo gran lenguaje, ya que tiene tantos pros contra el Objetivo C y algunas desventajas también. Después de 6 años para mejorar y trabajar en Objective-C, Apple decidió lanzar otro desafío a los desarrolladores y ese fue Swift.

  • Apple parece tener grandes objetivos para Swift. Ha optimizado el compilador para el rendimiento y el lenguaje para el desarrollo, y alude a que Swift está “diseñado para escalar de ‘hola, mundo’ a un sistema operativo completo” en la documentación de Swift. Si bien Apple aún no ha declarado todos sus objetivos para el lenguaje, los lanzamientos de Xcode 6, Playgrounds y Swift juntos indican la intención de Apple de hacer que el desarrollo de aplicaciones sea más fácil y accesible que con cualquier otra cadena de herramientas de desarrollo.
  • Swift elimina la gestión de puntero insegura e introduce nuevas y potentes funciones, al tiempo que mantiene la interacción con Objective-C y C.
  • Swift 1.0 ya es una plataforma de desarrollo estable y sólida, que seguramente evolucionará de manera interesante en los próximos años. Es un momento perfecto para comenzar a explorar este nuevo lenguaje, ya que obviamente es el futuro del desarrollo de iOS.

1. Swift es más fácil de leer. Swift elimina las convenciones heredadas. Por lo tanto, ya no necesita punto y coma para terminar las líneas o paréntesis para rodear las expresiones condicionales dentro de las declaraciones if / else. El código Swift se parece más al inglés natural, además de otros lenguajes de programación populares modernos.

2. Swift es más fácil de mantener. Swift elimina el requisito de dos archivos. Xcode y el compilador LLVM pueden descubrir dependencias y realizar compilaciones incrementales automáticamente en Swift 1.2. Como resultado, la tarea repetitiva de separar la tabla de contenido (archivo de encabezado) del cuerpo (archivo de implementación) es cosa del pasado. Swift combina el encabezado Objective-C (.h) y los archivos de implementación (.m) en un solo archivo de código (.swift).

3. Swift es más seguro. Los tipos opcionales hacen que la posibilidad de un valor opcional nulo sea muy clara en el código Swift, lo que significa que puede generar un error del compilador a medida que escribe un código incorrecto. Esto crea un ciclo de retroalimentación corto y permite a los programadores codificar con intención. Los problemas se pueden solucionar a medida que se escribe el código, lo que reduce en gran medida la cantidad de tiempo y dinero que gastará en corregir errores relacionados con la lógica del puntero de Objective-C.

4. Swift está unificado con la gestión de memoria. Un programador no debería tener que pensar en la memoria de cada objeto digital que crea. Debido a que ARC maneja toda la administración de memoria en el momento de la compilación, la capacidad intelectual que se habría destinado a la administración de memoria puede enfocarse en la lógica principal de la aplicación y las nuevas características. Debido a que ARC en Swift funciona tanto en código procesal como orientado a objetos, no requiere más cambios de contexto mental para los programadores, incluso cuando escriben código que toca las API de nivel inferior, un problema con la versión actual de Objective-C.

5. Swift requiere menos código. Swift reduce la cantidad de código que se requiere para las declaraciones repetitivas y la manipulación de cadenas. Swift adopta características modernas del lenguaje de programación como agregar dos cadenas junto con un operador “+”, que falta en Objective-C.

6. Swift es más rápido. La implementación inicial de FFT, un algoritmo vinculado a la memoria con acceso aleatorio de matrices grandes, tuvo una mejora de rendimiento de 2.6 veces. Se observaron mejoras adicionales en Swift al aplicar las mejores prácticas, lo que resultó en un aumento de 8.5 veces para el rendimiento del algoritmo FFT (dejando a C ++ con solo una ganancia de rendimiento de 1.1 veces). Las mejoras también permitieron a Swift superar a C ++ para el algoritmo de Mandelbrot por un factor de solo 1.03.

7. Menos colisiones de nombres con proyectos de código abierto. Swift proporciona espacios de nombres implícitos que permiten que exista el mismo archivo de código en múltiples proyectos sin causar una falla de compilación y que requiera nombres como NSString (Siguiente paso: la compañía de Steve Jobs después de ser despedido de Apple) o CGPoint (Core Graphics). En última instancia, esta función en Swift mantiene a los programadores más productivos y significa que no tienen que hacer la contabilidad que existe en Objective-C. Puede ver la influencia de Swift con nombres simples como Array, Dictionary y String en lugar de NSArray, NSDictionary y NSString, que nacieron de la falta de espacios de nombres en Objective-C.

8. Swift admite bibliotecas dinámicas. Las bibliotecas dinámicas son fragmentos de código ejecutables que se pueden vincular a una aplicación. Esta característica permite que las aplicaciones Swift actuales se vinculen con versiones más nuevas del lenguaje Swift a medida que evoluciona con el tiempo.

contenido tomado de: Swift vs. Objective-C: 10 razones por las que el futuro favorece a Swift

Llamarlo “siguiente” es un poco incierto, porque ya está ahí para las plataformas móviles. Supongo que todo se reduce a si cumple su promesa en el centro de datos, según lo impulsado por IBM; Hasta ahora creo que queda por ver, y los únicos dos problemas que preveo son los siguientes:

  • Swift está asociado con el mundo móvil, por lo que los desarrolladores de backoffice que ejecutan proyectos Swift probablemente se concentrarán en gran medida en los servicios personalizados en la nube por encima de todo, simplemente por el aspecto que tendrán las hojas de vida de las personas contratadas para codificar los sistemas de servidor Swift. Los clientes / servidores y servicios web más tradicionales probablemente se queden con cosas como PHP y Python en el futuro cercano.
  • Una marca tan popular como Apple es a nivel de consumidor, el backoffice es un mundo de software libre / de código abierto, y Apple es radiactivo para una minoría significativa de desarrolladores de software libre. Debido a eso, los tipos de personas que pensaron que era una buena idea bifurcar Debian sobre systemd o que insisten en el fundamentalismo del software libre no adoptarán nada relacionado con Apple o LLVM (con la posible excepción de algo como CUPS que era ubicuo antes) Apple lo compró) a menos que esté absolutamente obligado a hacerlo.

Eso sí, Swift es muy popular y querido por sus usuarios, por lo que no lo descartaría. Pero existen importantes barreras políticas para su adopción fuera de la Applesphere.

Swift, sin duda, está ganando impulso gracias a su próxima versión 3.0, pero algunos afirman que la batalla legal de Oracle v. Google es en parte responsable de poner el foco en este joven lenguaje de programación.

Debe haber una razón por la cual Apple eligió nombrar su lenguaje de programación Swift (que significa “rápido”). Muchos desarrolladores creen que Swift 3.0 podría ayudar a este joven lenguaje a la altura de su nombre, por lo que tal vez sea hora de escucharlos. A primera vista, parece “más limpio” que el código tradicional (no hay más corchetes y puntos y comas anidados), sin mencionar que los nuevos desarrolladores no tienen que aprender las sintaxis detalladas de Objective-C. El tiempo de depuración se ha reducido drásticamente.

Como su nombre lo indica, Swift es rápido y admite “áreas de juego interactivas” que permiten a los desarrolladores ver los códigos a medida que aplican los cambios y realizan un seguimiento de los plazos de progreso.

Todo lo que Swift necesita ahora es la aceptación del desarrollador y las palabras de Cook se harán realidad a tiempo para la gran versión 3.0.

Obviamente es el próximo gran lenguaje para las plataformas Apple.

(Lo que puede parecer un nicho, pero hace un año o dos, Objective-C estaba en los 5 idiomas principales).

Pero las ambiciones para el lenguaje son más amplias que eso.

Swift es una creación de Chris Lattner, quien también nos trajo LLVM. LLVM es la tecnología que subyace a muchos compiladores. Lattner sabe una o dos cosas sobre el rendimiento, y por qué los programas fallan y por qué se escriben los errores.

Leyendo entre líneas, está claro que Swift no es un simple reemplazo de Objective-C. De hecho, algunos se quejan de que Swift carece de las características dinámicas de ObjC.

Swift es un reemplazo de C ++.

Es C ++ sin las cosas que hacen que el error de C ++ sea propenso y lento de desarrollar. Tiene una sintaxis moderna más limpia, es más conciso, es menos propenso a varias causas comunes de errores de programador. Viene con una solución de administración de memoria y una biblioteca estándar. Y al final de la compilación, generará un código óptimo muy rápido.

La diferencia de rendimiento entre Swift y C ++ se está reduciendo con cada lanzamiento sucesivo.

Ahora, esto no quiere decir que Swift desplazará a C ++. Eso depende de que los desarrolladores voten con sus pies (o sus dedos). Pero puedo ver establecimientos educativos que prefieren presentar a los estudiantes Swift en lugar de C ++.

Creo que reemplazará principalmente Objective-C. Todavía habrá personas que quieran usar Obj-C para una fácil integración con C y C ++. Puedes llamar a Obj-C desde Swift, pero algunas personas simplemente se quedarán con Obj-C.

No creo que reemplace Java en Android, Android está obteniendo OpenJDK, por lo que si eso funciona, el nivel de soporte de la biblioteca que le dará a Java en Android es bastante enorme, frente a cero para Swift, por lo que necesitaría Una buena razón para usar Swift en Android. El soporte IDE es mucho mejor con Java también.

No veo que se use en el escritorio de Windows, C # es demasiado bueno, demasiado arraigado, con excelente soporte de biblioteca allí. Tal vez si Swift obtuvo soporte completo para UWP, a algunas personas les guste, pero nuevamente, te enfrentas a un soporte IDE mucho mejor para C # / Visual Studio.

Como lenguaje de back-end web, creo que Swift es mucho más interesante, el soporte de la biblioteca es menos importante allí, y francamente se enfrenta a una competencia más débil en Python, Ruby, JS, cosas así. También es un lugar donde es más fácil probar un idioma, muchas personas escriben backends web que son bastante pequeños, con menos de 10,000 o 20,000 líneas de código, por lo que es mucho más fácil usar un nuevo idioma allí que si usted ‘ estamos escribiendo un monstruo de millones de líneas como PhotoShop o Final Cut Pro.

Cree que seguirá siendo principalmente un lenguaje específico de Apple, con algo de crecimiento en otros lugares también.

Realmente no creo en un “próximo gran lenguaje”.

Claro, usamos martillos durante cientos o miles de años para clavar cosas a otras cosas y aplastar grandes cosas. Pero … Swift no es el martillo, es solo una de las muchas marcas y tipos de martillos que existen.

¿Qué pasa si su vecino de al lado diseñaría un lenguaje mejor y mejor que Swift? ¿Qué pasaría si Microsoft decidiera diseñar el lenguaje de programación de computadora perfecto, pero olvidaría decírselo? ¿Qué pasaría si Apple hubiera construido Swift, pero no lo lanzó en su “Evento Especial” y simplemente escribió un pequeño wiki sobre él?

Swift es genial porque es un gran lenguaje, pero también es genial porque recibió un gran impulso de uno de los mayores fabricantes de productos de consumo de este siglo. Está cumpliendo su promesa, pero cuando reduce todo lo que es Swift a solo el idioma con el que terminará es …

… solo un lenguaje de programación de computadora.

Puede leer todo sobre las excelentes funciones de Swift en esta página para que no lo canse con eso. No olvide que Java tiene una máquina virtual que puede ejecutarse virtualmente en cualquier cosa, por lo que puede ejecutar código Java en prácticamente cualquier cosa. Es una herramienta increíble, pero también lo es Swift.

Al igual que tenemos martillos neumáticos y martillos y martillos claw normales, herramientas, tiene docenas de idiomas a su disposición. Algunos son mejores que otros, para diferentes tareas. Intente codificar un microchip con Swift, o intente tamizar a través de un billón de puntos de datos sin una infraestructura adecuada (Swift no lo tiene). Tú entiendes.

Swift es un gran medio para un fin, pero no es el fin de todos los medios.

¿Es Swift el próximo gran idioma, como el iPhone fue el próximo gran teléfono inteligente, el Macintosh original fue el próximo gran escritorio personal, Apple Store fue la próxima gran tienda de electrónica de consumo e iTunes el próximo gran distribuidor de música? ¡Es mejor que lo creas!

¿Pero es Swift el próximo gran idioma? No Es solo un idioma.

Si bien puede no ser EL próximo gran idioma, definitivamente es UNO DE los próximos grandes idiomas. Creo que ya estamos viendo las ventajas de Swift. Definitivamente es más fácil de leer y más limpio que Objective-C, lo que ha provocado que el mercado de desarrollo de iOS aumente drásticamente. Esto es enorme en sí mismo, ya que permite a los desarrolladores ingresar al mercado de iOS (iphone, ipad, iwatch, etc.) que antes no podían.

Swift actualmente tiene una tendencia de $ 109k / año en YouWorth para que pueda ver que definitivamente está en demanda, pero no por encima. YouWorth es una aplicación móvil gratuita para iOS y Android que rastrea los datos salariales del programador. No solo soy embajador del producto, sino que lo uso yo mismo. La aplicación permite a cualquier persona importar habilidades de LinkedIn y rastrear su valor en el mercado laboral a lo largo del tiempo. También me notifican si hay un cambio en las habilidades que se están viendo.

Swift se asocia principalmente con el mercado móvil en este momento, y aunque PODRÍA reemplazar algunos otros idiomas, no veo que eso suceda. ¿Reemplazará a Java? Lo dudo. ¿Se usará para el desarrollo de escritorio? Lo dudo. Desktop, web, android, etc., ya están demasiado inmersos en otros idiomas. Se necesitaría un gran cambio de mercado para que Swift se convirtiera en el lenguaje de programación dominante en general y no veo que las empresas o los desarrolladores realmente lo hagan.

Creo que hay un gran valor en aprender Swift y llegar a dominarlo, pero como con la mayoría de los idiomas, es una herramienta en el cinturón. Sé que todos quieren montar la próxima gran ola, pero con la programación creo que su mejor opción es aprender el idioma y agregarlo a su arsenal. No coloque todas sus fichas en Swift esperando que cambie completamente el mercado o se sentirá decepcionado.

Bueno, es claramente uno de los próximos grandes idiomas ya. Está en el top 15 ahora. Tiene todas las casillas de verificación alineadas para tener éxito en dispositivos móviles y backend. Pero hay muchos contendientes y Swift todavía es relativamente nuevo.

Reemplazará gradualmente el Objetivo C en iOS. Google lo está buscando para Android. Veremos si eso va a alguna parte. Y varias personas y empresas están trabajando en Swift del lado del servidor ahora y están haciendo un progreso bastante bueno.

Estoy de acuerdo en que Swift tiene muchas posibilidades de establecerse como un lenguaje significativo.

Swift tiene un nicho bastante sólido para desarrollar aplicaciones para iOS, OS X, watchOS y aplicaciones tvOS. Sospecho que los desarrolladores de Apple encontrarán que Swift es preferible a Objective-C en números crecientes. Si bien Swift suplantará Objective-C, no veo que reemplace otros lenguajes fuera del ecosistema de Apple.

Swift ya es un idioma dominante para escribir nuevas aplicaciones de iOS, y como iOS es grande, Swift ya es grande.

Todo lo demás es una bolsa mixta y ya veremos. Cualquiera adivina es tan bueno como los demás. Google nunca se ha comprometido a adoptar Swift y podría ser solo un truco en su prueba con Oracle.

De todos modos, la sintaxis de Swift es casi la misma que C # y Java, y conocer uno de esos lenguajes casi te permite conocer los tres. Lo que es difícil de aprender son las API de plataforma, aprender cualquiera de esos idiomas es trivial.

¡¡Por supuesto!!

La única razón por la que algunas empresas / desarrolladores todavía usan el objetivo-c es porque convertir el objetivo-c en Swift lleva algo de tiempo, ¡y para grandes proyectos puede ser un trabajo duro!

Apple anuncia oficialmente que Swift hará que el objetivo-c quede totalmente en desuso.
¡La sintaxis rápida es tan clara y “sexy”!

Si le interesa el ejemplo del código Swift:

Verifique mi GitHub: sabbek / EasySwift

Esta es una caja de herramientas para Swift con métodos útiles para desarrollar de forma más rápida y segura.

¡Buena suerte!

No, el código abierto no es realmente relevante tanto como quién va a soportar los puertos a diferentes plataformas. Apple seguramente no lo es! Por lo tanto, Swift es un callejón sin salida. Es mucho más pequeño y limitado que Java incluso. Me gusta Swift mejor que Java porque está compilado y no necesita mucho tiempo de ejecución, pero aún necesita un tiempo de ejecución porque no expone punteros y, por lo tanto, hace un recuento de referencias de tiempo de ejecución. Pero no hay ventaja de Swift sobre C / C ++. C / C ++ es y debe seguir siendo el gran lenguaje. Hasta que los sistemas operativos no sean C / C ++, obviamente C / C ++ es el único lenguaje significativo.

A2A:

No para mí no lo es.

Evito el ecosistema de Apple en la medida de lo posible. Como insinúa Madi Connors, un lenguaje de programación creado / administrado por Apple no me atrae. Incluso si se ejecuta en Android.

Por lo poco que sé de él como lenguaje, supongo que su funcionalidad lo convierte en una mejora en Objective C y Java. Pero ahora soy un programador feliz de Lisp (Clojure / Racket). Y la historia de Clojure-on-Android está mejorando todo el tiempo. (Como es el ClojureScript en el navegador) historia.

A menos que alguien me ofrezca mucho dinero para escribir en iOS, es difícil ver por qué lo necesito.

Es prematuro suponer que Swift reemplazará a Java para el desarrollo de Android. Dado que Swift está vinculado al legado de Objective-C / iOS en cierta medida, dudo que gane mucha tracción fuera del ecosistema de Apple.

Sí, será el próximo mejor lenguaje que uno pueda adaptar para desarrollar aplicaciones tremendas. Swift se ha convertido en un lenguaje de programación muy popular desde que se anunció durante la Conferencia Mundial de Desarrolladores de Apple en 2014. Swift es un lenguaje de programación seguro, rápido y expresivo con un paquete de optimizaciones de bajo nivel para mejorar el rendimiento del tiempo de ejecución. Aunque es muy fácil sentirse atraído por las características del lenguaje moderno que Swift proporciona a un desarrollador, tenemos que considerar ciertos aspectos como su tamaño binario, código heredado y estabilidad antes de elegir el mismo.

Aquí hay algunas ideas sobre Swift.

Si, no hay duda. Swift será el próximo gran idioma. Y como es de código abierto. Hay nuevas puertas abiertas para Swift. Por ejemplo, se están construyendo servidores Swift. y muchos más. en términos de idioma, se ha confirmado que compañías como Facebook también están buscando hacer su idioma principal en términos de dispositivos móviles para Swift para Android si se escala y no hay una configuración heredada compleja.

Muy poco probable, ahora que Chris Lattner, quien fue el inventor de Swift, reveló que dejará la compañía para unirse a Tesla. Personalmente, no creo que ninguna compañía pueda crear un lenguaje y hacerlo omnipresente. Su intención siempre será sospechosa. Swift en el mejor reemplazará Objective-C

¿Reemplazará otros idiomas? Probablemente no. ¿Es el próximo gran lenguaje de programación? Si y no. En el desarrollo de iOS, absolutamente. Fuera de eso, queda por ver. Apple lo está haciendo de código abierto (lo que sea que eso implique), pero aún es demasiado pronto para saber si las personas lo tomarán como un truco o si realmente se darán cuenta fuera del espacio de iOS.

No, no estoy de acuerdo.

Como desarrollador de iOS, sigo escribiendo códigos con Objective C. ¿Por qué?

Porque cuando se lanzó Swift, escribí una aplicación para uso personal (una extensión de edición de fotos).

Hoy, después de un tiempo, intenté usarlo, pero dejó de funcionar como de costumbre. ¿Por qué? No lo sé, así que decidí abrir el proyecto y comenzó la pesadilla.

Primero descubrí que la sintaxis de Swift cambió dramáticamente desde entonces. Es posible que desee decir que Xcode tiene una herramienta automática para la conversión. Sí, pero incluso después de la conversión todavía tenía errores de compilación.

Aunque el código era simple, me ayudó a solucionar los errores de compilación durante una hora e incluso después de eso no funcionó como solía ser.

¡Después de todo, no entendía por qué tenía que agregar muchos! en mi código Tampoco me gusta la inferencia de tipos. Hace que sea difícil rastrear cuál es el tipo de cada variable.

La única razón por la que no he examinado seriamente a Swift es porque se basa en el recuento de referencias y, en consecuencia, en los ciclos de fugas. Esa es la gestión de la memoria alrededor de 1960 y simplemente no puedo tomar en serio ningún lenguaje de propósito general que todavía lo haga.

El óxido también es muy interesante. Me despertó la curiosidad y lo probé. El óxido tiene algunos problemas serios propios. Al final, nada se acerca a F # para mí.