Escribir una aplicación dentro de X horas / días es una moda relativamente nueva si considera el historial de programación, desde la resurrección de punto com y el nacimiento de la era de inicio post-google. Esta moda nace y se propaga por el hijo más joven y notorio de la industria del software: Programming Education . Esta industria es viral y se propaga rápidamente como una telaraña, como una curva exponencial.
Desafortunadamente, las casas de software que producen las herramientas para la industria, utilizando tuercas y tornillos, extrayendo minerales, cavando el suelo, se ven obligados a usar, adoptar y ser parte de esta moda.
Cualquier nuevo sistema operativo, idioma o producto debe ser adoptable / utilizable / rentable dentro de X horas / días para justificar su adopción anticipada.
- ¿La Ley de Atwood solo se aplica a aplicaciones y redes web?
- ¿Cuál es la estrategia de Microsoft para lanzar la aplicación Word Flow para usuarios de iOS?
- ¿Debo usar Parse de código abierto?
- ¿Cómo se compara ARKit con ARCore?
- ¿Cuál es la forma más rápida de comenzar con el desarrollo de iPhone, con la menor cantidad de esfuerzo?
Sin esta promesa, la inversión realizada no puede justificarse. Es muy difícil superar los obstáculos iniciales de la validación de ideas, ya sea una pequeña startup o mamuts establecidos como Apple.
El software, por definición, está diseñado para reducir los esfuerzos humanos, especialmente cuando contiene repetición y cálculo. El nacimiento de Internet agregó una capacidad adicional al eliminar la conmutación y mejorar la comunicación.
Pero lo que nadie entiende es que construir un sistema que sigue, bifurca y pasa por alto las reglas humanas en los puntos adecuados lleva mucho tiempo construirlo . Hable acerca de la comprensión del dominio empresarial, el diseño del producto primero. El lenguaje de programación es el paso que sigue, y su éxito depende de cómo le fue a sus precedentes.
Suponiendo que las partes interesadas entiendan las primeras etapas al 100%, la cantidad de competencia de programación tiene un impacto directo en el tiempo de desarrollo. Para expresarlo en lenguaje de programación, tiempo de desarrollo:
T = k log X + C
donde X es competencia de programadores ideales, k y C son constantes necesarias.
Y soy bastante malo con las expresiones matemáticas, ¡así que existirán mejores iteraciones!
Swift no es una excepción. Es como otro idioma, además tiene tiempo para madurar con la adopción del desarrollador. Cada lenguaje pasa por este ciclo, y su evolución depende de la generación de programadores que haya obtenido.
Curiosamente, lo contrario es igualmente cierto. Es decir, los programadores nacidos con Swift serán radicalmente diferentes de los que no tenían nada más que ensamblaje o C. Serán menos pacientes, comprobarán la corrección del código con poca frecuencia y es probable que dependan de las herramientas que los alimentan con informes. , en lugar de cómo se puede escribir mejor un programa en una hoja de papel, simplemente mirando la hoja durante horas.
¿Qué laboratorio crees que tenía Einstein? ¿Alan Turing no pertenecía a la misma generación?