Ir al contenido principal

Entradas

Lin Clark on WebAssembly

El podcast estuvo un poco largo, pero muy interesante con mucha información sobre WebAssembly y la forma en que Lin Clark hace mas rápida y eficiente la programación web. Esto me recuerda a un articulo que leemos sobre correr un compilador en la web y las ventajas y beneficios que tenia, una de las mas destacables era el interés que despierta esto en nosotros como alumnos. Profundizando en este razonamiento, tal como lo menciona Lin Clark, los accesos directos que se agregan constantemente a JavaScript solo pueden compensar en un grado limitado las filosofías de diseño del lenguaje en su conjunto. Por lo tanto, WebAssembly viene como una solución diseñada para abordar las limitaciones de rapidez y eficiencia de JavaScript, sin embargo, esto no debe verse como un nuevo lenguaje de alto nivel, es más bien un módulo de nivel inferior que permite que otros lenguajes tengan un objetivo de compilación y se ejecuten en el web, como C/C++. Por otro lado, WebAssembly no debe verse como un reemp
Entradas recientes

Building Server-Side Web Language Processors

Después de leer este artículo estoy completamente de acuerdo con la idea y la visión general del autor Ariel Ortiz, en este artículo que nos presentó sobre los beneficios de usar un enfoque web para desarrollar un procesador de lenguaje donde se nos explica como a veces es más interesante ver un compilador funcionando en un enfoque web que en la propia terminal. Sólo que el único inconveniente es que el nivel de complejidad del proyecto va a aumentar donde necesitaremos de tiempo extra y material extra, sin embargo los resultados pueden ser muy gratificantes. Fuera de la complejidad y ampliando los beneficios del enfoque web puedo visualizar que este proyecto puede contribuir al desarrollo de habilidades útiles por parte de los estudiantes, ya que el desarrollo web es una de las áreas más destacadas de la programación así como una de las más necesitadas debido a que todos se están mudando de manera prácticamente en Internet. Además como otro beneficio y siento que es algo fundamental e

Language Design and Implementation using Ruby and the Interpreter Pattern

Éste artículo me pareció muy interesante y sobretodo muy educativo, ya que habla principalmente sobre un Framework llamado S-Expression Interpreter Framework que es un DSL que involucra el uso de lenguajes Ruby y permite construir S-Expressions como lenguajes funcionales (que para este punto de la carrera ya lleve una materia en el que ya puedo comprender más el propósito, la sintaxis y sobre todo un poco el ambiente en el que se se desarrollan estos lenguajes) como Lisp, Clojure etc mediante la implementación del patrón de intérprete A decir verdad Ruby es un lenguaje completamente nuevo para mí, ya que nunca había programado en este lenguaje, de hecho si había escuchado hablar de lenguaje que se está tornando popular y es por eso que en este artículo se menciona que se usa como parte educativa, pero jamás he programado en él y no conocía muchas de las características que tenía este lenguaje por lo que resulta muy interesante la implementación del patrón de intérprete en este lenguaje

Mother of Compilers

Sin duda alguna lo que hizo Grace Hopper ha marcado mucho la computación, el software y en general toda la informática puesto que sus contribuciones se reflejan hoy en día y han evolucionado, pero siempre han tomado la base de lo que ella hizo. En general siempre he admirado su biografía, ya la había revisado en clases anteriores y también por curiosidad, sin embargo nunca había escuchado que había sentado las bases para los compiladores y para COBOL, sabía que ella había propuesto o de cierta manera había usado el término " bug ",  pero de los compiladores no tenía idea y eso fue algo nuevo para mí y eso se suma a una lista tan larga de todos los logros y reconocimientos que tiene su legendaria carrera. Algo que he admirado mucho de ella es como logró distinguirse en una industria dominada por hombres e inclusive en aquellas épocas aún cuando existía una gran parte de mujeres trabajando en el software siempre se le atribuyó la ingeniería informática a una carrera de hombres.

Internals of GCC

La cosa más interesante que se me vino a la mente después de escuchar este podcast es sobre la tendencia de qué los procesadores deben tener más núcleos para abordar mejor las tareas para la paralelización por lo que los compiladores deben de cambiar para aprovechar mejor los avances tecnológicos y creo que se está logrando bastante rápido con nuestra arquitectura x86 La modularidad de los componentes de GCC también es bastante impresionante y tienen sentido, en un extremo  lo que cambia es el lenguaje que estamos leyendo e interpretando y una vez que llegamos a una estructura universal el proceso del compilador GCC debería ser el mismo y el front-end y el back-end podrían ser intercambiables mientras que el medio sigue siendo el mismo por lo que me viene la mente mucho los bloques que usamos para construir compiladores e intérpretes los primeros que vimos en clase Una de las cosas que mencionó el entrevistado que me pareció muy curiosa es que cuando la representación del árbol no exis

The Hundred-Year Language

        El contenido de este este ensayo me llamo mucho la atención porque ha tocado uno de los temas que más he escuchado últimamente y no veo el por qué tanta prisa en descubrir cuál será el lenguaje dentro de 100 años, pero si es interesante, o sea sé que no voy a vivir para poder verlo, pero en si el ensayo toca muchos temas en el que se hacen preguntas a cuestiones informáticas y sobretodo de programación puesto que hemos visto que se han inventado muchos lenguajes de programación a lo largo de los años y en menos de 50 años pudimos tener un progreso muy grande, por lo tanto yo creo que en 100 años algunas reglas van a cambiar y más con esta gran tendencia de los estudios que están realizando para la computación cuántica.  Aparte el ensayo es muy interesante porque nos habla de algunos lenguajes que ya están muriendo como COBOL que es un lenguaje de programación muy popular y he escuchado que se usa mucho en la industria del banco o financiera, pero pues está muriendo porque no h

Haciendo el Diseño de Compiladores mas relevante a los estudiantes

El artículo me pareció muy interesante y al principio muy exacto al describir que probablemente nosotros como profesionales de computación no estaríamos laboralmente trabajando para el diseño de un compilador y es cierto al menos en mi caso nunca me pasó por la mente el desarrollar esta actividad como parte de mi carrera y tampoco tenía idea de qué iba a visualizar una materia de esta naturaleza, sin embargo algo que es muy acertado en el artículo es sobre la utilidad que puede tener la materia en otros aspectos y otros problemas de informática.   Algo que también me gustó del artículo (algo que ya habíamos visto en clases previas) es sobre la explicación de las fases de un compilador (lexical analysis and parsing; semantic analysis; code generation; and code optimization) y aquí las  van explicando de forma muy concisa y siento que las entendí y las reforcé mucho más debido a que pone ejemplos y uno de los más significativos es el de LaTex con HTML. La verdad sentí una explicación más