Herramientas de usuario

Herramientas del sitio


entrevistaendiferido-joaquin-herrero

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anterior Revisión previa
Próxima revisión
Revisión previa
entrevistaendiferido-joaquin-herrero [2021/09/09 10:21]
Joaquín Herrero Pintado
entrevistaendiferido-joaquin-herrero [2022/05/11 12:58] (actual)
Joaquín Herrero Pintado [¿Para ser un buen programador necesitas conocimientos en matemáticas?]
Línea 5: Línea 5:
  
  
-[[https://​t.me/​entrevistasendiferido|{{ :​entrevistasendiferido.png?​200 |}}]]+[[https://​t.me/​entrevistasendiferido|{{ :​entrevistasendiferido.png?​300 |}}]]
  
  
Línea 27: Línea 27:
 También a lo largo de estos años he impartido cursos y talleres tanto sobre aspectos técnicos informáticos como sobre la reflexión filosófica sobre las tecnologías de la información. ​ También a lo largo de estos años he impartido cursos y talleres tanto sobre aspectos técnicos informáticos como sobre la reflexión filosófica sobre las tecnologías de la información. ​
  
-Suelo tener siempre algún que otro side project que suele consistir en programación de algo que me resulte interesante y estos últimos años he programado varios chatbots para Telegram en lenguaje Go, uno de los cuales se está usando en un ensayo clínico para verificar la efectividad de los chatbots para complementar la atención médica presencial. ​+Suelo tener siempre algún que otro //side project// que suele consistir en programación de algo que me resulte interesante y estos últimos años he programado varios chatbots para Telegram en lenguaje Go, uno de los cuales se está usando en un ensayo clínico para verificar la efectividad de los chatbots para complementar la atención médica presencial. ​
  
 También, como comentas, hace poco más de un año comencé el podcast "La filosofía no sirve para nada" en el que con un grupo de personas muy interesantes e interdisciplinares echamos una mirada filosófica al presente y al cruce entre Ciencia, Tecnología y Sociedad (CTS), que es un campo que no mucha gente conoce pero que se practica en la filosofía desde los años 60 del siglo XX. También, como comentas, hace poco más de un año comencé el podcast "La filosofía no sirve para nada" en el que con un grupo de personas muy interesantes e interdisciplinares echamos una mirada filosófica al presente y al cruce entre Ciencia, Tecnología y Sociedad (CTS), que es un campo que no mucha gente conoce pero que se practica en la filosofía desde los años 60 del siglo XX.
Línea 56: Línea 56:
 ===== ¿IDE o editor para programar? ===== ===== ¿IDE o editor para programar? =====
  
-Es una pregunta corta pero me resulta difícil dar una respuesta corta. Lo intentaré. Últimamente se entiende que un IDE es una pieza de software que te instalas y que contiene todo tu "​entorno"​. Este es el caso de VSCode. Digo últimamente porque yo procedo de una cultura informática ​(en la que el entorno de desarrollo era el propio sistema operativo, algo que incluso ahora tiene su propio nombre: ​"UNIX As IDE". Desde ese punto de vista no uso IDE, uso editores. Pero como mi visión de qué es un IDE no coincide con esa pues mi respuesta sería que sí, sí uso IDE, pero no uso un "​programa como IDE", uso todo el sistema UNIX como IDE.+Es una pregunta corta pero me resulta difícil dar una respuesta corta. Lo intentaré. Últimamente se entiende que un IDE es una pieza de software que te instalas y que contiene todo tu "​entorno"​. Este es el caso de VSCode. Digo últimamente porque yo procedo de una cultura informática en la que el entorno de desarrollo era el propio sistema operativo, algo que incluso ahora tiene su propio nombre: ​[[https://​blog.sanctum.geek.nz/​series/​unix-as-ide/​|UNIX As IDE]]. Desde ese punto de vista no uso IDE, uso editores. Pero como mi visión de qué es un IDE no coincide con esa pues mi respuesta sería que sí, sí uso IDE, pero no uso un "​programa como IDE", uso todo el sistema UNIX como IDE.
  
 Mis editores básicos son dos, según el trabajo a realizar o igual según mi humor de ese día: vim(1) y ed(1). Las razones son históricas,​ por tanto muy personales y difícilmente reutilizables por otras personas, pero os las cuento, como curiosidad, a continuación. Mis editores básicos son dos, según el trabajo a realizar o igual según mi humor de ese día: vim(1) y ed(1). Las razones son históricas,​ por tanto muy personales y difícilmente reutilizables por otras personas, pero os las cuento, como curiosidad, a continuación.
Línea 64: Línea 64:
 Cuando, como fue mi caso, lo primero que conoces como editor es algo como @ED, un editor con un lenguaje de programación completo en su interior, mantienes en la mente grabado a fuego para toda tu vida la idea de que editar un archivo es hacer programas que lo cambien y no cambiarlo tú a mano moviéndote fácilmente por el texto. ​ Cuando, como fue mi caso, lo primero que conoces como editor es algo como @ED, un editor con un lenguaje de programación completo en su interior, mantienes en la mente grabado a fuego para toda tu vida la idea de que editar un archivo es hacer programas que lo cambien y no cambiarlo tú a mano moviéndote fácilmente por el texto. ​
  
-Usando el lenguaje de programación del editor @ED llegué a hacer un generador de programas COBOL que me generó más de 1000 programas diferentes de consulta y creación de ficheros y bases de datos a partir de un '​esqueleto tipo' tan solo respondiendo a un cuestionario de preguntas: un editor de línea usado como lenguaje de programación para automatizar cambios. Su belleza no está en su interfaz sino en su potencia. Si queréis saber algo más sobre @ED tuve la fortuna de poder entrevistar por email a uno de sus creadores, Jerry Saltzer, que me contó muchas cosas que no están publicadas en ningún sitio y algún que otro cotilleo que me hizo prometer no publicar mientras él viviera. Aún vive. La entrevista aquí: https://​misdocumentos.net/​wiki/​doku.php/​mainframes/​univac/​ed/​historia+Usando el lenguaje de programación del editor @ED llegué a hacer un generador de programas COBOL que me generó más de 1000 programas diferentes de consulta y creación de ficheros y bases de datos a partir de un '​esqueleto tipo' tan solo respondiendo a un cuestionario de preguntas: un editor de línea usado como lenguaje de programación para automatizar cambios. Su belleza no está en su interfaz sino en su potencia. Si queréis saber algo más sobre @ED tuve la fortuna de poder entrevistar por email a uno de sus creadores, ​[[https://​en.wikipedia.org/​wiki/​Jerry_Saltzer|Jerry Saltzer]], que me contó muchas cosas que no están publicadas en ningún sitio y algún que otro cotilleo que me hizo prometer no publicar mientras él viviera. Aún vive. La entrevista aquí: https://​misdocumentos.net/​wiki/​doku.php/​mainframes/​univac/​ed/​historia
  
 Editores como ed(1) o @ED no te facilitan moverte por el texto (no es su objetivo) pero te facilitan automatizar los cambios, esa es la grandeza de los editores de línea, que son auténticos lenguajes de programación. ​ Editores como ed(1) o @ED no te facilitan moverte por el texto (no es su objetivo) pero te facilitan automatizar los cambios, esa es la grandeza de los editores de línea, que son auténticos lenguajes de programación. ​
Línea 88: Línea 88:
 ===== ¿Un libro de filosofía que un programador debería leer? ===== ===== ¿Un libro de filosofía que un programador debería leer? =====
  
-Esta es fácil, hay muchos, pero uno que se lee bien si tienes mente filosófica es "Philosophy and Computer Science", de Timothy R. Colburn, que es filósofo e informático (qué poco me gusta la palabra "​informático"​)+Esta es fácil, hay muchos, pero uno que se lee bien si tienes mente filosófica es [[https://​www.routledge.com/​Philosophy-and-Computer-Science/​Colburn/​p/​book/​9781563249914|Philosophy and Computer Science]], de Timothy R. Colburn, que es filósofo e informático (qué poco me gusta la palabra "​informático"​)
  
 Lo recomiendo entero, de portada a contraportada,​ pero especialmente meterse en vena el capítulo 12: "​Software,​ Abstraction and Ontology"​ Lo recomiendo entero, de portada a contraportada,​ pero especialmente meterse en vena el capítulo 12: "​Software,​ Abstraction and Ontology"​
Línea 109: Línea 109:
 No podemos decir algo concreto que surgirá al pensar filosóficamente. En este sentido no sirve para nada concreto. Pero sirve para pensar distinto, para problematizar lo que damos por sentado. ¿Dónde te llevará esto? Pues a cada uno lo llevará a un lugar diferente. Pero seguro que será un lugar interesante. No podemos decir algo concreto que surgirá al pensar filosóficamente. En este sentido no sirve para nada concreto. Pero sirve para pensar distinto, para problematizar lo que damos por sentado. ¿Dónde te llevará esto? Pues a cada uno lo llevará a un lugar diferente. Pero seguro que será un lugar interesante.
  
-En matemáticas e informática también nos ha pasado. Hay muchas verdades establecidas en la informática o en la matemática que tienen su origen en investigaciones filosóficas. La lógica fue tratada originalmente por Aristóteles y es el fundamento de la informática tal como la entendemos ahora. El filósofo Leibniz propuso el cálculo binario para resolver problemas y ahora todos los problemas se resuelven mediante cálculos que en última instancia son binarios. El desarrollo del cálculo integral en matemáticas se hizo a la vez por Newton y Leibniz porque ambos partían de supuestos filosóficos diferentes, era un problema filosófico en origen pero ahora es una cosa muy práctica, pues con una integral podemos medir el área de superficies irregulares. Esto es posible porque ahora consideramos normal hablar de "​infinitesimales",​ pero ese concepto hubo que construirlo y se construyó filosóficamente y con muchos debates. Hay un libro de Amir Alexander titulado "​Infinitesimal"​ que cuenta esta historia muy bien. Matemáticas y filosofía han estado íntimamente relacionadas durante toda la historia.+En matemáticas e informática también nos ha pasado. Hay muchas verdades establecidas en la informática o en la matemática que tienen su origen en investigaciones filosóficas. La lógica fue tratada originalmente por Aristóteles y es el fundamento de la informática tal como la entendemos ahora. El filósofo Leibniz propuso el cálculo binario para resolver problemas y ahora todos los problemas se resuelven mediante cálculos que en última instancia son binarios. El desarrollo del cálculo integral en matemáticas se hizo a la vez por Newton y Leibniz porque ambos partían de supuestos filosóficos diferentes, era un problema filosófico en origen pero ahora es una cosa muy práctica, pues con una integral podemos medir el área de superficies irregulares. Esto es posible porque ahora consideramos normal hablar de "​infinitesimales",​ pero ese concepto hubo que construirlo y se construyó filosóficamente y con muchos debates. Hay un [[https://​www.simonandschuster.co.uk/​books/​Infinitesimal/​Amir-Alexander/​9781780745336|libro de Amir Alexander titulado "​Infinitesimal"​]] que cuenta esta historia muy bien. Matemáticas y filosofía han estado íntimamente relacionadas durante toda la historia.
  
 La Inteligencia Artificial es seguramente el tema actual donde más conexión hay entre filosofía y computación. Hemos tocado este tema varias veces en el podcast. La Inteligencia Artificial es seguramente el tema actual donde más conexión hay entre filosofía y computación. Hemos tocado este tema varias veces en el podcast.
Línea 170: Línea 170:
 Una de las ideas más fascinantes sobre esto es la idea de que "la realidad consiste en información"​. Esto a un informático debería de parecerle interesante. Pero no habrá muchos informáticos aún que sepan que hay muchos filósofos investigando por ese lado.  Una de las ideas más fascinantes sobre esto es la idea de que "la realidad consiste en información"​. Esto a un informático debería de parecerle interesante. Pero no habrá muchos informáticos aún que sepan que hay muchos filósofos investigando por ese lado. 
  
-Yo haría que el libro de Víctor Gómez Pin titulado ​"Tras la Física. Arranque Jónico y Renacer Cuántico de la Filosofía" ​fuera libro de texto de una asignatura de grado. Por lo menos en la UNED se siguen manteniendo,​ que yo sepa, tres asignaturas de Historia de la Ciencia en las que se estudia el impresionante libro "Historia de la Ciencia" ​de Carlos Solís y Manuel Sellés, que llega hasta la ciencia contemporánea. Yo he tenido que explicar el modelo estándar de la física en un examen de filosofía. Eso está muy bien, ojalá la UNED siga manteniendo esa asignatura (y el alto nivel de exigencia de la misma) pero no es suficiente.  ​+Yo haría que el libro de Víctor Gómez Pin titulado ​[[https://​abadaeditores.com/​filosofia/​tras-la-fisica-arranque-jonico-y-renacer-cuantico-de-la-filosofia.html|Tras la Física. Arranque Jónico y Renacer Cuántico de la Filosofía]] fuera libro de texto de una asignatura de grado. Por lo menos en la UNED se siguen manteniendo,​ que yo sepa, tres asignaturas de Historia de la Ciencia en las que se estudia el impresionante libro [[https://​www.planetadelibros.com/​libro-historia-de-la-ciencia/​92702|Historia de la Ciencia]] de Carlos Solís y Manuel Sellés, que llega hasta la ciencia contemporánea. Yo he tenido que explicar el modelo estándar de la física en un examen de filosofía. Eso está muy bien, ojalá la UNED siga manteniendo esa asignatura (y el alto nivel de exigencia de la misma) pero no es suficiente.  ​
  
 A pesar de la intensa conexión de la filosofía con la física, la informática y la matemática se sigue considerando que la filosofía son "​humanidades"​ e incluso se identifica con la psicología y los libros de autoayuda. Una aberración,​ pero es lo que hay. Desde nuestro podcast tratamos de explorar todo el territorio que abarca la filosofía, tanto el territorio humanístico como el científico,​ el tecnológico,​ el cosmológico o el matemático. Porque todos esos son territorios igual de naturales para la reflexión filosófica. A pesar de la intensa conexión de la filosofía con la física, la informática y la matemática se sigue considerando que la filosofía son "​humanidades"​ e incluso se identifica con la psicología y los libros de autoayuda. Una aberración,​ pero es lo que hay. Desde nuestro podcast tratamos de explorar todo el territorio que abarca la filosofía, tanto el territorio humanístico como el científico,​ el tecnológico,​ el cosmológico o el matemático. Porque todos esos son territorios igual de naturales para la reflexión filosófica.
Línea 196: Línea 196:
 "Qué añadir a un robot para que surja la inteligencia creativa: deben gestionar su propia supervivencia,​ sentir dolor/​placer/​empatía,​ comprender la causalidad y ser afectados por contrafácticos. Un robot así nos permitiría estudiar filosóficamente la consciencia. El trabajo se centra en qué materiales permitirían a un robot ser vulnerable y sentir dolor pues se propone la necesidad de supervivencia como una clave de la creatividad. Pero nos han llamado la atención otras cosas filosóficamente relevantes. Por ejemplo, el hecho de que haya que implementar en el robot la comprensión de qué es causalidad y qué es un contrafáctico. El aprendizaje no consistiría solo en buscar correlaciones en muchos datos pues hay casos individuales tan relevantes que deben cambiar el comportamiento. La '​inferencia casual',​ propuesta por Judea Pearl y bien resumida en su libro 'The Book of Why', planteaba la necesidad de incluir razonamiento contrafáctico en el campo de la Inteligencia Artificial. Parece que su mensaje está calando, como él mismo dice.” ​ "Qué añadir a un robot para que surja la inteligencia creativa: deben gestionar su propia supervivencia,​ sentir dolor/​placer/​empatía,​ comprender la causalidad y ser afectados por contrafácticos. Un robot así nos permitiría estudiar filosóficamente la consciencia. El trabajo se centra en qué materiales permitirían a un robot ser vulnerable y sentir dolor pues se propone la necesidad de supervivencia como una clave de la creatividad. Pero nos han llamado la atención otras cosas filosóficamente relevantes. Por ejemplo, el hecho de que haya que implementar en el robot la comprensión de qué es causalidad y qué es un contrafáctico. El aprendizaje no consistiría solo en buscar correlaciones en muchos datos pues hay casos individuales tan relevantes que deben cambiar el comportamiento. La '​inferencia casual',​ propuesta por Judea Pearl y bien resumida en su libro 'The Book of Why', planteaba la necesidad de incluir razonamiento contrafáctico en el campo de la Inteligencia Artificial. Parece que su mensaje está calando, como él mismo dice.” ​
  
-Estuvimos hablando ampliamente sobre esto en el episodio 17 del podcast.+Estuvimos hablando ampliamente sobre esto en el [[https://​filosofias.es/​wiki/​doku.php/​podcast/​episodios/​17|episodio 17 del podcast]].
  
 Estas propuestas van en la línea de las críticas que está haciendo últimamente Gary Marcus. Él no está de acuerdo en denominar "​inteligencia"​ a lo que se hace con las redes neuronales en la actualidad. Hemos abandonado, dice él, la inteligencia artificial simbólica y nos hemos entregado a buscar patrones y correlaciones en océanos de datos. Marcus propone mezclar ambos enfoques. Estas propuestas van en la línea de las críticas que está haciendo últimamente Gary Marcus. Él no está de acuerdo en denominar "​inteligencia"​ a lo que se hace con las redes neuronales en la actualidad. Hemos abandonado, dice él, la inteligencia artificial simbólica y nos hemos entregado a buscar patrones y correlaciones en océanos de datos. Marcus propone mezclar ambos enfoques.
  
-Estuvimos hablando sobre esto en el episodio 15 del podcast.+Estuvimos hablando sobre esto en el [[https://​filosofias.es/​wiki/​doku.php/​podcast/​episodios/​15|episodio 15 del podcast]].
  
 Me interesan especialmente las propuestas de Judea Pearl y su idea de "​contrafácticos",​ es decir, que las IAs puedan aprender a partir de sus propias acciones en el mundo y no a partir de nuestras acciones recogidas en datos. ​ Me interesan especialmente las propuestas de Judea Pearl y su idea de "​contrafácticos",​ es decir, que las IAs puedan aprender a partir de sus propias acciones en el mundo y no a partir de nuestras acciones recogidas en datos. ​
Línea 223: Línea 223:
 Como te dije yo soy funcionario de la administración general. En mi primera oposición (para programador) la mitad del temario era sobre matemáticas:​ ecuaciones lineales y no lineales, cálculo matricial, probabilidad,​ estadística,​ sistemas de numeración,​ combinatoria,​ progresiones,​ cálculo de interés simple y compuesto. Sin embargo en la última oposición que he hecho (gestión informática) no había nada de matemáticas y mucha metodología y conceptos abstractos de programación. Creo que en la época de mi primera oposición se entendía la informática como construcción de sistemas y desarrollo de algoritmos y según hemos ido hacia mayores niveles de abstracción ahora mucha informática consiste en una actividad de muy alto nivel que consiste en aplicar metodologías,​ integrar librerías y programar llamadas a dichas librerías de forma que se resuelva el problema desde un punto mucho más abstracto que antes. Como te dije yo soy funcionario de la administración general. En mi primera oposición (para programador) la mitad del temario era sobre matemáticas:​ ecuaciones lineales y no lineales, cálculo matricial, probabilidad,​ estadística,​ sistemas de numeración,​ combinatoria,​ progresiones,​ cálculo de interés simple y compuesto. Sin embargo en la última oposición que he hecho (gestión informática) no había nada de matemáticas y mucha metodología y conceptos abstractos de programación. Creo que en la época de mi primera oposición se entendía la informática como construcción de sistemas y desarrollo de algoritmos y según hemos ido hacia mayores niveles de abstracción ahora mucha informática consiste en una actividad de muy alto nivel que consiste en aplicar metodologías,​ integrar librerías y programar llamadas a dichas librerías de forma que se resuelva el problema desde un punto mucho más abstracto que antes.
  
-En el libro "Coders at Work" ​(que recomiendo para cualquier programador al que le interese la reflexión crítica sobre su trabajo) Peter Seibel entrevista a 15 programadores muy relevantes y a algunos de ellos les hace la misma pregunta que me acabas de hacer: ¿es necesario saber matemáticas para programar?​. ​+En el libro [[https://​codersatwork.com/​|Coders at Work]] (que recomiendo para cualquier programador al que le interese la reflexión crítica sobre su trabajo) Peter Seibel entrevista a 15 programadores muy relevantes y a algunos de ellos les hace la misma pregunta que me acabas de hacer: ¿es necesario saber matemáticas para programar?​. ​
  
-El libro deja claro que esta cuestión surge porque Dijkstra dijo en su famoso trabajo ​"On the cruelty of really teaching computing science" ​que la programación es una rama de la matemática aplicada. ​Boom. Programar es hacer matemáticas. Y Donald Knuth en su archiconocido libro "The Art of Computer Programming" ​puso tanta matemática que es dificilísimo poder leerlo si no sabes matemáticas. Es decir, que parece que hemos heredado esta idea de la importancia de la matemática en la programación debido a dos de los padres de la programación actual: Dijkstra y Knuth. ¿Será que en sus tiempos era más importante y ahora no? Puede ser, pero eso es lo que hay que ver entonces.+El libro deja claro que esta cuestión surge porque Dijkstra dijo en su famoso trabajo ​[[https://​en.wikipedia.org/​wiki/​On_the_Cruelty_of_Really_Teaching_Computer_Science|On the cruelty of really teaching computing science]] que la programación es una rama de la matemática aplicada. ​¡Boom! ​Programar es hacer matemáticas. Y Donald Knuth en su archiconocido libro [[https://​en.wikipedia.org/​wiki/​The_Art_of_Computer_Programming|The Art of Computer Programming]] puso tanta matemática que es dificilísimo poder leerlo si no sabes matemáticas. Es decir, que parece que hemos heredado esta idea de la importancia de la matemática en la programación debido a dos de los padres de la programación actual: Dijkstra y Knuth. ¿Será que en sus tiempos era más importante y ahora no? Puede ser, pero eso es lo que hay que ver entonces.
  
 Siebel en "​Coders at Work" entrevista a Douglas Crockford, creador del lenguaje Javascript, y le hace esa pregunta. Crockford responde diciendo que las matemáticas son importantes a la hora de programar pero que también lo es saber escribir con fluidez porque un programador tiene que escribir documentación y especificaciones y si alguien no es capaz de usar el lenguaje con precisión tendría muchas dificultas den su trabajo. No puedo estar más de acuerdo con él. Siebel en "​Coders at Work" entrevista a Douglas Crockford, creador del lenguaje Javascript, y le hace esa pregunta. Crockford responde diciendo que las matemáticas son importantes a la hora de programar pero que también lo es saber escribir con fluidez porque un programador tiene que escribir documentación y especificaciones y si alguien no es capaz de usar el lenguaje con precisión tendría muchas dificultas den su trabajo. No puedo estar más de acuerdo con él.
entrevistaendiferido-joaquin-herrero.1631182887.txt.gz · Última modificación: 2021/09/09 10:21 por Joaquín Herrero Pintado