Colega, let’s see the code
Aunque es del 14 de marzo pasado, sólo me dí cuenta ayer cuando lo enviaron a Menéame. Se trata de un apunte de David Santo Orcero: Yo si estoy a favor del Colegio. Aunque por el título parecía una defensa en positivo, me encuentro con lo siguiente:
No suelo leer a Ricardo Galli; no es santo de mi devoción, y lo que escribe no me suele parecer especialmente interesante. Especialmente porque a veces le dan ataques en contra de sus diversas fijaciones…
… lo que no termino de entender de Ricardo es otra de sus pulsiones: la de repetir incesantemente lo poco que aprendió en la carrera de informática… Tengo que reconocer que desconozco el sistema educativo argentino; … Como ya dice uno de los comentarios de la noticia, no termino de entender como consiguió la homologación,… Lo bueno de esta entrada es que gracias a ella puedo entender el porqué de la opinión de Ricardo respecto a los estudios de informática y al colegio. …hasta entiendo que considere que el Ingeniero en Informática sabe menos de informática que el físico -como se desprende de esta entrada de su blog-.
Mi historia personal es bien distinta a la de Ricardo. A diferencia de él, todo lo que comenta en su blog yo sí lo aprendí en la carrera.
La verdad es que estoy muy cansado de leer a gente como Ricardo echando mierda sobre el tejado de la casa de la Ingeniería Informática. Estoy muy cansado de leer y escuchar a presuntos popes y gurús diciendo que, si quieres saber de informática, hazte teleco, físico o biólogo… Porque antes entrará Chikilicuatre que un Ingeniero en Informática en la Comisión Interministerial de la Sociedad de la Información y de las Nuevas Tecnologías en España. Y siempre habrá un Ricardo que dirá que aprendió más informática afinándole la guitarra a Chikilicuatre que en cinco años de Ingeniería Informática.
Y, Ricardo; no sabes lo que siento que no hayas podido aprender informática en tu universidad cursando estudios de informática, y hayas tenido que ir a aprenderlo a un laboratorio de física. Yo tuve la suerte de aprenderlo estudiando Ingeniería Informática en Málaga.
Me dejó pasmado, sin palabras (luego le contesté con comentarios, quedaban como moderados todos, el último que le dejé no lo aprobó, así que abandoné la idea de debatir allí).
Más que una defensa de la necesidad de colegios informáticos es casi un apunte dedicado a desacreditarme, poner en duda mis conocimientos y tratarme de un “ingeniero Chikiluatre”, todo por un inocente apunte donde contaba una anécdota personal (de hace casi 20 años) y en parte explicar el porqué siento un especial respeto profesional por otros profesionales no informáticos, y lo bien que me vino hacer mi PFC en un centro de investigación de tanto prestigio, fue le mejor época de mi vida, aunque no tenía ni para comprarme tabaco.
No me interesa repetir las razones de porqué estoy en contra de los colegios informáticos, creo que poco de valor puedo añadir a lo ya comentado en Monopolios legales a cambio de nada, Los falaces argumentos de los colegios oficiales, Respuesta –y última– a ingenieros de primera y que poco avanzaremos en el debate, se ha convertido casi en un “ir a matar a Galli por cualquier opinión suya sobre los colegios”.
No será eso el tema fundamental, sino valorar y responder lo más objetivamente posible a las acusaciones tan graves que me hace este colega, ingeniero informático y profesor de universidad.
Uno de los puntos fundamentales del apunte que generó esta reflexión es que afirmé que aprendí varios temas importantes durante el desarrollo de mi PFC (en 1990). Parece que la “confesión” de que hace 18 años no conocía algunos lenguajes fue el detonante hasta para acusarme de “Chikiluatre” o de que no debería tener mi título de ingeniero homologado [*].
[*] Entre otras cosas me lo homologaron porque según la ley hay que tener en cuenta los estudios en el extranjero –me pidieron hasta el último programa de asignatura y el historial de todas mis notas– más el curriculum académico científico. Por aquellos años yo ya había acabado dos años de cursos de doctorado, presentada mi memoría de investigación de doctorado y tenía unas pocas decenas de publicaciones científicas.
Parece no haber quedado claro que yo diferencio claramente el haber visto un tema en la carrera, a saber sobre ese tema. Insisto en esa diferencia.
Afortunadamente en este caso se puede hacer un análisis más objetivo sobre si es verdad que el haber visto asegura saberlo. El mismo lo dice su biografía:
David Santo Orcero también ha sido un conocido desarrollador de software libre, en proyectos como el sistema de clusters libre OpenMosix, o el visor libre de imágenes médicas radiológicas kradview, y de abundante documentación libre. Podemos encontrar aquí algunas de sus contribuciones al software libre.
en sus contribuciones al software libre:
- Contribuciones sustanciales al proyecto de cluster libre OpenMosix, incluyendo el desarrollo de las herramientas de área de usuario del proyecto OpenMosix, indispensables para que un cluster OpenMosix funcione adecuadamente.
- kradview, el visor libre de imágenes DICOM, la única aplicación que permite ver en un sistema operativo libre, de forma gráfica e intuitiva, imágenes en el formato DICOM. Este es el formato de las resonancias magnéticas y las radiografías; y la pieza clave de cualquier sistema PACS.
Show me the code
Cojamos un tema sencillo que pueda ser analizado objetivamente y que no necesite mucha explicación para un informático.
En mi apunte comentaba que aprendí C y C++ cuando estaba haciendo mi PFC. Este colega asegura que ese tema lo aprendió en la universidad. Veamos si es verdad, su código me servirá para analizarlo objetivamente.
Seguramente por las contribuciones anteriores, un amigo de él envío al menéame enlaces al CVS del proyecto OpenMosix. Desafortunadamente, rápidamente quedó más o menos claro cuáles eran las “contribuciones sustanciales”, bastante poco en realidad.
Curiosamente, a los pocos minutos, un chaval de 20 años, sin estudios formales de informática –pero no erraría por mucho si afirmase que de las personas que conozco es el que más domina el tema de seguridad–, que sería considerado un “intruso” y que no podría pertenecer a un colegio de informática, le descubre un bug de seguridad grave a las librerías del OpenMosix.
Tampoco es para escandalizarse.
Como ya comenté en un apunte, el tema de seguridad requiere de una mentalidad especial. Aunque varios “ingenieros” me criticaron –algunos sin siquiera tener idea de quién es Bruce Schneier, es bestial–, este es un pequeño detalle más que los títulos de ingenieros no garantizan que no cometamos o dejemos pasar esos errores, ni siquiera los importantes de seguridad.
De todas formas la intención es analizar cómo programa una persona. Debido a que hay pocas contribuciones de código real, fue difícil encontrar código para analizar, pero encontré algo “sustancial”, el cambio de unas pocas líneas de código “efectivo”.
El código original era el siguiente:
Después del cambio enviado por David Santo Ocero quedó de la siguiente forma:
Me sorprendió mucho la función modificada. A pesar de ser tan breve tiene varios problemas básicos de programación:
- No respeta el estilo sangrado de la mayoría del código, incluso el sangrado que hace del else no aparece en ningún estilo, ni siquiera una vez en libros de C.
- Usa los “;” de separador después de otro separador (el “}”). Es incorrecto, el “}” ya es un separador –de bloques–, “;” es separadora de intrucciones. Lo que hace en este caso es introducir instrucciones nulas.
- Pone como dos “if” independientes, y por lo tanto en dos expresiones lógicas separadas cuando en realidad es una sola con el operador “AND” (”&&”).
Así la versión correcta y en buen estilo sería como la siguiente:
De todas formas tampoco es tan importante tener un error de esos de vez en cuando, todos tenemos nuestros días tontos.
Así que me puse a mirar el código fuente de su otro programa liberado. Es una aplicación KDE, parece que generada con el kdevelop, en C++, aunque la mayoría del código que desarrolló es en C estándar e incluso mezcla funciones de entrada salida del ANSI C con las del iostream del C++ (que no debe hacerse, por eso luego tiene que recurrir a tantos flush() para vaciar los buffers internos del printf(), aunque la solución hubiese sido la función setlinebuf() llamada una sola vez al principio del programa).
En el codigo del kradview se pueden ver los mismos problemas de sangrados erróneos:
Como puede verse el código es casi ilegible, incluso con bucles for como el siguiente:
Lo correcto es un for (int i = 0; i < …; i++), el C++ permite definir y asignar variables locales en un for. Pero en la figura anterior pueden verse dos incrementos consecutivos al puntero paux.
Eso ya denota un problema más grave, desconocimiento del funcionamiento de la aritmética de punteros en C o C++. Las dos instrucciones se reducen a una sola: paux += 2; Todo ventajas: es la forma correcta, más clara de interpretar, y más eficiente. El C en su máximo esplendor.
Este error de principiante me llamó mucho la atención y busqué en el código algo similar, lo encontré, y todavía más grave:
El código de arriba inicializa tres enteros a partir de un buffer (es un char * que se recibe como argumento en la función), para leer los tres de forma secuencial usa un puntero temporal bufferT. Aunque esto yo lo hubiese hecho con una estructura de tres enteros, asumamos que es válido. Sin embargo tiene problemas graves de algoritmia básica que se estudia en programación de primero:
- La variable entera count acaba siempre con valor 8, por lo que no tiene sentido hacer el incremento ocho veces. Basta con inicializarla a 8, aunque es una constante y podría haber usado directamente el literal 8, o un macro si interesa darle “significado” al literal.
- Entre cada lectura incrementa el puntero dos o cuatro veces consecutivas, cuando podría incrementarse de una vez –gracias a la aritmética de punteros como en el caso anterior–.
- Menos importante, pero también vuelve a denotar una falta de dominio de la evaluación de expresiones lógicas. Los paréntesis que rodean al operador de desigualdad son redundantes y sin efecto alguno.
Así el código de la forma correcta, y más eficiente, queda de la siguiente forma:
Como puede verse es totalmente equivalente, pero más legible, breve y eficiente. Incluso puede mejorarse, el siguiente trozo de código es equivalente, aún más eficiente, breve y de fácil lectura a ojos entrenados:
¿Y?
He analizado unos pequeños trozos de código de una persona que es ingeniero en informática, profesor de universidad y que además afirma que esos temas los aprendió durante la carrera, a diferencia de mi caso, que aprendí casi todo lo que conté durante el desarrollo de mi PFC, o quizás aún más tarde. Los segmentos analizados tienen graves problemas de programación básica general, y otras específicas de programación en esos dos lenguajes.
Si el código analizado hubiese sido de una “intruso”, ¿qué hubiese dicho el ingeniero David Santo Ocero?
¿Cómo hubiese sido mi respuesta si tuviese la misma “ética deontológica” de este colega o de varios “comentaristas”? Seguramente hubiese salido algo así:
Vaya mierda de ingeniero, no tiene idea siquiera de programar cosas básicas, comete errores que no cometería ni un estudiante de primero. No sé a qué universidad ha ido, vaya universidad, deberían cerrarla, ¿cómo es que ha obtenido el título? ¿cómo le dejan ser profesor de universidad? deberían echarlo ahora mismo por estar dando el peor ejemplo que puede dar un ingeniero… Estos Chikilicuatres son los que tanto daño están haciendo a la profesión.
Pero no, esa respuesta sería éticamente errónea, simplista, generalista y falaz (valga la redundancia). No llega ni al mínimo nivel que debe haber en un debate entre “profesionales”.
Como siempre comento, la universidad nos da los conocimientos básicos y el entrenamiento básico que necesitamos –sino la carrera sería interminable–. Lo que aprendamos individualmente depende mucho del interés de cada uno, y no todos podemos ser buenos en todos los temas informáticos… no sé, aunque uno pueda ser un mal programador de C o C++ quizás sea muy bueno es diseño de algoritmos distribuidos, o en modelado de elementos finitos, o en biotecnología. Por estas mismas razones es que es muy difícil definir todavía “competencias”, hacen falta especializaciones y algún que otro “cisma” en las carreras informáticas (tal como la tuvieron los ingenieros eléctricos de los físicos a principios del siglo XX).
Además, cuando salimos de la universidad estamos obligados a seguir el ritmo del avance de la ciencia y la tecnología. Hoy mis alumnos están aprendiendo Python y programación web con modelos MVC o MTV, eso era impensable hace pocos años, porque ni siquiera existía el web (menos mal que nadie todavía me incineró por no saber lo que era HTTP cuando acabé mi carrera, pero todo llegará
).
Pero tampoco es tan poco.
Hay errores demasiados fundamentales para cualquier programador. En este caso además se trata de un ingeniero informático, profesor universitario de informática, y que además afirmó:
Estoy a favor de unos estudios duros, como los que hice en su día, que formen gente muy cualificada.
…
El código que heredamos de MOSIX era muy malo; y lo dije en público. Amnon Barak es uno de los científicos más brillantes que he conocido, pero sus programadores eran discutibles.
No sé los demás, pero dada la evidencia me parecen muy contradictorias estas frases, o cínicas como mínimo. Parece obvio que tampoco es mejor programador de los que acusa de “discutibles”, y que a pesar que lo afirma, obviamente no aprendió C o C++ durante su carrera en la Universidad de Málaga. De hecho su código demuestra que todavía no los sabe, o que se olvidó.
Independiente de lo anterior, no entiendo que para defender las ideas favorables a los colegios informáticos se dediquen casi exclusivamente a un ataque ad-hominem, llamándome un Chikilicuatre sin que venga absolutamente a cuento, en mi vida le critiqué [*] y no veo las razones para que le haya subido tanto la bilis. Quizás sea porque también soy un talibán… y si Richard Stallman se merece todo su desprecio y ataques, ¿por qué habría de salvarme yo?
[*] Incluso fui a una de sus conferencias, creo que en Elche y si no me equivoco otra en Málaga, porque también me dedicaba a jugar con el OpenMosix cuando era novedad para mí — en realidad lo monté porque el director del Dept. me pidió que lo ponga en marcha para un profesor cubano que estaba en la UIB y lo necesitaba para probar sus programas–).
“Moralejas”
- Como dije muchas veces, se echa en falta en la carrera al menos una asignatura obligatoria con temas básicos de ética, deontología y lógica filosófica.
- Se confirma una vez la estudiada disfunción metacognitica que sufrimos los informáticos (y todos los profesionales de ciencias o técnicas que avanzan y cambian tan rápido).
- Por el punto anterior, es fácil criticar a los demás –sin evidencias o enlaces– pero no darse cuenta de los “agujeros de conocimiento propios”, ni siquiera de los numerosos errores graves que cometemos –me incluyo– en nuestros programas.
- Dada la complejidad inherente de los programas (muchos más elementos independientes y combinaciones posibles que los sistemas físicos) es muy difícil no cometer errores. Es todavía difícil detectarlos, ya sea manualmente o con herramientas automatizadas.
- Programar es fácil, programar bien es muy difícil [Richard Stallman dixit]. La única forma de programar bien es mirando mucho código de otros, reconociendo y aprendiendo de sus errores.
- Show me the code debería ser la regla fundamental en cualquier discusión, es la única forma de analizar lo menos subjetivamente posible la capacidad, conocimientos o méritos de un informático (code también pueden ser artículos científicos, proyectos exitosos, o estudios publicados de cómo se ha gestionado un proyecto grande). Creo que se demostró una vez más que hablar y criticar es fácil, lo difícil es saber hacerlo tan bien como decimos saber hacerlo.
Nota: Perdón por ser repetitivo, todos los puntos anteriores los suelo comentar en mi blog — que una vez más hace falta repetir–, de hecho son parte importante del “núcleo” de mis “genes profesionales” (aunque no ha sido siempre así, quizás hace diez años hubiese estado a favor de colegios). Quizás por estas ideas algunos piensan que estoy “echando mierda a la profesión”, pero la intención es la contraria, intentar reflexionar sobre los problemas de fondo, que no creo se solucionen con colegios, mucho menos demonizando a los que opinan distinto. Por lo demás, soy un feliz apasionado de mi profesión, tengo la suerte de poder dedicarme y divertirme full time, y encima vivo de eso. Me considero un privilegiado, vivir de mi hobby.
Bonus: defendiendo a los informáticos a pesar del colegio oficial de informática
Mientras escribía este apunte me acordé de un caso que hice de perito de parte –lo ganamos– en un juicio contra Bitel por temas laborales.
Una de las cosas que me acusan es de “no interesarme por mejorar la situación laboral de los informáticos”, cuando en realidad soy el primero en hacerlo cada vez que pueda, incluso aunque tenga que ganarme algunos “enemigos”.
El contexto.
Un compañero mío de la universidad –Damià, incluso éramos amigos, fue uno de los primeros que conocí cuando vine a Mallorca, es muy majo y salía a pasear en uno de sus múltiples veleros :-)– fue perito de parte del PP en el caso del “espionaje electrónico de Bitel/Jaume Matas”. Cuando el PP ganó las elecciones de Balears lo nombran a él como director de la empresa Bitel. Damià fue el impulsor del colegio de informática de Balears, la ley se aprobó bajo el gobierno de Matas y cuando él ya era director de Bitel –creo que se notan las relaciones políticas–. En cuanto se crea el colegio Damià es elegido Decano.
En el 2006 se pone en contacto conmigo un abogado especialista en temas laborales. Empleados informáticos de Bitel (FP2 e ingenieros técnicos en su mayoría) afirman que la categoría que tienen en Bitel no corresponde a sus tareas de acuerdo al convenio de trabajo, estaban contratados y cobrando como auxiliares administrativos cuando le correspondía como mínimo la categoría de operador de ordenadores.
Analizo lo que me cuentan, los manuales de procedimiento que les pedí, el convenio colectivo de trabajo y les informo que opino lo mismo, y que no tenía problemas en preparales un informe pericial y declarar en el juicio –a sabiendas que me metía en contra de la administración, de un colega y que además era el Decano del Colegio… el mismo que decía defender los derechos de los informáticos–.
Este es el informe pericial que presenté (sólo oculté el nombre del abogado y los últimos dígitos de mi DNI). En él se puede evaluar qué pienso y cómo actúo en la defensa de los derechos de los trabajadores informáticos. A pesar que en el juicio oral me tuve que ver sentado en el otro lado de la mesa –defendiendo los intereses de la empresa en contra de empleados informáticos– al Decano del Colegio. Y además con dos peritos “colegiados” que se presentaron sorpresivamente y que fueron capaces defender cosas como las relatadas antes.
Por eso no creo en que el Colegio vaya a defender los intereses y la valoración de los informáticos.
En primer lugar porque ese tema es un tema sindical y de convenios colectivos, en segundo lugar porque los colegios deberían velar por el interés social y no por el corporativo. En último lugar porque he vivido esta contradicción en vivo y en directo, delante de un juez y unos abogados de la administración bastantes agresivos. De hecho la primera pregunta que me hicieron fue “¿Está usted colegiado?” [*]
Sólo respondí “no”, aunque debería haber dicho “no, afortunadamente para los informáticos demandantes, no”
[*] En se momento podía ser perito por ser profesor de universidad, me han dicho que ahora es obligatorio. Así que no creo que vuelva a hacer algo así durante un largo período de tiempo.









Um. Amen.
Solo una cosita… En ensamblador, hacer dos “inc” a un registro suele ser más rápido que sumarle 2, o al menos eso entiendo yo. Depende como se compile, puede tener mas sentido hacer:
p++;
p++;
que
p+=2;
Aunque por supuesto, hacer
p++;
z++;
p++;
z++;
es marear la perdiz completamente. O como el amigo que tenia, que para convertir un numero a negativo hacia esto:
p = p - (p*2);
Comentario por RBA — Abril 8, 2008 @ 2:25 am
HOla RBA, has soltado el telescopio y vuelto a la blogocosa
> En ensamblador, hacer dos “inc” a un registro suele ser más rápido que sumarle 2,
Lo probé, es más rápido hacer el incremento de 2. En un bucle de 100.000.000 de iteraciones estos son los tiempos:
b++; b++;
real 0m0.522s
user 0m0.524s
sys 0m0.000s
b += 2;
real 0m0.275s
user 0m0.272s
sys 0m0.000s
Comentario por gallir — Abril 8, 2008 @ 2:33 am
Había escrito un comentario muy ácido sobre las deficiencias (que en mi opinión son muchas) de la Universidad de Málaga y su muy peculiar estilo de docencia en C/C++, pero tampoco es cuestión de sacar a relucir los trapos sucios, ¿no?
Comentario por Arturo — Abril 8, 2008 @ 3:29 am
La verdad que no tengo ni idea de las peleas internas entre distinats carreras tecnologicas en España. De todas maneras me parecio muy interesante tu entrada, sobretodo los comentarios sobre el codigo. Aunque hace rato que no escribo codigo en C o C++, me vino bien para refrescar algunas cuestiones.
Respecto a las carreras de informática… Yo soy profesor de informatica en un instituto terciario en Nueva Zelanda. Creo que peor aún que los latinos, son los sajones. Hay mucho verso, mucho Phd que no sabe un pomo. Conozco gente que tienen masters y doctorados, y ni han trabajado seriamente en informática. Hace poco me horriricé cuando uno de mis compañeros de trabajo terminó su master con una tesis sobre Linux. Dicho personaje no trabajó nunca en Linux, me lo afirmó, no es invento mío. Ni hablemos de pedirle que recompile un kernel.
Quiero aclarar que, a pesar de ser ingeniero en sistemas, y tener experiencia como programador (inclusive en algunos sistemas que podrían considerarse avanzados para muchos programadores), no les llego a los talones ni a Ricardo y ni a muchos de los que comentan en este espacio.
Comentario por tatanz — Abril 8, 2008 @ 3:47 am
Para no poner imagenes podes usar http://code.google.com/p/google-code-prettify/ que está más bueno que comer asado en cueros.
Comentario por emilio — Abril 8, 2008 @ 4:47 am
Pues probando lo que dice RBA, con un gcc -S genera:
addl $1, -8(%ebp) ; i++
addl $1, -8(%ebp) ; i++
addl $2, -8(%ebp) ; i+=2
Con lo que no hace el INC, al menos declarando i como variable local (usa la pila y EBP para acceder a ella).
A estas alturas con dual cores a precio de madalenas no creo que un compilador de C/C++ se pegue el currazo de usar registros para realizar cálculos aritméticos…
Comentario por reidrac — Abril 8, 2008 @ 8:00 am
Hola Ricardo.
A mí David me cae bastante bien, pero he de reconocer que ha estado desafortunado en su defensa a ultranza de la carrera y de los colegios, para mí indefendibles como meras organizaciones creadoras de negocios protegidos que son.
Yo no fui a la universidad, soy un “geek chapuzas” que aprendí todo por mí mismo, y me creé mis propias lagunas de las que nunca podré culpar a los estudios reglados :-). Quizá por eso con demasiada frecuencia me encuentro despotricando contra profesionales que han hecho la carrera de informática, y opino que es bastante común que no tengan ni puñetera idea.
No pienso que sea culpa de los estudios en sí. La gente para ser buena en algo debe tener vocación, por tópico que suene, y la mayoría de los estudiantes no la tienen y mucho menos los profesionales.
Sin embargo no me pasa con los físicos, ni tanto con los telecos. No tanto. Se han ganado un mayor respeto como informáticos. ¿Casualidad? ¿Están mejor formados por sus estudios reglados? ¿Son gente más vocacional?
Quien sabe. Pero no creo que me pase sólo a mi, es algo que salta a la vista.
Hay gente, de la desprestigiada ingeniería técnica de “La Almunia” (Zaragoza), que son grandes, son muy buenos. Así que al final las generalizaciones siempre pueden herir a justos por pecadores y pido perdón de antemano.
Y a cada uno nuestro Dios nos libre del mal de los colegios profesionales.
Comentario por Queru — Abril 8, 2008 @ 8:16 am
Hola, Ricardo,
Supongo que en estos momentos dirás ¡el que faltaba! pero, lo siento, no he podido resistirlo. Por partes:
Elaborar conclusiones sobre la capacidad de una persona en base a trozos de código C/C++ me parece no sólo un insulto a la inteligencia, sino además de una bajeza moral bastante grande. Es como si yo ahora mismo me pusiera a juzgar tu capacidad por la hoja de estilos que utilizas en este blog, desgranándola elemento a elemento.
Sinceramente, creo y lamento que este tipo de discusiones se lleven con frecuencia al terreno personal y, como siempre, se obvia el debate sobre lo importante.
Y por otro lado, la LEC establece las condiciones para ser perito judicial en el art. 340:
http://noticias.juridicas.com/base_datos/Privado/l1-2000.l2t1.html#a340
Y cuyo contenido me parece bastante lógico. Me vas a permitir reproducir los dos primeros apartados:
1. Los peritos deberán poseer el título oficial que corresponda a la materia objeto del dictamen y a la naturaleza de éste. Si se tratare de materias que no estén comprendidas en títulos profesionales oficiales, habrán de ser nombrados entre personas entendidas en aquellas materias.
2. Podrá asimismo solicitarse dictamen de Academias e instituciones culturales y científicas que se ocupen del estudio de las materias correspondientes al objeto de la pericia. También podrán emitir dictamen sobre cuestiones específicas las personas jurídicas legalmente habilitadas para ello.
De donde se concluye que sí tienes la capacidad para ser perito judicial en nombre de la Universidad.
Comentario por Pablo Pérez — Abril 8, 2008 @ 9:22 am
Hola Galli
Es la primera vez que escribo en tu blog (que no en meneame) y tengo que decirte que me ha parecido (personalmente) muy interesante e intensa tu primera parte del artículo, no así la segunda que, aunque técnicamente es interesante, no deja de ser bastante ramplona a nivel personal (¿quién no comete fallos a la hora de programar?).
Estoy de acuerdo contigo en que para defender los intereses de los informáticos no hace falta un colegio pero si una forma de regular el mercado laboral de informática. Aunque yo sepa como el que más de estructuras no puedo hacer un proyecto de un arquitecto o de un calculador de estructuras.
Un saludo
Comentario por clavo — Abril 8, 2008 @ 9:27 am
Hola, Ricardo,
Lo primero, tus comentarios no han sido moderado. akismet los marcada -erroneamente- como spam. Así los he desmarcado como tales cuando me he puesto a limpiarlo -algo que no hago cada poco tiempo, ya que mi vida no gira alrededor de mi blog-.
Lo segundo, se te cansa la boca de decir que la gente argumenta “ad-hominem” contra tí. Alguien escribe un post pidiendo dignificar el título, y tu contestas con… esto. Si esto no es ad-hominem, dime qué lo es.
Respecto al código de OpenMosix, me alegra que veas que el código es una guarrada. Yo también lo veía. Cuando forkeamos de MOSIX -y el código que estás criticando es literal de la época del fork, y de hecho puedes leer en los textos MOSIX y no OpenMosix-, fue una de las cosas que reclamé, que el código estaba lleno de errores. Si hubieses seguido la lista del proyecto, te habrías enterado. Y uno de los problemas que yo tuve de forma constante es que yo quería dedicar el tiempo a arreglar esas cosas -hay más-, en lugar de hacer funcionalidades nuevas. Ganaron los de las funcionalidades nuevas, y salí el mantenimiento oficial un año más tarde. Como curiosidad, el programa que dices es autoría de Ariel Rosenblatt y Amnon Shiloh. Nunca reclamé autoría sobre él.
Finalmente, respecto a lo de kradview. Hay cosas de ese programa que no sabes: por ejemplo que se utiliza sobre todo en países donde los ordenadores no son, precisamente, potentes. Y se hizo para dicho fin. De ahí las decisiones tomadas, y muchas de las cosas que dices.
Comenzando con que el fichero que criticas está en C, no en C++. Todo el proyecto está en C++ salvo ese fichero; por lo que no empleo C++. No puedo declarar variables dentro de un bucle for.
Lo siguiente es la forma de manipular punteros. En las máquinas probadas es más rápida para el algoritmo completo, que debe recorrer la imagen. El while se puede ejecutar muchas veces, y emplear direccionamiento de matrices no es tan rápido para máquinas antiguas.
paux++;paux++; es más rápido que paux+=2; en muchas máquinas, y cuanto más antiguas sean, mayor será la diferencia.
Respecto a setlinebuf(), si lo ponía el rendimiento caía en picado. Otra vez: máquinas lentas, de poca memoria. Imágenes muy grandes. flusheaba cuando era imprescindible.
Respecto a los paréntesis de más, es manía mía para leerlo mejor. Los paréntesis salen gratis.
Finalmente reconozco que lo de count es un error: en ese bloque había código, que empleaba los resultados parciales de count. Lo retiré porque no era necesario para el tipo de imágenes que empleaban, y se me pasó agrupar el count. Gracias por el aviso. Lamentablemente, llega tarde: en pocas semanas sale la versión nueva de kradview, que ha hecho un alumno brillante, y que cambia sustancialmente ese fichero.
Salvo lo del count, de momento todo lo que me has comentado no son errores, sino decisiones para hacer el código lo más óptimo que sea posible. Trucos que aprendí haciendo cosillas en métodos numéricos, y que he aplicado para hacer cosas medias en un ordenador chico, en lugar de cosas inmensas en un ordenador grande. Como sabrás, el problema de este tipo de microoptimizaciones es que son feisimas, y el código no queda, precísamente, bonito.
Solo por concluir, yo no puedo entrar en una batalla ad-hominen contra tí por dos razones: la primera, porque soy un modesto profesor a tiempo parcial que mantiene una actividad principal que necesita para comer; no soy funcionario a tiempo completo, y no tengo el tiempo para dedicarme a cazas de brujas de gentes que tienen opiniones distintas a la mía, o me critican. Tu tienes el micro, tu tienes la legión de seguidores, tu tienes meneame y el blog popular. La lucha es asimétrica. Y ya eres conocido entre los que no te siguen por como funcionas. A mi sólamente me has demostrado que al dios blogosfera no se le critica impunemente. Y nadie te hace un show-me-the-code por estas razones: la gente no suele tener tiempo para estas cosas. Y, cuando lo tiene, manda un parche al proyecto, no raja del mantenedor. Te estás portando como un matón de patio de colegio -sí, esto sí es ad-hominem-.
Si tomo cualquier programador que mantiene un proyecto grande y ha desarrollado otro mediano, seguro que encuentro crap. No todos los días uno está brillante. La verdad es que yo siempre creí que lo del software libre iba de que el código abierto permitía que la gente pudiese auditar tus programas, y no que cada vez que a una persona que tiene mucho tiempo libre para desperdiciar y mala leche para gastar saque trozos de código de contexto y despotrique. No he recibido un parche de código tuyo en ninguno de los dos proyectos en mi vida.
Comentario por David Santo Orcero — Abril 8, 2008 @ 9:40 am
#6, Tu código habla sobre tus capacidades como programador. Probablemente una hoja de estilo no sea el mejor ejemplo, pero bien podrías analizar el código del meneame.
Comentario por kota85 — Abril 8, 2008 @ 9:57 am
Y a mi me sorprende un montón que hables de usar macros para definir constantes cuando lo correcto es usar una constante entera:
const int kConstanteInutil = 12;
en lugar de usar
#define CONSTANTE_INUTIL 12
Comentario por Felipe Alfaro Solana — Abril 8, 2008 @ 10:00 am
La version que incrementa dos veces es más lenta porque el código generado es realmente malo:
int j = 0;
for (long i = 0; i < 1000000000; ++i) {
++j;
++j;
}
se convierte en:
.L3:
leal -8(%ebp), %eax
addl $1, (%eax)
leal -8(%ebp), %eax
addl $1, (%eax)
leal -4(%ebp), %eax
addl $1, (%eax)
Una de las instrucciones “leal -8(%ebp)” puede eliminarse completamente.
Comentario por Felipe Alfaro Solana — Abril 8, 2008 @ 10:07 am
> #6, Tu código habla sobre tus capacidades como programador. Probablemente una hoja de estilo no sea el mejor ejemplo, pero bien podrías analizar el código del meneame.
Si te estás refiriendo a mí te sugiero que leas ésto:
http://buscon.rae.es/draeI/SrvltGUIBusUsual?LEMA=analogía
Un saludo.
Comentario por Pablo Pérez — Abril 8, 2008 @ 10:10 am
#12
Felipe, ¿constantes enteras en Ansi C? Mira la página 37 de “The C Programming Language” (2da edición), sección 2.3, “Constants”.
En C++ vale, pero el código es C normal con copy&pastes del ImageMagick, mira el código, el fichero se llama dicomfformat.c y en sí sed usan macros allí:
/* Dicom file format */
/*
Dicom medical image declarations, borrowed from Imagemagick
-in fact I used imagemagick in the firsts versions, but it was
soooo slow to render under zoom…
*/
#include <fcntl.h>
#include<string.h>
#include<stdio.h>
#include<stdlib.h>
#include<sys/types.h>
#include<sys/stat.h>
#include<unistd.h>
#include <errno.h>
#include”dicomfformat.h”
#define _MAX_DICOMFIELDS 2525
PD: ¿no has mirado porqué las constantes en el kernel Linux -por ejemplo- se usa siempre macros?
Comentario por gallir — Abril 8, 2008 @ 10:13 am
¿Los de “show me the code” cuelgan toda la documentación relativa a sus proyectos? ¿Saben que el software es un superconjunto del código? ¿Por qué los de “show me the code” nunca dicen “show me the documentation”, “show me the test plan”? En ocasiones tiene mucho más interes una ecuación matemática, una especificación, un diagrama ER, la demostración matemática de si un sistema de tiempo real es planificable o no (los autotitulados profesionales y de autoacreditada experiencia hablan poco de esto: no sé si por falta de conocimiento o falta de cojones) más que el sangrado y el espaciado del código. Pero los mesías nunca me piden estas cosas, se conforman con su “show me the indentation” :D.
Una cosa es clara: tanto los que conocen a Galli como los que conocen a Orcero no van a cambiar de opinión por muchos apuntes que hagan uno sobre otro en sus blogs.
Que siga la salsa blogosa, que en audiencia ahí Ricardo gana por goleada.
Comentario por Spectrum — Abril 8, 2008 @ 10:19 am
#8
> Elaborar conclusiones sobre la capacidad de una persona en base a trozos de código C/C++ me parece no sólo un insulto a la inteligencia, sino además de una bajeza moral bastante grande
A ver si me aclaro, si me tratan de “chikilicuatre” o que no me debería tener el título de ingeniero sin analizar nada de mi trabajo o mostrando la mínima evidencia de lo que afirme yo dije te parece muy bien (no he visto comentarios tuyos en ese aspecto). También te parece bien ese tipo de campaña, tampoco he visto tus críticas.
Si en cambio yo analizo objetivamente un código público te parece de una “bajeza moral”. Aclara tus contradicciones, porque además no has leído el párrafo
ni el que le sigue. Compara tus afirmaciones con las que salen en el apunte enlazado, o en el foro que has montado tú.
¿O es que ahora está mal responder a alguien que te ha insultado de esa manera analizando técnicamente los programas de esa persona? ¿Es una defensa corporativista de mediocridad? El código es objetivamente infumable y casi increíble que lo haya hecho un programador.
Comentario por gallir — Abril 8, 2008 @ 10:24 am
@Pablo Pérez, me refería a tí, esto de los números mejor no usarlo, porque después del filtrado cambian. Comprendí lo que querías decir, sólo quería añadir que para evaluar si eres o no buen programador, no hay más que mirar tu código; ¿Conoces alguna forma mejor? Y eso no quiere decir que se valoren “tus capacidades”, sino “tus capacidades como programador”, que es más específico.
Salud!
Comentario por kota — Abril 8, 2008 @ 10:26 am
Por cierto, acabo de recordar porqué hice dicha corrección que te parece errónea sobre el código de Ariel Rosenblatt y Amnon Shiloh sobre el que nos referimos (fue hace seis años).
En la versión del gcc que empleábamos en la época, activando la optimización agresiva, se llamaba a ip_needed_two_phase aunque err valiese 1, independientemente de si lo pusieras antes o después en el &&. La solución fue comprobar explícitamente primero err, y después ip_needed_two_phase.
Comentario por David Santo Orcero — Abril 8, 2008 @ 10:29 am
> ver si me aclaro, si me tratan de “chikilicuatre” o que no me debería tener el título de ingeniero sin
> analizar nada de mi trabajo o mostrando la mínima evidencia de lo que afirme yo dije te parece muy bien
> (no he visto comentarios tuyos en ese aspecto). También te parece bien ese tipo de campaña, tampoco he
> visto tus críticas.
Publicado en “el foro que yo he montado”:
Personalmente no me gusta demasiado que desde esta página se enlace a su blog, he de confesarlo, pero no por nada en concreto, sino más bien porque lamento profundamente que se identifique a Ingenieros de Primera con algún que otro exaltado que aporta carnaza en la que fundamentar los famosos ataques personales (o ad-hominem, que queda más intelectual), y que además lo hace desde el estómago en lugar utilizar la cabeza, que nos diferencia de los animales (y ésto lo digo por aquellos que hacen mención a su nacionalidad o a su trabajo, lo que me parece sinceramente una falta absoluta de respeto, y quiero que así conste).
> Si en cambio yo analizo objetivamente un código público te parece de una “bajeza moral”. Aclara tus
> contradicciones, porque además no has leído el párrafo
Los he leido. Suelo leer los artículos completos antes de hacer estado de opinión, será deformación personal/profesional. También se que se trata de una técnica periodística de contrastados resultados y efectos incluir el grueso del contenido las cabeceras de los artículos (titulares incluidos), para después incluir matices en las zonas finales que sirvan como ‘eximentes’ de responsabilidad.
> ¿O es que ahora está mal responder a alguien que te ha insultado de esa manera analizando técnicamente
> los programas de esa persona?
Él ha dicho que no le gustas, y porqué no le gustas, es más, él ha afirmado que está cansado de que, literalmente, gente como tú eche mierda sobre la Ingeniería Informática. Pero sencillamente no he visto en ningún momento ataque a tu capacidad, intelectual o profesional, para basar su opinión.
Tú has intentado descalificarlo previamente tratando de restarle autoridad vía código para después dar así más fuerza a tus argumentos. Eso es exactamente la definición de un argumento ad-hominem.
> ¿Es una defensa corporativista de mediocridad? El código es objetivamente infumable y casi increíble que lo haya hecho un programador.
Sinceramente, como si el código es una literal mierda ineficiente, inestructurada y fruto de un empacho lisérgico más que de un desarrollo competente. Sus argumentos siguen siendo plenamente válidos.
¿O es que tú no has hecho nunca un shell script ‘para casa’ donde utilices más variables de las necesarias, te pases por el forro algunas reglas de programación y mandes la ‘indentación’ a tomar por saco?
Un saludo.
Comentario por Pablo Pérez — Abril 8, 2008 @ 10:56 am
@kota
> sólo quería añadir que para evaluar si eres o no buen programador, no hay más que mirar tu código
Pues has dado completamente en el clavo. Para evaluar si una persona es buena programando, hay que mirar TODO su código, de tal manera que te puedas hacer una idea de sus capacidades, de su trayectoria, y de su posible evolución.
Lo que no me vale es que se mire parte del código, y concretamente aquel supuestamente erróneo (aunque David lo haya explicado ya en un comentario) para analizar si una persona está capacitada para dar su opinión.
Y lo más grave es que se mire el código de una persona para opinar sobre otros aspectos que no tienen nada que ver con la programación. Es como [analogy mode=on]si yo ahora me pongo a juzgar lo bien que dibujas para decirte que no tienes ni idea de literatura[/analogy mode=off].
Un saludo.
Comentario por Pablo Pérez — Abril 8, 2008 @ 11:07 am
Hola,
yo soy ingeniero informático y creo que aprendí bastante en la carrera, aunque reconozco que no a un nivel suficiente como para poder ser un gran profesional, esto se adquiere con experiencia y horas, también me gustaría dejar claro que un ingeniero informático no se dedica simplemente a programar tiene otras muchas actividades(aqui todo lo relacionais con lo bueno o malo que seas programando), yo no soy partidario del colegio, pero no solo para informatica sino para el resto de las carreras ¿porque un quimico no puede hacer funciones de farmaceutico?, seguro que hay gente que no ha estudiado arquitectura y que puede levantar edificios de forma más eficientes que estos mismos, ¿porque solo lo telecos pueden firmar los ICT? pr tanto colegio no , pero no solo para los informaticos sino para todos y asi que cada persona demuestre por sus conocimientos que es lo que puede realizar
Comentario por Moch — Abril 8, 2008 @ 11:11 am
#8
Ricardo, no te llamo Chikilicuate. Digo -cito textualmente-:
Porque antes entrará Chikilicuatre que un Ingeniero en Informática en la Comisión Interministerial de la Sociedad de la Información y de las Nuevas Tecnologías en España. Y siempre habrá un Ricardo que dirá que aprendió más informática afinándole la guitarra a Chikilicuatre que en cinco años de Ingeniería Informática.
Explicación de las dos frases -que realmente están explicadas en la parte anterior del mismo párrafo-:
Frase 1: No hay Ingenieros en Informática en la Comisión Interministerial de la Sociedad de la Información y de las Nuevas Tecnologías en España. Y no se nos espera. Los Ingenieros en Informática no estamos representados en los órganos de decisión sobre nuestra profesión. (De hecho, en dicha comisión hay sólamente Ingenieros en Telecomunicaciones, licenciados en económicas y en derecho)
Frase 2: Siempre habrá una personalidad conocida -en este caso Ricardo- que dirá que aprendió informática en cualquier actividad técnica fuera de la universidad -en este caso pongo un ejemplo visual- que en cinco años de Ingeniería Informática.
Por lo demás, no considero que haya bajeza moral. Has tomado un programa de 15000 líneas de código, y has encontrado formas de emplear los punteros que no te gustan, y que podemos discutir si son buenas o no; y lo empleas como base de ataque contra una persona. También comentas que la idnentación no es correcta -suelo pasar el indent, se me habrá pasado antes de esa release-. Este programa, por cierto, que consideras tan malo, actualmente se emplea actualmente en zonas con dificultades en Sudamérica y en África para visualizar imágenes radiológicas, y ha sido desarrollado y liberado de forma altruista -a este programa en concreto no le he ganado nada, pero es del que me siento más orgulloso, porque es algo que ha merecido la pena para mucha gente-. Por cierto, yo creo que gracias a dichas optimizaciones guarras, pero que aceleran en las máquinas objetivo.
Tampoco veo bajeza moral por criticar lo de OpenMosix, aunque yo esté orgulloso en haber estado en el fork de MOSIX, cuando nadie lo tenía claro, cuando recibías amenazas de demanda judicial en mi buzón por desarrollar software libre, trabajando en una start-up en una cosa no relacionada con software libre, y haciéndolo entre las once de la noche y las tres de la mañana, para levantarse a las siete para ir a trabajar. Para mi fue una época muy dura, recién llegado de Brasil, pero fue productiva. Estoy muy orgulloso de haberlo hecho. Y lo haría de nuevo.
No veo bajeza moral en que ataques esto con tres trozos de código. Veo matonismo. Veo al matón del patio del cole, que está enfadado con un niño en el que hasta ahora no se había fijado, y que no le rinde pleitesía. Tienes un tiempo del que yo no dispongo -es bueno estar de funcionario a tiempo completo en la universidad-, una pléyade de servidores de los que yo carezco, y los abogados que puedas conseguir a través del capitalista detrás de meneame, si algo se pone chungo.
Ricardo -y esto sí es ad-hominem-: no todos hemos hecho contribuciones tan brutales al software libre como cpudyn con sus 2000 líneas de código, cuya lectura recomiendo a los alumnos -no os preocupéis, el código es sencillito, por eso lo recomiendo-. No todos, desde nuestro puesto de funcionario a tiempo completo en régimen de dedicación exclusiva hemos montado un meneame -no te digo que sea ilegal, ambos conocemos la normativa de la universidad. Solo que es ambos datos son un hecho-. No todos somos el gran Ricardo Galli, terror de la blogosfera, al que cuando alguien habla de el ya te mandan correos diciendo que tengas cuidado.
No te he visto en ningún momento discutir el tema base de mi entrada: que eres un ejemplo de persona que critica insistentemente los estudios de Ingeniería en Informática, y que dice insistentemente que los que no han estudiado Ingeniería Informática saben más de Ingeniería Informática que los que la han estudiado. Que se enseñan muchas cosas en las Escuelas Técnicas Superiores de Ingeniería Informática, incluso en la mía, que es de provincias. Postulo que los Ingenieros en Informática estamos subrepresentados en los órganos de decisión de las decisiones estratégicas en Informática. Y afirmo que apoyaré cualquier asociación que promueva la dignificación de nuestros estudios y nuestra profesión.
Siempre se ha planteado el conocimiento como un juego de suma cero. Eso no funciona así. Yo nunca he dicho que un no ingeniero en informática, por no serlo, no sepa informática. Eso es lo que tus corifeos dicen que yo digo. Lo que sí digo es que el título de Ingeniería Informática es una certificación de un organismo solvente de haber demostrado poseer un grupo de conocimientos mínimos.
Discúteme algo de lo moyar de mi entrada. Noticia sería que Ricardo dijera que se aprende informática en Ingeniería Informática, y que el título de Ingeniería Informática garantiza una serie de conocimientos mínimos. Sólamente con que tu digas eso, desmontas toda mi entrada en el blog. ¿A que no lo dices? Claro, porque no te lo crees. Lanzas una serie de argumentos basados en tu autoridad máxima como autoproclamado profeta del movimiento del software libre. Y esperas que todos comulguemos con piedras de molino. Dicho de una forma que te guste: si tu único argumento es ad verecundiam, y la autoridad que citas eres tú, cuando te rebatan los argumentos todo lo que te digan será ad hominem.
Comentario por David Santo Orcero — Abril 8, 2008 @ 11:17 am
#20
> Él ha dicho que no le gustas, y porqué no le gustas, es más, él ha afirmado que está cansado de que, literalmente, gente como tú eche mierda sobre la Ingeniería Informática.
¿Dónde echo yo “mierda” sobre la ingeniería? ¿algún enlace? Según algunos de vosotros estar en contra de los colegios o comentar los problemas que tenemos es “echar mierda”.
> Pero sencillamente no he visto en ningún momento ataque a tu capacidad, intelectual o profesional, para basar su opinión.
No, ya, acusar de que echo mierda, de que soy un afinador de Chikilicuatres, que va de pope, que echa mierda sobre la ingeniería, o que “no debería tener el título” es una crítica muy “técnica”.
Lógica impresionante.
#21
> Lo que no me vale es que se mire parte del código, y concretamente aquel supuestamente erróneo (aunque David lo haya explicado ya en un comentario) para analizar si una persona está capacitada para dar su opinión.
He mirado el código publicado, todo el código es infumable y demuestra problemas muy serios de conceptos básicos programación. Pero no me voy a dedicar a escribir un libro para explicar cada línea, allí tienes el código y lo puedes mirar tú mismo.
> Y lo más grave es que se mire el código de una persona para opinar sobre otros aspectos que no tienen nada que ver con la programación.
Ya, ya, ya, ahora no debe criticarse a un profesional por sus “aspectos profesionales”. Para defender la creación de colegios vale acusar a tus colegas con “es una mierda de profesional que no debería tener ni el título”, pero es una “bajeza moral” analizar objetivamente los programas del primero.
De nuevo, si vamos a discutir sobre “capacidades profesionales”, hablar es demasiado fácil y tiende a la demagogia barata, show me the code.
Tanta charlatanería y acusaciones variadas a los que opinan distinto sobre aspectos de la profesión ya es demasiada cansina.
Comentario por gallir — Abril 8, 2008 @ 11:29 am
Me ha sorprendido la respuesta de Ricardo analizando trozos de código de David.
Lo primero que diré es que no soy Ingeniero Informático, y los colegios ni me van ni me vienen. Algunas críticas se pueden aceptar, pero que te metas a decir que hay más paréntesis en una expr booleana de los que hacen falta… es que es como si te quejaras de que mete sangrías en el código. O lo del punto y coma después de las llaves. En otras cosas puede que tengas razón (aunque David ha razonado bastante bien la mayoría de los supuestos errores), pero no sé lo que pretendías con esa parte de la entrada. Si no la hubieras escrito tú, sino que la hubiera escrito un tío que no fuera profesor de universidad, creador de meneame, con tanta fama, etc, es decir, si esta entrada la veo escrita por ejemplo por un “ingeniero de primera” criticando a alguien creo que habría sentido vergüenza ajena, pero cuando he empezado a leerla realmente he llegado a pensar que David no sabe programar en C, hasta que me he dado cuenta y he pensado, ¿pero qué coño?.
Bueno, y esta es mi nula aportación a la discusión xD
Comentario por Pepe — Abril 8, 2008 @ 11:39 am
#23
¿Te vas a poner a llorar para hacer un poco más dramático “el linchamiento de los ingenieros de primero” sobre el que seguro vas a hacer un nuevo apunte en el blog mañana o vamos a discutir las cosas de forma razonable en lugar de hacernos las víctimas?
Si quieres discutir sobre capacidades profesionales, TE DESAFÍO: Coge a 100 físicos, ingenieros de telecomunicación, matemáticos o lo-que-te-de-la-gana recién titulados, y coge a otros 100 ingenieros en informática de la misma promoción. And let’s see their code.
Seguro que me vendrás con que no estas para perder el tiempo, o que es demagogia, o cualquiera de tus absurdas disculpas. Pero las conclusiones objetivas de basan en análisis objetivos, no en el código de David.
El resto, en mi pueblo, son falta de bemoles …
Un saludo.
Comentario por Pablo Pérez — Abril 8, 2008 @ 11:41 am
La verdad, me parece increíble que un ingeniero informático se ponga a evaluar a otro por meros trozos de código (obviando otras consideraciones morales). Con esa mentalidad de que un ingeniero informático exclusivamente se dedica a programar y si comete un error es un pésimo ingeniero… normal que no veas la necesidad de regular la profesión. Dudo mucho que un arquitecto le reclamase a otro el que alguna vez hubiese puesto un ladrillo no alineado con los demás. Uy, perdón, que los arquitectos no ponen ladrillos a no ser por afición!! No es como los ingenieros informáticos que lo único que hacen es programar y destripar ordenadores como puede hacer cualquiera con un cursillo que se baje de internet. Mucho me temo que con esta mentalidad, o nos vamos a otro lugar en el que nos consideren lo que somos, ¡¡ingenieros!! o deberemos cambiar de profesión. Lástima que no haya ninguna otra en la que poder trabajar en el mismo nivel haciendo un cursillo por correspondencia que habiendo cursado 5 años de estudios.
Comentario por María — Abril 8, 2008 @ 11:44 am
1. soumidecode
2. adhominém
3. deontología
4. elrobocop
Comentario por Spectrum — Abril 8, 2008 @ 11:47 am
> Si quieres discutir sobre capacidades profesionales, TE DESAFÍO: … And let’s see their code.
WTF? ¿Por qué tienes que meter ahora a los físicos o telecos cuando no viene al caso? ¿por qué tus desafíos son siempre para evaluar a los demás y no a tí mismo?
Yo te desafío a tí. Muéstrame tu código y comparamos.
Yo cumplo, mis programas de los últimso años están todos por allí publicados (y criticados). Muchas veces dije que incluso los ingenieros tenemos problemas de “disfunción metacognitiva”, y esta es una pequeña prueba que sucede.
O lo puedes plantear de otra manera, muchos afirman que los ingenieros programamos mejor que los que no lo son, esta es una pequeña prueba de que no siempre es así y que debemos reconocer nuestros problemas y limitaciones y no discriminar y criticar a los demás por problemas que también padecemos (sea de la Universidad de Málaga, de Balears o de Stanford).
> Seguro que me vendrás con que no estas para perder el tiempo, o que es demagogia, o cualquiera de tus absurdas disculpas.
Yo no pediré disculpas, ni escabullo montando desafíos con el trabajo de terceros: muéstrame tu código o pogramas que hayas hecho.
Hasta que eso ocurra, el charlatán de “absurdas disculpas” eres tú.
PD: No tienes porqué presentar a que te evalúe tus programas, pero no puedes exigir que se evalúe críticamente a los demás y tú escapar por pataneras.
Comentario por gallir — Abril 8, 2008 @ 11:54 am
No conozco ni a Galli ni a Orcero. Cuando Galli tiene razón, olé, pero en este caso apoyo a David Orcero.
Coger un puntual spaghetti programming -que todos hemos hecho alguna vez, seamos honestos- para descalificar globalmente a una persona (falacia de deducir de lo particular lo general) para concluir que la opinión de David es inválida (falacia ad hominem) no es correcto.
Además, personalmente ya estoy harto de la moda esta de desprestigiar día tras día a los titulados universitarios españoles por causas que ignoro. Coño, que algunos trabajamos y estudiamos robándole horas al día y no nos regalan precisamente nada.
Comentario por xm carreira — Abril 8, 2008 @ 12:00 pm
COMUNICADO OFICIAL DEL COLEGIO OFICIAL DE HINJENIEROS DE PRIMERA
Comentario por Monty — Abril 8, 2008 @ 12:07 pm
> WTF? ¿Por qué tienes que meter ahora a los físicos o telecos cuando no viene al caso?
> ¿por qué tus desafíos son siempre para evaluar a los demás y no a tí mismo?
«También aprendí programación orientada a objetos, lo básico de teoría control, simulación no lineal, telecomunicaciones (empezamos a instalar las conexión Internet del centro vía satélite), Prolog, Smalltalk, C, C++, a programar administrar máquinas gordas para su época (Vax y MicroVax con VMS, Sun con SunBSD), a controlar a fondo el Unix, etc. etc.»
«Todo gracias a esos “físicos”»
Eso no es cosa mía, sino tuya.
> Yo te desafío a tí. Muéstrame tu código y comparamos.
Sinceramente, paso. No voy a medir mis opiniones contigo basándome en quien la tiene más larga …
Y ahora … pon aquí lo que quieras (eres un cobarde, un charlatán, whatever …
> Yo cumplo, mis programas de los últimso años están todos por allí publicados (y criticados).
> Muchas veces dije que incluso los ingenieros tenemos problemas de “disfunción metacognitiva”,
> y esta es una pequeña prueba que sucede.
Cuando estemos hablando de programación, y sea el motivo de la discusión, a lo mejor hasta les echo un vistazo.
Mientras tanto, busca a 100 profesionales no relacionados con la ingeniería informática (quitamos lo de telecomunicaciones, física o lo que te de la gana), y a 100 ingenieros en informática, y hagamos un estudio serio y riguroso.
El resto es no mojarse.
> O lo puedes plantear de otra manera, muchos afirman que los ingenieros programamos mejor
> que los que no lo son, esta es una pequeña prueba de que no siempre es así y que debemos
> reconocer nuestros problemas y limitaciones y no discriminar y criticar a los demás por
> problemas que también padecemos (sea de la Universidad de Málaga, de Balears o de Stanford).
Si leyeras a la gente en lugar de alimentar tu egolatría (y ahora reproduce ésto en tu respuesta para descalificarme a mí en tu próxima respuesta en lugar de leer lo que sigue), verías como en ningún momento se descalifica a las personas por no tener un título (y te vuelvo a desafiar, encuentra un sitio donde YO lo haya dicho), si bien lo que tampoco se tolera es que se descalifique por tenerlo, o que se cuestione su utilidad.
> Hasta que eso ocurra, el charlatán de “absurdas disculpas” eres tú.
Bueno, pues no me crece …
> PD: No tienes porqué presentar a que te evalúe tus programas, pero no puedes exigir que se evalúe
> críticamente a los demás y tú escapar por pataneras.
Critico que se evalúe el trabajo de los demás para censurar sus opiniones. Los programas que haya hecho o dejado de hacer David no le restan en absoluto autoridad para hablar de lo que habló en su blog, y DE ESO ESTAMOS DISCUTIENDO.
Y, cuando quieras, hablamos de eso …
Comentario por Pablo Pérez — Abril 8, 2008 @ 12:13 pm
Venga … vale … me has convencido. Analyze this:
#include
int main(int argc, char**argv)
{
printf(”Hello, World!\n”);
return 0;
}
Es mío, palabrita del Niño Jesús.
Un saludo.
Comentario por Pablo Pérez — Abril 8, 2008 @ 12:20 pm
Leyendo a los “Ingenieros de Primera” que pululan por esta página casi que lo que podría concluir es que, al menos a ellos, en la carrera por algún motivo, en algún momento, perdieron la capacidad de comprensión lectora. Porque sinceramente, o ellos no entienden lo que leen en los post de Ricardo o voy a tener que pensar que el problema es mío
El caso es que creo que hasta tres veces Ricardo os ha pedido que le digáis exactamente donde dice lo que ponéis en su boca, cosa que yo al menos que sigo su blog no he leído, aunque como digo, debe ser que no entiendo lo que lo. Por si acaso aquí van algunas reglas que os pongo para que quede claro, al menos, lo que yo entiendo:
* Decir que titulados de otras carreras pueden estar capacitados para hacer el mismo trabajo que un Ingeniero Informático NO equivale a decir que, generalmente, los titulados en otras carreras son más capaces que los Ingenieros Informáticos.
* Decir que al término de la carrera uno ha tocado muchas cosas pero que le falta mucho dominarlos sólo por haberlos visto en la carrera no es echar mierda sobre la carrera, es decir una obviedad. Eso mismo pasa con todas las titulaciones.
Por lo demás, Ricardo tiene tres post que menciona repetidas veces sus argumentos contra los colegios profesionales. En este mismo, pone un caso sacado de su EXPERIENCIA PERSONAL en la que el Colegio apoyó contratos fraudulentos de una empresa frente a los profesionales que el mismo dice defender. Sin embargo, en lugar de debatir sobre esos argumentos aquí sólo se marea la perdiz sobre presuntas afirmaciones que según los interlocutores hace Ricardo.
Empiezo a pensar que por algún motivo interesa enterrar los argumentos de Ricardo en una montaña de ataques personales y discusiones sobre flecos del asunto poco relevantes.
Comentario por enhiro — Abril 8, 2008 @ 12:31 pm
> Decir que titulados de otras carreras pueden estar capacitados para hacer el mismo trabajo que un
> Ingeniero Informático NO equivale a decir que, generalmente, los titulados en otras carreras son más
> capaces que los Ingenieros Informáticos.
¿Cuál es el trabajo de un Ingeniero en Informática?
> Decir que al término de la carrera uno ha tocado muchas cosas pero que le falta mucho dominarlos sólo
> por haberlos visto en la carrera no es echar mierda sobre la carrera, es decir una obviedad.
> Eso mismo pasa con todas las titulaciones.
Amén.
¿Entonces por qué un Licenciado en Derecho puede colegiarse y ejercer como abogado, un Arquitecto recién titulado puede colegiarse y ejercer como Arquitecto, y un Ingeniero en Informática no?
Comentario por Pablo Pérez — Abril 8, 2008 @ 12:36 pm
#34.
Primera pregunta: que yo sepa una titulación no lleva asociada un tipo de trabajo. En cualquier caso, no acabo de ver que tiene eso que ver con el párrafo al que alude.
Segunda pregunta: que yo sepa, si existe el colegio, y ya existen unos cuantos, un Ingeniero en Informática tiene derecho a colegiarse. Además, no conozco ningún caso en que nadie les impida ejercer como Informáticos.
Comentario por enhiro — Abril 8, 2008 @ 12:45 pm
@Pablo Pérez quizá sea porque la sociedad no lo demanda. ¿Y por qué la sociedad no lo demanda? Porque lo que hace un ingeniero informático no es lo mismo que lo que hace un arquitecto. La sociedad, al arquitecto le otorga el “monopolio” para diseñar determinadas infraestructuras, a cambio de un precio: Si el edificio se cae, el arquitecto podría acabar en la cárcel. Dada la sensibilidad del proyecto, como miembro de la sociedad me parece un trato justo (primero se forma al arquitecto, y luego se le exigen responsabilidades).
No tengo del todo claro si es posible trazar una analogía satisfactoria entre un proyecto informático y un proyecto de arquitectura; Y como yo, supongo que tantos otros. Quizá por eso no existan tales atribuciones.
Ahora bien, no digo que no se deba formar un colegio, así como cualquier otro organismo que se quiera; Simplemente, la exclusividad de esas atribuciones no debería ser sólo otorgada a los miembros de dichos colegios. Ya que para eso, primero habría que definir sus competencias y responsabilidades. En mi opinión la respuesta a esta pregunta no está suficientemente clara.
Y eso creo que no tiene nada que ver con que “quién sabe más de informática”, si un fisioterapeuta/físico/teleco o un informático; Creo que la respuesta es tan obvia que no merece la pena perder tiempo en eso. Ahora bien, si el fisioterapeuta es un crack del Python, pues igual le contrato como programador Python. Como empresario me sentaría bastante mal que la sociedad me impusiera que contratara a un ing. informático, si el candidato que me gusta es el otro. Pero vaya, que en general, de informática saben los informáticos, y los empresarios no son tontos: Contratan al que mejor vaya a hacer el trabajo, así que no sé a qué viene lo de las atribuciones.
Salud!
Comentario por kota — Abril 8, 2008 @ 12:54 pm
Pero que manera más absurda de perder el tiempo. Parece un patio de colegio… show me the code!! show me the code!!. ¿Eso lleva a algún sitio?
Ni todos los Ingenieros Informáticos son unos buenos profesionales, ni el resto de titulados que han entrado en la profesión son unos inútiles.
De hecho existen Ingenieros Informáticos que no tienen ni idea y profesionales “no titulados” que son unos hachas.
Eso si me permito opinar que entre los titulados de otras carreras que no tienen que ver casi NADA con la informática encontraremos mayor proporción de “ignorantes”.
Decidme que alguien (recien titulado) que ha estudiado Quimica estará mejor preparado que un Ingeniero Informático para realizar el análisis de un sistema. Permitidme que a priori pueda sufrir cierta inclinación (si! prejuicio) hacia el Informático titulado.
Esta lucha enterna es estéril. Mientras el socio/gerente/propitario es el que se está llevando los euros calentitos. Y estaremos de acuerdo es que ese si que es el que realmente no tiene ni puta idea de Tecnología.
Comentario por Alfredo — Abril 8, 2008 @ 1:04 pm
#35 >que yo sepa una titulación no lleva asociada un tipo de trabajo.
No. Por mucho que, por ejemplo, yo sepa de estructuras como ingeniero, no puedo hacer casas, porque para eso ya existen los arquitectos. Por mucho que como enfermera sepa de medicina, no puedo recetar, etc… Y por mucho que un licenciado en empresas sepa de derecho mercantil no puede actuar de abogado.
> no conozco ningún caso en que nadie les impida ejercer como Informáticos.
Como informáticos, no pero como ingenieros, sí que se les impide. Un ingeniero industrial puede hacerse responsable de su software si se lo visan (pej., el software d eun autómata). Un ingeniero en informática no, porque no tiene atribuciones.
Es el mismo caso que el de los ingenieros químicos: son los que más saben de procesos químicos pero no pueden hacerse responsables de sus proyectos porque llegaron tarde al reparto de atribuciones.
Para todo lo demás, lean a David Parnas.
Comentario por xm carreira — Abril 8, 2008 @ 1:07 pm
carreira,
Y si un ing. informático hace un proyecto informático, ¿Quién es el responsable entonces? No acabo de entenderlo.
No digo que las atribuciones que ya hay estén todas bien, aunque por ejemplo, comentas que aunque sabes de estructuras no puedes hacer una casa; Yo también sé de estructuras bastante, pero creo que la sociedad hace bien no confiándome poder para hacer más que naves industriales, ya que una casa (o un hospital, o un museo) no es sólo una estructura, es mucho más que eso.
Salud!
Comentario por kota — Abril 8, 2008 @ 1:13 pm
Ahi esta el problema pequeño kota, que no hay responsable en 1 proy informatico.
Y tu crees que el sistema que controla el trafico aereo en 1 aeropuerto, o el de una transaccion bancaria o el de…. etcetc no es algo mas que unas pocas lineas de codigo? no se deberia exigir por ley algo mas que tener la ESO? (Aqui nadie habla del programa para llevar el videoclub de mi barrio)
Comentario por FeliSerra — Abril 8, 2008 @ 2:04 pm
#34
>Primera pregunta: que yo sepa una titulación no lleva asociada un tipo de trabajo.
>En cualquier caso, no acabo de ver que tiene eso que ver con el párrafo al que alude.
Que yo sepa los títulos se diseñan e imparten para formar a las personas en el desempeño de unas determinadas tareas profesionales.
Matizo entonces la pregunta: ¿Para qué tareas se diseñó el título de Ingeniero en Informática?
> Segunda pregunta: que yo sepa, si existe el colegio, y ya existen unos cuantos,
> un Ingeniero en Informática tiene derecho a colegiarse. Además, no conozco ningún caso en
> que nadie les impida ejercer como Informáticos.
Que yo sepa, no existe un Colegio de ámbito nacional, o un Consejo General de Colegios Profesionales, por lo que las instituciones generales no reconocen a los colegios autonómicos como interlocutores válidos ante ellas, y se producen situaciones como la que David denuncia, y es el hecho de que en ninguna comisión nacional relacionada con la Sociedad de la Información hay representantes de las Ingenierías en Informática, y sí por contra de otras, como por ejemplo la Ingeniería de Telecomunicación.
Es más, en la última denuncia que se presentó por parte de los Colegios Profesionales de Ingenieros Industriales al respecto de los proyectos de Instalación de la Televisión Digital Terrestre, en las que se exigía la posesión del título de Ingeniero de Telecomunicación, se demostró como ese inciso en la reglamentación se había podido meter gracias que los únicos profesionales que estaban sentados en la mesa redactora eran ellos.
Que ellos cometan tropelías como esa es lícito, lógico y legal. Que nosotros queramos estar ahí para que no las cometan es que somos unos llorones, titulíticos, etc. … ¡País!
Comentario por Pablo Pérez — Abril 8, 2008 @ 2:14 pm
Ricardo,
Entendiendo tus ideas sobre los colegios informáticos (cada uno las compartirá o no), tratemos de ser un poco más constructivos.
El problema de base es que el mercado laboral de los profesionales informáticos está en una mala situación. Bajos salarios, las oportunidades de escalar posiciones están muy limitadas por el amiguismo o lameculismo, presupuestos cómicos de proyectos, y en general, ‘poor management’. O por lo menos eso creo yo que es el problema, por lo que he visto y me han contado. Estas de acuerdo conmigo?
Respecto a esto, Ricardo, y ya sabiendo que piensas que los colegios profesionales son mala idea, qué propones que los profesionales de la informática hagamos como colectivo para mejorar condiciones y ganar respeto social? (fijarse que no hablo de titulados, hablo de profesionales).
Saludos,
David Salvá
P.S.: Soy Ingeniero Técnico en Informatica de Gestión por la UIB, y casi con la superior (puto PFC!!). He sido alumno tuyo en SO y ASO, Ricardo.
Comentario por Davor — Abril 8, 2008 @ 2:20 pm
#42
> El problema de base es que el mercado laboral de los profesionales informáticos está en una mala situación…
No es un problema que deba o pueda solucionar el colegio, como dije en el apunte es un tema sindical y de conbvenios de trabajo. Y si hablas desde el punto de vista de profesional liberal, será porque no hay un mercado suficiente, o que la demanda no es suficiente.
> Estas de acuerdo conmigo?
No lo sé, podría, aunque la mayoría de fuenos ingenieros que conozco no se quejan de sus salarios, sino de otras cosas, como no poder hacer cosas que realmente le motiven o interesen.
> qué propones que los profesionales de la informática hagamos como colectivo para mejorar condiciones y ganar respeto social? (fijarse que no hablo de titulados, hablo de profesionales).
- Estudiar mucho, durante y después de la carrera.
- Competir lealmente en el mercado laboral.
- Desarrollar y usar software libre, se puede aprender mucho.
- Desarrollar tus propios proyectos que compitan globalmente. A los 20 y pocos años tienes nada que perder, a Internet (y el software libre) permite que puedas trabajar y aprender codo a codo con los mejores del mundo.
En temas más “políticos” y globales.
- Pedir a la administración que publique todo el código que sea posible, no es coste adicional y podríamos todos “auditar” y aprender.
- Favorecer la creación de industrias más diversificadas.
- Favorecer a la industria del software libre, es la que puede ponernos a la cabeza, quizás sea la única.
- Hacer software que compita internacionalmente en los temas que somos líderes. En Balears (y otras zonas) eso es turismo, en otras pueden ser las energías eólicas o renovables, etc. etc.
- Hacer que las empresas inviertan más en I+D+i, estamos en la cola, sobre todo en Balears.
- Fomentar a los “emprendedores” en web o informática.
- Invertir más en investigación básica y desarrollo experimental en informática. Es la forma de aportar a que nuestra ingeniería madure más rápidamente.
- Sí a competir, sí a colaborar, no a discriminar.
Comentario por gallir — Abril 8, 2008 @ 2:32 pm
Ricardo no entres en discutir aqui, al final sales perdiendo aunque sea por la confusion o el ruido. No le des excusa a nadie para señalarte con el dedo. Pasaran los años y habra alguno cuchicheando detras diciendo “ah si pues este le dijo al otro que era un cabron” aunque no hayas dicho nada de eso, aunque haya sido otro dentro del blog. Estaran esos cuatro pesados para el resto de la vida mirando con cara rara y comentandole a todo el mundo lo malo maloso que eres. No necesitas justificarte, ni darles publicidad.
Comentario por Ivan de la Jara — Abril 8, 2008 @ 2:38 pm
#44, en todo eso sí estamos completamente de acuerdo los dos.
Comentario por David Santo Orcero — Abril 8, 2008 @ 2:46 pm
Leyendo los comentarios se me queda el regusto de que a David se le está ignorando cosa mala, mientras que el “debate” se centra en colegio si - colegio no. Creo que te ha contestado de forma razonada y legible, a todas las críticas que le has hecho a su código, pero parece que sus comentarios son “invisibles”.
#24, yo si que he sentido verguenza ajena cuando he leido el post. De niños de colegio. A ver para cuando alguien postea sobre el código spaguetti del menéame! Ah no, que está feo criticar código ajeno sin haber aportado algo a dicho código, no funcionaba así? Me suena haber leido eso por este blog…
Comentario por JoseCarlos — Abril 8, 2008 @ 2:48 pm
#44, Ricardo,
Estoy de acuerdo con muchas cosas de las que dices, pero no veo como puede un ingeniero (o profesional válido), como individuo, ayudar, o hacer presión para que los políticos/empresarios/quiensea hagan lo que propones:
> - Favorecer la creación de industrias más diversificadas.
> - Hacer que las empresas inviertan más en I+D+i, estamos en la cola, sobre todo en Balears.
> - Fomentar a los “emprendedores” en web o informática.
> - Invertir más en investigación básica y desarrollo experimental en informática. Es la forma de aportar a que nuestra ingeniería madure más rápidamente.
Estoy totalmente de acuerdo en que se necesita esto. Pero como se consigue, no lo veo claro.
Un colegio, con todos sus ‘contras’, podría tener fuerza para exigir esto, más que la que tienen las demás asociaciones.
- Si no es un colegio (por todo lo que planteas), cómo podemos ayudar para que esto se cumpla, más allá de asociarnos a las asociaciones ya existentes?
- Qué podemos hacer para que las cárnicas nos dejen de vender a kilos? no todo el mundo tiene la iniciativa/capacidad suficiente como para dejar de trabajar y embarcarse en el tipo de proyectos que propones.
Saludos
Comentario por Davor — Abril 8, 2008 @ 2:57 pm
Dios, que forma de tergiversar xD
Comentario por JumaX9 — Abril 8, 2008 @ 2:58 pm
#44
A-M-E-N
En temas políticos y globales: Fomentar la creación y retención de talento a través de los verdaderos artífices de la sociedad del conocimiento: sus profesionales (en toda su extensión).
Comentario por Pablo Pérez — Abril 8, 2008 @ 3:05 pm
@FeliSerra entiendo que haya programas cuyo fallo sería catastrófico, sin embargo, la analogía con la arquitectura y el edificio que se cae sigue estando coja; No se trata de lo que pueda pasar, sino que se tenga la certeza de lo que no puede pasar. En arquitectura existen normas para todo, y si te sales de ella, lo haces bajo tu responsabilidad. Sin embargo en informática ni tan siquiera somos capaces de hacer programas sin errores, y eso no se arregla exigiendo títulos: Si el programa es crítico, necesitará un testeo brutal, y punto.
Y que no haya un responsable, pues simplemente me parece difícil de creer. El que no firmes un proyecto (como haría un Ing. Industrial) no significa que no seas responsable.
Ah, y lo de “pequeño kota”, estoy seguro de que no me lo dirías en persona, así que vaciladitas no, gracias.
Saludos.
Comentario por kota — Abril 8, 2008 @ 3:09 pm
#44
Es más, como dice Ricardo, los colegios profesionales no deben ser el refugio de ningún tipo de privilegios, ni mucho menos deben velar por determinados rangos salariales asociados a un título, que para eso hay otra figura llamada sindicato.
Los colegios profesionales deben apostar por convertirse en el cauce por el que la innovación y la excelencia profesional deban fluir, deben representar a un colectivo ante las instituciones para decir: «Ésta es la opinión de los profesionales», y deben velar porque los profesionales a los que representan ejercen en beneficio de la sociedad, que para eso ha invertido recursos formándolos.
Según he llegado a saber, cuando se planteó la introducción del DNIe, a algún avispado se le ocurrió impulsar el uso de tecnología RFID para su implantación, ¡y menos mal que había unA profesional que puso algo de cordura en el asunto! ya que de otra manera los datos de los ciudadanos estarían circulando libremente por el espacio radioeléctrico.
Cosas como esas son las que queremos evitar también a través de un colegio profesional, que es el mecanismo que Papá Estado pone a disposición de la plebe para hablar con Él.
Un saludo.
Comentario por Pablo Pérez — Abril 8, 2008 @ 3:15 pm
A ver si lo he entendido:
Galli: Mira, el código es infumable
Colegiados: Tú eres infumable, que dices que has aprendido de los físicos. Nosotros sí que aprendemos en nuestra carrera.
Galli: Vamos a mirar el código…
Colegiados: Pero eso es ver quien la tiene más larga.
Más o menos es eso, no? Y que Galli haya aprendido ciertas cosas de Físicos no quiere decir que TODOS los físicos sepan informática :0
PD: Y no me parece un desprestigio, me alegraría mucho si estas críticas mejoraran la carrera que pienso estudiar el año que viene.
Comentario por JumaX9 — Abril 8, 2008 @ 3:18 pm
#43 Dr. Galli, menos en lo del Colegio
en todo lo demás estamos bastante de acuerdo. Si crees que el I+D+i balear es pobre es que no conoces Galicia. Empresas como BluSens, Igalia o Imaxin son el oasis en el desierto.
#49; Kota: Si no firmas y te visan un proyecto no serás responsable ni civil ni penal de nada, porque legalmente no figuras autor del proyecto. Te podrán despedir por incompetente, pero eso es todo.
Comentario por xm carreira — Abril 8, 2008 @ 3:29 pm
#25 (Pablo creo)
“Si quieres discutir sobre capacidades profesionales, TE DESAFÍO: Coge a 100 físicos, ingenieros de telecomunicación, matemáticos o lo-que-te-de-la-gana recién titulados, y coge a otros 100 ingenieros en informática de la misma promoción. And let’s see their code.”
No se en que te basas para decir eso, pero te aseguro que en Informatica, se programa, desde el ensamblador 8086 hasta java, pasando por C, C++, ADA, PascalFC, Prolog, Haskell…
Y te aseguro que si me enfrentas a un matematico, un fisico, etc programare mejor que el. No por practica, ni por otros motivos. Simplemente porque no solo nos enseñan los lenguajes y sus funcionalidades. Tambien nos enseñan como construir un programa correcto (Simple, multihebra, con la concurrencia que quieras y el sistema de control que quieras), nos enseñan como evitar hacer un programa concurrente lo menos malo posible( Ya que es imposible hacer un programa minimamente complejo concurrente y demostrar que es correcto) y un largo etc.
No te discuto que un fisico, o un matematico, puedan hacer software. Pero si te discuto sobre la calidad de dicho software, sin lugar a dudas.
Un saludo.
Comentario por Disruption — Abril 8, 2008 @ 3:43 pm
Este señor Orcero tiene problemas…
http://softlibre.barrapunto.com/article.pl?sid=01/09/26/026244 no solo con Ricardo sino con mucha gente.
Uno “no debe patear la cuchara” - si trabajas con software libre, deberias respetar a los desarrolladores de Software Libre. Todo es una evolucion y podemos conversar de un modo pacifico y sin querer estar por encima de los demas. Ademas Orcero tiene razon en algo. Si saben mucho de software… PUES AYUDEN AL OTRO. de eso es que se trata el software libre?
Que son graduados, tecnicos, etc. ahora vamos a criticar a Bill Gates o cualquier otro porque no terminaron la universidad?
A muchos les da por criticar por ejemplo a microsoft, pero no se dan cuenta que fue por windows que esta vaina es tan popular. bueno? malo? regular? no importa. es Evolucion!!!
Los invito a hacer la paz. No seamos tiranos con nuestros congeneres y aprovechemos todo para crecer y ser mejores.
Este mundo no necesita mas peleas. Necesitamos es sonreir mas.
Saludos desde Colombia
Oswaldo
Comentario por Oswaldo — Abril 8, 2008 @ 3:51 pm
#49: Hay sistemas software que se puede demostrar matemáticamente si están bien hechos o no. Los genios de garaje no tendrán problema alguno en saber cuáles son.
#51: Pues no, no has entendido nada (o has entendido lo que te hadado la gana).
Comentario por spectrum — Abril 8, 2008 @ 3:53 pm
#55 (Disruption, creo)
Lo que tú dices es, precisamente, lo que yo planteo.
Un saludo.
Comentario por Pablo Pérez — Abril 8, 2008 @ 4:11 pm
#28 XD XD plasplasplas
ahora en serio, para los arquitectos, ingenieros de caminos, industriales etc cuando se colegian, firman y visan un proyecto y hay un accidente se hacen responsables, incluso con la cárcel, y no vale poner en las condiciones de uso que no te haces responsable…
si un programa informatico falla estos se van a hacer responsables?
por otra parte no solo grandes programas, sino incluso los lenguajes de programación, y gran parte de los mas util y eficaz de la informatica lo ha hecho gente sin ningun titulo de informatico, en mi opinion es una disciplina que se parece mas a las matemáticas y a la ciencia teorica que a una ingenieria, y para mi esto es un elogio, aunque eso si, no te permite determinado yipo de negocio…
pero bueno es una opinion
Comentario por josep — Abril 8, 2008 @ 4:26 pm
#34, la has clavado.
1. CUAL ES EL MEJOR PROGRAMA Y SIN BUGS DE UN HINJENIERO DE PRIMERA?
printf(”Hello, World! (Copirai hinjenieros de primera)\n”);
2. CUÁL ES EL MEJOR CHISTE DE UN INJENIERO DE PRIMERA?
printf(”Hello, World JEJEJEJE! (Copirai hinjenieros de primera)\n”);
3. QUÉ HACE UN HINJENIERO DE PRIMERA SI LE DESCUBREN UN BUG EN SU PROGRAMA?
Acusa al usuario de ser un gay homófobo islamista con conexiones con ETA que intenta desprestigiar a los informáticos. Luego afirma que un telecos lo haría peor.
4. QUÉ HACE UN HINJENIERO DE PRIMERA SI NO PUEDE ACUSAR AL QUE DESCUBRIÓ EL BUG?
Rompe el ordenador. Luego afirma que hubiese sido mucho peor si lo hubiese programado un físico o un telecos.
5. CóMO SOLUCIONA UN BUG UN HINJENIERO DE PRIMERA?
Le da patadas al ordenador hasta que el bug deje de ser relevante. Luego pide al colegio que prohiba más bugs.
6. QUÉ DICE UN HINJENIERO DE PRIMERA SI ENCUENTRA CÓDIGO ESPAGUETI?
Que eso es culpa del intrusismo, que un hinjeniero lo hubiese hecho bien.
6. QUÉ DICE UN HINJENIERO DE PRIMERA SI DEMUESTRAN QUE SU CÓDIGO ES UN ESPAGUETI?
a) Asegura que es una persecución, que sólo fue un mal día, y que no se han mirado el espectacular código que tienen guardado en secreto. Luego afirma que los telecos lo hacen peor.
b) Asegura que no todo es escribir programas, que la documentación es más importante. Luego afirma que los físicos y telecos no saben escribir.
7. QUÉ DICE UN HINJENIERO DE PRIMERA DE LA UNIVERSIDAD?
Que es una mierda.
8. QUÉ DICE UN HINJENIERO DE PRIMERA DE LOS PROFESORES INFORMÁTICOS?
Que no saben nada (a menos que sea del colegio, en este caso sus clases son la hostia de divertidas).
9. QUÉ DICE UN HINJENIERO DE PRIMERA DEL TÍTULO UNIVERSITARIO DE HINJENIERíA EN INFORMÁTICA?
Que le asegura que está formado correctamente, que tiene los conocimientos necesarios para ser el mejor profesional de la informática.
10. CUÁNTO SABEN DE HISTORIA INFORMÁTICA LOS HINJENIEROS INFORMÁTICOS?
Nada, no hace falta, está llena de físicos, telecos, matemáticos y electrónicos que han hecho mucho daño a la informática. Mejor olvidarnos de ellos.
11. CUANTOS HINJENIEROS DE PRIMERA HACEN FALTA PARA IMPLEMENTAR LA SERIE DE FIBONACCI?
Depende del número de elementos de la serie.
Uno para escribir y documentar las especificaciones.
Luego, según el modelo COCOMO des de uno a varias decenas de programadores para escribir el código, ejemplo:
f = 1;
f = f + 1;
f = f + 2;
f = f + 3;
f = f + 5;
f = f + 4;
…
printf(”Fibonacci %d (Copirai hinjenieros de primera)\n”, f);
Comentario por Monty — Abril 8, 2008 @ 5:23 pm
[...] que regule esta profesión. Entre los actores del último acto de esta discusión tenemos a Ricardo Galli y a David Santo Orcero. Yo solo quiero decir una cosa: Internet fue un invento de un [...]
Pingback por De físico e informáticos. « más manuti — Abril 8, 2008 @ 5:41 pm
Hola.
Veo que siempre se centra el debate en quién sabe más, en quién aprende más y el famoso colegio sí/colegio no. Es una pena.
Ricardo, hace tiempo (poco realmente) que te leo. Me “convencen” muchos de tus argumentos, otros no. Pero me gustaría comentarte que en este caso no me han gustado las formas.
–Como siempre comento, la universidad nos da los conocimientos básicos y el entrenamiento básico que necesitamos–
) y a medida que pasan los meses en mi trabajo me doy cuenta de lo mucho que estoy aprendiendo ahora que no he aprendido en la carrera. He llegado a la conclusión de que la carrera te amuebla la cabeza perfectamente para seguir aprendiendo y para empezar a vivir de esto, y lo que mejor veo es que te la amuebla de manera que el tiempo de adaptación en cualquier campo de la informática sea mínimo.
Me ha encantado esta frase, yo estoy a punto de ser ingeniero en informática por la US (a falta de 6 créditos
Por último me gustaría preguntarte qué piensas acerca del apelativo de “ingeniero” en “ingeniero informático”, hay muchas personas que no lo ven así y no sé qué nos diferencia de otros ingenieros para que a nosotros se nos “desprestigie”.
Saludos.
Comentario por José Ignacio — Abril 8, 2008 @ 5:42 pm
1) http://es.wikipedia.org/wiki/ISO/IEC_27001
Eso es lo que debe conocer un ingenierio informático. No concursillos de código abierto. Esas son nuestras referencias para hablar de seguridad en las organizaciones
2) Colegio. Bueno o malo como para cualquier otra profesión. No se ve a nadie entre los médicos, abogados o arquitectos haciendo divagaciones de este calibre
3) Peleas estériles.
Ya nadie las comprende.
Lo único que se está consiguiendo con estas absurdas discusiones y las ocurrencias de unos y otros, es dejar las aulas vacías y a los periódistas abrumados por todo lo que está pasando en el entorno de las TIC. Auténtico circo mediático.
Hacer el friki es una opción de vida como cualquier otra, el problema es mezclar cosas y no saber definir una ingeniería y defenderla.
El resultado está quedando a la vista de todos: hasta a chikilicuatre se le respeta más. Ganará Eurovisión. El día que nos respetemos entre nosotros igual nos repeta alguien en España.
P.D.: Las referencias “ideológicas” sobre Colegios Profesionales sí que están totalmente fuera de lugar. Eso es puro FUD.
El sesgo mayoritario de los CP de Ingenieros en Informática suele estar muy marcado: NO al NEOLIBERALISMO económico salvaje que algunos paladines supuestamente izquierdosos defienden.
Comentario por mrTIC — Abril 8, 2008 @ 6:12 pm
#58
Disculpa entonces, lo entendi al reves. Mas que nada porque esa ha sido un poco la tonica que ha llevado todo el debate….
Un saludo.
Comentario por Disruption — Abril 8, 2008 @ 6:32 pm
Me olvidaba,
#62, me ha encantado esa respuesta. Por fin alguien que entiende realmente el concepto de ingeniero. En la universidad no te sacan sabiendolo todo sobre la materia(ojala) te sacan formado para que seas capaz de adaptarte a cualquier entorno de trabajo lo antes posible, lo que un “profano en la materia” puede tardar 6 meses en absorber, un ingeniero(En otras cosas tambien) tarda un par de semanas. Ahi esta la cosa, es imposible enseñar todo lo que vas a usar, y mas en informatica que cambia constantemente. Es mejor establecer unas bases fuertes sobre las que apoyar lo demas.
Un saludo
Comentario por Disruption — Abril 8, 2008 @ 6:35 pm
#62 y #65
Tenéis razón ambos. La clave está en la base; que es lo más ingrato, lo que menos se valora, y lo que da ventaja competitiva, especialmente en entornos heterogéneos complejos.
Y como digo muchas veces a muchos alumnos -de todas las ingenierías, ya que doy en tres ingenierías distintas-: Habéis cogido una profesión muy ingrata si no os gusta lo que hacéis; ya que tendréis que estudiar todos los días, aún con la carrera acabada, hasta el día que os jubiléis.
Pasa en todas las ingenierías, y pasa también en Ingeniería Informática.
Comentario por David Santo Orcero — Abril 8, 2008 @ 6:47 pm
#65 #62 Pero… esto no es lo que ha dicho Ricardo?? Puedes salir preparado para aprender pero la carrera no te da un conocimiento profundo de todo. Bueno, ni Informatica ni ninguna.
Comentario por Marc — Abril 8, 2008 @ 6:48 pm
No, no es lo que ha dicho Ricardo.
Si Ricardo hubiese dicho que Ingeniería Informática es el inicio de una larga carrera profesional de codos, estudio y trabajo diario, todos los días, estaría completamente de acuerdo.
Yo mismo -carrera ya terminada- dedico varias horas al día de estudio. Es imprescindible. En Informática se innova todos los días. Y cada día que estudias descubres que sabes menos.
El problema es que yo considero que en Ingeniería Informática se aprende mucho. Se aprenden gran cantidad de conocimientos base. Creo que el curriculum de Ingeniería Informática da una buena formación en Ingeniería Informática a una persona que entra sin dichos conocimientos base. Creo que el título de Ingeniería en Informática es un buen certificado de mínimos respecto a dichos conocimientos base.
La implicación complementaria son palabras que los corifeos han puesto en mi boca, pero no he dicho. Yo nunca he dicho que no tener título implica que no sabes. Lo que he dicho siempre es que el título es una forma fiable de certificar dichos conocimientos mínimos.
Y no voy ha dejar de discutir contra los que canturrean la cantina repetitiva de que, por tener la carrera de Ingeniería Informática, se menos de informática que otra persona porque él tenga otra carrera.
Comentario por David Santo Orcero — Abril 8, 2008 @ 7:00 pm
#66 Es cierto David, lo que pasa que si nos gusta como se supone que nos gusta es muy gratificante (hablo desde la inexperiencia de quien acaba de salir al mundo real).
#67 Sí, es parte de lo que ha dicho, por eso he dicho que me ha encantado esa frase.
Comentario por José Ignacio — Abril 8, 2008 @ 7:01 pm
#67
Ricardo, y cualquier persona con tres dedos de frente, tiene razón en eso: Ningún título avala la excelencia profesional. Como dijo Ramón Llull: “El médico sabe por los libros y demuestra por la experiencia”.
Pero coincidirás conmigo que ninguna ingeniería es tan cuestionada en el mercado profesional como la Informática, porque del principio anterior se presume directamente la contraposición: «Los ingenieros en informática no tienen ni idea, el título no sirve para nada, etc.» …
… y lo mejor de todo es que, a día de hoy, ¡ni Dios sabe para que se diseñó el título de Ingeniería Informática!
… Y entonces es donde entra la eterna discusión, que no quisiera reproducir.
Un saludo.
Comentario por Pablo Pérez — Abril 8, 2008 @ 7:08 pm
#70 Curioso que ahora después de este cacho de apunte-troll nos estemos poniendo de acuerdo y se me deje de demonizar o catalogar de “ir en contra de los informáticos” por repetir las mismas ideas de siempre.
En cualquier caso, bienvenido sea que podamos encontrar puntos en común y volver al debate de las ideas y las razones de fondo.
Estoy de acuerdo que somos una de las ingenierías más vilipendiadas, pero quizás no estoy de acuerdo con el diagnóstico ni con las soluciones.
Con la solución del colegio o regulaciones seguramente no llegaremos a un acuerdo en corto plazo, más que solución lo veo como un problema adicional. Es volver a los sistemas excluyentes y medievales de gremios y “castas” privilegiadas. ¿Que otros lo hacen? No lo considero justificación, estoy a favor de pedir la abolición de los colegios… a menos qué:
- Se justifique plenamente el interés social de los mismos (creo que en la Medicina es donde más justificado está).
En cuanto al diagnóstico, hay varias razones:
1. La ciencia e ingenierias informáticas no están maduras como otras. Además avanza y cambia muy rápidamente. Esto hace que no podamos tener la “comodidad” de contar con las herramientas comunes y “fáciles de usar” de otras ingenierías.
2. La “industria” está altamente concentrada, por lo que aquí, en las regiones periféricas, en general nos dedicamos sólo a “poner la mostaza” a la hambuguesa, dependiendo en gran medida de lo que nos envían desde fuera. El volumen de negocio por empleado es muy bajo, y eso afecta directamente a los salarios y la satisfacción personal.
3. Las carreras de informática se masificaron en los últimos 15 años, se juntó eso con grandes cambios y crecimiento de nuestras universidades (además de un desórden importante). Esto hizo que no todos los titulados tuviesen niveles comparables, muchas veces ni siquiera los mínimos.
4. No tenemos una estructura universitaria-empresarial aceitada para la formación continua que necesitamos.
5. Una gran parte de los estudiantes y profesionales están desmotivados con su profesión… no era tan fácil ni glamurosa como pintaba al principio. Los profesores de la universidad tenemos parte de la culpa, pero es compartida con todo el sistema educativo e incluso con la sociedad.
6. Copiar y pegar es muy fácil, escaquearse de prácticas también. El que lo hace es un listo, el que no es un empollón estúpido.
¿Soluciones a cada punto?
1. Paciencia e investigación.
2. Crear industria local que pueda cubrir toda la pirámide del software. El software libre es una salida. Internet es una oportunidad enorme.
3. Tengo esperanzas en el plan Bologna en estos aspectos. Creará problemas pero también es una oportunidad, hay cosas que están un poco mal, pero otras de fondo que están muy bien.
4. Cursos, másters, asociaciones civiles y de estudiantes.
5. Motivar a los alumnos cambiando el mensaje. La informática no es para forrarte, Bill Gates hay pocos, pero es muy divertida y apasionante.
6. Ética y servicio social. La sociedad te financia los estudios de ingeniería porque te necesita y eres importante, lo tuyo es un servicio público. De la universidad actual saldrán los programdores, inventores, científicos y genios. No se puede dar la atención persolizada a cada perfil y persona, pero es difícil que puedas aproximarte tanto estando fuera. No malgastes el dinero que invertimos en tí, si no te agrada debes pensarlo rápido, no lo hagas “porque no sé qué otra cosa podría hacer”. O cosas así…
Comentario por gallir — Abril 8, 2008 @ 7:45 pm
Yo leí en su momento tu post de “Relaciones” y me pareció una anécdota muy interesante y todo muy correcto. Yo no soy informático (tampoco trabajo en el campo de la informática) y sí me pareció que mucha gente hacía una i