Software disenchantment

Ciencia en general, tecnología, informática, medicina...
Responder
Avatar de Usuario
Miguel O
Forbes 500
Mensajes: 32135
Registrado: 26 Sep 2010 21:55

Software disenchantment

Mensaje por Miguel O » 22 Sep 2018 13:35

Un excelente artículo sobre la nula eficiencia a la que el desarrollo de software está cada vez más encaminado.

Es algo que he ido viendo durante varias décadas y parece que a nivel de software de uso masivo no va a tener solución, al menos mientras la gente pueda acceder a hardware cada vez más poderoso. Sin embargo lo desaprovechado que está es una lástima. Podríamos hacer mucho más en menos tiempo con menos gasto en equipos y menos gasto energético.


http://tonsky.me/blog/disenchantment/
Software disenchantment
[...]Modern cars work, let’s say for the sake of argument, at 98% of what’s physically possible with the current engine design. Modern buildings use just enough material to fulfill their function and stay safe under the given conditions. All planes converged to the optimal size/form/load and basically look the same.

Only in software, it’s fine if a program runs at 1% or even 0.01% of the possible performance. Everybody just seems to be ok with it. People are often even proud about how much inefficient it is, as in “why should we worry, computers are fast enough”:[...]
"Los coches modernos trabajan, por decir algo, al 98% de sus posibilidades físicas con el diseño ingeniero actual. Los edificios modernos usan solo el material necesario para cumplir su función y mantenerse seguros en ciertas condiciones. Todos los aviones convergieron al tamaño/forma/carga optimas y básicamente son parecidos.

Solo en el software está bien si un programa funciona al 1% o incluso al 0.01% del posible rendimiento. Todo el mundo parece aceptarlo. La gente está a menudo incluso orguyosa sobre lo ineficiente que es, como "Por qué nos deberíamos preocupar, los ordenadores son suficientemente rápidos"...
"
Imagen

Capitán Tranchete
Miembro del Politburó
Mensajes: 17867
Registrado: 10 Sep 2010 18:20
Ubicación: Tranchetelandia

Re: Software disenchantment

Mensaje por Capitán Tranchete » 22 Sep 2018 14:22

Un problema, con esto, es que si algo funciona, es suficiente, en muchos aspectos. Creo que fue Donal Knuth el que dijo que intentar la optimizacion temprana de un programa es realmente un problema. Y a la larga, a veces 'rompes' algo que funciona al intentar optimizarlo (me paso justamente hace dos semanas con unos codigos en R)

Y otro que veo es que hay tantos y tantos lenguajes (y variantes, modulos...) que entiendo que un profesional de la informatica, como tu, tenga que manejarse en varios, y eso supone repartir entre esos varios el conocimiento. Quiero decir, no se llegan a dominar tanto como si solo se usase uno, o esa es mi impresion.

En mi campo, como usuario de a diario de lenguajes de programacion, pero en absoluto informatico, si hay una tendencia creciente a desarrollar programas que lo que hacen es servir d epuente a un codigo mas optimizado (por ejemplo c++) sin tener que haber trabajado con cpp. Y es asi porque cada vez es mas normal que los analisis de datos tomen tiempos que no se miden ya en horas, sino en dias, o algunos, semanas, y no hablo de analizar genomas o cosas jartisimas, sino a priori mucho mas laxas en lo que requerimientos de computacion cabria pensar
Imagen
Imagen
Del Caserío me Río
Athan escribió:los vascos son más racionales e inteligentes que los Catalanes

Avatar de Usuario
xmigoll
Funcionario
Mensajes: 6144
Registrado: 18 Ene 2014 11:57

Software disenchantment

Mensaje por xmigoll » 23 Sep 2018 06:10

Bueno. Un artículo de opinión de un programador que aunque puede saber mucho de ensamblar y crear sistemas peca, a mi entender, de pardillo. ¿Cree realmente que el actual sistema productivo mundial va a ayudar a que estos problemas a los que alude se resuelvan? Ya respondo por él; ¡No!
Como se va a optimizar el software a un hardware dado, si físicamente entre lanzamientos de productos, no hay tiempo material para hacerlo. Y no existe tiempo, no porque no se pueda hacer, no, si no porque las firmas son las primeras interesadas en que esto no ocurra. Un elemento que es eficiente, lamentablemente para ellos, no se cambia a la velocidad que las empresas desean. Y eso representa una caída de ingresos que va en contra dirección a lo que buscan. (Todo esto además genera un debate paralelo sobre el sistema gobernativo de la mayoría de las SUPERempresas, donde sus CEOs buscan beneficios MEGArápidos a sus mandatos).
A las ya consabidas frases de Gates sobre lo que con una escasa cantidad de bytes se puede llegar á hacee, no hace falta recordar quién es este tipo, hay que añadir el trabajo fe cientos y cientos de personas que, de forma desinteresada, van demostrando día a día que mo hace falta más potencia de hardware para poder hacer rodar el software. Un ejemplo cercano es XDA. Que aunque también hay mucho listo camuflado entre ellos, es una comunidad qu de permite evolucionar y adaptar software a hardware "antiguo" que las marcas han decidido desechar por razones puramente económicas como las que he apuntado con anterioridad.
Así que mientras el mundo donde vivimos no cambie el sistema productivo, espero que la razón última para hacerlo no sea un desastre a escala mundial, los problemas seguirán existiendo y conservándose. La pela es la pela, gñegggggg; lamentablemente. Lo demás importa una mierda.
Un saludo

Avatar de Usuario
Miguel O
Forbes 500
Mensajes: 32135
Registrado: 26 Sep 2010 21:55

Re: Software disenchantment

Mensaje por Miguel O » 25 Sep 2018 12:19

xmigoll escribió:Bueno. Un artículo de opinión de un programador que aunque puede saber mucho de ensamblar y crear sistemas peca, a mi entender, de pardillo. ¿Cree realmente que el actual sistema productivo mundial va a ayudar a que estos problemas a los que alude se resuelvan? Ya respondo por él; ¡No!
Como se va a optimizar el software a un hardware dado, si físicamente entre lanzamientos de productos, no hay tiempo material para hacerlo. Y no existe tiempo, no porque no se pueda hacer, no, si no porque las firmas son las primeras interesadas en que esto no ocurra. Un elemento que es eficiente, lamentablemente para ellos, no se cambia a la velocidad que las empresas desean. Y eso representa una caída de ingresos que va en contra dirección a lo que buscan. (Todo esto además genera un debate paralelo sobre el sistema gobernativo de la mayoría de las SUPERempresas, donde sus CEOs buscan beneficios MEGArápidos a sus mandatos).
A las ya consabidas frases de Gates sobre lo que con una escasa cantidad de bytes se puede llegar á hacee, no hace falta recordar quién es este tipo, hay que añadir el trabajo fe cientos y cientos de personas que, de forma desinteresada, van demostrando día a día que mo hace falta más potencia de hardware para poder hacer rodar el software. Un ejemplo cercano es XDA. Que aunque también hay mucho listo camuflado entre ellos, es una comunidad qu de permite evolucionar y adaptar software a hardware "antiguo" que las marcas han decidido desechar por razones puramente económicas como las que he apuntado con anterioridad.
Así que mientras el mundo donde vivimos no cambie el sistema productivo, espero que la razón última para hacerlo no sea un desastre a escala mundial, los problemas seguirán existiendo y conservándose. La pela es la pela, gñegggggg; lamentablemente. Lo demás importa una mierda.
Un saludo
Creo que dice precisamente que tal y como están las cosas no se va a arreglar a corto plazo, y solo intenta hacer reflexionar sobre el tema y que cada uno ponga su granito de arena para intentar paliar el asunto. El problema ya no solo por los fabricantes de hardware, si no tambien los fabricantes de sofware porque es mas barato crear un software no optimizado. Respecto a lo que dices de que no da tiempo a optimizar para un hardware, yo he entendio en el artículo que hablaba de la optimización en sí de manera genérica, al margen de optimizar para un hardware concreto y específico. Yo creo que la optimización de la que habla está en un nivel de programación superior y he entendido que se refiere a la programación incluso despues de abstraer la capa de hardware y dejando esta función relegada a los "drivers". He entendico que la optimización a la que se refiere es más bien al sofware que funciona sobre estos drivers y que es un sofware que está claramente falto de optimización.

No se trata por tanto de optimización para un hardware concreto, si no de optimización del sofware de manera genérica. Como dice en el artículo, no es normal que, un sofware que se encarga del control de teclado en pantalla ocupe más que un sistema operativo completo de hace no tanto o que tarde 30" en arrancar un procesador de textos que luego tiene un retraso de respuesta precibible. Eso va más allá de la optimización para un hardware concreto y no debería suceder aunque no se programe para un hardware específico.
Imagen

Avatar de Usuario
xmigoll
Funcionario
Mensajes: 6144
Registrado: 18 Ene 2014 11:57

Re: Software disenchantment

Mensaje por xmigoll » 25 Sep 2018 23:10

P
Miguel O escribió:
xmigoll escribió:Bueno. Un artículo de opinión de un programador que aunque puede saber mucho de ensamblar y crear sistemas peca, a mi entender, de pardillo. ¿Cree realmente que el actual sistema productivo mundial va a ayudar a que estos problemas a los que alude se resuelvan? Ya respondo por él; ¡No!
Como se va a optimizar el software a un hardware dado, si físicamente entre lanzamientos de productos, no hay tiempo material para hacerlo. Y no existe tiempo, no porque no se pueda hacer, no, si no porque las firmas son las primeras interesadas en que esto no ocurra. Un elemento que es eficiente, lamentablemente para ellos, no se cambia a la velocidad que las empresas desean. Y eso representa una caída de ingresos que va en contra dirección a lo que buscan. (Todo esto además genera un debate paralelo sobre el sistema gobernativo de la mayoría de las SUPERempresas, donde sus CEOs buscan beneficios MEGArápidos a sus mandatos).
A las ya consabidas frases de Gates sobre lo que con una escasa cantidad de bytes se puede llegar á hacee, no hace falta recordar quién es este tipo, hay que añadir el trabajo fe cientos y cientos de personas que, de forma desinteresada, van demostrando día a día que mo hace falta más potencia de hardware para poder hacer rodar el software. Un ejemplo cercano es XDA. Que aunque también hay mucho listo camuflado entre ellos, es una comunidad qu de permite evolucionar y adaptar software a hardware "antiguo" que las marcas han decidido desechar por razones puramente económicas como las que he apuntado con anterioridad.
Así que mientras el mundo donde vivimos no cambie el sistema productivo, espero que la razón última para hacerlo no sea un desastre a escala mundial, los problemas seguirán existiendo y conservándose. La pela es la pela, gñegggggg; lamentablemente. Lo demás importa una mierda.
Un saludo
Creo que dice precisamente que tal y como están las cosas no se va a arreglar a corto plazo, y solo intenta hacer reflexionar sobre el tema y que cada uno ponga su granito de arena para intentar paliar el asunto. El problema ya no solo por los fabricantes de hardware, si no tambien los fabricantes de sofware porque es mas barato crear un software no optimizado. Respecto a lo que dices de que no da tiempo a optimizar para un hardware, yo he entendio en el artículo que hablaba de la optimización en sí de manera genérica, al margen de optimizar para un hardware concreto y específico. Yo creo que la optimización de la que habla está en un nivel de programación superior y he entendido que se refiere a la programación incluso despues de abstraer la capa de hardware y dejando esta función relegada a los "drivers". He entendico que la optimización a la que se refiere es más bien al sofware que funciona sobre estos drivers y que es un sofware que está claramente falto de optimización.

No se trata por tanto de optimización para un hardware concreto, si no de optimización del sofware de manera genérica. Como dice en el artículo, no es normal que, un sofware que se encarga del control de teclado en pantalla ocupe más que un sistema operativo completo de hace no tanto o que tarde 30" en arrancar un procesador de textos que luego tiene un retraso de respuesta precibible. Eso va más allá de la optimización para un hardware concreto y no debería suceder aunque no se programe para un hardware específico.
Pero un software genérico, nunca puede estar completamente optimizado. Después cada fabricante tiene su capa de personalización y es ahí donde cada uno debe ajustarlo a sus necesidades.
En principio eso no le debería pasar s Apple y sí a Todos aquellos que montan android. Google procesa un SO genérico y cada casa le añade sus "mejoras", sus capas de personalización etcétera.
En cuanto a Pcs me parece otra tarea titánica. Con los 400 modelos de placas base y gráficas que existen me parece cuando imposible optimizar un software de forma precisa y específica.

Responder