{"id":183,"date":"2023-05-03T15:01:40","date_gmt":"2023-05-03T15:01:40","guid":{"rendered":"https:\/\/www.madrimasd.org\/blogs\/Tecnologiasdelainformacionparaelmundodelmanana\/?p=183"},"modified":"2023-09-08T10:45:53","modified_gmt":"2023-09-08T10:45:53","slug":"escalando-el-monte-everest-de-la-programacion-informatica","status":"publish","type":"post","link":"https:\/\/www.madrimasd.org\/blogs\/Tecnologiasdelainformacionparaelmundodelmanana\/2023\/05\/03\/escalando-el-monte-everest-de-la-programacion-informatica\/","title":{"rendered":"Escalando el monte Everest de la programaci\u00f3n inform\u00e1tica"},"content":{"rendered":"<h4><strong>Aleks Nanevski ha dedicado su vida a resolver uno de los mayores retos de la inform\u00e1tica, emprendiendo un largo y arriesgado camino para revolucionar nuestra forma de concebir la programaci\u00f3n en general, y la programaci\u00f3n concurrente en particular.<\/strong><\/h4>\n<p><a href=\"https:\/\/software.imdea.org\/~aleks\/\">Aleks Nanevski<\/a>, investigador del <a href=\"https:\/\/software.imdea.org\/es\">Instituto IMDEA Software<\/a>, descubri\u00f3 su pasi\u00f3n por las matem\u00e1ticas a los 10 a\u00f1os cuando un profesor de su colegio en Macedonia vio en \u00e9l aptitudes y empez\u00f3 a darle clases extraescolares. Desde entonces, comenz\u00f3 a participar en competiciones regionales y a la edad de 13 ya estaba en el podio de las competiciones nacionales.<\/p>\n<p><img decoding=\"async\" class=\" wp-image-184 alignleft\" src=\"https:\/\/www.madrimasd.org\/blogs\/Tecnologiasdelainformacionparaelmundodelmanana\/files\/2023\/05\/DSC_3630-copy-scaled.jpg\" alt=\"Aleks Nanevski\" width=\"488\" height=\"731\" srcset=\"https:\/\/www.madrimasd.org\/blogs\/Tecnologiasdelainformacionparaelmundodelmanana\/files\/2023\/05\/DSC_3630-copy-scaled.jpg 1708w, https:\/\/www.madrimasd.org\/blogs\/Tecnologiasdelainformacionparaelmundodelmanana\/files\/2023\/05\/DSC_3630-copy-200x300.jpg 200w, https:\/\/www.madrimasd.org\/blogs\/Tecnologiasdelainformacionparaelmundodelmanana\/files\/2023\/05\/DSC_3630-copy-683x1024.jpg 683w, https:\/\/www.madrimasd.org\/blogs\/Tecnologiasdelainformacionparaelmundodelmanana\/files\/2023\/05\/DSC_3630-copy-768x1151.jpg 768w, https:\/\/www.madrimasd.org\/blogs\/Tecnologiasdelainformacionparaelmundodelmanana\/files\/2023\/05\/DSC_3630-copy-1025x1536.jpg 1025w, https:\/\/www.madrimasd.org\/blogs\/Tecnologiasdelainformacionparaelmundodelmanana\/files\/2023\/05\/DSC_3630-copy-1367x2048.jpg 1367w\" sizes=\"(max-width: 488px) 100vw, 488px\" \/>Aquel ni\u00f1o que despuntaba en el arte de las matem\u00e1ticas pidi\u00f3 a sus padres un ordenador. Durante un viaje familiar a Francia, por fin sus padres pudieron comprarle uno, el que se pod\u00edan permitir, y Aleks empez\u00f3 a adentrarse en el mundo de la programaci\u00f3n. Por desgracia, o quiz\u00e1 por suerte, el manual de instrucciones de aquella m\u00e1quina estaba en franc\u00e9s y \u00e9l no conoc\u00eda el idioma. Durante un tiempo tampoco pudo conectar el ordenador a su televisor, debido a las diferentes normas de televisi\u00f3n, pero el manual mostraba programas de ejemplo en el lenguaje de programaci\u00f3n BASIC junto con el resultado de su ejecuci\u00f3n. Eso le bast\u00f3 para aprender a programar mentalmente, sin tener que escribir nada en un ordenador<\/p>\n<p>Su carrera como investigador empieza con su doctorado en la Universidad Carnegie Mellon, pasando por la Universidad de Harvard con un contrato posdoctoral para m\u00e1s tarde adentrarse en el mundo de la empresa en Microsoft Research en Cambridge y acabar en el Instituto IMDEA Software, lugar donde consigui\u00f3 una beca ERC por valor de dos millones de euros por el proyecto \u201c<a href=\"https:\/\/cordis.europa.eu\/project\/id\/724464\/es\"><strong>MATHADOR: Type and Proof Structures for Concurrent Software Verification<\/strong><\/a>\u201d. El proyecto, financiado por el programa <a href=\"https:\/\/research-and-innovation.ec.europa.eu\/funding\/funding-opportunities\/funding-programmes-and-open-calls\/horizon-2020_en\">Horizonte Europa 2020<\/a>, ha tenido una duraci\u00f3n de 6 a\u00f1os y finaliz\u00f3 el pasado 31 de marzo. &nbsp;Su investigaci\u00f3n, como indic\u00f3 el <a href=\"https:\/\/erc.europa.eu\/homepage\">European Research Council<\/a> en el momento de la concesi\u00f3n de la beca, es de alto riesgo porque propone nuevos fundamentos para la verificaci\u00f3n concurrente de software, pero tambi\u00e9n es muy beneficiosa, ya que la verificaci\u00f3n de software concurrente es uno de los problemas abiertos m\u00e1s importantes de la investigaci\u00f3n actual sobre <strong>lenguajes de programaci\u00f3n y sem\u00e1ntica<\/strong>.<\/p>\n<p>Un programa inform\u00e1tico, por ejemplo, de un coche el\u00e9ctrico tiene millones de l\u00edneas de c\u00f3digo y puede funcionar en el momento de su lanzamiento, pero eso no significa que no pueda tener errores. Encontrar los errores puede ser como buscar una aguja en un pajar, ya que implica tiempo y recursos. Si, adem\u00e1s, el error surge de la interacci\u00f3n defectuosa entre componentes que funcionan simult\u00e1neamente, como podr\u00eda ser la conexi\u00f3n con el GPS, los sensores de seguridad o una aplicaci\u00f3n de m\u00fasica, las dificultades se multiplican. En principio, se puede pensar en buscar los errores, pero en la pr\u00e1ctica esto requiere una cantidad de trabajo inviable. Para abordar realmente el problema, es necesario un enfoque radical.<\/p>\n<p>La <strong>programaci\u00f3n funcional<\/strong> <strong>y la teor\u00eda de tipos &#8211;<\/strong>centrados en el mundo acad\u00e9mico-, tienen sus ra\u00edces en la filosof\u00eda, la l\u00f3gica y las matem\u00e1ticas constructivas. Seg\u00fan Aleks: \u201cpuede que los programas funcionales no sean tan r\u00e1pidos de ejecutar como los imperativos (los que utiliza la industria del software), pero son mucho m\u00e1s f\u00e1ciles de escribir y de entender\u201d. Un programa imperativo con cientos de l\u00edneas de c\u00f3digo puede reducirse a menudo a unas pocas l\u00edneas en el lenguaje funcional. \u201cCuando programamos imperativamente, <strong>nos adaptamos a las m\u00e1quinas<\/strong>, en cambio, cuando programamos funcionalmente, <strong>hacemos que las m\u00e1quinas se adapten a nosotros<\/strong>\u201d comenta <a href=\"https:\/\/software.imdea.org\/~aleks\/\">Nanevski<\/a>. La idea de la programaci\u00f3n funcional es utilizar un lenguaje matem\u00e1tico tan minimalista, conciso y eficaz que facilite detectar los errores de programaci\u00f3n, que permita no cometer errores desde el principio.<\/p>\n<p>Coraje, valent\u00eda, paciencia y fe son algunas de las caracter\u00edsticas que definen a un investigador que eligi\u00f3 el camino largo y dif\u00edcil: \u00abempec\u00e9 con la intuici\u00f3n de que la concurrencia deber\u00eda ser abordada fruct\u00edferamente por la programaci\u00f3n funcional y la teor\u00eda de tipos, porque las apliqu\u00e9 previamente a la programaci\u00f3n no concurrente, lo que me permiti\u00e7o descubrir profundas conexiones con la llamada L\u00f3gica de Separaci\u00f3n, una idea importante y bien conocida en inform\u00e1tica. Sorprendentemente, hasta ahora esta intuici\u00f3n siempre se ha materializado, incluso cuando temporalmente parec\u00eda que no ten\u00eda ninguna posibilidad. Sin embargo, a\u00fan queda mucho camino por recorrer\u00bb, afirma Nanevski.<\/p>\n<p><a href=\"https:\/\/software.imdea.org\/~aleks\/\">Aleks<\/a> explica que su investigaci\u00f3n est\u00e1 relacionada con \u00abtodo y nada al mismo tiempo. Es un problema fundacional, lo que implica que est\u00e1 muy idealizado. Toma sus retos de las pr\u00e1cticas y tecnolog\u00edas existentes y elimina el desorden del mundo real, al tiempo que se esfuerza por destilar la cuesti\u00f3n b\u00e1sica fundamental. Esto hace que no tenga relaci\u00f3n directa con nada, pero tambi\u00e9n lo relaciona con todo, porque esa cuesti\u00f3n central es lo que significa que los programas interact\u00faen y se coordinen entre s\u00ed, y esta interacci\u00f3n surge en la Inteligencia Artificial, en el Internet de las Cosas y en todos los \u00e1mbitos intermedios. Debido a su universalidad, entender la cuesti\u00f3n matem\u00e1ticamente abrir\u00e1 posibilidades para las tecnolog\u00edas del futuro que hoy ni siquiera podemos imaginar\u00bb.<\/p>\n<p>\u00abEste proyecto ha recibido financiaci\u00f3n del <a href=\"https:\/\/erc.europa.eu\/homepage\">Consejo Europeo de Investigaci\u00f3n<\/a> (ERC) en el marco del programa de investigaci\u00f3n e innovaci\u00f3n <a href=\"https:\/\/research-and-innovation.ec.europa.eu\/funding\/funding-opportunities\/funding-programmes-and-open-calls\/horizon-2020_en\">Horizonte 2020<\/a> de la Uni\u00f3n Europea (Acuerdo de subvenci\u00f3n n\u00ba [724464])\u00bb<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Aleks Nanevski ha dedicado su vida a resolver uno de los mayores retos de la inform\u00e1tica, emprendiendo un largo y arriesgado camino para revolucionar nuestra forma de concebir la programaci\u00f3n en general, y la programaci\u00f3n concurrente en particular. Aleks Nanevski, investigador del Instituto IMDEA Software, descubri\u00f3 su pasi\u00f3n por las matem\u00e1ticas a los 10 a\u00f1os cuando un profesor de su colegio en Macedonia vio en \u00e9l aptitudes y empez\u00f3 a darle clases extraescolares. Desde entonces, comenz\u00f3 a participar en competiciones regionales y a la edad de 13 ya estaba en el podio de las competiciones nacionales. Aquel ni\u00f1o que despuntaba\u2026<\/p>\n","protected":false},"author":243,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"ngg_post_thumbnail":0},"categories":[],"tags":[51801,9264,36010,51803,51800,35,244,51805],"blocksy_meta":{"styles_descriptor":{"styles":{"desktop":"","tablet":"","mobile":""},"google_fonts":[],"version":4}},"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.madrimasd.org\/blogs\/Tecnologiasdelainformacionparaelmundodelmanana\/wp-json\/wp\/v2\/posts\/183"}],"collection":[{"href":"https:\/\/www.madrimasd.org\/blogs\/Tecnologiasdelainformacionparaelmundodelmanana\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.madrimasd.org\/blogs\/Tecnologiasdelainformacionparaelmundodelmanana\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.madrimasd.org\/blogs\/Tecnologiasdelainformacionparaelmundodelmanana\/wp-json\/wp\/v2\/users\/243"}],"replies":[{"embeddable":true,"href":"https:\/\/www.madrimasd.org\/blogs\/Tecnologiasdelainformacionparaelmundodelmanana\/wp-json\/wp\/v2\/comments?post=183"}],"version-history":[{"count":3,"href":"https:\/\/www.madrimasd.org\/blogs\/Tecnologiasdelainformacionparaelmundodelmanana\/wp-json\/wp\/v2\/posts\/183\/revisions"}],"predecessor-version":[{"id":187,"href":"https:\/\/www.madrimasd.org\/blogs\/Tecnologiasdelainformacionparaelmundodelmanana\/wp-json\/wp\/v2\/posts\/183\/revisions\/187"}],"wp:attachment":[{"href":"https:\/\/www.madrimasd.org\/blogs\/Tecnologiasdelainformacionparaelmundodelmanana\/wp-json\/wp\/v2\/media?parent=183"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.madrimasd.org\/blogs\/Tecnologiasdelainformacionparaelmundodelmanana\/wp-json\/wp\/v2\/categories?post=183"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.madrimasd.org\/blogs\/Tecnologiasdelainformacionparaelmundodelmanana\/wp-json\/wp\/v2\/tags?post=183"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}