EDICIóN GENERAL
237 meneos
2481 clics
Javascript supera a Java como el lenguaje de programación más popular de 2018

Javascript supera a Java como el lenguaje de programación más popular de 2018  

Javascript se consolida como el lenguaje de programación más popular de los últimos años. En la encuesta a 71.000 desarrolladores de 100 países llevada a cabo por HackerRank, el 71% dominan Java, y el 73% Javascript, por lo que puede decirse que es el lenguaje de programación más popular de 2018. Curiosamente, solo el 42% de los estudiantes de informática lo dominan, indicando que es un lenguaje que se aprende en el trabajo, no en la Universidad.

| etiquetas: javascript , supera , popularidad , java
Comentarios destacados:                                  
#6 #1 La unica manera de aprender a programar es programando. Si quieres que no se pierdan cuando les sacas de su lenguaje de programación entonces enseñale diferentes lenguajes y muy diferentes.
En la universidad no se debería de enseñar ningún lenguaje de programación, sino que se debería de enseñar a programar en si, después te encuentas a gente que le sacas de su lenguaje de programación y están perdidos.
#1 Eso lo hacían, porque ahora mismo no lo sé... en la U.P.M en los exintos planes de Ingeniería Informática, gracias a eso te podías defender en cualquier lenguaje con tan sólo mirar la sintaxis.
#3 En mi universidad igual [obviamente en la ingeniería informática], nos enseñaban pseudocódigo, después en algunas asignaturas, en las prácticas debías de programar en un lenguaje que normalmente se la soplaba al profesor [yo utilizaba java o c++]. Es que eso me hacía muy versátil, ya que aprendía a programar cualquier lenguaje, o incluso arreglar problemas con código fuente de otro lenguaje en poco tiempo... hasta que ví PHP en 2006 y dije "Que horror de lenguaje", aunque lo programé sin problemas.
#1 #3 #5 No sólo en las ingenierías informáticas.
A mi en industriales me enseñaron C, y cuando le preguntamos al profesor que por qué ese y no otro nos dijo que con C y entendiendo pseudocódigo nos podían enseñar los fundamentos y la estructuración para poder luego programar en lo que nos tocase (si nos tocaba)

Y razón no le faltaba, porque a día de hoy a mi me ha tocado picar código en 3 o 4 lenguajes diferentes, y como dice #6, sólo programando se aprende a programar
#43 estoy totalmente en desacuerdo. Yo enseñaria C++, por ser programación orientada a objetos y heredar toda la mierda o gloria (segun se vea) de C.
Creo que es un lenguaje que te ayuda sobremanera a entender luego cualquier otro lenguaje porque abarca cosas de muy bajo nivel y cosas de alto nivel.
Si solo te enseñan C, no sabes nada de objetos y por tanto para mi, aun no has aprendido nada de programación y te va a costar muchismo cualquier otra cosa que no sean lenguajes para maquinas herramientas rudimentarios o cosas muy muy específicas.
#77 La orientación a objetos es importante, pero en un ámbito más avanzado de la programación. Programación 2, o 3. Es mucho mas importante enseñar la estructura básica de los lenguajes (tipos nativos, bucles, sentencias condicionales, estructuras, punteros... y sobre todo algoritmia). Si tienes una base de todo eso, ya puedes entender que significa public void static main (Object[]) que lleva el hola mundo de un lenguaje orientado a objetos como Java.
#84 no se que eso de programción 2 o 3. Pero lo que dices, tipos nativos, bucles, sentencias condicionales, estructuras , punteros....eso se enseña en un par de tardes.
Si hay que dar una vision global de lo que es programar en un cuatrimestre como lo que estamos hablando, si o si te tienen que hablarde OOP
#77 "Si solo te enseñan C, no sabes nada de objetos y por tanto para mi, aun no has aprendido nada de programación" :palm:
#77 tío, hay mucho más que OOP y puedes basar toda tu carrera y jubilarte dentro de 40 años, solo programando con C.
#93 si, pero para tener en un curso una vision global, si no te enseñan OOP entonces te queda muchisimo.
No digo que solo haya eso, digo que es bastante importante como para decir que aun no te han enseñado nada.
#77 composition over inheritance
#5 Mi profesor de programación en primero de ingeniería informática nos dijo el primer día
"yo no tengo ni idea de C (que era el lenguaje de programación de la asignatura) pero les voy a enseñar a programar".

Y vaya si lo hizo. La verdad es que era un crack explicando. Y ni una línea de código echabas en sus clases, en las prácticas sí, pero eso era otro profesor.
#1 La unica manera de aprender a programar es programando. Si quieres que no se pierdan cuando les sacas de su lenguaje de programación entonces enseñale diferentes lenguajes y muy diferentes.
#6 o pseudocódigo, sin una sintaxis establecida, así cuando vaya a programar en php, java, c#, c++ se dará cuenta que realmente todo es lo mismo cambiando un poco la sintaxi. Yo tenía un profesor que cuando le preguntábamos que hacía tal o cual función nos respondía: "Acaso crees que yo soy un manual con patas", y después miraba el código y con un vistazo te decía que estaba bien o mal.
#11 no creo que sea buena idea. Pseudocódigo para aprender y para empezar está bien, pero con pseudocódigo no puedes hacer pruebas reales, no lo puedes ejecutar, no puedes comprobar la sintaxis automáticamente... hay un tipo de práctica que necesariamente se debe hacer en entornos reales.
#13 #14 Claro que sí, el pseudocódigo no se ejecuta, después el estudiante de la ingeniería tenía que irse a su casa o a la sala de prácticas, y poner en práctica eso que había aprendido, con el lenguaje de programación que más le gustara. Yo aprendí así, dándome hostias con los compiladores, entiendo cual era el mejor lenguaje de programación para cada caso, aprendiendo sintaxis en las bibliotecas [en aquel entonces no existía ni StackOverflow, ni tutoriales online de lenguajes, y faltaban…   » ver todo el comentario
#16 yo también aprendí así, pero me parece un método bastante ineficiente. En primer lugar porque se traslada una parte importante del aprendizaje a "la casa", que lo haga el alumno por su cuenta, desaprovechando recursos y conocimientos de las instituciones; y en segudo lugar porque ese aprendizaje "en casa" tampoco lo evalúa el profesor.

De todas formas creo que una cosa no debe quitar la otra, practicar con un lenguaje concreto no debería suponer limitarse a ese lenguaje y su paradigma y estilo.
#16 El pseudocódigo iba bien cuando el acceso al ordenador estaba muy restringido. Ya no es el caso. Todo el mundo tiene un ordenador y puedes hacer todas las pruebas que quieras.
#21 Pero si aprende que "aquí hay un bucle de 500 repeticiones" te da lo mismo que sea "for(int i=0;i<500;i++){ [...] }" o "for i = 0 to 500 [...] next" o "while..." o lo que sea. Entiendes lo que hay que hacer. El cómo, igual ni tienes que hacerlo tú, porque haya alguien que lo haga, o igual es porque tienes que entender lo que ha hecho Perico de los Palotes en un lenguaje que nunca has tocao.
#16 Es decir, que al final aprendes un lenguaje en la universidad, la diferencia es que es posible que tu profesor no sepa cómo ayudarte cuando te quedes atascado.

No me parece algo muy atractivo, la verdad.
#11 El pseudocódigo no se ejecuta. Es como aprender ofimaica haciendo dibujitos de que botón apretar.
Python o javascript ya son practicamente pseudocódigo, con la ventaja que lo puedes probar directamente
#14 Claro que sí, el pseudocódigo no se ejecuta, después el estudiante de la ingeniería tenía que irse a su casa o a la sala de prácticas, y poner en práctica eso que había aprendido, con el lenguaje de programación que más le gustara. Yo aprendí así, dándome hostias con los compiladores, entiendo cual era el mejor lenguaje de programación para cada caso, aprendiendo sintaxis en las bibliotecas [en aquel entonces no existía ni StackOverflow, ni tutoriales online de lenguajes, y faltaban años…   » ver todo el comentario
#14 Cierto, es como hacer el plano de una casa y los calculos de estructuras, en un plano no puedes vivir, es mejor hacer la casa directamente.... </sarcasmo>
#11 Pues en Grado Superior de Informática de Programación, al menos en Zamora, lo primero que te enseñan es pseudocódigo, y una vez lo dominas casi a la perfección, te muestran el primer lenguaje de programación (Java o C#) y te dicen entonces: "Como podéis observar, este lenguaje usa atajos y órdenes que aglutinan varias palabras (e incluso líneas enteras) en una sola. Sí, podríamos haberos enseñado directamente a través del lenguaje este, y así ahorraros el tener que pensar por vosotros…   » ver todo el comentario
#37 Estos cacharros aglutinan muchas palabras en una y luego al darle este botón se hacen cosas por abajo y te aparece la pantallita esa en negra con Hola mundo.
Vaya nivelazo de lenguaje técnico...{palm}
#42 "Estos cacharros aglutinan muchas palabras en una" -> "Lo que os hemos explicado en el curso anterior y que son varios pasos, estos lenguajes lo simplifican en un único paso porque han considerado que es más práctico"
#11 el pseudocódigo es un cáncer. La algoritmia es la misma, la programes en C, Java o pseudocódigo, con la diferencia que el último no es tangible.

#1 Da igual cómo te lo plantees: es imposible que una persona sepa mil lenguajes de programación en cuatro años de universidad. Además es innecesario. Por no hablar que en la universidad casi que lo que menos se hace es programar.

Por más que nos desviemos, hay lenguajes clave de los que derivan los conceptos de la mayoria del resto y son los que deben de enseñarse. Una persona que domine C y Java, en ua cuantas horas estará pilotando en php, .net, C#, javascript,... sin más ayuda que la documentación de soporte.
#50 Los lenguajes son modas y productos de terceros, como te enseñen en JAVA o VB y luego no seas capaz de usar otros, en que por ejemplo, no gestione la memoria automaticamente, te vas a la mierda.
#11 con pseudo código no puedes darle a ejecutar y ver cuál es el resultado. Ni puedes cambiar esta variable o esta otra y comparar la ejecución o si ahora falla.
Dependes de un experto que tenga tiempo de leer tu pseudo código y sepa ver el resultado sin equivocarse.
Un desastre, vaya.

Yo aún funciono de la misma forma: leo algo en el manual y tengo que trastear con ello para entenderlo realmente.
#6 Hmmm... Discrepo.

Se deberían enseñar lenguajes fuertemente estructurados para no permitir "triquiñuelas" y esas cosas que luego se convierten en malos hábitos.

Yo aprendí a programar "en serio" en Pascal. Y luego lenguajes orientados a objetos en Smalltalk. Luego pasar a C, C++ o Java era sencillo.

#11 El psudocódigo está bien, pero para aprender tienes que ejecutar lo que programas y corregir errores.
#60 pseudocódigo es pascal traducido
#6 ponles en proyectos, que sufran y explicales mientras tanto.
#1 Pero entonces todos lloran diciendo que les han enseñado a programar en Pascal/ADA/Modula y que eso no sirve para nada y la universidad está desconectada de la sociedad y que mi vecino aprendió a programar con fascículos y ahora cobra 5.000 eur al mes.
#7 Pero es que va a la universidad para ser ingeniero, no programador. Para ser programador especialista en PHP + Mysql están los FP.
#10 Ya, por eso el nivel de lloros sobre el "lenguaje de mierda que enseñan en la uni, que no lo conoce ni el tato" sería un buen filtro para diferenciar entre los buenos profesionales y los que son un poco paquetes.
#12 Si a mi me dicen eso, entiendo que no es buen programador.
#12 yo he hecho ambos, (fp y uni) y no solo he aprendido a programar mejor en la fp, en la que se dedicaba más tiempo a programar y menos a diapositivas, sino que hay gente que sale de la carrera sin saber diferenciar bien c de c++.
#64 No estoy diciendo que la FP sea peor ni mucho menos, de hecho es verdad que igual aprendes mejor a programar en una FP que en la carrera, que se orienta (además de a programar) a otras cosas que no son programación. Yo hablaba más bien de autodidactas que se venden como expertos en el lenguaje tal a partir de cuatro vídeos de Youtube o unos fascículos. Esos sí que tienen mucho peligro.

Pero bueno, que hablo en términos generales, hay autodidactas que son los putos amos, universitarios que son unos patanes totales y todos los puntos medios que quieras. Pero estadísticamente unos son más escasos que otros.
#64 No se a que universidad habrás ido, pero en la mía programabamos un monton. Desde las asignaturas de fundamentos de programacion (anual), en el primer cuatrimestre veíamos mucho pseudocódigo y pascal, en el segundo cuatrimestre todo pascal, laboratorio de programacion 1 (pascal) y 2 (c y c++), talf (programar un compilador de un lenguaje ficticio sencillito en c) , programacion concurrente (java), sistemas operativos (bash), bases de datos (sql), ensamblador 8086 (el juego de la vida, nunca…   » ver todo el comentario
#64 No nos engañemos ... a trabajar se aprende trabajando. Ni Fp, ni universidad, ni autodidactas. Los profesores de FP, igual que los de la Uni no tienen pq haber trabajado como programadores en su vida, ni estar al dia de las ultimas tendencias en buenas practicas, o que tecnologias son mejores para este o este otro problema. Eso se aprende siendo un profesional, ejerciendo la profesion, y estableciendo rutinas de renovacion continua para no quedarse estancado.

Puedes tener suerte y que te…   » ver todo el comentario
#10 La informática no es una ingeniería clásica. Si esperas que un ingeniero informático sea capaz de diseñar una arquitectura, eligiendo las tecnologías apropiadas para cada capa sin tener ni idea de programar... lo llevas clarinete. Un industrial puede empollarse y consultar las resistencias de distintos materiales y diseñar un cacharro. No necesita saber montarlo él mismo. Un ingeniero informático que no sabe programar no vale ni pa tomar por culo y lo que diseñe va a ser una mierda con problemas por todas partes.
#69 Cierto pero incompleto.

La gran diferencia con el "industrial" es que aqui los materiales cambian cada pocos años. El ingeniero en informatica tiene que ser capaz de analizar nuevas tecnologias e incorporarlas en su cartera de conocimientos y, de esa manera, ir construyendo su especializacion profesional. Es completamente inviable y sería contraproducente que en la facultad te enseñaran a construir con el ecosistema de Microsoft (por poner un ejemplo) o con el de Spring, o usar…   » ver todo el comentario
#7 tienes toda la razón; sin embargo creo que el problema no es solo de los estudiantes, sino también de los empleadores.

Si sales de la universidad y no puedes poner "JavaScript" en el currículum, sino "Pascal" entienden que no cumples los requisitos para trabajar ahí y dificulta la búsqueda del primer empleo.

Muchos de los que toman decisiones en las empresas no tienen ni quieren tener conocimientos técnicos y van a lo fácil, y si pueden pagar poco mejor. ¿Para qué pagar a un universitario que no sabe JavaScript si tienes a uno que ha hecho un cursillo de JavaScript, cobra menos y ya sabe el lenguaje?
#23 Pues porque el universitario probablemente te haga ganar más dinero a medio plazo, porque el del cursillo seguramente hará desastres que te acabarán costando mucho más de lo que te ahorraste en esos 15-30 días que tardaría el universitario en ponerse al día.

Si eres empresario, no tienes conocimientos técnicos, y tomas decisiones técnicas sin asesorarte, te mereces todo lo que te pase, la verdad. Supongo que también ese empresario se preguntará por qué hace falta comprar una furgoneta de…   » ver todo el comentario
#27 precisamente por eso estoy diciendo que el problema es de las empresas también.
#30 Ya, yo lo que digo es que es un problema exclusivamente de las empresas, concretamente de las empresas malas. No me parece que sea un problema ni de la universidad ni de la sociedad en general, ni que haya que hacer algo al respecto para proteger a las pobrecitas empresas que no se saben gestionar :-)
#31 no solo de las malas. Yo estoy en una empresa "buena" y hay managers que tienen conocimientos técnicos limitaditos.
#34 Es que un manager no tiene porque tener conocimientos tecnicos. Es mas, normalmente cuanto mas seria sea la empresa, menos conocimientos tecnicos tendrá un manager. He visto demasiados equipos yendose a la mierda por poner al arquitecto como manager.
#23 Oye, nada impide al universitario tomar el cursillo de javascript. De hecho sería muy recomendable que lo hiciera para complementar sus estudios universitarios y, precisamente, mejorar su empleabilidad.
#1 No estoy de acuerdo.
Yo estudié Cobol en los años 70 y posteriormente me sirvió de base para estudiar otros lenguajes.
Compilaba en tarjeta perforada y eso no fue impedimento para entender el funcionamiento en soporte magnético ni óptico.
#22 Tarjetas perforadas? Mis respetos por tu dilatada trayectoria. :hug:
#1 Pues malos estudiantes. Si aprendes un lenguaje entrar en otro es sumamente fácil, quien no lo consigue probablemente sea porque la programación no es lo suyo o no ha aprendido bien, muchos se limitan al corta y pega y poco más.
En el fondo la programación que se usa habitualmente es imperativa y de un lenguaje a otro no hay tanto cambio, lo básico, lo elemental se repite de un lenguaje a otro. Pueden cambiar la sintaxis, ser más o menos estrictos, con más menos instrucciones y estructuras (que si no existe en un lenguaje se pueden reconstruir con lo que hay)... En fin aprendido uno pre-aprendidos todos.
#24 Hasta que te encuentras un LISP o remasterizado en Clojure. :roll:
#75 Insisto, la mayoria de las asignaturas de programación parten de lenguajes imperativos. Luego si te interesa, y se te da bien, te metes en declarativos o en funcionales o en bajo cualquier otro paradigma, eso ya es trabajo personal o una enseñanza más especializada.
#75 No es imperativo. En la carrera había una asignatura específica de Liso.
#24 "Si aprendes un lenguaje entrar en otro es sumamente fácil"

Si aprendes los fundamentos de la programacion independientes de los lenguajes te puedo asegurar que, no solo es mas facil, sino que ademas tienes un conocimiento mucho mas profundo de como funciona tu codigo y porqué.
#1 Una vez oí: "Un ingeniero puede trabajar de albañil, pero un albañil no puede trabajar de ingeniero".

El problema es que si las empresas requieren de albañiles, y no simples albañiles, sino con una cierta profesionalización, pues el ingeniero se puede encontrar en un pequeño problema, y más cuando los servicios de orientación laboral de las universidades son tan inútiles como para mostrarte el abanico de posibilidades que tienes como ingeniero y lo dejan todo a las visitas de empresas a la universidad que buscan albañiles.
#1 A ver cómo enseñas tú mecánica sin dejar a los chavales y chavalas practicar con un motor de verdad.

Pues lo mismo con la programación: si bien es cierto que hay que enseñar unas bases muy sólidas, si no practican con lenguajes reales, estas no les servirán de nada.
#1 No son cosas incompatibles. En la universidad hay clases teóricas y prácticas. En las primeras se puede enseñar a programar en pseudo código y en las segundas se pueden aplicar los conocimientos teóricos a un caso práctico "real".

Así es como mejor se aprende, de hecho. Y así es como se suele hacer.
#1 bueno, para cosas básicas eso funciona. Luego me dices como enseñar a programar en bajo nivel sin enseñar ensamblador o a manejar memorias y punteros sin pelearte con C.
#1 eso no lo he visto en la vida,he visto a gente sin tener ni puta idea,en ningún lenguaje.
#1 Es mucho más fácil aprender a programar cuando puedes, bueno, programar.
Y para eso hace falta un lenguaje de programación.

Y una vez aprendes uno, aprender el siguiente te lleva una tarde.
#1 En la universidad ya se enseña a programar, y a demás de eso, de enseñan varios lenguajes de programación. Como debe ser.
Si encuentras gente que si le sacas de su lenguaje se pierden es por otro motivo. De la misma manera que hay arquitectos incompetentes, médicos incompetentes, abogados incompetentes, profesores incompetentes, ...
#1 Eso es. 4 años dando pseudocódigo. Madre mía lo que hay que leer. Luego que salgan de facultad y las empresas se encuentren con "pseudodesarrolladores" que sólo saben hacer bucles y condicionales.
#46 Yo tuve un profesor en la Universidad de Deusto que decía que si dependiese de él, no tocabamos un ordenador hasta 4º de carrera (eran 5 años). Daba estadística y no recuerdo qué otra asignatura matemática.

Sí, los que hayáis estudiado allí sabéis a quien me refiero :roll:
#1 Eso es una perdida de tiempo. Quieres aprender Programación Orientada a Objetos? Aprendes con un lenguaje como java. Quieres aprender programación funcional? Haskell, etc
Programar es mucho mas que la sintaxis y las estructuras de control. Tienes que aprender a hacer debug, a extender, testear, etc.
Todo eso no se puede aprender con pseudocodigo.
Otra cosa diferente es que en algunos sitios te enseñen un lenguaje (sintaxis) y no a programar, pero eso es un problema de la metodologia y no de enseñar sobre un lenguaje en lugar de usar pseudocodigo.
#1 Pues no entiendo lo que dices.
Creo que a la gente le falta mucha cultura a bajo nivel. No entienden bien como funciona la arquitectura sobre la que programan, el compilador etc por que cada vez hay más capas.
Por lo que creo que programar sobre el papel es absurdo y aburrido, sin embargo, tener una ruta de objetivos por niveles me parecería más correcto. Creo que existe un lenguaje más o menos "ideal" para enseñar a una persona según su conocimiento actual y dependiendo de lo…   » ver todo el comentario
#1 En algún lenguaje tendrán que hacer las prácticas (que es con lo que más se aprende).
#1 En la universidad deben enseñar un lenguaje, pero no como algo principal, sino como un componente secundario. Un ingeniero informático no debería llegar a ser programador, es un derroche de tiempo y recursos. Los ingenieros informáticos son los que diseñan sistemas, protocolos y los propios lenguajes. Si un ingeniero decide incluir un componente en su sistema que requiere programación, entonces se contrata un programador. Un buen programador es un artista. Y no todo el mundo vale, por mucho que estudie.
#1 eso... que lleguen a la empresa y te digan "dónde escribo los pseudocódigos y los diagramas de flujo que necesitas? También sé UML"
#1 Se debe enseñar lenguajes de bajo nivel para que conozcan como funcionan las implementaciones de alto nivel de otros lenguajes. Lo que no tiene sentido es por ejemplo enseñar Java y tirar de colecciones como un campeon, y no saber como funciona la reserva de memoria o la ordenacion porque no se ha implementado nada parecido a mas bajo nivel, por ejemplo en C.
#1 Falso dilema. Es perfectamente posible (Y completamente necesario) hacer ambas cosas. Cualquier alumno despues de salir de la universidad tiene que conocer (no dominar, pero si conocer) al menos un lenguaje de programación imperativa, declarativa, otro orientado a objetos y otro funcional. En mi caso fue C, SQL, Java y OCaml. Esto te permite no solo aprender pero tambien internalizar esos paradigmas.
#1 Hombre, esa frase queda guay, claro, yo estudié ingeniería informática y por algún lenguaje se tenía que empezar y tendrías que practicar en un ordenador, ¿no?, una cosa es que estudies estructuras de datos, algoritmos y tal y te pongas a escribir pseudocódigo en un cuaderno y otra es ponerse a escribir código de verdad que tiene que compilar, que tiene que seguir unas estructuras, que tiene una sintaxis...

Yo diría que al revés: en la universidad tenían que enseñar un lenguaje, digamos,…   » ver todo el comentario
¿Seguro que no es Python el más popular?
#2 Popular no sé... pero en ioT es desde luego lo que más uso...
#4 Hombre, justamente para IoT python tampoco es lo ideal, es demasiado tocho. Buena suerte programando python en un Arduino :-)
#65 Está muy bien, pero eso requiere una placa bastante tocha (y cara) en comparación con un Arduino o similar. Por no hablar de que implementa un subconjunto del lenguaje.

A ver, que al final casi todo se puede programar casi con cualquier cosa. Total el toolchain de GCC está portado a prácticamente cualquier arquitectura, y si quieres programar un Arduino en C++ o en Java, seguramente puedes hacerlo. La cuestión es si es la herramienta más adecuada a la tarea, o es un pelín matar moscas a cañonazos.
#71 Era más bien por seguir con mi lema: "¿De qué se habla, que me opongo?" :-P
#8: Siempre nos quedará J5: johnny-five.io/ :-P
#2 creo que es uno de los que más estan creciendo en popularidad dado el crecimiento de ML y que no está siendo usado solo por programadores, sino por data scientists, cientificos, estadistas, matematicos, etc. En SO veo muchas preguntas sobre Python, pero muy especificas a Pandas, Numpy y cosas por el estilo desde hace algun tiempo ya. Ahora, sobre el uso de Python, no llega ni de lejos a Javascript, que es basicamente, todo Internet y muchos otros dispositivos: consolas, TVs, smartphones.
#2 A mí me ocurre al revés, me extraña verlo tan arriba.

Creo que no conozco absolutamente a nadie que trabaje en Python. De hecho para mí es como Ruby, suenan pero no sé ni para qué se utilizan.
Dudo mucho que el 73% de programadores de Javascript "dominen" Javascript. Es un lenguaje que parece una cosa (un lenguajillo sencillo con sintaxis tipo C), pero que es una bestia parda, que se parece más a un lenguaje funcional que a un C++/Java. Por no hablar de cómo ha evolucionado en los últimos años, y todas las filigranas que soporta hoy día.
#9 ¿Te refieres al Callback Hell?  media
#18 No, el callback hell es más un problema de malas prácticas, y apenas rasca la superficie de lo que se puede hacer con Javascript.
#19 No es un problema de malas practicas, es un problema de diseño, Javascript se hizo asíncrono para no bloquear el renderizado de la web. Porque Javascript va bién para eso. Y bueno, virguerías se puede hacer hasta con Befunge, pero eso no significa que sea buena idea usar Befunge para hacer aplicaciones web.
Como con Darwin, la evolución de los lenguages de programación hace que siempre triumfe el más estúpido. Y no tengo mucha duda de que estaremos con Javascript hasta que alguien no invente algo peor.
#57 Javascript se hizo asíncrono, pero puedes usar esa asincronicidad de muchas maneras. Lo del callback hell es la forma cutre de hacerlo, porque escala como el culo. Y a la vista está cómo, con el tiempo, han aparecido formas mucho mejores y más razonables de hacer las cosas, dentro del mismo lenguaje. Como las promesas, o más recientemente los asyncs.
#57 Un repasito al GoF a ver si encuentras un patrón que te permita evitar el callback hell. Te doy una pista: empieza por "C".
#18 async, await, promises...
#96 jajaja, ya, pero es que no puedo dejar de hacer el chiste.
#18 Ese esta superada ya con async/await
#9 En la encuesta no aclaran que es el concepto "dominar", ya que para cada programador será una cosa distinta, para unos será dominar los conceptos básicos y medios, y para otros conocer los entresijos del lenguaje.

Aún así es gracioso que la encuesta se hable de dominar un lenguaje, y de ahí el artículo deduzca que sea el más popular.
#26 Una vez leí que la forma de saber que alguien no tiene idea de un tema es cuando dice que lo domina :-). Los verdaderos expertos normalmente son conscientes de todo lo que les falta por saber, y no van de ese palo.

No encuentro el enlace, pero recuerdo hace unos años que el creador de python reconocía que no entendía muy bien las implicaciones de alguna de las nuevas características que se estaban estudiando.
#28 Es el concepto de "Solo se que no se nada" de Sócrates. :-D

Llevo un tiempo con javascript, ahora más con temas de Angular, pero realmente a la hora de plantear soluciones te das cuenta a partir de otros que uno tiene ni puta idea.

Yo me plantearía en el nivel medio, y nunca en "domino" el lenguaje.
#9 yo creo que más que javascript es node.js, angular, react o vue.js

Vamos, que si pero no.
Java no se convierte a "lenguaje máquina", como dice el autor.
#25 Bueno, se convierte a un pseudo-lenguaje máquina, que luego se convierte a lenguaje máquina, por lo que está entre medias. No exactamente al 50%, sino más cerca de los interpretados que de los compilados.
#32 llámalo como quieras, pero lenguaje máquina no es. Hay un middleware de por medio.
#35 #32 Digamos que al lenguaje máquina de una máquina / arquitectura sintética.

Pasa como con el CLR de .NET.

Tienes incluso traductores a ensamblador y ensambladores de esa arquitectura.

Hace muchos años, cuando todavía existía SUN, había rumores de que querían sacar "chips Java", esto es, procesadores que implementaban en hardware físico esa arquitectura.
#55 No es lenguaje maquina por mas vueltas que le des.
#35 Sabes que es JIT?
Despues de pasar un threshold configurado en la JVP, SI se convierte a lenguaje maquina
#35 En realidad es así como se compila hoy en día cualquier cosa. Tanto GCC como LLVM compilan cualquier lenguaje a una especie de "ensamblador genérico", con infinitos registros y demás, y luego sobre ese ensamblador aplican optimizaciones y sólo al final eso se convierte en código máquina "de verdad" para el procesador concreto que tengas, pero se trata de un paso interno. En el caso de Java, en lugar de darte el fuente o el binario final, te dan el "ensamblador genérico" intermedio, y luego tú lo conviertes al código máquina final con un compilador JIT.
#32 Ni de coña, lo ejecuta un interprete, el "lenguaje maquina" que se ejecuta al final no es "tu codigo", es el codigo del interprete.
#44 eso es muy de java en los 90. Hay un compilador JIT que traduce al código máquina en tiempo de carga que aporta que no haya que compilar en cada S.O. como habría que hacer en un compilador tradicional. El único código máquina que es "tú código" es el que escribas en assembler o en hexadecimal pero no están hablando de eso.
#67 ¿Y porque no estoy hablando de eso?
En el visual studio, almenos para c++, hay un bonito boton, el debugger, que te muestra el codigo en ASM resultante, por si no te gusta.
#44 Hombre, al final lo único que sabe ejecutar la CPU es lenguaje máquina :-)

La gracia del pseudocódigo de Java, y lo que lo hace estar en un paso intermedio entre los lenguajes interpretados y los compilados, es que hay una fase de compilación. Que es a un código que no es el real, vale, pero la cuestión es que hay un compilador que puede tomarse su tiempo en optimizar. Luego, lo que se ejecuta en tiempo de ejecución es la interpretación de un código, sí, pero mucho más cercano al de…   » ver todo el comentario
#83 Si, pero nunca serà tan eficiente como un lenguaje compilado, en igualdad de condiciones. Y dependes del interprete, que de una version a otra puede cambiar.
#25 Java se convierte a un lenguaje de una máquina, y esa máquina es la JVM. Que no sea práctico tener una implementación física de la JVM no quiere decir que su lenguaje no sea "lenguaje máquina", igual que el código máquina de ARM no deja de serlo porque lo ejecutes en un emulador sobre x64.
#48 una cosa es que ejecutes código máquina en un hardware emulado y otra llamar "código máquina" a un middleware. No creo que sea comparable. Eso no lo he visto nunca salvo en este artículo (y en tu comentario).
#94 ¿Cuál es la diferencia entre el "middleware" y el "hardware emulado"? ¿Basta con que exista una implementación física de una máquina para que pase a ser "hardware emulado"? Supongamos que tengo un programa que traduce Lisp a un bytecode determinado, y luego lo interpreta. Entonces construyo una máquina Lisp que usa ese bytecode como código máquina. ¿Mi programa ha pasado mágicamente de ser un compilador a bytecode + intérprete a ser un compilador a código máquina + emulador?
#48 Con codigo compilado, programas para un microprocesador, eres cliente de INTEL, AMD.... dependes de ellos
Con codigo interpretado, programas para una VM, eres cliente de Oracle, dependes de ellos.
No digo que sea bueno o malo, digo que programando en java, no programas un ordenador, scripteas un software.
#25 Ahora sí. GraalVM con el compilador AOT. :tinfoil:
#25 lol.

Ahora mismo ya SI.

Como te quedas? No puedes hacer reflection pero... si quieres lo paas a maquina...
Quien no lo conozca que pruebe Node.js
#49 lo dices como si fuera algo muy novedoso... que tiene ya 10 años y si está javascript arriba de todo es precisamente por eso, todos el mundo desarrolla webs en nodejs ahora
#85 me has pillado, acabo de descubrirlo :-D
Javascript... ese lenguaje en el que una pera, puede ser al mismo tiempo un melón. <script>alert('Probando 3, 2, 1...')</script>
#51 Se llama Duck Typing.
javascript, el lenguaje de los mariquitas
#54 Que apropiado: soy "mariquita" y he programado hasta en ensamblador :-P
#54: Creo que #070 te acaba de pwnear. xD
Mis intentos por hacer subir en la lista a Turbopascal 5.5 han sido en vano :-(
De JS puedo contar dos chistes: inserción automática de punto y comas y this :troll:

www.reddit.com/r/ProgrammerHumor/comments/621qrt/javascript_the_good_p
Veo mucha gente despistada por aquí. En la universidad deben enseñar a programar, pero parte de ese aprendizaje es llevarlo a la práctica y encontrarse con problemas que surgen en el mundo real, desde problemas instalando un ide, problemas con librerias/modulos, debug, compilados, lo que sea, y esta parte práctica lo lógico es hacerlo con lenguajes que se usan en la actualidad.
Javascript es un lenguaje para milenials. Lo quiero aquí y ahora aunque no se lo que quiero.
#76 Aun estoy por ver Clean Code en Javascript o Python. La gente no dedica tiempo a pensar en el diseño antes de teclear por la excesiva flexibilidad.
#81 A que Te refieres con clean code o código limpio?
#81 Puedes leer "Fluent Python". Y para JS tienes "Eloquent Javascript".
Cada linea en Javascript se convierte en legacy code justo después del Enter. :professor:
¿Por qué existiendo C la gente usa mierda para programar?
#82 Buena suerte programando una webapp en C
#88 En teoria ya se puede gracias a WebAssembly... ahora, que se pueda y se deba, son dos cosas distintas.
#88: Siempre puede programar un navegador que acepte código en C. :-P
#82 Por la existencia del maldito Mundo Real {0x2122}
Mierda, otra vez que llego tarde a decir que javascript es una puta mierda y que lo que mola es el lenguaje que salió ayer por la tarde que solo conozco yo y mis tres amigos imaginarios.
De javascript puedo decir lo mismo que de PHP: son lenguajes traicioneros.

El tipado fuerte y la declaracion explicita es algo que deberia ir de serie en todo lenguaje serio y adulto. Tan solo Python me parece decente en Scripting, y de lenguajes compilados, frente a Java, la verdad es que me gusta mas C#, pero no tengo problemas con ninguno de los dos.
#92 por eso la tendencia con JS es hacia Typescript.
#92 Lo adulto es dejarme lanzar excepciones cuando me salga de las narices y no obligarme por que sí. Java es un lenguaje molestamente ceremonioso.

Es imposible seguir guías sin usar un IDE completo (monstruoso) por que se supone como algo ya totalmente intrínseco al uso de Java.
Java se usa por que va muy bien para tener a mucha gente controlada y que te salga código "fácil" de mantener, de ahí su uso en gran empresa. Pero si quieres ser ágil es una peste.

A mí javascript me encanta y si sabes usarlo quedan unos flujos asíncronos preciosos. Entiendo que no es el lenguaje adecuado para un novato que tiene que ser medianamente productivo, pero eso no significa que no sea "adulto".
#92 PHP 7 tiene tipado fuerte de serie si lo declaras, Python no.
#92 buena suerte con tipado fuerte en sistemas distribuidos
Más usado != popular
En la universidad difícilmente se aprende nada a nivel de "dominar"

Es todo lo que tengo que decir sobre éste tema.
«123
comentarios cerrados

menéame