10 Características del Swift que no están en c
Teniendo en cuenta que Swift es un lenguaje objeto # 8208 orientado al nuevo desarrollo, y que C fue desarrollado hace casi medio siglo (por Dennis Ritchie en 1.969 a 1973), cuando el paradigma de objetos # 8208 orientado a ni siquiera estaba en uso generalizado , se podría pensar que la comparación de estos dos idiomas sería difícil y, en muchos sentidos, desleales para ambos idiomas.
Conteúdo
- Fuerte tipificación
- Bibliotecas extienden c
- Sentencias switch caen a través de casos en c
- C es una norma internacional
- Swift está estrechamente vinculada a los marcos touch cocoa y cocoa
- Swift incluye la gestión de memoria
- Swift está diseñado para funcionar en un entorno multi-hilo
- Tipos se pueden crear fácilmente en swift
- Swift tiene su propio ide y el compilador
- Los tipos pueden ser clases, estructuras, o enumeraciones
Esa es una manera de ver las cosas, pero de otra manera es mirar el impacto de C en las lenguas modernas. C todavía se enseña en cursos de computadora # 8208 en la ciencia en una variedad de programas de las escuelas primarias de Anuncio # 8208 cursos de postgrado. C todavía se enseña porque sigue siendo uno de los idiomas más utilizados. C puede no ser el corte # 8208 de última generación, pero se ha cumplido una función importante en el desarrollo de software de hoy y las personas que diseñan y desarrollarlo.
Para aquellos que están familiarizados con C y ahora aprender Swift, esta lista se explican las principales diferencias entre los dos idiomas. Usted sabe que Swift ha sido desarrollado para un entorno que incluye computadoras grandes y pequeñas (es decir, Macs y dispositivos iOS móviles), mientras que C fue desarrollado para grandes y medianos.
Con eso fuera del camino, aquí hay diez características Swift que no están en C.
Fuerte tipificación
Swift es mucho más inflexible de tipos que C. Si quieres echar un valor a otro tipo, hay que hacerlo en lugar de confiar en ella se hace de forma automática. Por ejemplo, considere este código:
var x = y = 4.0var 4var z = x + y
La última línea produce un error porque no se puede añadir una Int y un Doble.
Sin embargo, cualquiera de las dos líneas siguientes trabajarán:
var z = x + Int (y) var z = Doble (x) + y
Tipificación de Swift es tan estricta, que incluso la línea siguiente no funcionará:
var z = Float (x) + y
Swift infiere el tipo Doble para el valor de 4.0 a menos que asigne explícitamente la Flotador Tipo de cuando se utiliza en una operación o al declarar que, como en la siguiente línea de código:
var y: Float = 4
Si no estás acostumbrado a un lenguaje fuertemente tipado, esto puede tomar algún tiempo para acostumbrarse.
Bibliotecas extienden C
Las bibliotecas son la principal forma de extender C, pero se puede extender Swift con las bibliotecas (además de la construcción # 8208 en la biblioteca estándar Swift), así como con los marcos, las clases y subclases, ampliaciones de clases, estructuras y enumeraciones.
Sentencias switch caen a través de casos en C
A veces se puede decir a los programadores de C están escribiendo código Swift por su interruptor declaraciones. En C, una interruptor declaración consiste en caso elementos, como en el siguiente:
switch (elección) {case Choice1: romper caso elección2: desglose}
Sin el descanso declaraciones, el control pasa a la siguiente caso. Esto no sucede en Swift. Hay algo de código C # 8208 de estilo que se aprovecha del hecho de que sin descanso declaraciones, el control pasa a la siguiente caso statement (s). Eso siempre ha sido considerado el estilo de programación dudosa, pero ahora no va a suceder en Swift.
C es una norma internacional
C es un estándar internacional (específicamente ISO / IEC 9899: 201x), y Swift no lo es. Sea o no esto es importante depende de usted. Un número de personas (incluyendo al autor) piensan que esto es prácticamente irrelevante en este momento. Idiomas que no se rigen por las organizaciones internacionales de normalización veces pueden evolucionar más rápidamente, y, si se hacen necesarias dichas normas, se pueden añadir más tarde.
Las normas internacionales no tienen mucho de un papel que desempeñar en el proceso de desarrollo inicial de una lengua, cuando es más importante para obtener el mayor número posible de personas a utilizar el idioma. Esta es la etapa Swift es ahora.
Swift está estrechamente vinculada a los marcos Touch Cocoa y Cocoa
De hecho, es difícil decir dónde Swift deja de ser y los marcos de tomar el relevo. Ciertas características del lenguaje no pueden describirse sin hacer referencia a los marcos de Cacao y Touch.
Obviamente, este no es el caso con C.
Swift incluye la gestión de memoria
Recuento de referencia automático (ARC) está integrado en Swift. En C, la gestión de la memoria es la tarea del desarrollador.
Swift está diseñado para funcionar en un entorno multi-hilo
En Swift, ciertas características del lenguaje, tales como cierres, están diseñados para soportar entornos multi # 8208 rosca en la que un número de diferentes tareas puede ser ejecutado de forma simultánea en varios procesadores múltiples # 8208 sin corazón. Características del lenguaje, tales como cierres están diseñados específicamente para el entorno multi # 8208-threaded encontrado en Macs y dispositivos iOS.
Tipos se pueden crear fácilmente en Swift
Incluso en comparación con el Objetivo # 8208-C, que en muchos aspectos es antecesor más cercano de Swift, la capacidad de Swift para crear nuevos tipos (a veces junto con o en lugar de clases personalizadas) lo distingue de todos los demás idiomas, incluyendo C.
Swift tiene su propio IDE y el compilador
Swift está diseñado para ser utilizado con su propio IDE (Xcode 6 o posterior) y su propio compilador (LLVM). No hay ninguna razón aparente por qué otro IDE no se podía utilizar y otro compilador escrito, pero por el momento, ninguna de las dos parece estar en las obras, y los desarrolladores parecen ser en general satisfechos con las herramientas existentes. C y otros lenguajes no están estrechamente integradas con un IDE y el compilador.
Los tipos pueden ser clases, estructuras, o enumeraciones
En Swift, tipos pueden ser clases, estructuras o enumeraciones, y cada uno de ellos pueden tener propiedades y métodos. Propiedades y métodos de Swift no son sólo para las clases. Este seguro que no es el caso de C!