Cada año la comunidad de StackOverflow le pregunta a la comunidad de desarrolladores sobre todo: desde sus tecnologías favoritas hasta sus preferencias laborales. Este año marca el octavo año en que se publican los resultados anuales de esta encuesta para desarrolladores con el mayor número de encuestados hasta el momento. Más de 100 000 desarrolladores realizaron la encuesta en enero pasado. Este año se cubrieron nuevos temas, temas que incluyen desde inteligencia artificial hasta ética en el trabajo.
|
etiquetas: encuesta , desarrolladores , stackoverflow
Developers who work with languages such as Cobol and Perl have the most years of professional coding experience
Quizas no estes tan desencaminado...
92.7% male
6.8% female
Está claro que la cultura opresora del heteropatriarcado tiene la culpa de que no haya mujeres programadoras o interesadas en stackoverflow. A las armas! hagamos una campaña de igualdad de género!
P.D a ver si conseguimos que en las carreras técnicas no estemos siempre en un campo de nabos...
Pero bueno, cada uno/a estudia lo que le sale de los huevos/ovarios.
edito: universidad, cursos o lo que sea
Por otra parte, Angular, React y Vue están pegando muy fuerte en la parte frontend, y bueno, eso implica tanto web como híbrido como nativo con React Native.
Salvo que todavía desarrolles en escritorio, es muy probable que uses javascript con alguna de las frameworks actuales, y además te guste. Así que la encuesta está muy alineada con la realidad, al menos con la que yo siento y conozco.
Curioso como profesiones que nombras tradicionalmente femeninas antes eran masculinas. ¿Ha cambiado la genética? No, cambiaron hábitos. Trabajos técnicos también están cambiando, pero dado que son relativamente recientes, ese cambio aún no ha llegado (recordemos que las primeras mujeres ingenieras en España son de los 80).
Al contrario tenemos por ejemplo psicología, que tiene una amplia mayoría de mujeres. Al parecer los hombres preferimos rompernos la cabeza para entender los ordenadores y la mujeres prefieren romperse la cabeza para entender la mente humana. Y mientras haya libertad para que cada uno elija lo que le dé la gana, ¿Cuál es el problema?
Quiero creer que en algún momento saquen un nuevo javascript, o un lenguaje que haga lo mismo, pero que sea mínimamente legible. Es un coñazo de mantener.
Lo curioso es que en el laboratorio de informática las chicas iban a hacer su trabajo práctico, tomaban sus notas y se iban. Mientras que los varones íban, medio hacían el trabajo mientras hurgaban en todo lo que había. Llevaban y traían virus, los destripaban y hacían antivirus, instalaban nuevos sistemas operativos o se dedicaban a romper y arreglar el que había, etc. etc.
Pero seguro que la culpa es del estigma social de las mujeres...
Pero sí te puedo decir que vengo de ser arquitecto certificado de Java, y MSCD de .NET, hablamos de más de 12 años con esas dos tecnologías... y no vuelvo ni aunque me paguen mucho más.
Sí te puedo decir que, cuando monto un taller para enseñar node (de forma gratuita), el primer ejemplo que hago siempre es crear una API para tener clientes, facturas y líneas de factura, securizada y con niveles, es decir que puedes acceder a /api/clientes/{numCliente}/facturas/{numFactura}, y partiendo de 0 se programa completa y se despliega en Heroku con base de datos mongo en Mlab (0€ en total de despliegue) en menos de 9 minutos. Ni en mis mejores sueños húmedos con Hibernate + Spring... y mucho menos gratis.
No sé, ya digo que mi opinión es sesgada, pero te invitaría a probarlo al menos o ir a algún meetup de tu zona. Si tu zona es Barcelona, puedes contactar conmigo, estoy montando un workshop para gente que se inicia, sería a finales de Abril, en principio en Poblenou, con cerveza y pizza gratis.
En los países nórdicos se han hecho muchas campañas para equiparar profesiones y no se ha conseguido, salvo una tímida subida durante la campaña de apoyo en concreto.
Principalmente yo trabajo con Python y algo de mantenimiento de scripts algun que otro lenguaje de scripting para Windows.
Yo veo dos motivos:
Ahora con las infraestructuras en la nube que ofrecen los gigantes de internet (google, amazon...) ya no es tan necesario utilizar plataformas altamente escalables como Java. Se imponen metodologías, frameworks y lenguajes mucho más ágiles. Javascript es todo eso y además es uno de esos lenguajes que sirven para todo. Lo malo es que también se presta mucho a generar código bastante guarro e inmantenible.
La segunda razón es que javascript es el lenguaje con el que se inicia mucha gente en la programación (para mi un error). Esto provoca que al principio muchos no escriban una sola línea de código sin consultar stackoverflow.
De todos modos, espero que Web Assembly se cargue esta tendencia, porque me parece mucho más interesante que el mundo del desarrollo web no esté vendido a un solo lenguaje que además es tan anárquico.
Me parto
Y mira que lo uso para editar COBOL!!!
Male 92.4%
Female 7.4%
Mi comentario previo era bastante irónico.
Respecto al tiempo de despliegue... Personalmente tardaría más en programar esa misma aplicación en Node.js que en PHP o Python. Creo que eso depende más de con qué tecnologías estés dispuesto a trabajar.
No nos confundamos: JavaScript no ha triunfado por moda sino porque ha superado todos los baches con los que se ha topado su competencia (es decir, Flash y los applets de Java).
Y me juego el cuello a que la inmensa mayoría de consultas en Stack Overflow son sobre JavaScript y sus frameworks, no sobre Nodejs.
Para mi la explosión de JavaScript se debe a la explosión de HTML5 en la web y la migración de las aplicaciones locales a la web.
Yo lo utilizo principalmente para "ahorrar", es decir prefiero que se ejecute lo que se pueda en el cliente y no en mi servidor. Para que voy a ordenar yo un vector, cuando me lo puedes hacer tu jejeje. Lo que desencadeno todo esta moda ha sido el AJAX y JQuery, los frameworks como Angular, Vue o similar simplemente te van haciendo las cosas mas fácil y con menos lineas de código. Vamos la que tenias que liar hace 10 años hará hacer un "get request" y lo que cuesta ahora con cosas como Axios.
Ademas va a ir a mas. Hay librerías muy curiosas y mundos por explorar como el WebGL.
TypeScript is a typed superset of JavaScript
Con respecto a Coffee, sí que es parte del problema pero su uso, hasta donde yo sé, va a menos.
Si han surgido tantos frameworks es, precisamente, porque ninguno es la piedra filosofal. Todos intentan que manejar el DOM no sea un puto infierno, que la página no se refresque entera cada vez que modificas el estilo de un componente, y que se pueda mantener un estado con los datos manejados hasta el momento (y que no se pierdan al pasar a la siguiente página web, ni haya que pasarlos a mano). Es decir, soluciones chusqueras para viejos problemas de los 90 que deberían solucionarse a nivel de navegador, no de lenguaje de scripts.
Para cualquier chorrada que quieras hacer, necesitas buscar librerías adicionales, y en la mayoría de los casos la documentación es pésima. Hasta para manejar fechas tienes que recurrir a librerías externas. Javascript deja mucho que desear...
Con otras tecnologías no sería gratis: bueno, java o .NET Framework (que no .NET Core) son monstruitos pesados... no sueles encontrar un sitio para desplegar gratis. Y luego el tema de las bases de datos, con mlab despliegas un mongo en AWS hasta 500MB gratis, suficiente para jugar, pero SQL Server u Oracle no es que encuentres algo gratis.
Eso me suena que era precisamente la gran baza de Java. Y sin embargo así estamos, ganando terreno incluso en sitios donde Java estaba destinado a ser el rey. Todo esto lo convierte es una gran tecnología. Fea y chusquera, sí, pero funciona.
[...]que la página no se refresque entera cada vez que modificas el estilo de un componente, y que se pueda mantener un estado con los datos manejados hasta el momento (y que no se pierdan al pasar a la siguiente página web, ni haya que pasarlos a mano). Es decir, soluciones chusqueras para viejos problemas de los 90 que deberían solucionarse a nivel de navegador, no de lenguaje de scripts.
A nivel de navegador es precisamente la solución que ofrece JavaScript. ¿Cómo pretendes que se implementen estas soluciones sino? Creo que aquí pides imposibles. HTTP es un protocolo sin estado.
Por lo demás, estoy de acuerdo con lo de las librerías. Sí, es horrible.
Desconozco, .NET, supongo que Microsoft en algún momento te obligue a pasar por caja. Pero por lo general las tecnologías más usadas a día de hoy para programación web son todas gratuitas.
Para mi ha sido un gran paso atras. Nunca he tardado tanto en montar una app de prueba como con estos frameworks, ni cuando era estudiante. Doscientos archivos de configuraciones, venga a equisemeles, IDEs mastodonticos que parecen la nave del Enterprise con tantos botones. Encima buscas cualquier cosa en internet y no encuentras a 2 personas que hagan algo igual. Todo tutoriales de indios y chinos (con todo el resepeto del mundo, pero no son la vanguardia ni lo mas fiable precisamente). No entiendo como Java puede seguir teniendo esa presencia tan bestial en el mercado con la de alternativas que existen.
Node es ligero, no necesitas grandes recursos para tenerlo corriendo, no necesitas un IIS ni un Tomcat ni similares, así que encuentras alojamientos gratuitos, como el que ponía de ejemplo, Heroku, que pertenece a Salesforce. Java y .NET Framework al ser más pesados, aunque dockerizables, necesitan más recursos simplemente para arrancar, así que difícilmente encontrarás nada que los aloje gratis.
Y ya sin ser gratis, dentro de una empresa, al desplegar en nube te saldrá mucho más caro un despliegue de Java que uno de Node, simplemente porque requiere más memoria, procesador, etc. Y en Node, si además en lugar de una API lo que haces es algo serverless, lo despliegas en AWS Lambda por precios ridículos.
De todas formas no soy amigo de estas plataformas "gratuitas". Ni siquiera las recomendaría, pero bueno, este ya es otro tema.
Con Satya Nadella podemos decir que hay una recuperación impresionante.
Ademas con servicios como AWS o Google Cloud que cobran por request sirviendo los assets o yo que se, quizás inapreciable para aplicaciones pequeñas, pero para los grandes es mucho dinero.... Sin contar que tu web o app va follada, algo importante ahora incluso para el SEO.
Justo cuando Microsoft volvió de ultratumba
Una pregunta: ¿para escritorio qué recomiendas?
#21 Yo con javascript es una relación amor y odio completamente hay mil cosas que me encantan pero odio demasiado sus defectos, uno con los nuevos framework es las librerias, pero trabajando con webservices, con node se te hace la vida más facil, igualmente que trabajar con TypeScript se agrace mucho mucho más limpio para programar aunque luego sigas teniendo un JS para el navegador.
#74 "pero luego el paso a producción real se tiene que"
Mal, muy mal...
Vayamos por pasos:
se tiene que reescribir con java o scala: Muy discutible
usando microservicios rest: No todo necesita ser escalado con microservicios, utilizarlos para todo es complicar las cosas a lo tonto, mira todo lo que estás implicando:
con algún bróker de mensajes
que intercomunique dichos microservicios dokerizados
con kubernetes o Marathon para gestionar la escalabilidad
todo ello con mesos o yarn
en un cluster
Es un stack, hay otros, y normalmente no todo tiene que ir bajo esa arquitectura que añade complejidad a todos los niveles, especialmente donde no se necesita.
Me encanta estudiar escalabilidad, pero también tengo una cosa que se llama experiencia, y de todo ello sumado sólo se me ocurre decirte que está guay aprender muchas tecnologías, no dejes de hacerlo, pero para la escalabilidad lo más importante son estas dos cosas:
- sentido común
- filosofía kiss
Construye sobre eso y tu vida será más bonita. Y tus jefes hasta puede que dejen de odiarte algún día.