Parece que el desarrollo de iOS / Swift se basa más en kits de herramientas y clases incorporadas que en otros lenguajes de programación. ¿Dirías que es verdad?

Se basa en kits de herramientas ni más ni menos ObjC para las mismas plataformas. Tiene algunas cosas más en la biblioteca Swift que ObjC tiene en Foundation (y porque une el 99 +% de todos los ObjC, también recoge Foundation).

Java también tiene mucho framework, y aunque C ++ no tiene tanto, probablemente lo tenga después de agregar una API específica de plataforma que necesita para crear una interfaz de usuario moderna.

Por otro lado, no necesitas memorizar todo eso en ningún idioma.

Sé que las cadenas Swift y NSString de ObjC tienen formas de dividirse en conjuntos de cadenas dados un separador. No puedo recordar lo que son. Sé exactamente dónde buscar en la documentación, así que estoy seguro de que no tengo más de 30 segundos para encontrarla.

No necesita recordar cuáles son las llamadas exactas para traducir las coordenadas de la vista a otras vistas / ventanas / pantallas. Solo necesita recordar que son distintos y dónde buscar los métodos que lo hacen.

De hecho, muchas veces puedes ignorar marcos completos. ¿Escribir un videojuego? Hay muchas posibilidades de que pueda ignorar HomeKit y HealthKit y si está haciendo algo especial que quiere uno de los que ya conoce (por ejemplo, un juego que ajusta el nivel de dificultad hasta que la frecuencia cardíaca de los jugadores esté en una zona específica).

Si no lo usa con frecuencia, no necesita memorizarlo, solo tenga una idea decente de dónde encontrarlo. Si lo usa con frecuencia, lo memorizará de forma natural.

Por otro lado, si el idioma considera que el otro es pequeño (o por cualquier razón) que no proporcionará un sistema de almacenamiento con clave genérico (diccionarios) o un sistema de persistencia, entonces asegúrese de que sea más fácil memorizar el idioma más pequeño ( y bibliotecas estándar), pero no tiene que escribir todo ese código adicional cuando lo necesita, y recordar cómo funciona y depurarlo, pero cada vez que trabaja en un proyecto nuevo (para usted) necesita encontrar y aprender todo ese código extra (¿ese lector de libros en el que trabajó el año pasado? ¡Conjunto de funciones de utilidad diferente al juego de estrategia de este año!). Apuesto a que todo el código de cosecha propia no está tan bien documentado (o depurado u optimizado) como las cosas de la biblioteca estándar tampoco. O tal vez puedas obtener algo de eso de GitHub … pero luego solo reducirás un poco el problema. Tal vez dos proyectos seguidos tomaron los mismos conjuntos de utilidades, pero, de nuevo, tal vez no.

En realidad no, tu premisa es confusa.

Pero primero, si confía en la memorización, lo está haciendo mal, en serio, deténgalo ahora. Necesita memorizar la sintaxis básica, eso es todo. Si está memorizando UIKit y todo eso, deténgalo.

Si está comparando el desarrollo de iOS con, digamos, un simple programa de consola C, entonces sí, obviamente es más dependiente de herramientas, marcos y todo eso, pero no está comparando lo mismo con lo que está comparando un BMW con un par de zapatillas para correr.

Si escribiste el mismo programa de consola en Swift, verías que Swift no es realmente tan dependiente en absoluto.

El problema aquí es que estás combinando lenguajes de programación con plataformas de desarrollo completas. Swift es el lenguaje de programación, puede usarlo si lo desea, pero una vez que comience a ingresar a las UI o los juegos, entonces, sí, usará frameworks. Lo mismo es cierto para todos los idiomas.

Si comienza a escribir aplicaciones de Android, encontrará que es la misma situación, el lenguaje Java / Kotlin no depende de un montón de marcos, pero el desarrollo de Android sí .

Ni remotamente cierto. Los idiomas son la parte fácil: es el ecosistema el que es difícil. Cree que Swift es malo, pruebe JavaScript, Rails o Java del lado del cliente.