Hace 1 año | Por geralt_ a devclass.com
Publicado hace 1 año por geralt_ a devclass.com

"Lo mejor que podemos hacer hoy a JS es retirarlo. Hace 20 años, yo era uno de los pocos defensores de JS. Su combinación de funciones anidadas y objetos dinámicos era brillante. Pasé una década tratando de corregir sus defectos. Tuve un pequeño éxito con ES5. Pero desde entonces, ha habido un gran interés en inflar aún más el lenguaje en lugar de mejorarlo. Así que JS, como los demás lenguajes dinosaurios, se ha convertido en una barrera para el progreso. Deberíamos centrarnos en el próximo lenguaje, que debería parecerse más a E que a JS".

Comentarios

MacMagic

#6 Cómo Menéame

D

#25 Muy guapo ese "hiendo".

h

Lo que yo haría es obligar que los navegadores por defecto no cargaran ninguna página con errores de HTML, Javascript, CSS, imágenes que no cargan o lo que sea. Que los creadores tengan presión para hacerlo medianamente bien.

p

#29 y como vamos a saber si un numero es par o impar???!!!!

c

#8 Python no funciona como lenguaje de cliente. Son nichos distintos

f

clap clap clap clap clap

D

#6 Por eso se usa TypeScript.

Nova6K0

Esto sin hablar de la cantidad de scripts maliciosos que hay, gracias a él.

Saludos

D

#10 Fue porque Google, a principios de siglo, decidió que a partir de entonces Javascript iba a ser la solución para crear cualquier tipo de aplicación en la web.

sauron34_1

No sé si matar JavaScript, pero que dejen de sacar librerías por dios. Vue está bien, por ejemplo. Que dejen de reinventar la rueda.

e

Y el cabron lo dice ahora.....

ur_quan_master

A estas alturas me conformo con que encuentren al autor de los conceptos transpilador y transpilación y lo azoten con el cable de la impresora ( el paralelo, no el USB)

D

¿Qué tiene que ver lo bien o mal que estén hechas las páginas con el lenguaje en sí?. Y ¿Que soluciona ser estrictos con la creación web? Dentro de unos márgenes, Internet está hecho para comunicar, el virtuosismo o purismo informático es otra cosa, estará bien pero no es de lo que va Internet. 

r

#11 JS no lo tumba ni cristo. Ojala

D

Ni de coña.

Ninguna de las alternativas tiene el ecosistema de node ahora mismo. Que vale que ese ecosistema está lleno de mierda, pero no es viable hacer lo que dice aún.

En cualquier caso, yo también espero que JavaScript, node y, sobretodo, el pufo de utilizar npm para proyectos front end que no corren en node y necesitan polyfills por todas partes, desaparezca pronto.

armadilloamarillo

#11 Eso no va a suceder mientras sea necesario manipular HTML, ya que no tiene acceso directo a DOM (Los elementos de HTML) (se accede via JS y no hay planes para modificar esto)

f

#c-82" class="content-link" style="color: rgb(227, 86, 20)" data-toggle="popover" data-popover-type="comment" data-popover-url="/tooltip/comment/3706314/order/82">#82 hay que ser más abierto de mente. Los developers de un único lenguaje sois muy limitados. Lo importante es el algoritmo, el pensarlo, no el lenguaje con el que se expresa. A mí lo mismo me da Python, rust, C, java, C#, javascript, lo importante es lo que voy a implementar.

Abre tu mente hombre. Que además abre puertas.

S

#25 Pues yo llevo como 5 años con React y ExpressJS (y amigos, como NextJS) y no me da problemas. Eso sí, te doy la razón con Angular y NestJS. Que ganas tienen esos de reinventar la rueda y reinventarla cuadrada.

JungSpinoza

#8 En Python llevais diez años actualizando de la version 2 a la 3 (en realidad 14 años para ser mas exactos). Antes de que la gente termine llegara la version 4 ...

JungSpinoza

#11 #21 #15 JS va a durar mas que Cobol ... los dev de JS tienen el trabajo mas asegurado que los funcionarios

PacoJones

#31 #32 ay, mil perdones, me acabo de dar cuenta, sirve la excusa del autocorrector?

Veelicus

#4 no cargarnia ni una, y si ademas añades los temas de accesibilidad entonces se cierra internet

j

#4 Yo estoy en desacuerdo. Me gustaba la internet de geocities, donde cualquier chaval de 12 años podía tener su sitio con un diseño horrible y mal hecho. Le daba mil vueltas a la internet con diseños cuquis actual.

sillycon

#12 Veo lo tuyo y subo a No han matado el Java

selina_kyle

#20 lo sé, pero molaría que los navegadores pudiesen interpretarlo!!

c

#26 Para que?

JungSpinoza

#66 A Lannister Javascript always pays his debts
--JungSpinozaJungSpinoza

m

Sí, como Flash, que lo "jubilaron" y ahora tenemos un montón de minijuegos que no funcionan.

Si "quitan" JavaScript lo que acabará ocurriendo es que la gente tendrá que usar dos navegadores de Internet, uno moderno y otro antiguo, para poder acceder a páginas web cuyos autores no piensan modificar porque las han hecho gratis y demasiado si pagan ellos el hospedaje de su bolsillo.

Lo que tienen que hacer en JS es permitir "programar bien", por ejemplo, permitir usar tipos de dato definidos (int, float, double... pero aún mejores), pero sin renunciar a la opción de usar tipos de dato como ahora, que van en función de lo que declaras. Eso permitiría programar aplicaciones web muy robustas si el programador quiere, y luego si no quiere, hacer las cosas un poco como ahora.

¿Opción más realista? Que los navegadores aceptasen TypeScript.

r

#12 Lo de matar lenguajes es como matar idiomas... Como decían en Maquinavaja 2 "me pase 45 años sin poder hablar catala y vas a venir tu a tocarme los h***os con el castellano"

honbu

Esperemos que webassembly progrese y haga honor a lo de javascript killer

Dark_Wise

Lo siento pero queda JS para largo.
Por curiosidad, sabéis de algún otro lenguaje que tenga desestructuración, y spread?

apetor

#83 Por que son, por naturaleza, mas laxos, mas propensos a problemas de seguridad y menos optimos de procesar. Pero bueno, pa ciertas cosas pues se pueden usar. Pero una web basada en TLVs binarios con webassembly y tal, con un entorno de hardware virtual bien definido, y nos iria mucho mejor que con la casa de putas que tenemos montada ahora.

abnog

#40 No por dios, otra máquina virtual más no, por favor.

JungSpinoza

#89 #50 El inventor ya dijo que renunciaba a el y ahora esta creando Deno

https://deno.land/

x

Para eso está Dart.

rogerius

#40 Los hippies pasamos de todo. No nos cargues con los pecados de otros.

JungSpinoza

#76 Exactamente. React y Express son de 2013, no hace falta estar todo el dia cambiando de framework. Cambias una libreria aqui, otra por alla ... te preguntas porque hay que escribir todo ese codigo para usar redux saga, cambias a useEffect .. te das cuentas de que es una mierda y vuelves a Redux, luego cambias RecoilJS que luego no funciona por dios sabe que incompatibilidad con react asi que pruebas Jotai y asi hasta que te retiras ...

j

#111 Han mejorado los dos una barbaridad. De hecho, creo que hay cierta tendencia en los lenguajes a complicarse (ej. ceder a la presión y soportar orientación a objetos) converger. Miras un PHP y un Typescript y son sospechosamente parecidos.

JungSpinoza

#35 en un par de años@raul_lapeira te dira que ya esta al 0.36%!

abnog

#99 No, pero no es necesario implementar un compilador, una VM con sus opcodes, su pila y su hardware virtual. Sólo el bucle de decodificación y ejecución de opcodes es terriblemente ineficiente, a menos que implementes un retraductor binario por ejemplo (mal llamados recompiladores), pero eso incrementa la complejidad una barbaridad.

Mi opinión personal es que, con una API bien diseñada, con un intérprete simple es más que suficiente.

Y a las malas, si no hay más remedio que tirar por una VM, al menos que sea una implementación en base a registros, no de pila (Java, te miro a tí ).

abnog

#149 En una implementación con registros, cuando la cpu virtual tiene que realizar una operación, mete los operandos en unos 'registros' (variables en memoria) y ejecuta la operación dejando el resultado en otro registro. En una de pila, hay una pila en memoria donde va insertando los operandos y sus operaciones, luego los va sacando de la pila dejando en la misma el resultado.

La diferencia fundamental reside en que como la inmensa mayoría de procesadores físicos usan registros dentro de los mismos para realizar las operaciones, una VM en base a registros usará los físicos de dicho procesador, haciendo que sea mucho más eficiente.

La implementación en base a pila es más simple de implementar (uno de los motivos por los que la usa Java), pero siempre me pareció un poco absurdo porque luego tienes que hacer otras partes de la VM más complejas.

Espero haberme explicado mínimamente bien.

llorencs

#163 Vale, entiendo la idea. Sí, recuerdo algo de los registros de lo poco que aprendí de ensamblador en mi suspendida asignatura Intro a Computadores. lol

Soy traductor no ingeniero informático lol

c

#6 Porque los hay.
Empiezas a corregir el primero, hasta que se acabe el último.

El problema es ya de librerías de terceros.

apetor

#16 C es dios. JS es basura, por favor, la comparacion...

S

#71 Depende del mercado. C y ensamblador suena a sistemas empotrados. He trabajado en esos mercados. Pagan una mierda. Ahora han subido los salarios un poco, pero porque todos los programadores se iban a hacer webs en Javascript a ganar el doble. Yo soy uno de ellos.

JS es una casa de putas. Una casa de putas que paga bien.

El lenguaje para sistemas que no sea una casa de putas ya existe. Se llama Rust. Básicamente un C con sistema de tipos fuerte.

d

#113 Viejuno!

Ahora pasa lo mismo, los chavales de 12 años de entonces siguen entregados a hacer diseños horribles, por ejemplo la web de Renfe.

m

#2 y mandas al paro a tropecientas mil personas. genial idea.

D

#6 Una indicacion clara como el error en la consola? no se que mas quieres/necesitas roll

Si ademas conectas tu applicacion a Datadog , Sentry o LogRocket (por mencionar un par) ademas puedes ver los errores en produccion.

Si tienes un error tracking confuso es probable que apliques try/catch de forma turbia

n

#60 Es hora de desempolvar Perl.

Cuñado

#61 En mis ya muchos años dentro del sector he aprendido que cuanto más pontifica un programador, menos sabe.

f

#25 yendo* en lugar de hiendo.
PHP más JavaScript, huye, sal corriendo y no vuelvas a ese proyecto lol

tamat

#21 hace tiempo que se habla de dotar a WASM de un API para acceder al DOM y otros APIs del navegador, del mismo modo que existen proyecto para un layer IO para WASM que sea standard.

S

#10 ¿Por qué tienes que seguir el ritmo? El bleeding edge es precisamente así. Mejor deja pasar un poco de tiempo y quédate con los supervivientes. Yo llevo más de 5 años con React y ExpressJS, y desde que empecé he cambiado mi manera de hacer React como 3 veces en total. Por supuesto, no estoy al día de absolutamente todas las librerías que salen todos los días. Pero tampoco lo están ninguno de los programadores de todos los demás lenguajes de programación que sacan librerías a menudo.

El problema es que no hay ningún sustituto para Javascript en frontend. Todas las alternativas han sido deliberadamente peores: ActiveX, Flash, Java Applets, Silverlight. Todas ellas estaban basadas en el lock-in y el "sólo nuestro navegador o nuestras herramientas". Con WebAssembly quizás eso cambie, pero primero tenemos que ver algo que no caiga deliberadamente en los problemas anteriores (por ejemplo Blazor va de nuevo a "solo nuestro framework y nuestras herramientas").

Con respecto al backend, Javascript ofrece alternativas más sencillas que muchos sistemas actuales (excepto NestJS) y al mismo tiempo permite compartir código entre el frontend y el backend. Por ejemplo via NextJS. Esa es una combinación que muy pocos lenguajes de programación pueden ofrecer. De nuevo, WebAssembly puede cambiar eso, pero sólo si la gente deja de obsesionarse con sus herramientas propietarias y su navegador propietario.

Lo cual significa que tendremos Javascript para rato.

apetor

#75 Prefiero que me pisen los testiculos.

Dark_Wise

#c-68" class="content-link" style="color: rgb(227, 86, 20)" data-toggle="popover" data-popover-type="comment" data-popover-url="/tooltip/comment/3706314/order/68">#68 Gracias, no sabía lo de Python, y de los lenguajes funcionales menos.
Por cierto lo que cuentas en #125, tengo curiosidad por saber qué es lo que tanto te disgustó de C# , tuve que hacer un pequeño microservicio en C# sin tener ni idea y tenía la sensación que los problemas eran más culpa mía que del lenguaje, se veía algo feo pero robusto.

Cuñado

#68 #127 Python permite desestructurar iterables, pero no diccionarios al estilo de la desestructuración de objetos de JS.

Rust, por ejemplo, sí permite desestructurar tuplas y structs.

z

#26 Dios no lo quiera, cambiar satanás por el diablo

z

#119 Y se visualiza perfectamente con el javascript bloqueado. Se visualiza también con navegadores desde la terminal que no admiten imágenes.

Normal, es HTML. También ocurriría con un poco más de CSS para mejorarlo estéticamente, por ejemplo con w3m puedes visitar meneame o google en modo texto sin grandes problemas. Pero vamos, que no has entendido lo que he querido decir: la web oficial del lenguaje que propone el tipo no se ha actualizado desde hace mucho, mucho tiempo. Te pongo otro ejemplo: la documentación contiene un enlace a un bugtracker. El bug notificado más actual que se ha arreglado fue notificado en 2007, hace 15 años. Antes de arreglar el mundo, debería empezar limpiando su habitación.

f

#61 JAMAS!!!

n

#26 Sólo nos faltaba eso ya…

n

#50 Node es una puta perversión… Espero que el inventor arda en el infierno.

kurroman

#51 llevo unos cuantos años sin desarrollar y la verdad es que con JS y las funcionalidades que comentas me lo pasaba pipa. Posiblemente es el que más he disfrutado de todos los que he tocado, que son unos pocos. Pero de repente... lo de siempre...



Postuware

x

#24 Dart es de Google, además es el lenguaje que va con Flutter. Ya me contarás en un par de años.

apetor

#93 Hombre, maquina virtual vas a tener, pero en vez de tener putas mierdas inmantenibles de JS como ahora, tener un virtual hard. Que quieres, bajar codigo x86(-64), ARM(64),... a cliente y ejecutarlo ?

m

#6 porque javascript pertenece al pueblo, y casi cualquiera puede programar en JS (sin ser un puto friki informático :p) y pasa lo que pasa

S

#c-127" class="content-link" style="color: rgb(227, 86, 20)" data-toggle="popover" data-popover-type="comment" data-popover-url="/tooltip/comment/3706314/order/127">#127 Yo no hice ese comentario #125, pero mi experiencia con C# es que aparentemente el problema es culpa tuya, hasta que te paras a comparar con otros lenguajes de programación y frameworks, y te das cuenta de que los otros han pulido esos problemas y tratan de guiarte y sugerirte buenas soluciones. C#, ASP.net y bibliotecas afines no hacen nada de eso, en lugar te guían por malas prácticas, y después culpan al programador cuando se va en la dirección incorrecta. Por ejemplo, hasta hace no mucho, les fascinaba guiar al desarrollador hacia el patrón repositorio https://docs.microsoft.com/en-us/aspnet/mvc/overview/older-versions/getting-started-with-ef-5-using-mvc-4/implementing-the-repository-and-unit-of-work-patterns-in-an-asp-net-mvc-application sin explicar ninguna de las ramificaciones ni complejidad que eso incluye. Y luego tienes cosas como que la SQL Server Express dicen que funciona con 1GB de RAM, pero no te dicen que se cuelga varios días seguidos si le pones 1GB de RAM. https://docs.microsoft.com/en-us/sql/sql-server/install/hardware-and-software-requirements-for-installing-sql-server-2019?view=sql-server-ver16.
Y por último, todo funciona con el generador de configuración de VSStudio para Azure, y falla para todas las demás situaciones, promoviendo aún más lock in "funciona para Azure y no para AWS, por lo tanto es AWS que es defectuoso, firma este contrato para comprar otros 6 meses de Azure".

Por supuesto, todos esos problemas y lock-in son excelentes para tener programadores que defenderán C# a capa y espada (porque es lo único que saben y pueden hacer), y esos programadores pedirán cursos y herramientas que sólo Microsoft vende. Lock-in puro y duro.

M

Douglas Crockford: "2022, será el año de COBOL en el navegador"

f

#71 ganaba 24k anuales en 2006, ahora estoy en unos 300k anuales.
Si me consigues un salario similar en C yo me cambio

knzio

#17 no siempre es sencillo de encontrar

C

#4 selección darwiniana: navegador que se haga de la vista gorda si hay errores de HTML y que renderice cómo pueda, tendrá una gran ventaja evolutiva comparado a navegador estricto que no presenta nada hasta que el HTML sea correcto.

C

Es como el teclado qwerty , una basura porque incita a cometer errores de ortografía y allí sigue. Nadie se atreve a sacar una nueva disposición de teclas.

j

#60 PHP ha mejorado mucho, mucho mas que JS.

box3d

#63 Web Assembly.
Con eso el cielo es el lìmite

j

#114 Tengo la misma sensación

knzio

#152 efectivamente, saber donde falla no implica saber de dónde viene el problema lol

r

JavaScript es basura.

Pero también es verdad que aquí se criticaba a C, un lenguaje precioso, simple y sencillo que entra en cualquier autómata.

S

#59 Mainstream? Lenguajes de masas? Python tiene.

Lenguajes menos conocidos? Hay a patadas con desestructuración y spread. Por ejemplo Haskell, OCaML, Erlang y Prolog.

Arlequin

Es el año de PHP en el front-end

n

#27 por Dios, escuchen a este hombre.

ErMijita

#22 Pues que JavaScript fue programado aprisa y sin “pensar” mucho en los efectos colaterales que podría tener extender de él, y al final resulta en un código tedioso de mantener y depurar...

c

Los sysadmin miramos y sonreímos desde nuestro bash.

c

#3 vaya puta mierda pseudo javera

Cyberbob

#27 Exacto. Y se dice poco.

sillycon

#66 La clave es "2006" y "ahora"

1 2