Cuando Apple lanzó Swift en 2014, estaba realmente escéptico sobre si cumpliría con mis expectativas. Aunque no era un gran admirador del Objetivo C, comencé a adoptar ese lenguaje debido a algunas de sus poderosas características como bloques, envío de mensajes e introspección.
Intenté con Swift y resultó ser mucho más allá de mis expectativas. He estado codificando en Swift durante casi un año y puedo decir con confianza que mi código se ha vuelto más limpio con menos errores que antes. Swift ha sido diseñado con mucho cuidado al recoger las mejores características de lenguajes como C, C ++, Objective-C y Python. Es tan rápido como un lenguaje de programación de sistemas y sigue siendo expresivo como un lenguaje de programación.
Estas son algunas de las características que hacen que Swift se destaque entre otros idiomas.
1. Tipo de seguridad e inferencia : Swift es de tipo seguro, lo que significa que debe tener claro el tipo de valores con los que puede trabajar su código. Si su código espera una Cadena, no debe pasarle una Int. Debido a estas comprobaciones de tipo Swift al compilar su código y marca cualquier tipo no coincidente como error. Esto le permite detectar cualquier error al principio del proceso de desarrollo.
Sin embargo, esto no significa que deba especificar el tipo de cada constante o variable como lo hace en C y Objective-C. Si no especifica el tipo que necesita, Swift usa inferencia de tipos para deducir ese tipo. Esto conduce a un código conciso ya que no necesita especificar el tipo para cada declaración.
2. Opcionales: se utiliza un opcional en Swift cuando un valor puede estar ausente. Si marcamos x como opcional, simplemente significa que x puede contener un valor o ningún valor (en cuyo caso será nulo). Los opcionales no existen en lenguajes como C u Objective-C. Estos lenguajes devuelven un cero para indicar la ausencia de un objeto. Pero esto funciona solo para objetos y no para tipos de valores como Int, Double, etc. En estos lenguajes, la persona que llama al método debe verificar si el resultado devuelto es igual a cero y tomar medidas sobre esa base. Esto puede provocar errores si se omiten las comprobaciones adecuadas.
“Los opcionales de Swift le permiten indicar la ausencia de un valor para cualquier tipo, sin la necesidad de constantes especiales”.
De: Apple Inc. “El lenguaje de programación Swift (Swift 2.2)
3. Tipos de valor: Un tipo de valor es un tipo cuyo valor se copia cuando se asigna a una variable o constante, o cuando se pasa a una función. En Swift Arrays, Dictionary, Structs y Enumerations, todos son tipos de valores. Las estructuras y las enumeraciones son mucho más potentes en Swift con características como herencia, conformidad con protocolos y métodos.
Puede preguntarse por qué Swift adopta tanto los tipos de valor cuando se trata de un lenguaje orientado a objetos con alguna característica poderosa para los objetos de clase. Los tipos de valor son una herramienta increíblemente flexible para simplificar su código.
- Los tipos de valor le permiten hacer arquitecturas típicas significativamente más claras, más simples y más comprobables.
- Los tipos de valor generalmente tienen menos o ninguna dependencia del estado externo, por lo que hay menos que tener en cuenta al razonar sobre ellos.
- Los tipos de valor son inherentemente más componibles y reutilizables porque son intercambiables.
https://www.objc.io/issues/16-sw …
4. Programación funcional: Thought Swift no es puramente funcional, pero admite varias ideas de programación funcional como inmutabilidad, funciones de orden superior, tipos de valores, etc.
Swift hace que los aspectos centrales de la programación funcional sean una piedra angular de su visión de cómo escribir código seguro, fácil de mantener y rápido. La inmutabilidad ya no es solo una convención para colecciones, todo en Swift debería ser inmutable por defecto. Declaramos todas nuestras variables con la palabra clave let, y solo cuando sea realmente necesario por la semántica de la variable la cambiamos a var. Los objetos ya no son tan frecuentes en nuestro código. La mayoría de los tipos en Swift son valores: todos los tipos de números, cadenas, tuplas, enumeraciones y estructuras potentes, matrices, conjuntos y diccionarios. Solo los tipos de referencia son clases y funciones. El tipo de función en Swift es un tipo de primera clase. Todo esto convierte a Swift en un lenguaje de paradigmas múltiples que hace que los conceptos tanto orientados a objetos como funcionales sean igualmente naturales de usar.
Programación funcional en Swift • Five
Hay muchas otras características como protocolos, extensiones, genéricos, enumeraciones expresivas, etc., que hacen de Swift un candidato poderoso para el lenguaje del futuro. Con la fuente abierta de Apple del lenguaje Swift y viendo el gran apoyo de la comunidad, no tengo dudas de que Swift mejorará mucho con el tiempo. Es posible que veamos Swift en el lado del servidor o un sistema operativo escrito en Swift en un futuro próximo. Es un buen momento para aprender Swift.