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);
🙂
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
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?
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.
Para no poner imagenes podes usar http://code.google.com/p/google-code-prettify/ que está más bueno que comer asado en cueros.
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…
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.
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.
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
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.
#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.
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
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.
> #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.
#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?
¿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.
#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.
@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!
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.
> 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.
@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.
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
#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.
#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.
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
#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.
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.
1. soumidecode
2. adhominém
3. deontología
4. elrobocop
> 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.
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.
COMUNICADO OFICIAL DEL COLEGIO OFICIAL DE HINJENIEROS DE PRIMERA
> 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 …
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.
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.
> 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?
#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.
@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!
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.
#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.
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!
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)
#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!
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.
#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.
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.
#44, en todo eso sí estamos completamente de acuerdo los dos.
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…
#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
Dios, que forma de tergiversar xD
#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).
@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.
#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.
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.
#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.
#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.
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
#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).
#55 (Disruption, creo)
Lo que tú dices es, precisamente, lo que yo planteo.
Un saludo.
#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
#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);
Pingback: De físico e informáticos. « más manuti
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–
Me ha encantado esta frase, yo estoy a punto de ser ingeniero en informática por la US (a falta de 6 créditos 🙂 ) 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.
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.
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.
#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.
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
#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.
#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.
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.
#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.
#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.
#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í…
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 interpretación de «intromisión profesional» que personalmente no me pareció que existiera.
Este señor sencillamente profundiza en esa suposición de esa «percibida intromisión».
El presente y futuro es claramente interdisciplinar, creo que sólo gente con mirada corta son las que pretender compartimentar la ciencia y la tecnología.
Saludos.
Hola Ricardo:
Suelo leer tu blog con cierta frecuencia y te tengo en buena estima como ingeniero y docente. Partiendo de esa premisa de peloteo, debo decir que tu post (aunque técnicamente interesante) me parece un ejercicio gratuito de refinado ensañamiento (creo que «bajeza moral» es decir demasiado). Puede que el «colega» en cuestión se lo merezca y que lo que él dice de ti sean acusaciones más insultantes y menos razonables. Pero ¿crees que eso justifica rebajarte a su nivel? ¿No ves que sus propias palabras son suficientes para que todos veamos de qué pié cojea? Que puedas humillar a alguien no significa que debas hacerlo. Me gusta mucho más tu faceta constructiva, no caigas a estas alturas en la trampa de responder a trolls y buscavidas.
Un saludo, y gracias por tu blog.
Estoy acabando la carrera (Ing. Técnica de Sistemas) y aún conozco gente en mis asignaturas incapaz de instalar algo que no sea un Windows, juegos o el photoshop bajado de la mula. A la vez, conozco grandes profesionales de la programación o la gestión de proyectos, sin título oficial, o bien siendo telecos (cum laude)
Es decir, que ningún papel garantiza a nadie un conocimiento. Show me the code, show me your CV, show me your previous bosses, y ya hablaremos de si puedes o no gestionar algo que no sea el crackeo de un juego para XP.
#71 Sinceramente, nunca esperé menos de tí que una discusión al nivel que, humildemente, te presumo.
Ahora, tendida la mano, creo que si es momento de plantear un debate constructivo. Evidentemente, no coincidimos en algunas de las soluciones, aunque si lo hacemos en gran parte del diagnóstico.
> Se justifique plenamente el interés social de los mismos
> (creo que en la Medicina es donde más justificado está).
No quiero abrir la puerta a otro debate tan intenso como el que pueda tener lugar, pero sí que dejo una mención a que no debemos medir el interés general en base exclusiva a la salud o integridad de las personas, ya que la macroeconomía, por ejemplo, no les afecta directamente, y sin embargo justifica la existencia de una figura llama auditores de cuentas.
Respecto al diagnóstico:
> 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.
Admito que no tiene una trayectoria evolutiva tan grande como el resto de ingenierías, pero no debemos obviar que el ritmo de evolución de la informática es de varios factores por encima del resto.
Además de eso, debemos hablar de los procesos de ingeniería asociados a la informática (esto es, diseño fundamentalmente), donde diría que, más que inmaduros, están totalmente apartados de la utilización actual.
> 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.
En eso estamos plenamente de acuerdo: Una sociedad moderna debe apostar por procesos e infraestructura locales. Cercanía al cliente, profesionalidad excelente, responsabilidad y atención rigurosa, más que grandes siglas detrás de juniors encorbatados.
> 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.
No sólo las carreras de informática, sino la universidad en general. Es el llamado efecto baby-boom del que hemos tenido coletazos hasta hace pocos años. Y por lo tanto la máxima de «a río revuelto, ganancia de pescadores».
Realmente debemos presuponer que un titulado universitario, sea cual sea el apellido del título, es un profesional de alta cualificación per se, y la realidad nos dice que los mercanos no requieren de estos profesionales en el número en que la Universidad los había venido ‘escupiendo’.
> 4. No tenemos una estructura universitaria-empresarial aceitada para la formación continua que
> necesitamos.
Y lo peor de todo, no se hablan entre ellas.
> 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.
Es uno de los efectos propios del punto 3: un estudiante universitario que ha invertido varios años de su vida en una formación rigurosa (y vuelvo a hacer hincapié, sea cual sea el apellido del título), no ve reflejado en el mercado ese esfuerzo (ver: http://www.elpais.com/articulo/educacion/Licenciados/vez/baratos/elpepusocedu/20080211elpepiedu_1/Tes), y eso genera desánimo, frustración y ausencia de motivación.
Tampoco me atrevería a culpar directamente al profesorado: Hacéis lo que podéis con los medios que tenéis.
> 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.
Idiosincrasia española desde «El Buscón» de Quevedo. Aplicado al terreno empresarial, una olla a presión.
Pero aún hay más puntos:
7. Ausencia de responsabilidad profesional: Todo es un fallo informático, cuando hay fallos de la informática y fallos de las personas que la utilizan.
Y no estoy hablando de bugs, del que no me atrevería a decir jamás que un sistema está exento. Estoy hablando de sistemas que no hacen lo que deben, que es lo peor que puede ocurrir, de desvíos presupuestarios o de planificación … vamos, la crisis del software de hace 40 años en pleno siglo XXI.
Respecto a tus soluciones:
> 1. Paciencia e investigación.
Y fomento del uso de técnicas de ingeniería. Las conocemos, nos las enseñáis, apliquémoslas y obliguemos a los profesionales a que las apliquen. No estoy hablando de un documento de diseño de 400 páginas para la gestión de un videoclub, sino de ingeniería de procesos, de sistemas, de requisitos en proyectos que cuestan dinero u operan con información sensible de las personas.
> 2. Crear industria local que pueda cubrir toda la pirámide del software.
> El software libre es una salida. Internet es una oportunidad enorme.
Apostar por el profesional independiente, por los estudios de ingeniería aplicados al software o a los sistemas, por una infraestructura de servicios locales con atención autóctona.
> 3. Tengo fe 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.
El Plan Bolonia en sí mismo es bueno, otra cosa es la aplicación del mismo según la ha planteado el MEC: Ha sido una cesión a las Universidades en toda regla.
La cuestión es hacer «clientes» y mantener el tejido universitario actual, que ha costado mucho.
> 4. Cursos, másters, asociaciones civiles y de estudiantes.
Y colegios profesionales. A eso también nos dedicamos.
> 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.
Enseñarles cual es su función y su papel, y decirles (que no es un desprecio, ojo) que la ingeniería es «algo más» que programar.
> 6. Ética y servicio social. …
6. y 7. … Y control deontológico … a través de un colegio 😉
Un saludo.
#74
¿Donde estas estudiando? Porque donde yo estudio hay muchas asignaturas que usan distribuciones de Linux(Las de sistemas operativos, por ejemplo…), y aprendes a moverte por un entorno diferente, a compilar a pelo en consola, a hacerte tus makefiles, etc etc etc….
Venga, relajaros un poco, Gallir empezo así con Varsavsky y mira como han acabado, socios y amiguetes 🙂
He oído por aquí que la informática cambia mucho, ¿de verdad cambia mucho?, fuera de la informática como técnica y de las herramientas y servicios.
Con esto quiero decir, la informática como ciencia, ¿a avanzado mucho?, lo que son las bases de la informática. Luego las tecnologías, claro que cambian…
#79
La verdad es que si, cambia, constantemente.
Piensa que el cuerpo humano es el mismo desde hace unos años(jeje) y aun asi la medicina cambia constantemente.
En la informatica cambian tanto los ordenadores(el «cuerpo») como las tecnicas de programacion, etc(las tecnicas), y cambian a una velocidad bastante alta.
Nuevas arquitecturas, nuevos sistemas, etc…
Un saludo!!
#15
Si no recuerdo mal, en el libro del perrito (The Practice of Programming, Kernighan) recomendaba usar enums en lugar de defines (en el libro de C también dice que tiene algunas ventajas, al final de la página 39). A priori me sorprendió, porque estoy más acostumbrado a ver código con defines, y creo que es lo que se ha «impuesto» como buen coding-style.
El problema reside en que hay gente que ha estudiado la carrera y no sabe lo que es la carrera ni lo que ha obtenido al cursar la carrera, eso es un problema, porque no se puede saber tampoco cómo es que han logrado sacar la carrera sin saber ni lo que estaban haciendo. Pero lo peor no es eso, lo peor es si eres profesor e impartes la carrera y no sabes lo que es la carrera o lo que estás impartiendo o en qué consiste. Simplemente sabes contar hojas pero no eres capaz de ver el bosque, hay que ver el bosque, no por contar hojas muy rápido… pero bueno, yo no voy a aclarar el tema, el que no sepa lo que es la informática, que siga leyendo libros, yo mientras tanto sigo mandando curriculums 😉 a ver si me contratan como contador de hojas o sexador de pollos.
#82 y en general:
Estamos atribuyendo problemas a la carrera de informatica que existen en todas las carreras, se han comentado cosas como… ¿COPIAR?, sinceramente, ¿Solo se copia en informatica? Y lo de copiar no es tan facil, hay profesores con los que es mas asequible, y profesores con los que es menos asequible, yo personalmente no lo hago, alla cada cual.
¿Que hay gente que sale y no tiene muchos conocimientos, ni luego es un buen profesional? Claro, sera que no salen malos medicos, ni malos abogados, ni malos XXX, donde XXX es cualquier carrera que se te ocurra.
Por supuesto que hay informaticos ceporros, por supuesto que hay informaticos que pueden haber copiado. Pero extrapolarlo y decir que es algo general y comentarlo casi como si fuera exclusivo…
Mi medico de cabecera es lamentable, no sabe diagnosticar, ignora a sus pacientes, etc. ¿Puedo gracias a eso decir que en la carrera de medicina no se aprende nada?
Un saludo.
#55 Difiero completamente. No tiene por que.
Estoy cursando segundo de carrera (informática de sistemas) y he hecho un curso de Tecnología de Programación (programación orientada a objetos, recursividad, verificación formal y poco más) en el que también había matriculados muchos matemáticos (si no me equivoco la tienen como obligatoria). Basta que te diga que han aprovado un 42% de los matemáticos y tan sólo un 16% de los matriculados en sistemas (óbviamente no podemos deducir de esto que los matemáticos sean mejor programadores, ni mucho menos; pero creo que tener una ingenieria no justifica que seas un buen programador).
Por ejemplo, para los matemáticos el calculo lambda es algo fácil de entender. Los métodos numéricos y las variables són su pan de cada dia. Reconozcamos que no por tener un título vamos a ser mejores en todo a otras personas. No es garantía de nada.
Todos conocemos gente que esta a punto de terminar y no sabe hacer la O con un canuto. Conozco a gente que esta en la superior y no ha abierto nunca un libro de Knuth. Yo mismo, acabaré el año que viene la técnica y no tendré ni idea que es un lenguaje funcional (por poner un ejemplo, estoy obsesionado con que Lenguajes de Programación -una asignatura dónde se ve Lisp y programación funcional en general, entre otras cosas- no sea obligatoria para Sistemas :P).
Intentemos mejorar los planes de estudio de nuestras facultades, creemos a computer scientists con todas las de la ley, y dejemos de buscar ventajas legales.
Uf! He llegado bastante tarde 🙂
Al margen de los enfrentamientos personales en los que no me meto yo estoy de acuerdo con Ricardo y no sé porqué armar tanto revuelo. Es un problema, por hablar de la docencia, de competencias. Tener un título no te da competencias, debería ser así pero no lo es.
Mis (ex) alumnos de ciclos se preguntan sobre si merece la pena ir a la universidad para ser más competente y mi opinión (http://www.cesareox.com/docencia/varios/que_hacer_despues/acceso_universidad) es que quizá no, sobre todo por razones pedagógicas (aprender más en menos tiempo). Pero muchos insisten por las ganas de aprender y ser más competentes, por una parte me alegra y por la otra me entristece porque la universidad recibe muy buen talento que no sé yo si aprovecha. Evidentemente merece la pena por un 10% de profesores muy buenos y uno de ellos yo creo (que no lo conozco de nada) es Ricardo y ya ha escrito bastante sobre el tema (tampoco después es tan crítico) y sobre todo lo pone en práctica con sus clases.
Ver el código y los trabajos hechos directamente es la mejor manera de evaluar competencias. De eso se trata. Es fácil en Internet, con el código publicado, las opiniones, etc.
Yo cada vez pienso y veo más gente competente que no tiene el título, pero claro, hay gente con título (universitario digo) que, con experiencia, dedicación e interés es un fuera de serie. Pero, en mi experiencia me he encontrado con más (muchos más) titulados (adjuntando traje y corbata e incluso con PHds como decían antes) que son muy incompetentes.
En mi opinión es un debate interesante pero difícil de argumentar. Ser informático, tener un título y/o pertenecer a un colegio que defina ciertas cosas no garantiza nada (y tiene un coste importante). Y por lo que he leido de Ricardo (publica bastante 🙂 ) no veo que esté tan en contra del colegio sino en que eso garantice que la profesión (conjunto de individuos/as con ciertas competencias) mejore.
Bueno, he vuelto aqui al dia y hay que ver lo que ha crecido el «dialogo»… Bueno, el dialogo o la cantidad de texto en la pagina, segun se mire 🙂
No me lo he leido todo ni de coña, pero sí he captado un par de comentarios que han compilado/comparado el p++; p++ y el p+=2; y me han echado por tierra mi hermosa teoria. Osea que lo repetiré un pelin mas alto por si alguien todavia sigue leyendo esto:
EN ENSAMBLADOR, hacer dos “inc” a un registro suele ser más rápido que sumarle 2.
(y sigo creyendo que lo es… EN ENSAMBLADOR… que es lo que dije)
Y luego, a los amantes del compilador, dije:
DEPENDE COMO SE COMPILE… bla bla bla…
Osea que si el compilador va y hace dos sumas +1 en lugar de dos «inc» yo que culpa tengo… 🙂
Osea que puertas, ale, tengo razon, siempre la tengo, soy de otro planeta, a mi los hunos.
Ricardo, sobre el telescopio… las estrellas nunca trollean. Como mucho, se esconden tras las nubes 🙂
Hola Ricardo
Lo que me parecio interesante de este post, es que se habla de estilo de codigo y sobre buen manejo de C. A mi me parecen muy interesantes esos temas asi que me puse a leer el codigo de cpudyn y tengo unas dudas con tu codigo(aunque no se que parte es tuya y que parte de cpufreq.cc).
Las mismas cadenas se repiten ej «/proc/acpi/processor/CPU0/throttling» no seria mejor declarar constanstes o macros? Creo que asi es mas mantenible el codigo.
En el manejo de cadenas es mejor if (str==NULL) o if(!str) ? en la funcion main de cpudyn.c veo else if (!strcmp(argv[i], «-acpi»)) no hay otra forma de hacer lo mismo sin tanto else if?
Hay veces que en el manejo de punteros se ve algo como esto (ptr != NULL) y otras (!ptr).
Lo que dice RBA es cierto solo si la variable/argumento es algun registro del CPU, por lo que aprendi el trabajo con un registro del CPU es mas rapido que sobre memoria. Asi que depende de como el compilador trate las variables/argumentos, creo que con fast call se logra eso.
Si no mal recuerdo el C99 permite definir y asignar variables locales en un for.
Bueno a mi me intersa bastante este tema asi que si puedes escribe mas sobre el o algunos links.
Saludos.
Cesáreo
Yo estudie un modulo (administracion de sistemas informaticos) y quede muy contento, considero que sali muy bien fomardo.
Despues hice sistemas, y sinceramante, sali muchisimo mas preparado que con el modulo… luego en el mundo laboral me he encontrado gente con los dos tipos de estudios y se nota muchisimo quien ha ido la carrera.
Creo que deberias animar a toda la gente que tiene dudas con la carrera a hacerla (estoy de acuerdo con que hay que dignificar los modulos, pero no a costa de la carrera… como hacia un profesor nuestro, que para animarnos nos decia que teniamos los mismo conocimientos, o mas, que la gente de la carrera, pero luego en privado nos reconocia que la estudiaramos)
Ante todo decir que soy estudiante en la ETSI Informática de Málaga, donde da clase David Santo Orcero, y que he tenido la suerte de tenerlo como profesor.
Decir que me parece lamentable que Ricardo Galli, un Doctor Ingeniero en Informática se dedique a criticar códigos publicados gratuitamente para desacreditar a una persona. Eso se hace en una revisión de examen si realmente el alumno lo hizo mal, y con todo el respeto. Jamás me hubiera esperado esto de un profesor con tanta experiencia como se supone que tiene.
Y como dice #55 (Disruption), en la carrera nos enseñan de todo, incluso a programar en ensamblador del 8086. No puedo consentir que ese señor «eche mierda» sobre nuestra carrera. Sinceramente, no sé como el Dr. Galli se dedica a la docencia en la Ingeniería en Informática, si él mismo la critica.
#89
Cryder, relee mi apunte y luego me comentas quién fue el que me desacreditó (y a otros profesionales) basados en nada… si un puñetero enlace que siquiera confirme sus acusaciones, o con acusaciones basadas en «supongos».
Si presumes de ser «buen ingeniero» y criticas a los demás, también debes admitir la crítica a tus prácticas (lo de la revisión de examen es uina auténtica falacia). Y si publicas código, debes admitir las críticas objetivas a ese código.
Y si además la crítica viene de uno con «mucha experiencia» como afirmas, supongo que habría que respetarla aún más 🙄
Lo dicho, hace falta más ética y lógica filosófica en la carrera 😉
https://gallir.wordpress.com/2008/03/14/relaciones/
La respuesta:
http://www.orcero.org/irbis/blog/yo-si-estoy-a-favor-del-colegio/
Sigo desde hace mucho tiempo la polémica en torno a la regulación de la profesión de Ingeniería Informática, y jamás he participado porque creo que las discusiones hay que tenerlas en los órganos donde se toman decisiones. Lo demás es perder el tiempo. Sin embargo, este post me ha hecho reaccionar por cuatro motivos que paso a exponer (de menor a mayor gravedad), aunque realmente el último es el que me ha movido a escribir:
1.- El Sr. Galli desvía burdamente el tema de discusión. Simplemente no tiene más argumentos para justificar lo injustificable: que todas (o casi) las ingenierías tienen sus atribuciones y la Ing. Informática no, eso a pesar de que cada vez el software controla más aspectos de la sociedad. No voy a poner ejemplos de vidas humanas que están en manos de sistemas SW porque no acabaría. No nos equivoquemos, si no tenemos atribuciones es porque el informático lo es, generalmente, por vocación. Es un apasionado de su trabajo y sólo disfruta con la cara pegada a la pantalla. Nos hemos olvidado de hacer política mientras el resto de ingenierías sí la han hecho. Por eso estamos como estamos. Todas las demás comparativas entre ingenierías sobran.
2.- Tratar de evaluar una profesión a través del código de uno de sus miembros me provocaría la misma hilaridad que el chiste de los números primos (http://www.elainemarley.com/2006/04/08/los-numeros-primos/), si no fuera por lo odiosa que resulta la comparativa. Este chiste pide demostrar que todos los números impares son primos. La primera respuesta es de un matemático y dice: «3 es primo, 5 es primo, 7 es primo, y por inducción, todos los números impares son primos». Igualmente, el Sr. Galli, por inducción, ha determinado (sin conocer el contexto ni las circunstancias como ha quedado patente) que como el código de David es «cuestionable», todos los Ing. en Informática hacen código «cuestionable». Este señor tiene el mismo conocimiento de la demostración por inducción que el matemático del chiste. Por cierto, yo aprendí este concepto (y muchos otros) en mis estudios de Ing. Informática, una carrera que por aquel entonces tenía 300 créditos de carga lectiva (3000 horas de clase, más estudio y prácticas). Para no aprender absolutamente nada en 3000 horas de clase es necesario pasárselas mirando al techo, con la boca abierta, y babeando sobre el pupitre. Quizás esta es la imagen que el Sr. Galli ofreciera como alumno en la Universidad Católica de Santiago del Estero donde estudió. Claro, que esto no cuadra con lo que dice de sí mismo en una entrevista (http://spanish.jabatonet.com/tecnologia/entrevista-a-ricardo-galli.html):
«Salvo en temas de “profesión”, “ciencia informática”, software y cultura libre/propiedad intelectual (me suelen poner de los nervios las opiniones interesadas o ignorantes) no suelo ni discutir, más bien absorber como esponja lo que me cuentan.»
Así que aquí hay un problema: o bien sus profesores en la universidad se dedicaban a leer el periódico toda la clase (no me lo creo), o bien el Sr. Galli adoptaba la postura anteriormente citada (tampoco me lo creo, más que nada porque en 3000 horas de clase siempre hay algo que te llama la atención, y si no yo eso me lo haría mirar), o resulta que sí que aprendió, otra cosa es que no le interese reconocerlo.
3.- Muy ligado al punto anterior, el Sr. Galli podría haber analizado el código no de uno, sino de 1000 Ing. en Informática, haber llegado a la conclusión de que todos eran impresentables (siempre sin conocer el contexto ni las circunstancias de esos códigos), y seguiría son poder sacar ninguna conclusión sobre la profesión de Ing. Informática. El Sr. Galli ha demostrado no tener la menor idea de lo que significa ser Ing. en Informática. Al igual que un arquitecto no pone ladrillos, pues para eso está el albañil; un Ing. Industrial nunca lo verás apretando tuercas, que para eso están los mecánicos; y un médico sólo prescribe los medicamentos, que para administrarlos ya están las enfermeras; un Ing. en Informática, ejerciendo como tal, no es quien debe programar, y por tanto no se le puede juzgar por la calidad de su código. En Ing. Informática se estudia programación porque todo ingeniero debe saber en qué se van a traducir sus diseños, qué se puede hacer y qué no. Pero pensar por esto que tiene que ser el ingeniero quien lo haga es confundir el sexo con la gasolina. Otra cosa muy distinta es que la falta de regulación del sector, las pocas armas con las que cuentan las pocas instituciones que defienden la profesión, nuestra propia falta de unidad, y la necesidad creciente y constante de programadores, hagan que se contrate a ingenieros para ejercer como programadores, pues el mercado nunca miente, y a la vista está que lo hacen bastante bien, en caso contrario no se les contrataría.
4.- Y por último, lo más grave y lo que me ha movido a escribir, es constatar algo que ya se ha dicho aquí pero de lo que no se han analizado convenientemente las consecuencias. El Sr. Galli, miembro de la Free Software Foundation y que fue presidente del grupo de usuarios de software libre BULMA, se ha permitido, en un ejercicio de egoismo supino, pervertir totalmente la filosofía del SW libre en su propio beneficio (aunque por lo dicho en los puntos 2 y 3 no ha obtenido beneficio alguno). Los activistas del SW libre generosamente donan a la comunidad sus desarrollos siempre con fines altruistas (por si puede ayudar a alguien), para contribuir al progreso científico-tecnológico, o para poner a disposición de los demás su obra. Y en un ejercicio tremendo de prostitución de estos ideales, los cuales dice defender, el Sr. Galli toma el código de uno de estas personas que actúan de buena fe para atacarle personalmente. Dejando aparte que lo menos que se merece esta actitud es la calificación de «puñalada trapera», su actuación es de una gravedad inusitada, pues pone en riesgo la naturaleza misma del SW libre. Si los activistas del SW libre toman conciencia de que sus códigos, en lugar de servir para ayudar, van a servir para que gente sin escrúpulos se dediquen a juzgar su valía profesional, podríamos ver un descenso sensible en el número de aportaciones. Y no vale el argumento de que «es que hay que hacerlo bien», pues para saber si un código está bien o no lo está no bastan interpretaciones interesadas, malintencionadas, sesgadas y tergiversadas de trozos de código de un sistema. Hay que analizar el sistema entero. Y después, comunicar al autor, en privado y con respeto, las debilidades encontradas en su sistema siempre con una finalidad constructiva. Que haya que decirle esto a quien es cabeza visible del SW libre en España clama al cielo. El Sr. Galli, con su actitud, ha realizado una «cagada monumental», como persona, y mucho más gravemente como activista de primer nivel del SW libre. Su impresionante currículum no le otorga inmunidad para sus actos, y mucho menos si éstos ponen en riesgo el movimiento del SW libre que tanto ha costado conseguir. Independientemente de su trayectoria profesional, su actitud le convierte en una verguenza para el movimiento.
Y dicho todo esto, vuelvo a mi letargo del que no pienso salir a menos que alguien vuelva a hacer algo de tal calibre.
Saludos.
Hola Ricardo.
Es la primera vez que escribo en tu blog.
Me gustaría preguntarte.
¿Que le ganas atacando a las carreras de informática en general?
¿Que ganas atacando la profesionalidad de los ingenieros informáticos?
Eres totalmente libre de criticar la universidad donde hayas estudiado y si de verdad fue tan mala, pues me parece excelente que denuncies ese hecho, quizás así la situación mejore.
Me parece muy bien de tu parte el criticar tu universidad, a pesar de que eso pueda afectar a tu CV. La honestidad ante todo.
Pero no solo hay que ser honestos, sino también objetivos y sobretodo ser conscientes de las consecuencias de las palabras que se escriben.
Así que te pediría a que seas más específico y critiques tu universidad y que la polémica se desarrolle solo entre los estudiantes de tu universidad y tu.
Pero por favor no trasmitas tu frustración a todo el mundo universitario y en concreto a la ingeniería informática.
No todas las universidades son iguales, no todos los ingenieros son iguales.
Generalizar de esa manera demuestra un comportamiento en absoluto objetivo de tu parte y estás literalmente maltratando a una profesión digna de ser reconocida como tal y si un colegio de ingenieros ayuda a ello pues mejor.
¿Crees que de verdad todas las universidades son tan nefastas como la tuya?
¿Crees que todas las grandes aportaciones al mundo de la informática y al conocimiento científico de la computación han provenido de parte de personas sin carreras universitarias?
Físicos, químicos, biólogos, informáticos, todos pueden aportar al conocimiento científico ya sea que este ataña al mundo de la computación o no.
Si aprendiste más informática en el laboratorio de física de tu universidad, pues será porque el personal docente, el plan de estudios y su estructura es mejor que el calvario de oscuridad e ignorancia por el que parece que has tenido que pasar cursando tus estudios de ingeniería informática.
Un saludo.
#90 Galli, explícanos lo que es la informática y lo que es la ingeniería informática. Me gustaría saber si sabes algo más allá de un bucle en C.
Para el del inc, inc, debo decirte que aunque yo eso lo sé como autodidacta, también se dá en la carrera, mira los ciclos de reloj del «inc» y mira los ciclos de reloj del «add», (eso sirve para una máquina con arquitectura semejante al 8080/8086), pero ahora con las arquitecturas con varios pipelines, dos intrucciones llevan como mínimo dos ciclos de reloj y una instrucción lleva como mínimo un ciclo de reloj, en el mejor de los casos y dependiendo de la arquitectura, habría que mirarlo detenidamente, habría que mirar la arquitectura de la máquina para la que estás compilando y habría que mirar el compilador y las opciones de compilación que tienes habilitadas, el código que genera y tener cuidado con las opciones de optimización que aplique al código. Luego según la arquitectura de la máquina también puede aplicar opciones de opitimización en la ejecución de las instrucciones, se puede mirar de forma experimental, obligando a que la máquina no pueda optimizar nada y midiendo los ciclos de reloj utilizados, también se puede mirar de forma teórica mirando la arquitectura concreta, ciclos de reloj de las instrucciones, código generado por el compilador y calcular los ciclos de reloj concretos que se consumirán de una y de otra forma.
#93 Pietro, has estudiado Fotografia? Lo digo porque como en tu web pones que eres «Fotograto, Informático y explorador. » y luego pones «También la fotografía es mi pasión y Linux ha sido mi sistema operativo desde 1996.»… Espero que tengas la carrera porque sino no tienes de idea de hacer fotografias y es mas: eres un intruso que se cree Fotografo solo por haber hecho un cursillo CCC.
Bueno, si tienes la carrera perdona y te insto a que te apuntes a nuestro colegio de fotografos donde defenderemos por ley lo que no podemos defender por mercado.
…
;p
#92 Cuanto texto por nada. Me empieza a preocupar el gran problema de comprension lectora de este pais. Suerte que Ricardo habla en Castellano que si no… :-p
Que cosas..!
Parece que nadie sabe lo que es la informática, ni la ingeniería informática.
Hombre, puedes poner apuntes de lo grandes que son los de Google y apuntarte al carro, pero eso no son más que técnicas sociales. Tú con lo que han hecho otros…, parece como que lo hubieras hecho tú.
A mi lo que me gustaría saber es lo que es la informática y lo que es la ingeniería informática, porque si no sabemos eso mal vamos. Y entonces empezamos a decir que cualquiera puede dedicarse a ello y que no hacen falta títulos y demás historias.
Yo no discuto que los matemáticos tienen una base en su formación para dedicarse a la informática, pero les falta toda la formación específica. ¿Quizás la informática sea una rama de la matemática?, no sé, alguien lo sabrá por aquí, quizás debamos consultar al oráculo.
«(lo de la revisión de examen es uina auténtica falacia)»
Ah, que eso es una falacia. xD Pues es lo que he visto muchas veces en revisiones de exámenes, eso sí, con respeto y en privado. Y con gente que está aprendiendo, no con gente que hace proyectos de software libre de manera altruista. Y por si fuera poco, sacando las cosas de contexto, sin leer documentación ni informarse un poco del objetivo del código. Precisamente lo que nos enseñan que no debemos hacer. Y eso sí nos lo enseñan en la carrera.
Respecto a lo que ha dicho Eddie (#92), sobre todo el punto 4, habría que aplicar el famoso refrán, «se puede decir más alto, pero no más claro».
Por cierto, en el mensaje #91, David ha puesto el enlace que pedías.
Saludos.
Para los que dicen que no se puede hacer eso con el código de quíen, altruistamente, colabora con proyectos de software libre les hago una pregunta: Si un arquitecto se va de voluntario al África y en sus tareas de voluntario construye una casa en la que las paredes están completamente fuera de plomo o las puertas y ventanas fuera de escuadra ¿no se le puede criticar porque «ya que es tan bueno que construyó una casa gratuitamente como lo vamos a criticar»?
Por otro lado, hasta donde yo alcanzo a comprender, Galli está contra la formación de entidades elitistas basadas en una titulación que no siempre es garantía de conocimiento, que limiten el acceso a la informática a las personas que no posean esa titulación. No lo he visto tirar tierra encima a la profesión ni a la carrera ni a los ingenieros informáticos que tienen la humildad de reconocer que en ninguna carrera se sale de la misma dominando todas las áreas (en realidad ni siquiera dominando una sola área).
Pero como la comprensión lectora es una de las áreas en que la educación en este país cojea mas, puede que yo haya entendido mal a Galli.
Buenas tardes.
Por favor, no comparemos software con casas. Las casas son un producto de primera necesidad, y que si están mal hechas pueden derrumbarse y provocar víctimas. Si un software está bien o mal hecho no es algo que vaya a provocar víctimas (no debería, excepto en casos extremos).
Aún así, si vas a África, no creo que te cachondearas en la cara del arquitecto (y en público) por la casa que ha hecho. Eso es lo que se ha producido aquí.
Hombre Cryder, el tema es que uno de los pilares para pedir atribuciones es precisamente ese, que para ciertas tareas de la informática dependen vidas, temas económicos, etc.
Otra cosa es si el código de David realmente es una aplicación que si está mal hecha puede suponer un peligro, que no lo sé. Si así lo fuera, quedaría ver si realmente el código está mal y supone ese peligro. A lo que ya te digo que no, no supone peligro, pero puede que haya gente a la que le parezca «feo». En este caso sería como criticar a un arquitecto porque ha hecho una casa muy fea en África de forma altruista, siguiendo el simil de lcsm. Y no sé, a mi no me parece adecuado criticar a un arquitecto por eso. ¿A tí que te parece lcsm? 😛
Alguien ha visto a David el Gnomo? Yo de momento he visto los trolls! XD
Tranquilo #98 lcsm, yo creo que tu comprension lectora si que va bien…
Por cierto, soy Ingeniero Informatico.. y ahora que trabajo fuera de España es la primera vez que me han pedido el titulo.
No pensais que puede que la culpa del desprestigio es que no hay industria en España que requiera una calificacion como la nuestra?
Cuando yo estaba en la carrera si que me sentia «amenazado» con los intrusos pero cuando empiezas a conocer el mercado se te pasan enseguida estas tonterias. Si eres bueno, te cogen a ti.
Si has estudiado 5 años, a priori puede ser que estes preparado para continuar empapandote de mas conocimiento pero te aseguro que el titulo no es garantia de dominar todo lo que has dado. És una buena base, pero no lo es todo. Y esto sirve para cualquier carrera.
#101 Yo soy cojonudo en ICT, cosa que, que yo sepa, tiene poco de peligroso para la vida. Pero si me pillan haciendo se me cae el pelito (Ricardo, éstas es de las que te ponen nervioso).
¿Taxis? Si yo cobro por traer a gente del aeropuerto con mi coche me arrancan las pelotas y me las meten en el orto. Yo, reputado hombre de experiencia contrastada y memorables victorias en copas monomarca. Yo, que daría mejor servicio (un cafecito o refresco gratis para mi cliente) y, además a menos precio. ¿Por qué hacen estoooo? ¿Por quéeee?
¿Por qué hacen esto estos cabrones? ¿Por qué quieren limitar mis oportunidades laborales? ¿Por qué…?
#102 XD Que demagogo! XD Es tant ridiculo que hasta me hace gracia.
Bueno, voy a intentar lo mismo.
Yo que soy cojonudo haciendo paginas web pero no soy diseñador grafico sino Informatico.. por qué no puedo hacer paginas web , por quéeee!!!
…..
oh wait! 😉
Por cierto, como soy muy bueno traendo gente del aeropuerto puedo ser perfectamente Taxista, aunque sea Ingeniero informatico… solo necesito una licencia, no unos estudios, en el caso que el cotxe sea mio.
Y por cierto… finalmente que es lo que quereis regular? «Intrusismo» o calidad de resultados?
#103
Yo hago una cirugia cerebral de puta madre, por desgracia me piden estar colegiado, aprobar el mir, y sacarme la carrera de medicina. Maldito ataque contra el libre mercado!!!
Extrapolemos:
-Oh, hay que hacer el SW de control de un (avion, maquinas de servicios vitales, controles de medios de transporte en puntos criticos, escojase el que quiera), vamos a coger a alguien cualquiera para hacerlo, que firme quien sea el proyecto. Al fin y al cabo, todos tienen los conocimientos basicos de jelou güorld y curruncurrencia de esa para que no falle nada. Si luego el proyecto falla, ya le echaremos la culpa a los informaticos ya, aunque no sea un informatico el que firme el proyecto. (Casos reales, vease RENFE, con el bridge y demas del AVE)
Es absurdo. Cuantas ingenierias hay sin colegio? Cuantas carreras en general hay sin colegio y sin competencias?No hay muchas…
Hay colegio de medicos, abogados, telecos, etc etc. Todos tienen colegio y atribuciones, ¿qué tiene de malo, o de aberrante que informatica las tenga?
Las atribuciones estan para asegurar que determinadas tareas las hagan determinados profesionales, igual que no te operara el cerebro un panadero, ni te defendera en el tribunal la carnicera de tu barrio.
Y el Colegio esta para controlar un poco el tema. Igual que hay proyectos que debe firmarlos un arquitecto, o un ingeniero en telecomunicaciones, deberia haber proyectos que tuviera que firmar un informatico.
La mayoria de los trabajadores, o estan colegiados, o estan sindicados, o ambas cosas, y no veo nada de horrible en ello….
Un saludo.
#105 Si el proyecto tiene un bug y tu lo has firmado, iras a la carcel?
Coge un proyecto cualquiera, sobretodo si tiene cierto tamaño. Puedes asegurar que no tendra ningun error critico? Es mas, puedes asegurarlo en un tiempo aceptable para que sea mas rentable que «arreglar» el error a posteriori? (evidentemente hay proyectos vitales… pero no todos los errores lo son). Has dirigido alguna vez algun proyecto real?
#106
Hay muchos proyectos que no son vitales y aun asi tienen que ir firmados por profesionales titulados. No es tan raro. Seguro que entre la gente que esta criticando al colegio y las competencias hay gente colegiada que defiende sus competencias con uñas y dientes.
Asumamos una realidad. Si nos dan las competencias minimas que deberiamos tener, habra gente que tendra que, o sacarse un titulo distinto al que tienen(Si tienen alguno ya), o cambiar de trabajo.
Es algo que ahora mismo NO CONVIENE, porque las competencias hay que sacarlas de algun lado, y como es natural, todo el mundo defiende las suyas.
Un saludo
#103 ¿Y por qué coño tengo que sacarme la licencia? La licencia no garantiza un mejor dominio del volante, ¿qué aporta la licencia? Eso mismo repetís continuamente cambiando licencia por Ingeniería y volante por Informática.
La licencia también es para proteger a la sociedad, no te jode…
Y si me salís con el rollo de la ética: ética para todos, no sólo para los tontos.
#107 Repito lo mismo porque no mes has respondido:
1- Si el proyecto tiene un bug y tu lo has firmado, iras a la carcel?
2- Coge un proyecto cualquiera, sobretodo si tiene cierto tamaño. Puedes asegurar que no tendra ningun error critico?
3- Es mas, puedes asegurarlo en un tiempo aceptable para que sea mas rentable que “arreglar” el error a posteriori?
#106 La analogía con ICT parece que no te interesa. ¿Irá el Teleco a la cárcel si no se le ve la Salsa Rosa a la maruja del 4ºD?
#110 Francamente desconozco la situacion de ICT. Mi pregunta tiene que ver con la informatica y como al menos yo, soy Ingeniero Informatico, me interesaria saber vuestra opinion:
Los proyectos los debemos firmar para que? Para asegurar que no hay errores? Para asegurar que se ha seguido alguna metodologia de gestion de proyectos (metodologias muchas veces comunes con otras ingenierias)? .. Que quereis firmar y a cambio de que responsabilidades aceptar?
#109, te contesto.
1- Si el proyecto es realmente vital, y un fallo en un proyecto firmado por mi como ingeniero causa muertes, asumire las mismas responsabilidades que asumiria un arquitecto si se cae una casa diseñada por el, por ponerte un ejemplo. Hay bugs y bugs, por supuesto. No es lo mismo que se caiga una casa, a que la salida de emergencia este en un lugar distinto al que deberia, o mida menos de lo que deberia…
2- Si el proyecto se hace bien desde el principio, se modulariza correctamente, y se testea correctamente, no deberia haber errores criticos.
El problema es que asignaturas como Ingenieria del Software, TADs y demas, que se estudian en Ingenieria Informatica, y que ayudan a conseguir que un proyecto enorme sean en realidad muchos modulos pequeños muy faciles de mantener, etc, no se estudian en otras carreras.
Si los proyectos hubiera que firmarlos, y estuvieran dirigidos por quien tiene que dirigirlos, tendriamos software de mayor calidad en muchos casos…
Como anecdota te dire que esta demostrado que es imposible verificar programas concurrentes minimamente grandes, pero en informatica te explican suficientes tecnicas para poder superar posibles problemas, asi que si ya de por si a nosotros nos cuesta verificarlo…imagina.
3-Tecnicamente, si el diseño se hace correctamente y esta verificado todo lo verificable, la respuesta es plenamente si.
Un saludo
#112 Pero si, como tu dices, ni firmando puedes asegurar estar libre de errores… que es lo que quieres firmar y para que??
El problema es, como he dicho anteriormente, que no hay industria en España para sacar provecho a los conocimientos diferenciales que tenemos los ingenieros informaticos respecto a otras disciplinas. Pero si yo hasta me he encontrado algun jefe que me ha prohibido «hacer dibujitos» cuando me vio diseñando una BD!!.
Fuera de España este problema no se… o no se da tanto. En todos los proyectos que llevo, todos somos Ingenieros Informaticos.
El tiempo nos va poniendo en su sitio…. a cada uno 😉
#113
Me he referido a programas concretos, y es imposible hacer una verificacion completa, pero vaya, si lo haces minimamente bien, aplicando lo que sabes, puedes asegurar que no va a pasar nada.
Al fin y al cabo, los aviones tienen programas concurrentes controlando muchas funciones, y no se caen muchos no?
Creo que se caen mas casas que aviones de hecho 😛
Si nos ponemos estrictos, tampoco un arquitecto puede asegurar al 100% que lo que diseñe vaya a aguantar, hay muchas cosas que no se pueden controlar.
Un saludo
#111 Por ejemplo, proyectos de relevancia (imagina un proyecto de centralización de historiales médicos para ls SS) para las AAPP. El título garantiza unos conocimientos mínimos en la materia que un gurú no puede garantizar de forma oficial.
No se puede garantizar que no haya errores. Un médico tampoco puede. Se puede investigar si ha habido mala praxis. Hay partes de la Informática que son demostrables matemáticamente si son correctas o no. Otras no, ¿pero por qué no garantizar los casos en los que sí es posible?
¿No es cierto que se hacen peritajes de sistemas informáticos? ¿Quién se encarga de esos peritajes en caso de litigio?
Es necesaria cierta ordenación en estos asuntos críticos (muchos echan FUD con muy mala baba sobre que el colegio quiere impedir a la gente hacer un buscaminas en una empresa privada y quiere visar hasta el Menéame) y sólo se puede concebir mediante el uso de código abierto en proyectos críticos y públicos.
#115 ok, aceptando que hay proyectos mas relevantes que otros, quien es el que va a determinar cuales lo son y cuales no. Es decir, cada vez que alguien haga un proyecto tendra que enviarlo a algun sitio para saber si hace falta un colegiado para firmarlo? Donde habra que enviarlo?
Si al final son todos lo proyectos que tienen que ser valorados para saber si hay que firmarlos, tendremos la respuesta en un periodo breve de tiempo o lo añadimos a la larga cola de la burocracia?
#116, pues habra que pasar los mismos tramites que con cualquier otro tipo de proyecto, no crees? Se especificaran que proyectos debe firmar quien y listo, como pasa con otros proyectos.
Que merece mas la pena, un proyecto bien hecho, que lleve un mes mas de burocracia, o un proyecto sin ningun tipo de seguro, que pueda costarte mucho mas caro, por hacerlo deprisa?
Entramos en el mismo debate. Lo importante es «damelo rapido» o «damelo bien hecho»???
#116 Se haría una lista de tipos de proyectos que se pueden firmar (igual que en otras carreras). Pero también es urgente una división en especialidades de la carrera (como en otras carreras), pero manteniendo siempre una troncalidad (como en otras carreras) y velando por unos estudios exigentes (como en otras carreras). La Universidad corre peligro (lo estoy empezando a ver: bajada de nivel en forma de quitar exámenes o hacer parcialitos de chichianbo, másteres de regalo para patrios y extranjeros) de convertirse en un negocio al servicio de las empresas y no te quepa la menor duda de que la Informática es la primera candidata a sufrir estos vilipendios. Hace cosa de un mes representantes de todas las Ingenierías debatieron en el Instituto de la Ingeniería de España con representantes del gobierno y la oposición el daño que quiere hacer Bolonia a sus carreras. De Ingeniería Informática y de Ingeniería Química no había representante. ¿No te parece curioso? ¿Tampoco es peligrosa la Ingeniería Química como para que se justifique la existencia de un colegio? El problema imagínate cuál es. El caso es que allí estaban los colegios de esas carreras blindando la naturaleza de los estudios y la profesión. Por ejemplo, Ricardo dice «tengo esperanza en Bolonia» mientras todas las demás carreras gritan al unísono que es un desastre tal y como está planteado en la actualidad. Pero bueno, como dijo un catedrático en el debate del Instituto de Ingeniería: «si ahora me llegan muchos chavales sin haber hecho una integral en su vida cómo encima quieren reducir ahora, precisamente ahora, la duración de los estudios». Ninguno lo concibe.
Te paso una cosa que a mí me da bastante grima:
Haz clic para acceder a Memoria-IS.pdf
en la página 85 dice textualmente:
«Tasa de abandono: nuestro principal objetivo al introducir la metodología propia del
EEES es obtener una drástica disminución de la tasa de abandono con respecto a la de la
titulación actual. Consideramos aceptable una tasa de abandono por debajo del 20%. En
contraposición con el anterior, este porcentaje si debe ser interpretado como bajo, pues
en el influirá de forma decisiva la utilización de la nueva metodología ECTS que valora
más el esfuerzo del estudiante.
Una valoración adicional que se debe realizar sobre la tasa de abandono prevista, es que
el porcentaje del 20% supone en realidad una drástica disminución de la tasa actual de
abandono (casi un 75%).»
¿Pero cómo demonios pueden reducir la tasa de abandono desde el 75% (los gurús suelen decir que la carrera es muy fácil) hasta el 20%? Pues no, no les van a dar Chococrispies con 8 vitaminas y hierro, no. Eso sólo se puede conseguir bajando el nivel para que las empresas tengan una suculenta cantidad de inútiles donde elegir (recuérdese el FUD periódico de «faltan Ingenieros»).
Creo que mi escepticismo está plenamente justificado sólo con esa afirmación.
Lo que dice Galli arriba en #71 me parece muy bonito, pero no dice cómo convertirlo en realidad. Hasta entonces, a mí el colegio me parece una buena manera de mejorar la profesión, sencillamente porque son los únicos que podrían atar en corto a los de arriba (y me remito de nuevo al Instituto de la Ingeniería, donde ni nosotros (llorones que no hacen cosas peligrosas para la vida) tenemos representación ni los Ingenieros Químicos tampoco)).
El vídeo del debate al que me refiero antes lo tenéis aquí:
http://www.iies.es/20080305/index.html
y lo considero de visionado obligatorio. Y luego me gustaría leer un apunte de Galli sobre el mismo.
Estoy soprendidisima. Ingenieros que no saben programación básica, otros de los que no se saben si han programado alguna vez y anónimos que reclaman colegios y explican de aviónica o sistemas críticos cuando no deben tener ni remota idea de cómo se desarrollan esos sistemas.
Habéis programado alguna vez sistemas de control eléctrico de superficies? Sabeis siquiera que es un TCAS y cómo se programan? O qué significa FMS o CNS/ATM? Sabeis quienes son y qué hacen AEEC, EUROCAE, ETSI, RTCA, IEEE Aerospace and Electronic Systems Society o la IEE Aerospace Professional Network? Habéis participado alguna vez en el proceso de validación y certificación de aviónica? Sabéis el tiempo que tooma y los procesos de simulación y verificación? Sabeis cuantos ingenieros electrónicos, aerospaciales, informáticos, físicos a industriales participan? tenéis idea de la cantidad de tests y documentación que hay que hacer? Sabeis cómo se prueban en el simulador y se validan los datos? O cómo funciona el FWS?
Sabéis qué son los estándares de seguridad para software como RTCA/DO-178B,o el Eurocae ED-12B?
Para cualquier «sistema crítico» que sale al mercado en Europa se siguen procedimientos muy complejos y sujetos a regulaciones y certificaciones estrictas. Conocéis las certificaciones ISO/TS16949 o QS9000 para los coches? Tenéis idea de como se certifican los trenes? Que es el RBC o ERTMS? Conocéis como se hacen los tests Eurocab o Eurobalise?
Seguro que no tenéis idea de lo que menciono, porque si la tuvieséis no estariais diciendo tantas tonterías. Solo demostráis una profunda ignorancia de cómo se desarrollan y certifican estos sistemas informáticos, todavía pensáis que al salir de la universidad sabéis todo y que con con el libro de Métrica y la gestión de proyectos que habéis visto en un cuatrimestre ya podeis hacer de todo.
Dios mío, cuanta ignorancia, pero si no sabéis programar correctamente ni una suma de punteros en C!
#89 Independientemente de la discusión creo que es obligatorio de todo profesional (sin importar el área) critique de vez en cuando el medio en que se desenvuelve (ojo criticar no es malo, lo malo es la intención que se le de).
#120 Las ISO/TS16949 y QS9000 sí, porque he trabajado en el sector.
Los términos anteriores no directamente, no he trabajado nunca en aeronáutica. Por cierto, he hecho una llamadita de curiosidad a un ingeniero industrial amigo mío y no tenía ni idea tampoco de ninguno de ellos; por lo que le tendría que pedir que devolviera el título.
Dudo que si pregunto a mis alumnos -algunos son Ingenieros Técnicos en Telecomunicación- si conocen alguno de esos términos, lo sepan.
Y creo que sólo Ricardo Galli y sus corifeos consideran que paux++;paux++; es un error de programación gravísimo, que hace que el programa no funcione y que muestre mi profundo desconocimiento de la aritmética de punteros. Para mí, es una forma de hacer paux+=2; que es más rápida en un número muy importante de procesadores, especialmente los antiguos. Y si las especificaciones dicen que el objetivo es que sea rápido, especialmente en procesadores antiguos, pues así hago. Vale, Ricardo ha encontrado optimizaciones poco académicas en un programa de 15000 líneas. Acepto como crítica «tus optimizaciones no son bonitas». Pero el discurso de Ricardo solo cala en incondicionales, y gente sin experiencia real en programación en C.
Seamos serios: esto no es una discusión sobre colegios, ni sobre código; sino un linchamiento montado por Ricardo Galli contra alguien que ha osado firmar con nombre y apellidos un texto llevándole la contraria.
#120
-¿Estas colegiada?
-¿Firmas Proyectos?
Si la respuesta es afirmativa en ambos casos, todo lo que has dicho sirve de poco.
El tema que algunos compañeros y yo estamos discutiendo es principalmente el hecho de que determinados proyectos deberian ser firmados por ingenieros informaticos, igual que otros proyectos son firmados por ing. en telecomunicaciones, por ingenieros aeronauticos, o por ingenieros en lo que les de la gana.
Un ejemplo mas o menos acertado no cambia esas realidades. Lo que se intentaba decir en el ejemplo es que hay sistemas criticos en aviones que controlan cosas muy importantes. Tambien hay sistemas criticos en quirofanos y demas.
Es evidente que un avion no lo hace un ingeniero informatico, pero cada profesional tiene su parte.
Bueno, cada profesional, menos los informaticos, que es lo que precisamente se esta debatiendo.
Un saludo.
PD: Me gustaria saber a que te refieres con lo de la suma de punteros exactamente, porque se han dicho muchas cosas, y no todas las han dicho informaticos.
#120 Yo también sé agarrar una lista de normas y estándares y pegarla aquí, señora Premio Nobel. La suma de los punteros en C se te ha explicado ya, ignorante. O bien no sabes leer, o eres una maestra de la falacia y la gilipollez. De ahí que tu también te anonimices, no como el que dices que para sumar 5 hace 1+1+1+1+1 que escribe con nombre y apellidos. Vaya sarta de gilipolleces que has dicho, bonita.
No es ningún error grave poner dos incrementos seguidos, ni que no supieras sumar más que de uno en uno. Es una optimización que es clásica en programación en ensamblador para microcontroladores, yo tengo conocimientos de programación de microcontroladores y autómatas y son procesadores muy limitados que agradecen esos tipos de optimizaciones. En la actualidad con las máquinas disponibles de escritorio, no es necesario por el tema de que los micros disponen de varios pipelines y en muchas ocasiones ejecutan más rápido una sola instrucción que dos instrucciones. Además si el compilador es medianamente decente lo optimiza por si sólo. Es más apropiado en la programación para procesadores de bajas prestaciones en tiempo real y en los que no es adecuado que el compilador optimice porque te puede joder el ciclo de ejecución y saltarte el watchdog.
Pero eso son tonterías técnicas que no tienen nada que ver con dirección de proyectos, etc, etc. Pero no me hagas mucho caso que yo soy un Ingeniero ignorante, incompetente y en paro, haz caso a lo que te diga Galli que para él cualquiera puede ejercer en la profesión aún sin saber lo que es ni la informática. Todavía nadie ha sabido contestar lo que es la informática y lo que es la ingeniería informática, con la de listos que hay en este blog… El señor Galli impartiendo clases y no sabe lo que está impartiendo, sólo sabe mirar bucles for, cuando todos sabemos que el padre de los bucles es le while, while computabilidad, eso igual es un cuento chino.
Y con este post se acabaron mis clases particulares gratuitas. Nunca más un comentario gratis. Si reventais sistemas y ordenadores no es mi problema, el problema lo tiene el que contrate incompetentes, 25 años entre ordenadores y un título de Ingeniero no sirven para nada ;-).
Orcero, te voy a comentar un secreto, tú programas gratis y te ponen a caer de un burro. Yo eso me lo ahorro porque no programo gratis. Con todo mi respeto, sabes ese de encima de tonto apaleado. Deberían de adorarte por programar gratis y sin embargo te ponen a caer de un burro ;-).
Saludos.
#125
«sólo sabe mirar bucles for, cuando todos sabemos que el padre de los bucles es le while, while computabilidad, eso igual es un cuento chino.»
Al fin y al cabo el bucle for es un caso especial de bucle while en el que sabemos mas de lo habitual (Sabemos «exactamente» cuando va a terminar)
=)
Un saludo!
PD: No a las clases gratis, que encima nos critican 😉
#95
La analogía entre un Fotógrafo y un Ingeniero Informático te define por completo.
En cuanto a comprensión lectora, basta con aplicarselo. Es cuestión de práctica.
Razonar ya es más complejo
Yo creo que la idea de colegio de ingenieros es buena, se evitarían los daños a la profesión causado por el ridículo público de fantasmas como Orcero y otros seudoingenieros de primera [/ironia]
#128, ¿Ironía? No la veo, la verdad. Es un claro ataque a David y a todos nosotros. Sinceramente, no entiendo a qué viene eso, la verdad.
#121, Si yo soy el primero en criticar algunas cosas de la carrera y de la profesión, pero no puedo aceptar que se diga que en la carrera no se aprende nada, eso es mentira absoluta.
#120, Todo lo que te ha dicho Spectrum (#124) te lo diría yo, así que no hace falta decirte nada más.
Y pregunto a Ricardo, ¿con qué intención iba este post de desprestigio de código? ¿Qué pensabas demostrar, que todos los informáticos hacemos chapuzas?
#127 XD XD
Vamos mrTIC no te me enfades… Te envio una oferta de trabajo que puede interesarte http://tinyurl.com/5w4pge XD
Yo lo que veo en general es mucho apego a la carrera… como si aun no se hubiera salido de ella ;-p
Da miedo el mundo exterior?? Os aseguro que no esta tan mal.
Y bueno.. si os gusta la universidad, luego podeis hacer un doctorado.. alli puede que veais la gran mezcla de carreras que se da: informaticos haciendo doctorado de biologia (bioinformatica), telecos o fisicos haciendolo de informatica…
Para terminar, para Sandman, ya que pedia definiciones. Solo hace falta ir a la wikipedia :
Ing. Informatica: Rama de la ingeniería que consiste en la aplicación de los fundamentos de la Ciencia de la Computación, la electrónica y la ingeniería de software, para el desarrollo de soluciones integrales de cómputo y comunicaciones, capaces de procesar información de manera automática.
mm curioso.. habla de fundamentos… no de conocimiento profundo, como alguien habia apuntado anteriormente…
y sobre la informatica:
Anteriormente la ingeniería informática era una licenciatura (licenciatura en informática) que tenía una duración de 6 años. Hasta el momento de la creación de dichos estudios, no existía el título como tal, siendo una rama de la física o las matemáticas. Sin embargo, algunas universidades siguen adoptando este concepto de licenciatura, como la Universidad de Oriente.
rama de la fisica y las matematica??… mm curioso tambien.
XD XD
Todo es rama de la filosofía. Pero muchas materias tomaron entidad propia. Y con la informática ha pasado lo mismo, solo que hace bastante menos tiempo. O si no dime si teleco o industriales no son ramas de la física (o química) y matemáticas…
#129
[ No la veo, la verdad. Es un claro ataque a David y a todos nosotros. Sinceramente, no entiendo a qué viene eso, la verdad. ]
Pobrecillos estos niños, hay una conspiración mundial para atacarles y condenarles al mileurismo eterno.
[ Y pregunto a Ricardo, ¿con qué intención iba este post de desprestigio de código? ¿Qué pensabas demostrar, que todos los informáticos hacemos chapuzas? ]
Al que le pica ajos come dicen en mi pueblo. Conspiración aseguran en la red.
Me parece de p*** madre que se le de una cura de humildad a un fantasma montado en su gran ego que para defender a los colegios difama a un colega, presume de que sus estudios fueron duros y geniales y critica como programan los demas. La frase «excelentes científicos pero dejan mucho que desear como programadores» es para encuadrarlas con las capturas de su propio código.
Despues de ver su espectacular capacidad y estilo de programación ¿nadie pensó en lo útiles que son las curas de humildad?
[ironia]Si Galli estuviese colegiado esto no ocurriria, la basura nunca saldría debajo de la alfombra[/ironia]
El problema es que cura de humildad ninguna, la verdad. Si realmente se la hubieran dado, pues diría, menudo fantasma el David este, pero es que no es así :S menuda película os habeis montado…
Ni siquiera el terrible error que David no encuentra y un chaval de 20 años sí se libra:
http://www.securityfocus.com/archive/1/490715
Traducido y resumido: el error… no es tal.
Del listado de errores gravísimos localizados en código de David… ¿cuantos errores quedan?
#132 Manel Garcias, te has pasado cuatro pueblos, eliminado tu último comentario.
#134 Francisco, tus comentarios tienen la misma IP fija de Telefónica que los comentarios de David Santo Ocero. Sólo faltaba eso, que ahora hagas astroturfing a mi blog.
Es la hostia. Cerrado comentarios, id a discutir y astroturfear a otro sitio. Cierro comentarios en este apunte.
Pingback: Ejercicio de ética comparada « Ricardo Galli, de software libre
Pingback: Javier Holguera » Blog Archive » Ingeniero de primera
Pingback: David Santo Orcero contesta a Ricardo Galli