Muchos programadores se encontraron mirando la pantalla ante compilaciones e instalaciones fallidas el martes, cuando alguien derrumbó la torre Jenga que es JavaScript. Un par de horas antes Azer Koçulu desplublicó más de 250 de sus módulos de popular administrador de paquetes NPM, usado por proyectos JavaScript para gestionar dependencias. Uno de los módulos de Koçulu se llama Kik, igual que una aplicación de mensajería. Los abogados de Kik exigieron la retirada del módulo, a lo que Koçulu se negó. Los abogados exigieron...[sigue en
#1]
Uno de ellos es left-pad, un módulo muy simple que simplemente pone rellena por la izquierda una cadena con espacios o ceros. Y miles de proyectos dependían de él.
Las 11 líneas:
module.exports = leftpad;
function leftpad (str, len, ch) {
str = String(str);
var i = -1;
if (!ch && ch !== 0) ch = ' ';
len = len - str.length;
while (++i < len) {
str = ch + str;
}
return str;
}
Edit. Y vaya kk de librería, en node el primer parámetro debe ser una función callback
No es sensacionalista, es la verdad. Proyectos que compilaban ya no compilan porque les falta una dependencia de 11 líneas.
Claro, es falsa la noticia porque si ya lo habías bajado antes entonces no te falla, es falsa la noticia porque lo puedes apañar sin más que investigar qué es lo que hace el módulo que no tienes y picar tú el código.
Sí, para ti la perra gorda. Sensacionalista.
Nada impide votar negativo un envio y comentar en el.
Sinceramente, nunca he acabado de entender este tipo de plataformas del tipo "No te preocupes por nada que otro ya dejó escrito como va" porque luego pasa que si algo falta no te tira nada. Provoca que la gente use de todo sin saber qué está haciendo o de qué depende.
Es como cuando la gente tira a saco de los javascript de jquery y demás de la web de jquery. Que te encuentras que durante 3 o 4 horas tu web tarda 3 minutos en cargar y resulta que no te va ni un sólo botón porque tienen saturada la web. Cuando con un buen sistema de caches puedes servir tranquilamente los ficheros desde tus servidores.
Para algunos el rendimiento bajo carga salvaje será lo primero y para otros una web resultona pero que cueste muy poco será suficiente. Para este segundo caso tienes todos esos módulos prehechos que suelen valer tal cual.
Con ello te expones a que tu web deje de funcionar si a los servidores de JQuery les pasa algo.
Mi comentario del otro dia sobre como Node es una puta mierda que no se puede tomar en serio: www.meneame.net/story/intel-lanza-distribucion-python-uso-matematicas-
Aiins, qué lejos andan de apt, dnf o no digamos ya Nix/Guix.
Si vas a talar un arbol con una cuchara estas jodido. JS que se quede en los navegadores de donde nunca debio haber salido.
Y sobre usar JS como apliaciones de escritorio...
Guay, eso de necesitar i3 para hacer lo que puede hacer un Core Duo sin despeinarse.
function leftPad(str, ch, len){
str = String(str);
if (!ch && ch !== 0) ch = ' ';
var filler=Array(len).join(ch);
return (filler+str).substr(str.length-1,len);
}
Sobre el caso concreto de node, probablemente su éxito se deba a una combinación de usar un lenguaje popular (aunque sea una basura) + el hecho de que el ruso de turno te hace módulos de 100 líneas con los ojos cerrados y los publica sin pensar.
#21 No es que estuvieran en producción, esos seguirán funcionando El tema es que te bajas algo para usarlo y no te funciona porque falta una dependencia.
Esto de todas formas no es nada específico de javascript, ¿a quién no le ha fallado una instalación de un paquete en Debian porque justo han subido de versión una dependencia y no han actualizado todavía el paquete?
A mí me parece relevante de toda la historia que una función tan mierdecilla la usase todo dios Y por supuesto que unos abogados chulillos consigan que se borre algo de un repositorio.
Me apuesto el culo a que esto ha afectado a cientos de proyectos en producción, o al menos a paralizados sus procesos.
#27 Eso debió pensar el tal Koçulu A la mierda NPM y que se entere todo el mundo de lo que ha pasado.
#18 Tengo un máster en portadas que duran minutos
www.freepascal.org/docs-html/rtl/strutils/padleft.html
www.freepascal.org/docs-html/rtl/strutils/addchar.html
Si eres un loco que usa testing, puede. En stable es imposible que ocurra.
wingolog.org/archives/2015/08/04/developing-v8-with-guix
En usuarios hace tiempo que los ha destronado. En velocidad, potencia y capacidad , perdona que me descojone.
No se le acerca a C, C++ o FreePascal en velocidad ni harto de vino.
Y la comunidad de desarrolladores serios que tienen detrás, es que vamos, dejan a los de JS como aficionados.
Luego te vas a entornos como Scheme y los de JS salen huyendo. Por qué será.
Pues porque javascript no es un lenguaje de programación decente, es un churro. Es peor que el odiado PHP, pero nadie lo dice.
Es un lenguaje de scripting muy básico que hicieron para agregar funciones chorra en la web tipo ocultar y mostrar botones. No tiene librería estándar. Al ser el único lenguaje que soportaban los navegadores fue cogiendo fuerza ya que no había ninguna alternativa. Ahora los hipsters se dedican a crear librerías y frameworks "chupiguays" y van redescubriendo poco a poco los 40 años de avances que ya existen fuera del mundo web.
PHP es peor.
"hora los hipsters se dedican a crear librerías y frameworks "chupiguays" y van redescubriendo poco a poco los 40 años de avances que ya existen fuera del mundo web. "
Exacto.
C++: Boost, SDL2, QT, Enet...
C: Todo lo de C++ y bindings para cualquier lenguaje.
Python: Pues que decir con sus módulos científicos, y con PyPy se consigue bastante eficiencia.
Java: Pese a ser tan criticado, está en librerías y calidad bastante más allá de JS.
Y ojo que con churros de Perl tenía más en comparación que ahora al ser tanto el lenguaje de CGI como administración de sistemas.
JS es un sublenguaje de navegador que quiere ser algo más y no puede.
Con Perl, pues ahí tienes la base de distros como Debian y OpenBSD con APT en el primero y otras cosas como toad(1) y pkg_add(1) en el segundo.
eev.ee/blog/2012/04/09/php-a-fractal-of-bad-design/
"No hay lenguajes malos sino programadores inútiles. "
Uh... no.
No pretendas hacer algo que requiera potencia en JS cuando C/C++ son intocables.
CSH es una mierda comparado contra KSH o BASH. Da igual el programador, es nefasto ese lenguaje de shell contra los segundos.
Cuando para hacer lo más básico se necesitan 200 librerías, es hora de aceptar que el lenguaje ha de tirarse a la basura y no pretender hacer algo serio que dependa de medio Chrome como dependencia más lás librerías de JS.
Que si multiplataforma, sí, muy bien, y que todo el mundo lo ha cacharreado, sobre todo los neófitos pero entornos como Lázarus tambien compilan el Free Pascal hasta para la Game Boy Advance y Android (lo juro) y es mil veces más rápido que JS por razones obvias.
Y sobre todo posee funciones de SDL2 y OpenGL de serie, creo.
Perdón por el negativo, no era mi intención.
Define que es para ti un desarrollador serio, ¿los ingenieros de google que crearon angularjs son serios? ¿los que han desarrollado reactjs lo son?
Tranquilo no pasa nada.
Ahí tienes Python, FreePascal con Lazarus como RAD con OpenGL, OpenCV y de todo, o cualquier otra alternativa.
JS con sus libererías es un parche gordo exigiendo medio motor de Chrome para hacer algo mínimo.
" ¿los ingenieros de google que crearon angularjs son serios? ¿los que han desarrollado reactjs lo son? "
Muy bien, y también tiene Python cosas como una VM con JIT optimizada de Intel, y cientos de librerías de mamemáticas y física con más cerebros que Google (CERN) , ¿y?
Para audio y vídeo + videoconferencia, que lo provea en el navegador.
Windows con Direct3D y sus codecs basados en DirectX. Linux con Gstreamer + FFMPEG, eso ni se piensa. Con OSX algo tendrán con CoreAudio/Video y QuickTime.
De todas formas no te preocupes por mi ignorancia del mundo JavaScript. Nunca ha sido el lenguaje de mis amores.
En serio vas a usar argumentos de niño pequeño ¿este es el nivel?
De momento ya estamos viendo 100000 librerías para hacer algo básico.
Que es un lenguaje que origina en el navegador. ¿Qué esperábais?
Que hasta el intérprete Guile tiene más capacidades de serie .
en.wikipedia.org/wiki/Emscripten
Y para juegos 2D mejor usad Godot y exportad a HTML5.
Desde la aparición de symfony, psr y composer, PHP es algo mucho más serio de lo que era.
Te pongo un ejemplo... la WII U tiene una "feature" perfectamente documentada que provoca que en un caso concreto, el player de música corte la reproducción, pues muchos game engines, por ejemplo unity, no lo contemplan, y no te creerías la cantidad de juegos que tienen ese bug porque sus usuarios en vez de leerse la documentación y gestionarlo ellos, esperan que la próxima versión de unity lo haga por ellos, porque no tienen ni idea de que hacer (o como ya te han respondido, pura vagancia).
Los game engines son herramientas de producción muy útiles, pero si te descuidas te hacen olvidar lo que sabes de programación.
Lo dicho, que PHP se quede en lado servidor y JS en el cliente web y que no salgan, que si no vamos a tener desastres similares y vamos a flipar.
Bien, pero todo estudio ha usado un motor desde siempre. Ver caso de Unreal, donde lo ves en juegos como DeusEX o los motores de Quake 2 y 3.
Te aviso, que en las FP, en "programación" están enseñando unity a los nenes que quieren "hacer videojuegos", incluso en muchas universidades (sobretodo de pago...), cuando te los encuentres y tengas que arreglas sus cagadas acuérdate de lo que te he dicho
Es como la gente que dice que javascrip es "una mierda", disculpa, la mierda serán según que scripts.
Hacían un código de script para Bash de 50 líneas y un servidor con 7-8 hacía lo mismo y más eficientente.
Hablo de gente que venía de DAM comparado con un capullo como yo, que empezó en secundaria hace ha con C y tocó algo de Perl y Free Pascal y adiós muy buenas hasta hoy, que sigo con Lazarus y algo de Scheme.
"JS es una mierda, para hacer cosas usad esta otra herramienta que convierte a... JS"
Porque aprender JS "bien", no, ¿no?
El código convertido desde C++ y C desde EMScripten es ilegible, imposible de realizar por un humano.
Cuando se crearon los lenguajes de script para los navegadores, se indicaba el lenguaje, javascript ha sido el que triunfó.
Muchas tecnologías han nacido para el navegador como los applets e incluso hay sand-box con native cliente para C/C++, al final por muchos motivos hay tecnologías que triunfan y otras que acaban cayendo en desuso, tildar de malo a un lenguaje por su origen denota tener poca cultura en este ámbito.
Bien, pero eso era hace 40 años. Con 1 año de margen, ya ves.
en.wikipedia.org/wiki/C_file_input/output
en.wikipedia.org/wiki/C_string_handling
Cosa que hasta Pascal como digo, un lenguaje hecho para la academia, tenía y en rendimiento alcanza a C. No exagero, todos los MacOS hasta la 9 usan un dialecto de Pascal y ASM para m68k, siendo los de PowerPC Pascal puro.
A partir de la 7, creo.
Node y V8 es un intento para hacer "programas" portables bajo Chrome para gente con poco conocimiento o nacida cerca del 2000. Porque si no, no me explico.
Sólo lo hace un truño muy conocido.
Algún día alguien muy reputable y serio dirá "qué coño hace js en la parte del servidor?" y entonces saldrá otro lenguaje/plataforma/framework que se pondrá de moda, reinventará la rueda, crecerá como la espuma y todo el mundo lo usará aunque no pegue ni con cola para esos proyectos ni deje de ser nunca beta.
Mientras, los programadores de cobol, C, Java o .Net dirán "qué cosas más raras hace la gente".
Apa, bona nit caballero.
Normal que tire rápido, el "compilador" + intérprete supera al humano, pero no lo hace idóneo en absoluto.
Pero yo sólo soy un pobre programador/sysadmin con su opinión.
Saludos cordiales.
De ahi en mas, no soy fan de javascript, efectivamente es un mal lenguaje y ademas de adolece del mismo sindrome de php donde cualquier manazas hace su desarrollo en este lenguaje (lo cual provoca este desastre de ecosistema). Pero dificilmente se remediara esto, js (fuera del cliente) ha venido para quedarse.
Sobre Scheme, prueba una librería que tiene un motor 2D/3D, busca en Google.
dthompson.us/pages/software/sly.html
Yo no creo que tenga la verdad absoluta. Sólo soy un programador/sysadmin con su opinión y algo de experiencia que he visto repetir varias modas (alguien se acuerda ya del revolucionario ruby?). Y mi humilde opinión es que se están haciendo burradas con js.
Y sí, muchísima gente puede estar equivocada. Desde los que decían que el comunismo dominaría el mundo, o los que decían que los pisos no podían bajar nunca.... Etc...
Ahora sí que me voy a dormir.
Salut.
No hemos avanzado mucho en la web. Siguen haciéndose la mismas tontás de antes, pero con mas nombres chupiways de frameworks barbudos.
En utilidad y funcionalidad, cero avances, me temo. IMHO.
Cuando finiquiten Flash, verás a donde van todas esas webs que dependan del plugin.
Sobre todo olvídate del mercado para móviles.
En tecnología web, (sin sacarlo de ahí) JS es correcto. Flash es nefasto, por las mismas razones que JS en aplicaciones pero a la inversa.
Todos los vídeos en Flash se pueden pasar a vídeo con la etiqueta correspondiente tranquilamente.