Ir al contenido principal

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 es lo que menciona el autor del enfoque comprimido donde las universidades reducen el número de cursos intermedios por lo que los restantes deben de cubrir al menos lo que antes cubrían los eliminados, por lo tanto si nosotros combinamos estos cursos de manera especializada en este caso la construcción de compiladores con desarrollo web va a tener un impacto más grande y útil en los estudiantes porque se pueden aplicar soluciones prácticas en diferentes problemas que se presenten en cualquiera de las áreas

En el artículo el autor nos habla de los conceptos básicos de una aplicación web y nos explica con ejemplos y con código para que sea mucho más comprensible para el desarrollador. Así como aspectos importantes a considerar para el diseño del lenguaje y sobre la seguridad de este. También nos habla un poco de los conceptos de HTTP, TCP (que en mi caso conozco muy bien por mis cursos de redes) y otros que son bastante importantes para una aplicación web. Nos habla del método más común para desarrollar un servidor, el cual se encargará de escuchar todas las solicitudes de los clientes.

Finalmente el autor comparte su experiencia con sus estudiantes en la que nos habla de cómo imparte todos estos temas de manera más sencilla y fácil para que se puedan entender conceptos, comentarios que sus alumnos hacen sobre los cursos y que al final de cuentas estas áreas en un proyecto puede aumentar el interés de estudiantes que no sean del todo aficionados de un tema en específico, pero que pueden ayudarles a entender de manera más lógica y sencilla como es que se trabaja en estas áreas de la informática aplicando principios, conceptos y métodos que al mismo tiempo amplifica las opciones de empezar una carrera profesional.

Comentarios

Entradas más populares de este blog

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

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