Análisis subjetivo de la encuesta anual de Stack Overflow





Introducción


Cómo todos los años el famoso portal [Stack Overflow] nos brinda el *resumen de este año* acerca de las tecnologías más usadas y/o queridas u odiadas. El

análisis completo lo podemos ver [aquí].




Análisis de Stack Overflow. [IMG]

Análisis de Stack Overflow [Extern Original. IMG]


En mi cápsula de [Gemini] tengo un artículo sobre esa manía de mucha gente de *equiparar uso con calidad* en el mundo de la informática, y también en otros

ámbitos, pero sobre todo últimamente en el de la informática donde cada vez más escucho el argumento de que hay que aprender tal tecnología o que tal tecnología

es mucho mejor porque se usa mucho. Entiendo que es un concepto muy humano, somos animales sociales y tendemos a pensar que si algo lo hace mucha gente es

porque es bueno. Todos conocemos el famoso dicho, algo tendrá el agua cuando la bendicen, pero también es un asunto muy capitalista/consumista *ligado a la

publicidad* ya que es muy habitual que te convenzan de que compres un producto con el argumento de que es muy usado y claro, miles de personas no pueden estar

equivocadas.... ¿o sí?


Los que llevamos muchos años en este mundo de la informática o simplemente si te gusta leer un poco sobre la historia de ésta sabemos que siempre han habido

tecnologías que han sido muy usadas por diversos motivos y no siempre porque sean mejores o al revés, muy buenas tecnologías que han pasado completamente

desapercibidas.


Por todo esto, yo voy a hacer un análisis del _análisis de Stack Overflow_ pero enfocándolo en lo que a mí me gusta y justificando mis cosas usando este

análisis.


Veréis que mi análisis es *completamente subjetivo* en algunas ocasiones y en otras veréis que tiene sentido lo que digo. También podéis pensar, pero ¿qué que

estás contando?. Así que este artículo sirve tanto para que penséis sobre la validez de estos análisis como también para reírnos un poco de nosotros mismos.



Stack Overflow

aquí

Gemini



Sobre mis gustos y tendencias en el mundo de la tecnología


Como el análisis es puramente subjetivo antes tengo que poner un poco en *antecedentes sobre mi persona* en cuanto a gustos y opiniones personales sobre este

mundillo.


Por un lado cada vez soy *más minimalista*, me gusta los entornos, sistemas operativos, tecnologías en general que sean cada vez más simples y que se basen en

hacer su cometido. Esto antes se llamaba la *filosofía UNIX*, en plan, haz una cosa pero hazla bien, y en general es mi planteamiento. Sólo rompo ese principio

a la hora de usar una herramienta que para mí es *"La herramienta"* que es _Emacs_, que aunque es una tecnología antigua tiene poco de filosofía UNIX ya que no

hace una sola cosa bien, hace muchísimas cosas a la vez pero de forma increíble. Podéis verlo en su [web].



Emacs. [IMG]

Emacs. [Extern Original IMG]


Por otro lado, y siguiendo ese planteamiento de minimalismo también me pasa con el tema del hardware. Trabajo con *ordenadores antiguos o de poca potencia* tipo

Raspberry Pi o semejantes y considero que muchos lenguajes y tecnologías actuales hacen lo mismo que las antiguas pero necesitando mucho más hardware. Por

ejemplo, veo que hay un gran amor por Rust, que debe ser un lenguaje genial pero cuando compilo cualquier proyecto con Rust tarda muchísimo para al final

producir un programa que hace lo mismo que un programa programado con C, que es compilado en muchísimo menos tiempo. Luego por ejemplo, con el ejemplo de C,

¿cuánto ocupa de espacio el compilador de C?, ¿llega a megas?, en cambio cuando me descargo el de Rust o Go son como mínimo son 500 megas. Por favor, que

alguien me explique en donde se van esos *500 megas*, para hacer al final un programa que se puede hacer igual en C.


Otros de mis gustos es que al final *le cojo manía a los lenguajes que usa todo el mundo* con la excusa de que, es que lo usa todo el mundo, hablo de ti Python,

que además te fuerza a identar el código, que lo mire por donde lo mire no veo la ventaja de eso. Y lo mismo me pasa con ciertos IDEs que hace cuatro días te

decían que eran los mejores porque todo el mundo los usaba y ya veremos como han descendido su uso en lo últimos años, y ya os digo que en futuro algunos de los

que ahora son muy usados también desaparecerán. Emacs o [Vim], por ejemplo no son los más usados pero llevan 30 años Vim y 40 Emacs, así que me río yo de los

que han durado 5 o 6 años como Atom.


Además la batalla de los editores Vim vs Emacs es tan mítica y antigua como la propia informática.


Vim vs Emacs. [IMG]

Vim vs Emacs. [Extern Original IMG]


Además en cuanto a programación y al gustarme más la tecnología antigua realmente empecé a disfrutar de la programación cuando *descubrí LISP* (el segundo

lenguaje creado y que se sigue usando y enamorando a partes iguales), y de todos sus derivados como *Emacs Lisp, Clojure, Scheme, Guile, etc*. Haré hincapié en

ellos simplemente porque me gusta y el análisis es mío y ya sabéis el dicho.


Por cierto, el otro día leí que esa manía de los informáticos de hacer nuevos lenguajes que básicamente hacen lo mismo que los antiguos es porque una

característica de ellos es que son gente *muy narcisista* que se creen mejor que nadie y por lo tanto consideran que pueden reinventar la rueda haciéndola mejor

para al final hacer una rueda que hace lo mismo pero es más cara.


Para terminar haré algún apunte social sobre que el 95% de los programadores son *hombres blancos y heterosexuales y de países ricos*, con el problema que eso

conlleva. ¿Creéis que no? Esa manía de rehacer la rueda más cara es porque al ser blancos narcisistas y ricos no les importa que otra persona de un país pobre

no se pueda permitir comprar su chupi guay rueda supercara.


Esto es algo en lo que estamos en contra los que amamos la [permacomputación].



Servidor Solar. [IMG]

Servidor Solar. [Extern Original IMG]



Si sois informáticos estos últimos párrafos os los podéis tomar como queráis.



web

Vim

permacomputación



Vamos con el análisis


Voy a ir comentando cosas tal cual aparecen en el análisis de [Stack Overflow]



Stack Overflow


Cómo aprendemos a programar


Es interesante ver como da igual de donde seamos y cuales sean nuestros colores o equipo preferido aunque se sigue aprendiendo mucho en la Universidad,

colegios, etc, *cada vez se aprende más a través de Internet con cursos, blogs, videotutoriales, etc*, y es que aunque aún hay gente que te pide título

para mirarselo muchos _docentes y responsables de la educación_ en países e instituciones. Iba a hacer algún chiste sobre el tema pero es que viendo como están

muchos universidades al menos en mi país es más para llorar que para reír.


Fuentes de aprendizaje. [IMG]

Fuentes de aprendizaje. [Extern Original IMG]



Tipo de desarrolladores


Si vemos esta parte no hay mucho misterio, aquí quien gana es *"Juan Palomo"* porque es que la especialización todavía ni la hay ni se le espera. Esperemos que

esto vaya cambiando pero hay que ver lo que cuesta ¿verdad? Si se ven algunos perfiles como Devops, profesional en la seguridad, etc, pero nada, un porcentaje

muy bajo y es que es algo que siempre me ha quemado de la informática que _te piden de todo_.


Os pongo un ejemplo, una vez una amiga de mi madre me preguntó si podía arreglarle la aspiradora porque claro, como yo sé de cables y esas cosas... Seguro que

tenéis historias igual o peores ya que parece que eres informático lo puedes arreglar todo y ésto si vemos las películas donde básicamente el informático es el

comodín para los guionistas gandules para solucionar situaciones de todo tipo pues ahí tenemos la explicación.



Cómo somos los informáticos


Pues como ya he dicho en la introducción somos *hombres, heteros y blancos*. También os lo digo que o se miente mucho en las encuestas en el tema de la

orientación sexual o no me cuadra pero bueno y el tema de que el 90% de los programadores sean hombres es un *problema muy muy gordo* y el que me venga diciendo

que las mujeres no programan porque no quieren o no les gusta o tiene un problema gordo o *es imbécil*, elegid la opción que más os guste.


Somos:


Sombres hombres. [IMG]

Somos hombres. [Extern Original IMG]


Blancos. [IMG]

Blancos. [Extern Original IMG]


Heteronormativos. [IMG]

Heteronormativos. [Extern Original IMG]



¿Estamos locos?


Bueno la respuesta ya la conocemos *y es afirmativa*, como cabras pero es que el hecho de que haya un 10% con problemas de ansiedad no sé si achacarlo a un

problema genético como otras enfermedades o es que nos lo causan en el trabajo. Si tenéis una enfermedad mental no dudar en ir a un _especialista_ pero si la

ansiedad os la causa el trabajo creo que quemar el edificio donde trabajáis cuidándose de que esté vuestro jefe y no vuestros compañeros puede ser una opción a

estudiar. Si ahora alguien viene diciendo que estoy promoviendo la violencia que sepa que está totalmente equivocado, o no.


Condición mental. [IMG]

Condición mental. [Extern Original IMG]


Tecnologías más usadas


Bien, gana de calle *JavaScript y HTML/CSS*, pero no voy a decir nada de momento. El resto de tecnologías más usadas tienen que ver con Javascript por lo tanto,

npm, node.js, etc, pero como digo esto lo dejaremos más en contexto en unos apartados más abajo.[1]


Lo más usado es JavaScript. [IMG]

Lo más usado es JavaScript. [Extern Original IMG]



Qué IDEs usamos


Bueno, el más usado hoy es el *Visual Studio Code*, lo que denota que ser programador e inteligente no va siempre de la mano.


Visual Code lo más usado. [IMG]

Visual Code lo más usado. [Extern Original IMG]



Mi *maravilloso Emacs* tiene una cuota de 4.51% que a mí me sobra y aunque es menor que Vim es mayor que [Rstudio]. Y esto, ¿os importa a vosotros? no, pero a

mí por mis peleas concretas de *usar Emacs como mejor IDE para análisis de Datos* por encima de Rstudio sí. Cosas mías.


Emacs es más usado que Rstudio. [IMG]

Emacs es más usado que Rstudio. [Extern Original IMG]


Eso sí, el hecho de que Vim tenga una cuota de uso mayor que Emacs es porque la mayoría de gente abrió una vez Vim y como aún *no han sabido salir del programa*

ahí lo tienen abierto para los siempres jamases y claro desvirtúa el análisis.


Cómo salir de Vim. [IMG]

Cómo salir de Vim. [Extern Original IMG]



Rstudio



Herramientas Síncronas


Esto es más bien para videollamadas y esas cosas y aunque Teams y Zoom son los reyes hay que decir que las *opciones de Software Libre* ni se mencionan

básicamente porque no tienen grandes empresas detrás gastándose mucha pasta en publicidad. Si queréis buenas herramientas para videollamadas para vosotros o

vuestra empresa usad [Jitsi] o [BigBlueButton], le da mil vueltas a Zoom o a Teams.



Jitsi

BigBlueButton



Tecnologías que amamos versus tememos


Me gusta este cambio porque otros años en los análisis de Stack Overflow ponían algo así como tecnología que amamos versus odiamos. Es algo así como tecnologías

que nos gustan mucho versus otras que usamos por narices pero no nos gusta nada. Esta vez se refieren más bien a tecnologías que amamos versus tememos. Esto

quiere decir que algunas tecnologías pueden ser buenas pero a lo mejor mucha gente teme por diversos motivos, no porque sean malas, puede ser por malas

experiencias, curva de aprendizaje dura, o que como he dicho ser programador y ser inteligente no siempre va de la mano.



Vamos a ver algunas que me han llamado la atención:



Lenguajes de programación, de scripting o marcado.



Rust es el más querido. [IMG]

Rust es el más querido. [Extern Original IMG]



ser más moderno tiene cosas mejores hechas. Pero como digo en mi ordenador compilar un programa con Rust tarda como 4 veces más tiempo que otro en C++. Tengo

que estudiarlo más o que alguien me cuente su experiencia.


las librerías que reconozco que es durilla. Como digo cosas curiosas. Pero más curioso es *por otro lado que R esté a la par de C*, no lo entiendo porque

claramente R es más fácil de entender que C pero bueno. Esto a mí me viene bien porque colaboro con un grupo que queremos potenciar el *uso de Clojure para el

análisis de datos como alternativa a R y Python*. Si queréis saber más de ese grupo aquí os dejo el [enlace].


R está a la par que C en dar miedo. [IMG]

R a la par que C en dar miedo. [Extern Original IMG]



Rust

enlace



Los Web frameworks


Aquí tengo poco que decir. Salen frameworks como setas cada 10 minutos y los que ayer eran populares ya no y viceversa. Clojure en concreto tiene pocos web

frameworks como tales. Solo algunos como [Fulcro] o [Luminus] pero por otro lado su forma de trabajar es más bien tener muchos módulos donde el programador

puede elegir como hacer su aplicación web, de escritorio o móvil. O invito que le echéis un ojo a [Reframe], por ejemplo.



Fulcro => https://luminusweb.com/ Luminus => https://day8.github.io/re-frame/ Reframe


# IDes


Neovim es el más querido. [IMG]

Neovim es el más querido. [Extern Original IMG]


Aquí vemos como Emacs aunque menos usado que Vim claramente la gente lo adora más. Como ya he dicho los usuarios de Vim lo siguen usando porque aún no saben

salir del programa algo que les sigue frustrando. Y de [NeoVim] no hablo porque simplemente no me interesa. Vuelvo a recalcar que esto es un análisis subjetivo

y me fijo en lo que me da la gana.


Eso sí, esto también me vale para los amantes de *Rstudio* ya que tengo unos cuantos en mi entorno y que podemos ver como *no lo quiere realmente nadie*.


Rstudio no es muy querido. [IMG]

Rstudio no es muy querido. [Extern Original IMG]



Como nota final vemos como Atom hace 5 años era lo mejor de lo mejor y ahora es lo peor de lo peor. Esto es como el mundo del espectáculo que *te quieren y te

odian de un día para otro*. No hay piedad, sólo los verdaderos programadores seguimos siendo fieles a nuestros IDEs año tras año, lo demás es fandom

despreciable.



NeoVim



Otras herramientas


Aquí como sorpresa me llevo que _Slack_ le gusta a la gente, no sé por qué ni quiero entenderlo, pero es horrible porque mucha gente lo usa como fuente de

documentación y no tiene sentido. Posible documentación se pierde en conversaciones inútiles, por eso digo que herramientas como los grupos de Usenet eran

realmente mucho más efectivos y útiles. Aún así y con todos sus fallos he encontrado una herramienta que permite usar Slack como fuente de

documentación. [Kbclip] te permite salvar conversaciones de Slack como documentación bien escrita. También hay por ahí algunas otras [alternativas].



Kbclip => https://stackshare.io/kbclip alternativas



Usuarios de herramientas que quieren trabajar con otras herramientas


Luego hay unos gráficos muy monos sobre usuarios que usan determinados lenguajes, IDEs, bases de datos, etc, y qué porcentaje de ellos usarían otra herramienta

y cuál.


Echadle un ojo que es muy interesante pero yo recalco que muchos usuarios del IDE más usado que es Visual Studio Code quiere probar otros. Por ejemplo, eso no

pasa con los usuarios de Vim, no sé si por amor a su Editor o porque no pueden salir del programa y los usuarios de Emacs ni aparecen ni se les espera porque

está claro que el usuario de Emacs no quiere usar ni otro IDE ni otro editor, ni otro programa ni siquiera otro Sistema operativo que no sea Emacs.



Los usuarios de Visual Code son los que más quieren probar otras cosas. [IMG]

Los usuarios de Visual Code son los que más quieren probar otras cosas. [Extern Original IMG]



El dinero es dinero, aprende algo dinero.


Podemos discutir si un lenguaje, herramienta, etc, es mejor o peor por ser más usado o menos usado. También podemos discutir si es mejor aprender un lenguaje,

herramienta, etc, que sea muy usado porque eso nos va a facilitar el encontrar trabajo. Esto último parece evidente ya que puede que nos guste tal lenguaje pero

a lo mejor en nuestra zona o país solo usan, no sé, .NET o Visual Basic porque la empresa que tenemos cerca aún mantiene unos servicios que usan esa

tecnología. Pero se me pasó deciros que hay otro análisis donde evidencia que por fin el teletrabajo al menos en nuestro sector se ha impuesto al trabajo

presencial y si como mínimo sabemos inglés podemos trabajar casi en cualquier parte del mundo desde casi cualquier parte. Precisamente ayer vi una [oferta de

trabajo para Clojure] para teletrabajar en Alemania donde buscan gente de todas partes que sepa Clojure e inglés, el alemán se agradece pero no se exige.


Así que gracias a esa libertad tal vez no tengamos que preocuparnos tanto cual es el lenguaje que más se usa en nuestra zona sino *cuál es el mejor pagado* y

aquí éste análisis no deja lugar a dudas.


Clojure es el lenguaje mejor pagado. [IMG]

Clojure es el lenguaje mejor pagado. [Extern Original IMG]



Como vemos mi querido [Clojure] es el *lenguaje mejor pagado* pero además en general *los lenguajes basándose Lisp y los funcionales se llevan el gato al

agua*. Y si nos vamos a la tabla baja en cuanto a salario pues resulta lo obvio, *los lenguajes más usados son precisamente los peores pagados*, algo lógico, y

están en la parte alta de la tabla en cuanto a salarios y los famosísimos lenguajes que todo el mundo te dice que aprendas como JavaScript, Java, Python, R o

PHP tienen salarios muy bajos.


Los más usados son los peores pagados. [IMG]

Los más usados son los peores pagados. [Extern Original IMG]



Sobre *R y Python* para análisis de datos diré que llevo mucho tiempo diciendo que ya deberíamos pensar en *lenguajes como [Julia] o el propio Clojure para ir

sustituyéndolos* aunque tengan muchas librerías muy interesantes que se siguen pudiendo usar desde otros lenguajes. En este caso los salarios me dan la razón.



oferta de trabajo para Clojure => https://clojure.org/ Clojure

Julia



Conclusiones


Estas son mis conclusiones pero por supuesto vosotros podéis sacar las vuestras y además me dejo muchas cosas en el tintero, así que os invito que veáis todo el

análisis que se pueden aprender muchas cosas interesantes del él, por ejemplo, cómo hacer análisis visualmente interesantes.


Por mi parte, mis conclusiones son:



porque van a la m....


como lenguaje Emacs Lisp que es un derivado del mejor lenguaje que es Lisp.


Emacs tiene un lenguaje de marcado llamado org que es parecido a markdown pero mucho mejor básicamente porque markdown no es un estándar y cada hijo de vecino

tiene su propio markdown totalmente diferente uno de otro.


vuelta de hoja completa a cómo se programa o simplemente cómo se hacen las cosas. Y el que piense que no hay más mujeres en el mundo del desarrollo porque no

quieren, no están preparadas biológicamente o cualquier excusa estúpida que se le ocurra es que no sabe de la misa la mitad.





pd: Una buena idea de aprendizaje de un nuevo lenguaje para el año que viene es aprender Esperanto. Os lo aconsejo y [aquí] os lo van a explicar muy bien.



aquí




Footnotes _________


[1] Spoiler. Cuando veamos los salarios



/gemlog/