17 de enero de 2010
De progres y tecnócratas
Estas dos últimas semanas he estado leyendo The C Programming Language, considerado uno de los mejores libros de informática de la historia. No sólo me ha sorprendido el conocimiento que tienen los autores del lenguaje C (uno de ellos es quien lo inventó) sino cómo se preocupan de que entiendas de dónde salen las cosas. En lugar de lo que hacen ahora, que es darte un chorro de funciones que han empaquetado en clases para que vayas juntándolas, Kernighan y Ritchie te ponen como ejercicios que reescribas algunas funciones de la librería estándar. Hay en esas páginas un amor por el conocimiento adquirido a través del esfuerzo, y también la cristalina pureza de la inteligencia de dos genios. He aprendido diez veces más con ese libro que con toda la pila de basura que había comprado sobre Java. El ejemplo del final, en el que se muestran las búsquedas en árbol, es como una combinación de ajedrez. Ahí entiendes cómo se hacen los index del PostgreSQL. La primera edición de la obra data de 1978.

También en estos días he estado leyendo sobre la codificación Unicode, el ideario progre aplicado a la informática. Teníamos unas letras que ocupaban un byte cada una y llegaron ellos a solucionar el problema: primero dos bytes por letra, 65.536 caracteres únicamente. Como eso no bastaba, porque había en Somalia unos bereberes que hacían los garabatos con seis rabos cada uno, pues meten cuatro bytes por letra y todo claro. Hemos hermanado el mundo. Ahora que se lo expliquen a aquellos que defendían el esperanto.

Luego llegan los dos cracks: Pike y Thompson: tranquilos, nosotros seguiremos con nuestro ASCII y vosotros dos bytes por letra y los negros, chinacos y moros, esos cuatro o cinco bytes por letra. Éstos son mejores que Pepiño, que les regala los billetes de avión pero sólo de ida.

El castellano en UTF-8 utiliza dos bytes para todas las letras que están fuera del rango US-ASCII, es decir acentos, eñes y algo más. Y luego, como hay caracteres de un byte y otros de dos, pierdes la correspondencia entre el tipo de dato y su expresión gráfica. O sea, problemas y consumo de recursos para hacer lo mismo que antes. Vamos a pasar una década con textos que se ven mal, con cagarrutas por las webs. Y si alguien se cree que se acabarán las incompatibilidades, que se vaya desengañando: Windows utiliza un formato que llama UTF-16, pero que no es multibyte sino de ancho fijo (UCS2). Y otros usan el UTF-32. En quince años habrá tantos UTFs como codificaciones ISO.

Aquí en España recuerdo yo a fervientes defensores del formato, y veréis cómo en los comentarios aparecen también.

Es una epidemia de mediocridad generalizada la que ha impregnado a toda la sociedad occidental en los últimos 30 años. La informática es sólo un ejemplo más de la venta de humo y el desperdicio de los recursos.

Y ahora estoy viendo la tele y aparece ese charlatán llamado Punset: el objetivo de la educación no ha de ser formar tecnócratas sino ciudadanos con unas bla, bla, bla (juro que no recuerdo qué conceptos vendía). Y es que pienso que esa es la esencia de lo progre: el pensamiento volitivo, el rechazo de la razón en beneficio de difusas emociones que no aportan ninguna base real. O como decía la negrita aquella del Bronx: ¡change! ¡change! ¡hope!

22:11:02 ---------------------  

2016 en Denia (Alberto Noguera)
El implacable retrato del desencanto y la corrosión de las ilusiones en la España de principios de siglo.
Comprar por 3,59€ en Amazon.

19 comentarios:

Anónimo:
Bueno, en Japon, China, Korea creo que con solo 2 bytes no le da para todos los idiogramas que tienen, todos juntos.
Y el UTF-8 es un invento increible, inventado en la servilleta en restaurante.
Pero es para arreglar un error de C, como sabemos cuando hemos terminado una cadena. El Pascal y otros mas lo ponian en el primer byte de la cadena la longitud (solo 256 caracteres) o en los siguientes y el C dijo que cuando se encontra un 0 (no hay limite pero ha recorrerse la cadena para saber donde cortar o su tamaño).
Windows usa UTF-16, a veces, (y java tambien) porque las funciones y mucha de la codificacion sigue viniendo del Pascal. Busca un post llamado C y Unix considerodo evil, es muy bueno.
Y que conste que C y UNIX (tambien inventado por Kerningan es uno de los mejores SS.OO. y lenguages inventados, pero como todo en ingenieria tiene sus tradeoffs.
18 de enero de 2010 a las 00:42.  

Uno que pasaba por aqui:
"La informática es sólo un ejemplo más de la venta de humo y el desperdicio de los recursos"

Me encanta esa frase porque plasma perfectamente lo que es la informática empresarial de hoy en día: programas mal hechos, peor probados y nada documentados, vendidos por una subcontrata de una subcontrata que sólo aspira a sacar lo máximo del vil metal sin importarle la mierda que entregue.

En los albores de la informática, el desarrollo de software se consideraba una rama más de la ingeniería, se recogen, requerimientos, se analiza y diseña, se implementa y se prueba, y si no sale bien, vuelta atras y a empezar por donde falló el asunto.

La informática aprendió rápidamente lo que era el mundo real, al director de turno no le importa si el software es bueno o malo, sólo le importa tener algo que mostrar a sus superiores: prisas, programas mal probados y sin ningún tipo de documentación que permita mantenerlos son un gran ejemplo, si hace falta saltarse la política empresaria, se salta, nada de integración con entornos preexistentes, nada de gestión única de datos ni de usuarios, sólo mostrar que tengo mi parcelita montada y que puedo sacar la tajada adelante como sea.

Hoy en día los departamentos de infomática están condenados a desaparecer en visos de la mal llamada "externalización", la teoría es muy buena, me dedico a mi negocio y una empresa externa me presta servicios informáticos, así me olvido de la gestión del desarrollo y mantenimiento y sólo pago. La realidad es que sólo se externaliza el problema, nunca la gestión ni la solución que acaba realizando el personal propio o segundas y terceras subcontratas, eso sí, el "vendecarne" de turno, perdón, quería decir socio tecnológico, ha vendido su humito y ha sacado adelante su cuenta de resultados, y el director está muy contento porque se quita de encima a esos ingenieros frikis de la eficiencia y del trabajo bien hecho.
18 de enero de 2010 a las 08:07.  

El llavero:
Pues yo tambien me enganche al programa de Punset "más es menos". Y aunque lo he seguido a ratos, me ha parecido que precisamente denunciaba la falta de enseñanza en valores.
18 de enero de 2010 a las 09:49.  

baburu:
Me alegro que hayas disfrutado descubriendo el lenguaje C, ojala fueran así todos esos titulados frustrados que terminan haciendo un curso de Java "intensivo" para venir aquí , armados con un compilador de Visual Studio, a decirme cómo hacer mi trabajo. Te recomiendo, una vez domines lo básico del lenguaje C (sobre todo los punteros), que eches un ojo a C++, un lenguaje que, para los puristas, es prescindible.
18 de enero de 2010 a las 10:00.  

Eloisa:
Pues si a ti te parece un desperdicio de recursos el poder leer textos, digamos en persa clásico, para aquél que lo necesite o que lo disfrute, tú mismo. Yo prefiero llamarlo avance.
18 de enero de 2010 a las 10:17.  

macjohn:
Libros clásicos de informática hay de buenos y de malos. El de Kernighan & Ritchie sin estar mal, no es de mis preferidos. Si te interesa la didáctica más que el lenguaje de programación en si te recomiento el de Niklaus Wirth: "algoritmos + estructuras de datos = programas". En él podrás ver como implementar (en Pascal) algunos de los algoritmos más utilitzados para realizar ordenaciones, búsquedas, comparados y comentados. Otro que me ha iluminado en múltiples ocasiones es el "Design Patterns: Elements of Reusable Object-Oriented Software".
18 de enero de 2010 a las 10:29.  

Scientist:
Muchas veces veo las entrevistas del Punset y pienso que los entrevistados estarán pensando "Que preguntas mas raras me hace el tipo este". Siempre llevando las conclusiones de los cientificos hacia el valor de la educación en emociones.
Aún así creo que sus programas son la mejor de largo de la TV.
18 de enero de 2010 a las 11:16.  

Javi:
La informatica como ingenieria, ciencia o como querais llamarla murió con la llegada de las consultorias (tambien ha influido la moda por Java con el rollito de que todo el mundo puede programar en Java... me parto). Jamás he visto hacer un trabajo peor, y lo más triste es que nos viene como anillo al dedo, si ya de por si lo españoles tendemos a ser chapuceros lo de las consultorias de verdad que es para verlo desde dentro.
Tambien es verdad que dentro de la mierda hay diferentes clases, pero en la peor que he estado trabajando mi jefe sólo sabía decir dos cosas:
1. "Si funciona no se toca"
2. "No vamos a reinventar la rueda"
Las reuniones de proyecto eran un puto espectáculo. Yo que estaba recien salido de la facultad, pensaba que me iba a comer el mundo, siempre estaba proponiendo mejoras. Jamás se llevó a cabo ninguna, siempre con el cuento de que si había que cumplir los plazos, que si se dejaba para versiones futuras... En una de estas reuniones, y despues de que me tumbaran todas mis propuestas con lo de reinventar la rueda, ya no pude por mas que soltarle que es que a él le daba igual poner unas ruedas de 15" que unos putos ruedines de bici. A la semana me largaron de alli. Encima te sueltan el rollo de que es que no sabes trabajar en equipo, que si no te ha adaptado a la dinámica de grupo... (al menos antes de irme le puse de inutil pa´arriba delante de toda la empresa). Vamos, que ya no es que se hagan las cosas mal porque son unos incompetentes, sino que encima les jode que los demas intenten hacer bien su trabajo. Normal que al final la gente acabe quemada y no te quede mas remedio que seguirles el rollo y liarte a hacer chapuzas.

PD. Encima pagan una miseria y se echan horas extra por un tubo para arreglar las cagadas mentales de tu jefe.
18 de enero de 2010 a las 13:25.  

Anonimia:
Ni idea de lo que hablas.
Pero yerras con el Punset, a mi parecer. Te recuerdo que este hombre entrevista en su programa a lo más puntero del panorama científico, abordando temas aún no admitidos por la comunidad científica. Mucho espacio se lleva la psicología, pero porque desde que ha surgido un "nervio duro" de investigadores angloamericanos la cosa está revolucionando el panorama, sobre todo el de la ideología bienpensante, el feminazismo (como decís aquí, te recomiendo un programa en que una doctora en psicología hablaba de como los CI altos se dan mucho más en hombres -y los bajos- mientras que las mujeres son más parecidas en Inteligencia). Me ha sorprendido a menudo en sus afirmaciones. Creo que te dejas llevar un poco por tu fundamentalismo antiprogre y rechazas a la primera una terminología que puede que a veces se parezca a aquello con lo que no va.
Y por muy racionalista que te pongas, o sabes que el hombre es un animal social emocional (por razones evolutivas, no románticas o progres) más de lo que es racional, o no sabes nada.
18 de enero de 2010 a las 13:25.  

Manu (The Java Real Machine):
Hombre, es que no puedes comparar esos libros que se escribían antes con la basura que se escribe ahora en la mayor parte de las ocasiones.

Yo, que empecé a programar en el 92 y estudié aprendiendo Pascal, C, C++ y Cobol, cuando empecé a pasar a JAVA (porque era lo que se demandaba) eché mucho en falta buenos libros del estilo del que tu mencionas.

En JAVA, y otros lenguajes, echo mucho de menos una mejor documentación para los que empiezan, para los que saben y quieren mejorar, pero sobre todo para los que son buenos y quieren ser mejores.

Pero mira tú por donde, resulta que hoy la gente empieza mayoritariamente con lenguajes como JAVA o .NET, incluso en la Universidad.
Y así sucede, que la gente que nos va llegando trae lagunas insondables en su conocimiento.

Y no te digo nada del tema de la Algorítmica... porque menudas burradas que tengo vistas en el código que nos envían desde más de una Software Factory.

Pero así es la mal llamada Informática actual, que por desgracia en este país ha caído en manos de 'cabecitas pensantes' que vienen del mundo Industrial, y se piensan que hacer programas tiene que ser como hacer tornillos.
Y así pasa, que se hacen auténticas mierdas (perdonar mi lenguaje), en pro de los beneficios del patrón, que no entiende de JAVA, de pruebas, calidad o algorítmica.
Él solo entiende de pasta, y si recorto un par de personas de aquí me ahorro X, por lo que gano más.

Pero esta forma de trabajar es algo propio de España, porque cuando hablas con gente que está trabajando fuera la cosa cambia. Y no te digo nada si te coges un buen libro de Ingeniería del Software, cuando empiezas a leer cómo se deben de afrontar y realizar los proyectos informáticos, y lo comparas con lo que se hace aquí.

Una pena, de verdad... una auténtica pena.
18 de enero de 2010 a las 14:42.  

 alberto 
:

Yo creo que son los clientes paletos los que engendran desarrolladores paletos, pero la informática se ha encanallado exactamente como todo lo demás. España es el país occidental menos propicio para la informática, por el ruido que hay, lo poco que se duerme y lo mucho que se habla. Creo que con un poco más de tiempo la clientela apreciará el trabajo bien hecho y lo pagará. Y creo también que hay muchas cosas que las puede hacer uno mismo sin que nadie lo contrate.
18 de enero de 2010 a las 16:14.  

Honore de Balzac:
Muchas gracias, Alberto, por hablar de uno de los temas más importantes que impacta sobre la sociedad de hoy, y que es la tecnología basura que nos rodea, sobre todo la derivada de la informática y las telecomunicaciones. Como en otros sectores, la tecnología es utilizada por las empresas, y éstas crean productos y servicios poco necesarios o inútiles, creando necesidades que no lo son, y provocando, a su vez, que los recursos se destinen a lo innecesario. El futuro está en las soluciones prácticas, económicas y ligeras, se acabó el mundo de la ostentación y la chulería (por fín). El éxito de internet ha creado una imagen de la informática como solución a todos los problemas de gestión de la información, y esto ha hecho creer que todo lo informático es bueno, cuando la informática de calidad, la de genios como los que comentas, está en los museos, y muy lejos de las escuelas de tecnología. Argumentaré mi reflexión, aunque va en la línea de lo que ha comentado "Uno que pasaba por aquí". Me voy a extender porque es una reflexión de sentido común que no hace mucha gente, y que abre los ojos a los demás.

La informática y las telecomunicaciones están hermanadas desde hace mucho tiempo, y cada día más, debido a que tienen como objetivo obtener, procesar y entregar información a través de redes. Este es un problema científico que se estudió y que se le ha dado solución desde los departamentos universitarios ligados con la computación y la telemática, y que siempre siguió el ciclo natural de un problema de ingeniería: análisis, diseño de la solución (o soluciones), construcción de la solución e implantación y puesta en producción. A través de los años se fueron creando estándares, mejorando los procedimientos de ensayo y asegurando la calidad en todas las fases, y este sector crecía de manera ordenada. Hasta que llegaron los iluminados de las multinacionales tipo Microsoft, Ibm, Oracle y demás, que se dieron cuenta de que el margen de beneficio trabajando de manera ordenada era bastante menor que imprimiendo velocidad al ciclo de vida de las aplicaciones y productos, y esto ha generado lo que tenemos hoy en día: soluciones limitadas, de baja y media calidad, llenas de defectos que se corrigen en la siguiente versión, que siempre cuesta más, y que encima, puede que sean peores que la anterior. En la realidad, la informática parece que funciona (nadie nota los defectos), y los fabricantes (Bill Gates – Microsoft, Larry Ellison – Oracle, etc.), ya no saben ni el dinero que tienen.

En las soluciones a medida de las empresas o del sector público tenemos todavía algo peor. Sea el proceso que sea, se intenta mecanizar de inmediato, sin revisarlo ni realizar ningún estudio de reingeniería, lo que ocasiona que se mecanicen procesos defectuosos, o en muchos casos, peores que los procesos que existían antes. Un ejemplo típico es el de muchos bancos internet, que te dan acceso vía web, pero perdiendo funcionalidad que puedes hacer en ventanilla. Esto seguro que os ha pasado alguna vez. Como los productos que realizan los fabricantes no suelen ser suficientes o son demasiado estándar, hay que modificarlos, añadir aplicaciones complementarias, desarrolladas por empresas subcontratadas (varias veces), que ganan dinerales porque venden tarifas de ingeniero, pero que las trabajan becarios o personas inexpertas. Encima, lo que se valora no es un desarrollador o administrador de sistemas de calidad, sino chavales que con 30 años dicen que son jefes e proyecto o expertos y que nunca han desarrollado o trabajado en un sistema desde la base. Imaginaos lo que pasaría si en un hospital os operase un médico que nunca ha hecho prácticas. Pues en el sector de las TIC esto es el día a día. El método de concesión de proyectos a las empresas es el de siempre: concurso o adjudicación a la empresa de los amiguetes, dándoles libertad para que subcontraten a quien quieran, cuantas veces quieran, y sin exigir muchas garantías. Podría hablaros de este tema con más detalle, pero lo mejor es que veáis lo que les pasó a los amigos de ZP cuando abrieron la página del año de España en la UE: http://www.elmundo.es/elmundo/2010/01/04/union_europea/1262610678.html

Como funcionario integrante de una agencia de la Administración Pública, muy relacionada con la informática y las telecomunicaciones, he vivido varios proyectos con las mayores empresas de este país, utilizando productos punteros, y la única solución buena es una que implantamos a finales de los 90, solución que implantamos siguiendo todas las fases con sus periodos naturales, y con personas subcontratadas, expertas de verdad, que venían de USA y Europa. La mejor referencia es que ganamos un premio europeo y que nos han visitado personas del sector público de países de la UE para que les ayudásemos en su caso. Creo que tardaremos muchos años en repetir un éxito como este.

Esta situación será difícil de cambiar, pero la aparición del Google como "rompehielos" sobre el sector de los fabricantes, eliminando las ligaduras y abriendo a los usuarios la posibilidad del software libre (servicios de búsqueda, correo y multimedia casi gratuitos), puede hacer que esta situación cambie, porque los costes de los productos desaparecerán, y el desarrollo de código en abierto hará que desde las escuelas de tecnología se mejore la educación, y en las empresas, que haya más conocimiento desde la base. En Alemania gran parte de la administración utiliza plataformas de código abierto de forma obligatoria por ley (derivadas del Linux), lo que hace a las empresas ir hacia esa vía. Confiemos en que el futuro vaya por esa línea.
18 de enero de 2010 a las 16:16.  

Somary:
Este paper le ha dado algo más de dinero a sus autores...

http://infolab.stanford.edu/~backrub/google.html
18 de enero de 2010 a las 17:46.  

 alberto 
:

Muy buen enlace. Entonces no eran emprendedores hinchándose de crédito sino investigadores académicos. Qué decepción.
18 de enero de 2010 a las 20:36.  

Vitkoyé:
Alberto, la verdad es que tienes un magnífico blog, pero no acabo de entender la manía que le tienes al concepto de emprendedor. Que los hay malos, sin duda, igual que hay pésimos funcionarios, pero en tu tono veo un desprecio general al concepto emprendedor, que no comparto.
18 de enero de 2010 a las 21:27.  

MY:
Pues ojito a Google... Murdoch, Microsoft, y muchos más le tienen verdadero pánico. Van tranquilos, consolidando sus productos, haciendo las cosas bien. No tienen prisa pues saben que su victoria es segura.

Chrome: un navegador de internet que ha pulverizado todos los récords de crecimiento, nada más aparecer ya ha conseguido una cuota importante de uso.

Buscador: qué decir que no se sepa ya de Google.

Android: un SSOO para móviles basado en Linux que ya es una amenaza para el iPhone. Y ojo, que piensan en portarlo también a ordenadores.


El peligro que le veo a todo esto es que al final pueden acabar convirtiéndose en poco menos que el gran hermano. Pero son la demostración palpable de que las cosas bien hechas son rentables económicamente. Uno de sus secretos es que ceden a los trabajadores un día a la semana para hacer lo que quieran. Curiosamente Gmail, Wave, y otras criaturas han salido de esos proyectos personales.

Como ingeniero informático estoy seguro de que con ejemplos así la era de las cárnicas puede haber entrado ya en decadencia. Mirad si no las noticias sobre bodrios como Coritel y Accenture... están despidiendo lo máximo que pueden sin llegar al ERE. En época de crisis el cliente (por fin) se ve obligado a despertar, y los bodrios que venden las consultoras ya no engañan tanto como antes.

Ya que el ladrillo está muerto en este país, esperemos que la crisis sí sirva para purgar el sector informático.
19 de enero de 2010 a las 00:00.  

jashondo:
Porque Google no puede pasar en España:
http://donde.uji.es/adios_amigos.html
19 de enero de 2010 a las 00:57.  

Jonás:
El señor Balzac comete un error de bulto. Culpa a empresas como Microsoft, Oracle, etc de la baja calidad del software y fundamenta su argumento en las revisiones continuas de sus productos. Debería recordar que ningún programa es perfecto y absolutamente todos tienen fallos.

La complejidad de un sistema operativo o una base de datos es elevadísima y ni siquiera Linux se salva de continuos "bugs" y su correspondiente parche.
23 de enero de 2010 a las 14:49.  

Inge Loan:
Si se trata del esperanto, creo que debe ser el idioma del planeta. siempre respetando el idioma de cada paìs. Sólo para estar en plano de igualdad ante un interlocutor extranjero. Si buscais en Google,Wikipedia o YouTube os sorprendereis. Unapágina para aprender: www.lernu.net
1 de febrero de 2010 a las 19:22.  



© A. Noguera

"Mirar el río hecho de tiempo y agua
y recordar que el tiempo es otro río,
saber que nos perdemos como el río
y que los rostros pasan como el agua".
Jorge Luis Borges


Leer los archivos

Entradas destacadas:
Pepito Relámpago - Pepita Nuncabaja - Seis meses en meetic - Etapas de la burbuja