Entradas

Todos para uno y uno para todos

  En esta entrada de blog hablaré sobre el artículo “Pair Programming” escrito por Birgitta Böckeler and Nina Siessegger, me pareció realmente curioso que esta práctica como menciona en la introducción, que no tiene una adopción regular en la industria de software porque sus beneficios no son a corto plazo, sino son percibidos a mediano y a largo. Esto me pareció realmente curioso, ya que hemos abordado esta práctica en otra clase llamada “Calidad y pruebas de Software”, donde se mencionaban sus beneficios, de tal forma que en un proyecto decidimos usarlo, porque empezamos a tener dificultades en él, y realmente resultó de buena forma, viendo la otra persona errores en el código ya hecho y en él que se estaba realizando apenas, además de facilitarse un poco más al realizarse de forma virtual que física. Para esta forma de “pair-programming” usamos el estilo del manejador y navegador, ya que era un compañero quien hacía el código, y yo cumplía el rol del navegador, para verificar los er

Recoger la basura es un arte

  En esta entrada hablaré sobre la ponencia con nombre “A New Age of JVM Garbage Collectors” por Alexander Yakushev, me pareció interesante como planteó su método para atraer la atención diciendo que otras personas pueden saber más acerca de este tema, pueden ser más inteligentes, y su manera de dar el enfoque o el propósito de su ponencia. En futuras exposiciones podría considerarlo como método de gancho. La importancia del recolector de basura en los programas es fundamental, ya que sin éste se tendrían que agregar más más máquinas haciendo completamente ineficiente el uso de recursos, por lo que tener un protocolo para manejar esta memoria se hizo fundamental, se han diseñado diversos protocolos para resolver este problema. La estrategia “Manual memory management” es insegura, y se tiene que hacer de forma manual esta liberación de memoria, por lo que tal vez no es la mejor opción, a continuación se explicó “Automatic reference counting” donde la variables al momento de dejarse de u

En lenguaje que crea lenguajes

En esta entrada comentaré del artículo “Roots of Lisp” por Paul Graham, lo cual nos habla sobre una contribución hecha por John McCarthy a la programación de la misma relevancia que Euclides hizo a la geometría, que consistía con el uso de operadores y funciones que nos permitirán hacer un lenguaje completo de programación. Me pareció muy interesante, la manera en como nos va explicando lo que McCarthy proponía para entender este tan interesante artículo, nos habla primero de la base de todo denominado como átomo, lo cual es una secuencia de letras o una lista de cero o más expresiones, las cuales tienen un espacio blando entre ellas y adentro de un par de paréntesis. Y la forma en cómo estas expresiones pueden irse convirtiendo en funciones de un lenguaje de programación que se va creando, y la manera en como las estas expresiones atómicas se van convirtiendo en las funciones que día a día vamos usamos en el lenguaje de Clojure. Y como hace la analogía para un intérprete que podríamos

Conociendo las causas

Imagen
 

La herramienta para alcanzar las metas

  En esta entrada de blog, voy a comentar de un podcast “Dick Gabriel on Lisp” producido por Software Engineering Radio, que habla sobre Lisp y su importancia en el software, sobre como puede ayudar a alcanzar los objetivos de la inteligencia artificial.   Un aspecto que mencionó y me pareció interesante fue que los programas y los datos son considerados iguales.   Otro aspecto importante y que me pareció interesante fue el hecho de como era concebido el concepto de inteligencia artificial donde se trataba de poder hacer programas que pudieran denotar o plasmar ciertos rasgos humanos, y la única forma de poder llegar a ello, era experimentando, haciendo que un programa se vaya construyendo a sí mismo, como la analogía que hizo Dick en el podcast, y de esta forma se llegó a los lenguajes funcionales, que era la forma en que los programas eran construidos a sí mismos, además que cuando son ejecutados, significa que ellos mismos se ejecutaban.     El concepto del “message passing” donde e

Ellas, el pilar de la programación

  En esta entrada del blog, hablaré sobre la importancia de las mujeres, específicamente en el mundo de la programación, al leer el artículo “The Secret History of Women in Coding”, escrito por Clive Thompson.   Me pareció interesante y muy fascinante, que las mujeres hayan estado desde los inicios de la computadora, teniendo papeles muchas veces más relevantes que los hombres en la realización de proyectos fundamentales para el desarrollo de las ciencias computacionales, pero hay algo que me mantiene muy intrigado y preocupado porque a pesar de ser una disciplina fundada por mujeres, actualmente o durante su historia, el número de mujeres en comparación al de los hombres es significativamente menor.   Otro aspecto en el punto de la historia, que me causó cierto enojo, fue que sus compensaciones laborales y reconocimientos laborales fueron y son menores que al de los hombres, un claro ejemplo de esto, fue en la presentación de la ENIAC, los gerentes del proyecto no mencionaron a las mu

Una nueva forma de programar

  En esta entrada del blog, hablaré acerca del artículo “The Promises of Functional Programming” por Konrad Hinsen. Algo interesante de este artículo, fue que a pesar de que la programación imperativa es más fácil para compilar para una computadora, la programación funcional ha ido en crecimiento, debido a su robustez más alta y fácil de probar que la imperativa. Y el mayor uso de este tipo de programación es en el Matemática, pero esta área no es usada comúnmente para hacer programas esenciales complejos.   Me llamo mucho las diferencias principales con la programación imperativa es sobre la asignación de variables y sobre la omisión del loop, pero lo que más me interesó o me pareció el mayor diferenciador fue el llamado “chain call” para poder probar el comportamiento de la mejor manera posible, donde podíamos ver realmente como evoluciona el programa.   La forma de programar en los lenguajes funcionales es el salir un poco de la caja, de la forma a la cual nos han estado enseñado a