¿Por qué parece haber una correlación entre el desarrollo de iOS y la programación de Ruby?

Podría ser completamente anecdótico o casual (quiero decir, a menos que tenga cifras empíricas que lo respalden), pero tengo un par de teorías:

Las Mac han sido la estación de trabajo preferida de los desarrolladores de Ruby / Rails.

Tampoco hay cifras que respalden esto, pero durante mucho tiempo he visto que la mayoría de los blogs o tutoriales de Ruby o Rails dicen categóricamente algo como: “Todo esto funciona en Mac: los usuarios de Windows podrían tener más dificultades para obtener todo trabajar.”

Una posible razón para esto es cuánto más fácil es obtener extensiones nativas para que las gemas de Ruby se creen bajo OS X en comparación con Windows.

Como todos sabemos, la única forma real de desarrollar aplicaciones de iOS es mediante el uso de Xcode que, por razones conocidas solo por Apple, solo está disponible para OS X.

Además, como me he dado cuenta:

Ruby y Objective-C son más similares que a primera vista.

Claro, su sintaxis se ve muy diferente, pero semánticamente, comparten muchas cosas en común.

Una forma de decirlo es que Objective-C es como Ruby, pero (algo) estáticamente tipado y mucho más detallado: utiliza el paso de mensajes, por lo tanto, puede hacer ‘tipeo de pato’ (en tiempo de ejecución, si no en compilación) hora). Cuenta con cierres. Incluso puede hacer una meta programación primitiva (ver Equivalente al método de Ruby_missing en Objective C / iOS).

Inicialmente, pensé que esto era simplemente una convergencia agradable, hasta que aprendí que ambos comparten Smalltalk como una influencia común.

Así que ahí lo tienes: un grupo de desarrolladores que ya están en Mac, que ya están familiarizados con un lenguaje dinámico orientado a objetos. No es de extrañar que más de unos pocos (incluidos) incluyan Objective C / iOS.

Si eso es lo que estás viendo, probablemente sea porque los desarrolladores que conoces eran desarrolladores de Ruby antes de iOS. iOS como plataforma solo surgió en 2008, por lo que si antes eras un programador que trabajaba, tenías que estar haciendo algo, y probablemente no era el desarrollo de Mac.

Un desarrollador de iOS que también tiene que construir su propio backend va a ir con lo que ya sabe. Estarán demasiado ocupados adoptando nuevas API de iOS 7, haciendo ajustes de rendimiento, etc. para decirse “¡vaya, realmente me gustaría aprender Scala para este proyecto!”. La tecnología web ya no les importa, es solo REST.