¿Es Swift un buen lenguaje para que un principiante aprenda?

¿Cuáles son tus objetivos a largo plazo para aprender un idioma como “principiante”?

– ¿Escribir proyectos de juguetes pequeños rápidamente con público de juguetes?

O

– ¿Escribiendo aplicaciones reales con funcionalidad real para atender las necesidades de personas reales?

Asumiré el segundo, de lo contrario, siéntase libre de omitir el resto de mi respuesta.

Tengo una prueba muy simple y rápida para un lenguaje de programación, lo llamo
“Prueba SO”:

Vaya a Desbordamiento de pila y busque las preguntas sin respuesta más importantes para la etiqueta correspondiente a su idioma: Preguntas ‘rápidas’ sin respuesta.

Ahora lea las preguntas principales sin respuesta (Swift establece la resistencia de compresión del contenido) y verifique el número de votos, qué edad tiene la pregunta y qué tan seria es. Aquí tenemos 11 votos (¡lo cual es mucho!) De personas que desean saber la respuesta. La pregunta es del 30 de noviembre de 2014, no se ha respondido a partir de ahora (9 de abril de 2015 – ¡pasaron casi 6 meses!).

La pregunta termina con “¿Otra de las peculiaridades de Swift?” lo que me dice: este no es el primer problema que el autor tuvo con Swift.

Más el comentario: “Apple no ha solucionado este problema todavía = /”

Lo que esto me dice, en caso de quedarme atascado y encontrar un problema real, lo que ciertamente lo haré, podría estar solo. No puedo ir a Github y enviar un problema porque es propiedad y está bajo el control total de Apple. Y no veo una gran cantidad de bibliotecas de código abierto escritas por personas que experimentaron los mismos problemas o problemas similares.

Esto levanta pocas banderas rojas:
– ¿Qué pasa si me quedo atascado con un error y Apple lo ignorará?
– ¿Qué pasa si ese error mata una gran parte de mi código o me empuja a pasar mucho tiempo hackeando mi camino?
– ¿Qué pasa si Apple cambiará la sintaxis haciendo que gran parte de mi código sea disfuncional?

Como usuario de Apple, siento “las manos de Apple en mi garganta”:
– ¡Debes actualizar o tu software se volverá disfuncional!
– Una vez que actualices, no puedes volver (iOS)!
– Si su computadora o dispositivo ahora está lento, agotando su batería o chocando donde antes no estaba, ¡mala suerte!

Si así es como tratan a sus desarrolladores, entonces solo puedo decir: ¡Cuidado!

Finalmente, ¿cuál es el beneficio incluso si lo aprende bien y logra trabajar?

¿Está atascado con las aplicaciones de iOS o hay un compilador de terceros que transfiere su código a cualquier otra plataforma? Hay uno

Si desea una real retroalimentación de los usuarios, solo he estado en una reunión, donde alguien dijo que probó una buena aplicación, pero debido a que la usó solo ocasionalmente, no se sintió obligado a dejar que la aplicación ocupara el valioso patrimonio en su telefono

Después de haber descargado y eliminado tantas aplicaciones iOS de mierda, ¡realmente creo que todos los desarrolladores de aplicaciones deberían leer esto ! ¡No ganas dinero con las descargas! ¡Su aplicación debe ser increíblemente útil y única para que la gente la tenga en sus teléfonos! ¿Tu aplicación va a ser una?

Si no está seguro, ¿por qué no hacerlo una aplicación web ? Fácil para que la gente lo intente (funciona en cualquier navegador, sin problemas para descargar), fácil para que lo cambies (sin tiempo y sin problemas con las tiendas de aplicaciones).

¡Aprende JavaScript ! Y si desea un código más limpio, una mejor arquitectura y una funcionalidad avanzada con código conciso, ¡aprenda AngularJS (Superheroic JavaScript MVW Framework)! Simplemente vaya a su página de inicio y vea el código real increíblemente corto que logra una funcionalidad real. ¡Luego lea los libros y blogs para principiantes y experimente! Usted se queda atascado o tiene un error: búsquelo en google o vaya a stackoverlow.com.

¿Preocupado por las aplicaciones móviles? Cada vez más, los marcos mejoran y ofrecen un mejor soporte para AngularJS (Home – Ionic.io solo como ejemplo), por lo que puede incluir el mismo código en una aplicación móvil si eso es tan importante. No hay pérdida de tiempo reescribiendo tu código! Pero tenga cuidado con lo que dije antes cuando piense en obligar a sus usuarios a descargar su aplicación en lugar de permitirles que prueben su aplicación web primero con menos esfuerzo y compromiso.

* La perspectiva de un aprendiz *
Aprendiéndolo ahora y soy un fan. Solía ​​pasar todo el día comparando qué idioma aprender en lugar de intentar realmente aprender algo. Definitivamente sólo dale una carrera.

Es mucho mejor que el Objetivo C. Tal vez los autores que estoy leyendo son simplemente mejores (busque “swift” en Amazon, elija el mejor calificado) o la gente ha estado tratando de enseñarle esto a personas densas (* levanta la mano con cautela *) para algunos Años y realmente han clavado las metáforas para los plebeyos.

Agradable y “simple”. Comparaciones (sin entrar en detalles, esto es desde la perspectiva de un principiante):

  • Ruby era genial para el desarrollo web, pero estaba claramente escrito por una persona japonesa. Todo tiene un sentimiento de “retroceso” al igual que cuando hablo japonés (es como un sentimiento de Python más flexible pero a la vez desordenado, suena como mi tipo de cosas, excepto que tal vez sea menos fácil de entender).
  • Python: genial para obtener los conceptos. Sin embargo, tenía mucho contenido / tutoriales ya que ha existido por más tiempo y me abrumé y desvié a menudo. Las lecciones tienden a centrarse más en las matemáticas, lo que no me entusiasmó tanto como los autores, o al menos eso parecía.
  • Javascript: Genial, una gran cantidad de contenido web relevante si estás en la industria. Útil de inmediato.
  • Objective-C: Tengo un dolor de cabeza instantáneo.
  • C #: Muy recomendado por los amigos de Microsoft como un trampolín para meterme en C ++, el lenguaje superior principalmente porque solía estar en la industria del juego y quería desesperadamente saber un poco más sobre lo que estaba sucediendo.
  • Swift: Es como un hodge-podge, hasta ahora, parece que todos los conceptos se pueden reciclar fácilmente a otros idiomas. Como se mencionó aquí, el área de juegos es excelente, al igual que el IDLE de Python. Hay mil millones de otros idiomas que me faltan, pero estos parecen ser los más comunes que se escucharán en estos días.

Al final solo aprende algo y no te preocupes por lo que es. Creo que lo más importante es (me gustaría que alguien me dijera esto, tal vez lo hicieron pero nunca escuché) quién te está enseñando. Si el profesor / autor es demasiado técnico o cubre contenido aburrido, será muy tedioso para ti.
Si no puede encontrar un tutorial de proyecto interesante, busque un buen escritor / orador sobre el tema.

Aclamaciones

Eso realmente depende de la persona y el nivel de detalle. Swift se beneficia del hecho de que, a diferencia de la familia C, no es necesario que use funciones en realidad, simplemente puede comenzar a escribir código libre en un archivo para hacer que suceda algo.

También se beneficia del hecho de que su sintaxis está diseñada alrededor de las partes con la mayor seguridad de tipo y utilidad. Las cosas más complicadas, como el encadenamiento y los atributos opcionales, no se requieren para que un programa esté en funcionamiento, por lo que hay un orden claro en la ruta de aprendizaje. Esto significa que puede hacer mucho antes de comenzar a aprender sobre @ -symbols o signos de interrogación.

En última instancia, tendrá que aprender sobre técnicas de OO, paso por referencia y paso por valor, y eventualmente (para Mac y iOS) Model-View-Controller. Estos temas más avanzados, sin embargo, pueden construirse fácilmente sobre los fundamentos puros del lenguaje.

Sin embargo, la razón principal por la que creo que será fácil es el REPL y el Playground. Cualquier idioma con un REPL será relativamente fácil de aprender, simplemente porque tienes una caja de arena donde puedes probar cosas. El desarrollo de Playground es una forma realmente útil, ya que permite representar gráficamente los efectos de los algoritmos o renderizar una animación en vivo para usted. No más ajustes, compile, instale, ejecute, ejecute cada vez que necesite ajustar una animación: ahora puede abrir un Área de juegos y probarlo, ajustando los parámetros en vivo hasta que obtenga los efectos que buscaba.

Sí, Swift es increíble para un principiante.

Swift es más fácil que Objective-C debido a las siguientes 3 razones.

  1. Elimina la complejidad (administrar 1 archivo de código en lugar de 2) que es 50% menos de trabajo
  2. Simplifica los caracteres especiales (puntuación) que debe escribir (es decir, no hay más puntos y coma al final de cada línea de código )
  3. Proporciona un área de juegos para probar código para reforzar los conceptos de programación y jugar visualmente con código

Cualquier idioma que reduzca la cantidad de libros o el trabajo repetitivo (para ayudar al compilador) es mejor. El compilador convierte su código en una aplicación que puede ejecutarse en su iPhone. Los lenguajes de programación tradicionales usaron mucha puntuación adicional para dar pistas al compilador, pero eso ya no es necesario con las innovaciones que Apple ha estado manejando con Xcode y el compilador LLVM.

Como ejemplo, Apple ha proporcionado funciones avanzadas (Recuento automático de referencias – ARC) que le brindan más tiempo para concentrarse en la lógica de su aplicación en lugar del código de la placa de la caldera (repetitivo, con errores y pérdida de tiempo) que afecta a C, C ++ y Objective. -DO.

En Objective-C cuando trabaja con el código funcional en Core Graphics ARC no está disponible, sin embargo, está disponible en todos los ámbitos en Swift. Esa es una razón importante para cambiar a Swift, donde puede reducir los errores de memoria y no tener que preocuparse por el mantenimiento del libro de administración de memoria.

Pensamiento hacia adelante y pruebas de futuro

Swift se convertirá en el idioma estándar de todas las aplicaciones para iPhone, Mac y Apple Watch.

La última versión de Xcode 6.3 y el lenguaje de programación Swift 1.2 traen importantes mejoras y una unificación al lenguaje de programación Swift.

Aplicaciones Swift en el App Store

Aprende un idioma que te permite crear aplicaciones para tu iPhone; no lo dudes. Puede vender esas aplicaciones o usarlas para construir su currículum para un trabajo mejor pagado en el futuro.

Ahora es el momento de aprenderlo, especialmente porque puedes publicar aplicaciones en Swift.

Aquí hay una aplicación que es 100% código Swift: 10 razones – Me alegro por – Diario de gratitud Nota del diario

TL; DR: No, en mi opinión, Swift no es un buen lenguaje para que aprendan los principiantes.

Si es el primer idioma con el que empezará a meterse, hay una cantidad considerable de “antecedentes” de programación que debería tener al tanto. Sin mencionar que si de alguna manera te enfrentas a Swift, trabajar con bases de código de terceros escritas en Obj-C sería una pesadilla para ti, mientras que lo contrario se sentiría bastante cómodo.

Realmente estoy empezando a frustrarme con la cantidad de exageraciones que Swift recibe de las personas que afirman que es muy fácil y que un principiante puede captarlo en poco tiempo. Bien … Swift es más fácil que Objective-C. Eso reduce drásticamente las barreras de entrada para los desarrolladores con experiencia existente para ingresar a iOS.

Un lenguaje es puramente sintaxis. Puede aprender la sintaxis de un idioma en particular con bastante rapidez, sin embargo, aún debería saber QUÉ hacer con él, así como conocer las convenciones que debe cumplir.

Sin embargo, si no tienes ninguna experiencia en programación, deberías dejar de aprender Swift hasta que hayas cubierto algo de terreno. Puede comenzar aprendiendo algunos C / Objective-C y tal vez incluso algunos patrones OOP en JavaScript.

Antes de comenzar con Swift, debe estar familiarizado con al menos el patrón de programación Modelo-Vista-Controlador , así como los conceptos clave que implica la Programación Orientada a Objetos .

Esos son mis dos centavos, buena suerte.

Tenemos que pensar en lo que realmente necesita un principiante.

Los principiantes necesitan un lenguaje y un entorno que quiten la complejidad.

  • Los compiladores, encabezados, archivos y toda esa basura agregan una capa de confusión que el principiante no necesita entender. Lo ideal es que simplemente escriban un código y vean si funciona.
  • Necesitan una sintaxis sencilla. Debe hacer que los conceptos básicos (escritura de bucles, almacenamiento de variables, funciones de escritura, etc.) estén muy limpios.
  • Se benefician de la ayuda que inmediatamente detecta errores.
  • E idealmente, podrían ver el resultado de su trabajo de inmediato. La inmediatez es esencial para el aprendizaje, porque permite la corrección rápida del curso.

Y los estudiantes también quieren saber que cuando las ruedas de entrenamiento finalmente se salen, el mismo idioma se puede usar para problemas reales. Lo que no quieren escuchar es: “Está bien, puedes olvidarte de SimpOl, porque ahora es el momento de pasar a un lenguaje apropiado para adultos”.

En el pasado, BASIC, Prolog y otros tenían un entorno en vivo que permitía este tipo de actividad.

Habiendo utilizado Swift en el área de juegos. Creo que Swift cumple esos requisitos realmente bien.

Puede escribir en la pantalla y ver la salida a la derecha. Obtiene comentarios inmediatos y puede hacer todo esto sin configurar archivos o preocuparse por las opciones del compilador.

Lo aprendí por primera vez en BASIC, y el Playground se parece mucho a eso. Los principiantes pueden jugar aquí de forma segura, luego migrar el código al IDE. En esta captura de pantalla, probé el primer problema: el proyecto Euler. (y obtuve la respuesta correcta!)

Tenga en cuenta que puede hacer estas cosas sin utilizar métodos OO. O la necesidad de captar los patrones de diseño esenciales. Simplemente ingresa el código. Ni siquiera tienes que presionar compilar o ejecutar.

Entonces … voy a decir. SÍ.

Creo que hay entornos mucho peores para aprender a programar que Swift Playgrounds.

Probablemente es tan bueno como Python, JavaScript, Scala o Kotlin. Eso no está diciendo mucho.

Hay muchos principiantes que están muy intimidados por la idea de aprender a programar. Para ellos, un buen lenguaje de enseñanza sería preferible. Un buen lenguaje de enseñanza es extremadamente limpio, simple y fácil de aprender. El principiante no se distrae innecesariamente con características de lenguaje inusuales, avanzadas o extravagantes (por ejemplo, las opciones de Swift).

Un buen lenguaje de enseñanza se sale de su camino y les permite centrarse en los conceptos de programación, como los objetos, las funciones y los algoritmos y las estructuras de datos de primera clase. El lenguaje debe ser en gran parte transparente y en el fondo.

Los buenos idiomas de enseñanza incluyen Logo, Pascal, Scheme, Smalltalk. No incluyen Python, JavaScript, C, Scala, Swift.

Hay algunos principiantes que no se sienten ansiosos por la programación. Para ellos, Swift puede ser aceptable. ¿Pero como una generalización radical para TODOS los principiantes? Infierno no

Por eso escribí esta respuesta: la respuesta de Richard Kenneth Eng a ¿Qué lenguaje de programación se considera el más fácil para los principiantes?

Por cierto, vale la pena señalar que Swift tiene solo 3 años. ¡Está apenas fuera de pañales! Por lo tanto, no me siento cómodo con la expulsión de este lenguaje.

¡Absolutamente sí! ¡Swift fue especialmente diseñado por Apple para hacer que la codificación sea fácil y divertida! Le sugiero unirse al programa Apple Developer y descargar Xcode 6 (obtendrá acceso a esta versión después de unirse al programa). Obtienes acceso a recursos increíbles y una gran red social para el debate. Puedes descargar algunos ebooks geniales que te enseñan Swift. Además, hay grandes videos, que te enseñan Swift.
Como principiante es posible que desee aprender algunos conceptos básicos. Puede encontrar excelentes cursos de iTuneUniversity proporcionados por la Universidad de Stanford ( Metodología de programación , Abstracción de programación , Paradigmas de programación)
) Después de que entienda lo básico, puedo recomendar encarecidamente el curso de Stanford sobre Codificación Juntos CS193P de Paul Hegarty. Comenzará un nuevo curso en este invierno donde, mientras yo sepa, incluirá a Swift en su enseñanza.

No soy un experto en Swift, pero diría que es un poco más difícil que otros idiomas, solo porque no hay tanto material como libros y tutoriales, etc. disponible. Aunque, por lo que he visto, el lenguaje incorpora muchas cosas buenas y útiles de otros idiomas existentes, lo cual es bueno para un principiante.

Es posible que desee revisar el libro de lenguaje de programación Swift:

https://developer.apple.com/libr

Y este sitio contiene una gran cantidad de excelentes tutoriales para principiantes y desarrolladores avanzados:

Tutoriales para desarrolladores y jugadores de iPhone / iOS

Por último, si eres un principiante, te sugiero que pruebes algunos problemas del Proyecto Euler para poner a prueba tus habilidades de programación y lenguaje. ¡Aprenderás mucho!

Proyecto euler

¡Buena suerte!

Además, echa un vistazo a este @ ¿Es Swift un buen lenguaje para que lo aprenda un principiante?

Hola,

Swift, un lenguaje de programación fácil de usar introducido por Apple, es útil para hacer software y programas rápidos para iOS y Mac OS X. Con muchas herramientas innovadoras y prácticas, Swift ha ganado popularidad entre los desarrolladores. Como Apple lo hará de código abierto, se volverá más popular. Mencionaremos las razones detrás de esto en este blog.

En primer lugar, veamos qué quiere hacer Apple al hacer de Swift un lenguaje de código abierto:

  • Lanzará el código fuente de Swift, el compilador y la biblioteca estándar.
  • Contribuirá los puertos del código a las plataformas iOS, OS X y Linux.
  • Aceptará las aportaciones de la comunidad de desarrolladores.

Los desarrolladores encuentran este movimiento muy beneficioso. Veamos las razones por las que están dando la bienvenida a este paso:

  • El lenguaje Swift tiene una relación con los lenguajes C ++ y Objective-C. Por lo tanto, su fuente abierta es beneficiosa para todos los desarrolladores, independientemente de las plataformas.
  • Cada desarrollador puede usar y compartir la tecnología de Apple para desarrollar mejores aplicaciones
  • Los desarrolladores pueden identificar fácilmente los errores y eliminarlos, lo que hace que Swift sea impecable y más poderoso.
  • La disponibilidad de códigos en Linux abrirá las puertas de nuevas oportunidades para desarrolladores
  • La actualización de Swift será más fácil y se realizará de forma regular debido a la disponibilidad abierta
  • Swift se convertirá en un lenguaje más eficaz y eficiente, ya que recibirá innumerables contribuciones de los desarrolladores.

En resumen, el abastecimiento abierto de Swift se considera el gran paso de Apple hacia el proceso de implementación de conceptos tecnológicos avanzados con un enfoque más innovador y enfocado. Es justo decir que Apple se une a Microsoft y Google para facilitar las innovaciones en Internet of Things (IoT) y los conceptos de “Internet of Everything” al hacer que el lenguaje Swift sea gratuito para los desarrolladores.

Fuente: Open Sourced Swift- El gran regalo de Apple para los desarrolladores

No. Para programar incluso cosas básicas de forma rápida, debe estar familiarizado con la programación orientada a objetos, tipos, protocolos / interfaces, funciones y métodos, cadenas (¿cuál es la diferencia entre caracteres de caracteres, representaciones, etc.?), Opcionales (cuándo y ¿dónde debería usar!,?, etc. Si se equivoca, su código se bloqueará (mucho), extensiones, administración de memoria ARC (no, Swift no se recolecta basura, debe guiar al compilador en su administración de memoria), y mucho más.

Debería sentirse cómodo trabajando con bibliotecas y codificar otras personas.

Swift es un excelente segundo o tercer idioma, después de que te hayas familiarizado con los conceptos básicos de programación y estés listo para dominar algunos conceptos más avanzados, pero no es bueno para un principiante. Yo diría que se sienta cómodo con algo como Python o Ruby primero, o que desarrolle una mejor competencia con Javascript.

Swift, para un principiante, solo requiere demasiada familiaridad con estos conceptos a la vez para hacer cosas básicas. Un lenguaje que le permita abordar un concepto a la vez es una opción mucho mejor.

Swift es uno de los mejores e interesantes lenguajes de programación innovadores. Escribir código en un lenguaje de programación rápido es muy interactivo y lleno de diversión, la sintaxis es concisa pero expresiva, y las aplicaciones se ejecutan a la velocidad de la luz.

Swift adopta patrones de programación seguros y agrega características modernas que hacen que la programación sea más fácil, más flexible y más divertida.

Swift es muy amigable con los nuevos programadores. Es el primer lenguaje de programación de sistemas de calidad industrial que es tan expresivo y agradable como un lenguaje de scripting. Es compatible con juegos infantiles, una característica innovadora que permite a los programadores experimentar con el código Swift y ver los resultados de inmediato, sin la sobrecarga de crear y ejecutar una aplicación.

Swift es una forma fantástica de escribir aplicaciones para iOS y OS X, y continuará evolucionando con nuevas características y capacidades.

Para crear cualquier aplicación de iOS, el conocimiento básico sobre Swift es imprescindible para evitar las complejidades.

Le recomendaría tener una idea clara aquí Tutorial de Apple Swift con código fuente

Aquí hay un principiante en el desarrollo de iOS y comencé desde Swift. Es un lenguaje muy bien diseñado. Si tienes un buen lenguaje de programación orientado a objetos como Java, te encantará este lenguaje. Tiene ventajas añadidas también como opcionales. La forma en que lo estoy aprendiendo es que estoy creando una aplicación (una muy grande), estoy intentando la mayoría de las cosas programáticamente, cuando tengo dudas, busco en google o pregunto en stackoverflow. La mayoría de las funciones, clases, etc. son muy similares a Objective-C, por lo que es muy fácil de aprender. La mejor parte es que es un lenguaje legible y combinado con sus similitudes funcionales de Objective-C, es la mejor manera de aprender sobre el desarrollo de iOS en este momento.

Esto es lo que debe hacer si desea comenzar con el desarrollo de iOS con Swift.

1. Lea el tutorial en el sitio web de Apple. El lenguaje de programación Swift: Acerca de Swift
2. Piensa en algún gran proyecto y comienza a hacerlo.
3. En el camino, cuando se atasque, busque en Google, si no obtiene ninguna respuesta, busque , aquí encontrará respuestas relacionadas con Objective-C. No te asustes y trata de replicarlo en Swift.
4. Pregunte y lea las respuestas en StackOverflow.
5. Leer tutoriales en internet. Hay muchos de ellos.
6. Sigue repitiendo, y en un mes podrás aprender mucho.

Todo lo mejor. 🙂

En términos de sintaxis y complejidad, sí, absolutamente, y si es móvil, específicamente iOS es la dirección en la que desea ir, luego doble SI. Solo tenga en cuenta que swift se usa básicamente en un solo contexto: iOS y OS X. Los desarrolladores de Java verán cómo pueden escribir y ejecutar en cualquier lugar, y eso es básicamente cierto. Comencé en Java y aprendí a gustar y apreciarlo. Depende de tus objetivos. Si lo que quieres hacer es desarrollo de Apple, swift es tu idioma. Si desea realizar aplicaciones de escritorio de Android o multiplataforma, Java puede ser más lo que necesita, aunque tenga una curva de aprendizaje más alta. Si el desarrollo web es lo tuyo, entonces eso es algo completamente diferente. Usted querrá aprender HTML, CSS, Javascript.

Debido al contexto en el que se usa swift, recomendaría Java si eres nuevo en programación. Java te enseñará programación orientada a objetos. Sí, será más difícil que rápido, pero puede enfocarse en aprender a programar sin preocuparse por problemas específicos de dispositivos móviles, lo que técnicamente también podría hacer en el área de juegos rápida, pero la zona de juegos es más para probar que para desarrollar. Hay muchos recursos por ahí. Recomiendo The New Boston. Aprende Java y podrás hacer la transición fácilmente a cualquier otra cosa. Y como alguien más en este post señaló que solo aprendes rápido y empiezas a trabajar con otros, te vas a encontrar con el código de Objective-C (el lenguaje swift va a reemplazar eventualmente) y eso será una pesadilla para ti.

Eso es sólo mis dos centavos. Comencé con Java por 2 años. Así que soy un poco parcial, pero saber que Java me ha servido bien una y otra vez.

Soy un nuevo programador que aprende Swift como mi primer idioma. Tampoco tengo nada que compararlo, así que no estoy seguro de que sea más fácil / más difícil que en otros idiomas. Sin embargo, desde una experiencia de primera mano, lo recomendaría. Me lo he pasado genial aprendiendo y tendré mi primera aplicación en la tienda de aplicaciones en un par de meses.

Escribí una publicación en el blog que detallaba mi experiencia en el aprendizaje de Swift sin conocimientos previos de programación y sobre los recursos de aprendizaje que usé.

7 pasos para comenzar a aprender Swift, cómo aprender Swift

Como principiante, estoy teniendo un gran aprendizaje de Swift y lo recomendaría a otros principiantes que quieran desarrollar aplicaciones iOS.

Personalmente, recomiendo 4 opciones ahora que he reflexionado un poco sobre esa pregunta, asumiendo que eres un principiante absoluto.

  • Pitón
  • Golang
  • Rubí
  • Javascript / ES6 (tal vez mecanografiado – depende de usted)

Rápido – tal vez. Podría entender lo que estás pensando (a menos que esté completamente fuera de base), hay una idea de esta aplicación y quieres que sea una realidad. Podrías usar cosas como Cordova, PhoneGap y Javascript para hacerlo así. Aunque no confiaré en ellos completamente.

No tengo ningún orden, pero diría que elegir tampoco. Javascript te dará mucho kilometraje ya que tienes este panorama de uniformidad donde podrías escribir código en un solo idioma en todos los niveles (frontend, backend, etc.). Python también es un hermoso lenguaje para aprender.

Personalmente me expondría a Python primero (Nota: hago Scala, Golang y ES6 profesionalmente) antes de embarcarme en Swift. No codifico profesionalmente en Swift, pero he hecho proyectos en Swift para uso no comercial. Swift es un lenguaje muy elegante; A mi me parecía mucho Scala. Así que lo relegaría al segundo idioma que aprendas personalmente. Podrías usar Swift mejor si conoces javascript funcional, tengas cierta exposición a otras cosas en general … No estoy diciendo que sea una necesidad, pero definitivamente te hará más fluido.

Finalmente, no recomiendo que primero aprenda Rust, Haskell, Scala, Erlang o LISP. Esto puede ser controvertido para algunos, pero los relegaría al siguiente nivel. Necesitarías algo de experiencia en programación antes de comenzar esos. Usted podría ir Haskell primera ruta, pero en general no lo hacen.

De ningún modo.

Python es mucho mejor para entender el concepto de Programación especialmente para programadores principiantes.

¿Y por qué alguien debería aprender un lenguaje específico de la plataforma? Swift es principalmente para el desarrollo de aplicaciones iOS o MacOS, mientras que alguien que aprende Python puede ir en cualquier dirección y plataforma.

Swift sí permite que más personas comiencen a programar. Hace que sea más fácil para las personas que vienen de diferentes idiomas, ya no tiene que preocuparse tanto por el tipo, se eliminó el conteo de referencias, tampoco tiene que pensar en los punteros o la administración de la memoria. Así que es mucho más fácil en el sentido de que no tiene que preocuparse por esa sobrecarga de la misma manera que lo hace en Obj C.

Sin embargo, esto puede contribuir a una percepción mayor de que Swift es más fácil que el Obj C, y sí, mientras que el código es más legible, puede hacer en 1 línea lo que puede haber tomado 6 líneas antes, eso no tiene nada que ver con que sea más tonto. En realidad es más inteligente. Bajo el capó, está haciendo exactamente lo mismo. Ya sea que escribamos en Swift o en Obj C, el compilador esencialmente lo traduce en la misma cosa: el debate en torno a Swift es más sobre cómo a los desarrolladores les gusta expresarse, que cualquier otra cosa.

Sin embargo, algunos desarrolladores no encuentran que Swift ofrezca suficientes herramientas o características nuevas para justificar el cambio de lenguaje, y que la concisión del tipo en realidad limite su capacidad de expresarse. Pero, de nuevo, este es un lenguaje muy nuevo y, a medida que los desarrolladores continúen utilizando / experimentando en Swift, obtendremos una mejor comprensión del lenguaje en sí.

Si la pregunta es “¿es más rápido que Objective-c?” tal vez la respuesta puede ser “sí”, pero definitivamente no es un lenguaje fácil para comenzar a escribir código.

Estoy totalmente en desacuerdo con las personas que dicen que un archivo en lugar de dos (.my .h) es una reducción de la complejidad o que eliminar el punto y coma al final es bueno para los nuevos.

Si desea aprender a escribir código y pensar en cómo se debe escribir el código, la base de OOP, etc., le sugiero que empiece con un lenguaje como Python o Ruby no solo por la simplicidad del lenguaje en sí, sino también porque son Un lenguaje multipropósito.
En otros términos, cuando aprende a escribir código ruby, puede crear diferentes tipos de aplicaciones, pero si aprende Swift, lo único que puede hacer es una aplicación mac / ios, pero para hacer esto necesita cómo trabajar con todos Los marcos de Apple.

Si y no.

Voy a cubrir el no primero …

Es un lenguaje complicado y complejo, especialmente cuando se trata de códigos Obj-C o C antiguos. También tiene algunos gotchcas confusos, como cuando Swift pasa por valor y cuando pasa por referencia. Hay una buena discusión sobre eso aquí (Tipos de valor y referencia – Blog de Swift) Si va a cambiar de NSMutableArray a una matriz Swift nativa, puede que no sea tan simple como cree.

Xcode es bueno, pero está lleno de errores, incluso los 8.1 actuales me chocan unas cuantas veces al día (es un buen día), también pueden corromper tus guiones gráficos, copias de seguridad, copias de seguridad, copias de seguridad. Use el control de versiones, úselo regularmente, cuando Xcode se come su guión gráfico (y así lo hará), puede volver a una versión funcional.

Pero en general , es un lenguaje muy bueno, tal vez excepcionalmente bueno para un principiante.

Está escrito de manera estática , este es un sello de todos los buenos idiomas. Te enseñará buenos hábitos.

Se usa en el mundo real , no ha estado fuera por mucho tiempo, pero ya está de hecho en el desarrollo de iOS. Los idiomas como Rust o Haskell están muy bien, pero no encontrarás mucho en el mundo real.

Las API de Swift son, por lo general , sobresalientes, SpriteKit, AVKit, UIKit y mucho más son de primer nivel y de primera clase soportadas por Apple. En el mundo real, son las API las que rompen los acuerdos, no los idiomas.