Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Initial setup #3

Merged
merged 8 commits into from
Aug 3, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
68 changes: 68 additions & 0 deletions TSPL.docc/RecorridoGuiado/AcercaDeSwift.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
# Acerca de Swift

Comprende los objetivos generales del lenguaje.

Swift es una forma increíble de desarrollar software;
ya sea para teléfonos, computadoras, servidores
o cualquier otra cosa que ejecute código.
Es un lenguaje de programación seguro, rápido, e interactivo
que combina lo mejor del pensamiento de lenguaje moderno
con los conocimientos de la vasta cultura de ingeniería de Apple
y las diversas contribuciones de su comunidad de código abierto.
El compilador está optimizado para el rendimiento
y el lenguaje está optimizado para el desarrollo,
sin llegar a comprometer ninguno de los dos.

Swift es amigable para los nuevos programadores.
Es un lenguaje de programación de calidad industrial,
tan expresivo y agradable como un lenguaje de secuencia de comandos.
Escribir código Swift en un *playground*
te permite experimentar con el código y ver los resultados de manera inmediata,
sin la sobrecarga de crear y ejecutar una aplicación.

Swift elimina una gran cantidad de errores de programación comunes
mediante la adopción de patrones de programación modernos:

- Las variables siempre se inicializan antes de ser usadas.
- Se verifican los índices de los arreglos (*arrays*) en busca de
errores fuera de límites (*out-of-bound errors*).
- Se verifica el desborde de números enteros.
- Los opcionales aseguran que los valores nulos (`nil`)
se manejen explícitamente.
- La memoria se gestiona automáticamente.
- El manejo de errores permite la recuperación controlada de fallas inesperadas.

El código Swift es compilado y optimizado para aprovechar al máximo el hardware
moderno.
La sintaxis y la biblioteca estándar han sido diseñadas
con base en el principio guía de que
la forma obvia de escribir tu código debe ser también la de mejor desempeño.
Su combinación de seguridad y rapidez hacen de Swift una excelente opción para
todo, desde un “¡Hola, mundo!” hasta todo un sistema operativo.

Swift combina una poderosa inferencia de tipos y concordancia de patrones
(*pattern matching*) con una sintaxis moderna y ligera,
lo que permite expresar ideas complejas de forma clara y concisa.
Como resultado, el código no solo es más fácil de escribir,
sino también más fácil de leer y mantener.

Swift se ha estado desarrollando por años
y continúa evolucionando con nuevas funciones y capacidades.
Nuestros objetivos para Swift son ambiciosos.
Estamos impacientes por ver lo que creas con él.

> Software Beta:
>
> Esta documentación contiene información preliminar sobre una API o tecnología en desarrollo. Esta información está sujeta a cambios, y todo software implementado en conformidad con esta documentación debe ser testeado con el software final del sistema operativo.
>
> Conoce más acerca del uso del [software beta de Apple](https://developer.apple.com/es/support/beta-software/).

<!--
This source file is part of the Swift.org open source project

Copyright (c) 2014 - 2023 Apple Inc. and the Swift project authors
Licensed under Apache License v2.0 with Runtime Library Exception

See https://swift.org/LICENSE.txt for license information
See https://swift.org/CONTRIBUTORS.txt for the list of Swift project authors
-->
68 changes: 68 additions & 0 deletions TSPL.docc/RecorridoGuiado/Compatibilidad.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
# Compatibilidad de versiones

Aprende cuáles funcionalidades están disponibles en versiones anteriores del lenguaje.

Este libro describe Swift 5.9,
la versión predeterminada de Swift que se incluye en Xcode 15.
Puedes usar Xcode 15 para compilar _targets_
que han sido desarrollados en Swift 5.9, Swift 4.2, o Swift 4.

<!--
- test: `swift-version`

```swifttest
>> #if swift(>=5.9.1)
>> print("Too new")
>> #elseif swift(>=5.9)
>> print("Just right")
>> #else
>> print("Too old")
>> #endif
<< Just right
```
-->

Al usar Xcode 15 para compilar código Swift 4 y Swift 4.2,
la mayoría de las funcionalidades de Swift 5.9 estarán disponibles.
Dicho esto,
los siguientes cambios solo están disponibles
para código desarrollado en Swift 5.9 o posterior:

- Las funciones que devuelven un tipo opaco requieren el runtime de Swift 5.1.
- La expresión `try?` no introduce un nivel adicional de opcionalidad en las
expresiones que ya devuelven opcionales.
- Se infiere que las expresiones de inicialización de enteros literales
grandes son del tipo de entero correcto.
Por ejemplo, `UInt64(0xffff_ffff_ffff_ffff)` resulta en el valor correcto
en lugar de desbordarse.

La concurrencia requiere Swift 5.9 o posterior,
y una versión de la biblioteca estándar de Swift
que proporcione los tipos de concurrencia correspondientes.
En las plataformas de Apple,
fija un objetivo de implementación (_deployment target_)
de —por lo menos— iOS 13, macOS 10.15, tvOS 13, o watchOS 6.

Un _target_ escrito en Swift 5.9 puede depender
de uno escrito en Swift 4.2 o Swift 4,
y viceversa.
Esto significa que si tienes un proyecto grande
que está dividido en varios _frameworks_,
podrás migrar tu código de Swift 4 a Swift 5.9
un _framework_ a la vez.

> Software Beta:
>
> Esta documentación contiene información preliminar sobre una API o tecnología en desarrollo. Esta información está sujeta a cambios, y todo software implementado en conformidad con esta documentación debe ser testeado con el software final del sistema operativo.
>
> Conoce más acerca del uso del [software beta de Apple](https://developer.apple.com/es/support/beta-software/).

<!--
This source file is part of the Swift.org open source project

Copyright (c) 2014 - 2023 Apple Inc. and the Swift project authors
Licensed under Apache License v2.0 with Runtime Library Exception

See https://swift.org/LICENSE.txt for license information
See https://swift.org/CONTRIBUTORS.txt for the list of Swift project authors
-->