¿Qué lenguajes de programación se usan más los fines de semana?

21/04/2017
Artículo original

Este artículo es una traducción de esta entrada de Julia Silge en el blog de Stack Overflow, con su permiso.

Para mí los fines de semana son principalmente para pasar en familia, leer por placer, y para trabajar en los proyectos de código abierto en los que estoy implicada. Estos proyectos de fin de semana se solapan con mi trabajo aquí en Stack Overflow, pero no son exactamente lo mismo. Muchos desarrolladores trastean con proyectos personales para aprender o para medrar profesionalmente (¡o para pasarlo bien!) y en Stack Overflow damos apoyo a todo tipo de tecnologías, ya sea profesional o por afición. Cuando las personas están programando, estamos disponibles para responder a sus preguntas. Pero, ¿sobre qué lenguajes hay más preguntas los fines de semana en comparación con los días laborables?

Usemos nuestro conjunto de datos StackLite público en Kaggle para explorar las diferencias entre las preguntas que se publican de lunes a viernes y los fines de semana. Este conjunto de datos está a disposición de todo el mundo para poder ser analizado; puedes usar un Kernel de Kaggle para analizar cualquier duda sobre las preguntas y las etiquetas en Stack Overflow.

Comparando etiquetas

Para este análisis, usaremos preguntas que no hayan sido borradas y etiquetas reutilizadas en más de 10,000 preguntas. Hemos definido los fines de semana usando las fechas UTC, lo cual no abarcará el fin de semana de todos los usuarios. En total, esta segmentación incluye 10,451,274 preguntas entre semana y 2,132,073 preguntas los fines de semana. Aquí la gran diferencia en el número global se debe a que la mayoría de las personas usa Stack Overflow para su trabajo los días laborables, y observamos este patrón tanto en el número de preguntas publicadas como en el tráfico a nuestra web.

Debido a este patrón entre semana/ fin de semana, no nos interesa si las etiquetas se usaban más los fines de semana que entre semana; lo normal es que todas las etiquetas sean más utilizadas entre semana. Lo que sí nos interesa es conocer qué etiquetas tienen un ratio mayor en relación con las preguntas publicadas el fin de semana en comparación con las preguntas de entre semana, y viceversa.

¿Qué etiquetas de las preguntas tienen la mayor diferencia de frecuencia relativa?

Etiquetas con mayor diferencia de frecuencia relativa?

Para explicar esto un poco mejor, veamos unos cuantos números. El lenguaje de programación Haskell supone un 0.365% de las preguntas del fin de semana en este conjunto de datos, pero solo un 0.21% de las preguntas entre semana, indicando que es extrañamente popular los fines de semana. Sin embargo SharePoint supone un 0.0683% de las preguntas del fin de semana, y un 0.188% de las preguntas de entre semana, demostrando que se usa más los días laborables.

Me produce una gran alegría que el lenguaje de programación funcional Haskell encabece las tecnologías de fin de semana, porque básicamente podemos decir que esta soy yo:

Yo no he aprendido Haskell, ¡pero mi reconocimiento a los que usáis los fines de semana para hacerlo! Y ahora aceptadme esta broma sobre Haskell, que es un lenguaje popular entre académicos y matemáticos pero no utilizado habitualmente en entornos empresariales.

¡Hagamos otras observaciones!

  • Vemos que algunas tecnologías de bajo nivel son populares los fines de semana, tales como C, C++, punteros, y ensamblador, además de etiquetas relacionadas con matemáticas, tales como algoritmo, recursividad, y (por supuesto) matemáticas.
  • Heroku y Meteor son plataformas de aplicaciones comúnmente utilizadas para prototipado rápido, lo cual puede sugerir que están siendo utilizadas para proyectos de aficionados los fines de semana.
  • Muchas de las tecnologías de fin de semana están vinculadas con Microsoft, incluyendo etiquetas relacionadas con Excel, SQL Server, VBA, y T-SQL. Otras comprenden tecnologías de empresa como Oracle.

También podemos visualizar estas relaciones comparando el número total de preguntas con las frecuencias relativas:

Las etiquetas que están más a la derecha en este gráfico (JavaScript, Java, C#, PHP, etc.) tienen más preguntas realizadas, y la etiquetas más a la izquierda menos. Las etiquetas que aparecen cerca de la línea discontinua tienen más o menos la misma cantidad de preguntas los fines de semana que entre semana, y las etiquetas que están más alejadas de la línea discontinua muestran las mayores diferencias entre el fin de semana y entre semana.

Podemos observar de nuevo que la mayoría de las etiquetas populares que son desplazadas de entre la semana están vinculadas con Microsoft (C#, ASP.NET, SQL Server, Excel, VBA) y que muchas de las tecnologías desplazadas del fin de semana incluyen cosas como C y C++, y también lenguajes más noveles com Swift y Node.js.

Trabajando durante el fin de semana

También podemos usar este conjunto de datos para evaluar cómo los desarrolladores han cambiado la forma de usar estas tecnologías con el paso del tiempo. Podemos usar una simulación para encontrar etiquetas cuya proporción de fin de semana (el porcentaje de preguntas que se realizan durante el fin de semana) ha variado más con el tiempo. Para etiquetas con más de 20,000 preguntas, ¿sobre cuáles se está publicando menos los fines de semana en comparación con el pasado?:

Aquí vemos etiquetas como Ruby on Rails y Scala que los desarrolladores usaban con un ratio más alto los fines de semana hace varios años, pero que ahora usan a un ritmo menor los fines de semana y mayor en días laborables. Estas tecnologías estaban más orientadas al fin de semana antaño, pero hoy en día suponen proporcionalmente una parte mayor de la vida laboral de los desarrolladores. El sistema de control de versiones SVN también ha caído en su uso el fin de semana en estos años; probablemente la aparición de GitHub (lanzado en 2008) ha llevado a que menos personas usen SVN para gestionar el código de los proyectos personales de fin de semana.

Si buscamos las etiquetas que más han crecido los fines de semana, vemos el motor de vídeo-juegos Unity3D, y un gran número de etiquetas usadas para crear aplicaciones móviles. Parece que los desarrolladores están diseñando ahora cada vez más vídeo-juegos y apps los fines de semana que en los años anteriores. ¡Una gran manera de pasar el fin de semana!

Hemos usado datos totalmente accesibles para hacer este análisis, y esperamos ver qué encuentran otros desarrolladores de nuestra comunidad explorando los productos de datos que ofrecemos. Nosotros en el equipo de datos usamos conjuntos de datos como este para responder a diferentes dudas sobre cómo entender, contratar y conectar con desarrolladores. Para ver cómo podemos resolver tus dudas usando datos y análisis, aprende más sobre Developer Insights en Stack Overflow.