10 Características Swift que não estão em C

Considerando-se que Swift é um recém-desenvolvido, linguagem objeto # 8208-oriented, e que C foi desenvolvido quase meio século atrás (por Dennis Ritchie em 1969-1973), quando o paradigma objeto # 8208-oriented não foi ainda em uso generalizado , você pode pensar que a comparação destas duas línguas seria difícil e, em muitos aspectos, injusto para ambas as línguas.

Essa é uma maneira de olhar as coisas, mas de outra maneira é olhar para o impacto da C em línguas modernas. C ainda é ensinado em computador # cursos 8208-ciência em uma variedade de programas de escolas primárias para Post # cursos 8208-graduação. C ainda está sendo ensinado porque ainda é uma das línguas mais utilizadas. C pode não ser o corte # 8208 de ponta, mas tem servido um papel importante no desenvolvimento de software de hoje e as pessoas que concebem e desenvolvê-lo.

Para aqueles que estão familiarizados com C e agora aprendendo Swift, esta lista explica as principais diferenças entre as duas línguas. Você sabe que Swift foi desenvolvido para um ambiente que inclui computadores pequenos e grandes (isto é, Macs e dispositivos iOS móveis), enquanto C foi desenvolvido para sistemas médios e grandes.

Com isso fora do caminho, aqui estão dez características Swift que não estão no C.

tipagem forte

Swift é muito mais fortemente do que digitou C. Se você quiser projetar um valor para outro tipo, você tem que fazê-lo, em vez de contar com ele sendo feito para você automaticamente. Por exemplo, considere o seguinte código:

var x = 4var y = 4.0var z = x + y

A última linha produz um erro porque você não pode adicionar um int e um Duplo.

No entanto, qualquer uma das duas linhas a seguir irá funcionar:

var z = x + Int (y) var z = duplo (x) + y

digitação de Swift é tão rigorosa, que mesmo a linha a seguir não funcionará:

var z = Float (x) + y

Swift infere o tipo Duplo para o valor de 4.0 a menos que você atribuir a ele o explicitamente Flutuador Tipo quando usá-lo em uma operação ou ao declarar que, como na seguinte linha de código:

var y: Float = 4

Se você não está acostumado a uma linguagem fortemente digitado, isso pode levar algum tempo para se acostumar.

Bibliotecas estender C

As bibliotecas são a principal maneira de estender C, mas você pode estender Swift com bibliotecas (além do # construído 8208-in Swift biblioteca padrão), bem como com os quadros, classes e subclasses, extensões para classes, estruturas e enumerações.

instruções switch cair através casos em C

Às vezes você pode dizer-programadores C está escrevendo código Swift pela sua interruptor declarações. Em C, uma interruptor afirmação consiste caso elementos, como no seguinte:

switch (escolha) {case choice1: quebrar a caso choice2: break-}

sem a pausa declarações, o controle passa para a próxima caso. Isso não acontece na Swift. Há alguns código C # 8208-estilo que tira partido do facto de que, sem pausa declarações, o controle passa para a próxima caso declaração (s). Que sempre foi considerado estilo de programação duvidosa, mas agora isso não vai acontecer em Swift.

C é um padrão internacional

C é um padrão internacional (especificamente ISO / IEC 9899: 201x), e Swift não é. Seja ou não este importa é até você. Um número de pessoas (incluindo o autor) acha que isso é praticamente irrelevante neste momento. Idiomas que não são regidos por organizações internacionais de normalização às vezes pode evoluir mais rapidamente, e, se tais normas se tornem necessário, eles podem ser adicionados mais tarde.

As normas internacionais não têm um grande papel a desempenhar no processo de desenvolvimento inicial de uma língua, quando é mais importante para obter o maior número de pessoas possível para usar a linguagem. Esta é a fase Swift está agora.

Swift está intimamente ligado aos quadros Toque cacau e suas

Na verdade, é difícil dizer onde Swift termina e os quadros assumir. Alguns recursos de linguagem não pode ser descrito sem referência aos quadros de cacau e Cocoa Touch.

Obviamente, isto não é o caso com C.

Swift inclui gerenciamento de memória

Automático de contagem de referência (ARC) é construído em Swift. Em C, gerenciamento de memória é tarefa do desenvolvedor.

Swift é projetado para funcionar em um ambiente multi-threaded

Na Swift, certas características da linguagem, tais como fechos, são projetados para suportar ambientes de vários # 8208-threaded em que um número de diferentes tarefas podem ser executadas simultaneamente em vários processadores múltiplos # 8208-tubulares. recursos de linguagem, como os encerramentos são projetados especificamente para o ambiente multi # 8208-threaded encontrados em Macs e dispositivos iOS.

Tipos pode ser facilmente criada em Swift

Mesmo em comparação com o Objetivo # 8208-C, que em muitos aspectos é predecessor mais próximo de Swift, a capacidade da Swift para criar novos tipos (às vezes ao lado ou em vez de classes personalizadas) distingue de todos os outros idiomas, incluindo C.

Swift tem sua própria IDE e compilador

Swift é projetado para ser usado com o seu próprio IDE (Xcode 6 ou posterior) e seu próprio compilador (LLVM). Não há nenhuma razão aparente para que outra IDE não poderia ser usado e outro compilador escrito, mas, no momento, nenhum destes parecem ser nas obras, e os desenvolvedores parecem ser geralmente conteúdo com as ferramentas existentes. C e outras linguagens não são totalmente integrado com um IDE e compilador.

Tipos podem ser classes, estruturas, ou enumerações

Em Swift, tipos podem ser classes, estruturas, ou as contagens, e cada um deles pode ter propriedades e métodos. propriedades e métodos de Swift não são apenas para classes. Isso com certeza não é o caso em C!

menu