--
Has recibido este mensaje porque estás suscrito al grupo "paco-docentes" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a paco-docente...@googlegroups.com.
Para acceder a más opciones, visita https://groups.google.com/d/optout.
Yo venía pensando que "lo ideal" es que Objetos3 pase a ser dos materias.1) Objetos 3 quedaría con las partes de modelos alternativos y metaprogramación.Dadas las condiciones actuales de la carrera y los conocimientos que traen los chicos, creo que es necesario darle bastante bola a "modelado con objetos"... que al modelado sobre los conceptos específicos de la materia se agrega una parte importante de "repaso" de los conceptos de modelado más tradicionales.Hoy en día se utiliza mucho Javascript en la industria y se empezó a usar con una idea de diseño un poco más acabada que hace algunos años, así que yo estaría tentado a darle bola a eso porque hay una intersección importante entre (a) temas teóricos que uno podría querer mostrar en la materia y (b) cosas de aplicación actual en la industria. Estoy bastante tentado de usar Javascript para mostrar:- Objetos sin clases (que en otro momento preferíamos Self o Ioke... creo que hacerlo en Javascript le agregaría un valor extra a pesar de las limitaciones con respecto a esos dos).- Combinaciones con otros paradigmas, uso de funciones, asincronismo... técnicas de modelado que incluyan todos esos temas.- Y me pregunto seriamente si no usarlo para mostrar metaprogramación en lugar de Ruby.- También sirve como ejemplo de lenguaje dinámico.Otros temas tradicionales de Obj3/PHM- Mixins... podrían quedar, no sé si son indispensables. Lo más interesante es hacer un TP entero en Scala, modelando con funciones, en lenguaje estático pero más flexible que Java, si hacemos todo eso cabe agregarle mixins.- Aspectos... me da lástima perderlo, creo que es un tema que hoy se sigue usando pero ya no en la forma en la que lo veníamos mostrando.... hay que darle una vuelta.- Tipos y/o binding... si bien no es el objetivo de la materia tener un tratamiento exhaustivo de estos temas, creo que vienen con muchas dudas y que es necesario tomarse algún tiempo para aclarar esos conceptos. La sola experiencia de postergar esa clase hasta la mitad de la materia que hicimos en los últimos dos cuatrimestres para mí fue negativa porque francamente no entienden qué es estático, qué es dinámico, qué es un tipo... es base para explicar todo lo demás.En resumen la materia podría tener foco en tres TPs: uno en Scala, otro en Ruby, otro en Javascript. En los tres el foco estaría más que nada en "modelar con objetos", pero en cada caso aprovechando alguna característica específica.Scala: Mixins, tipado estático, tipos estructurales, tipos paramétricos.Javascript: Ausencia de clases, asincronismo.Ruby: MetaprogramaciónEn los tres: lambdasSi me tengo que bajar de uno me bajaría de Ruby y le bajo la prioridad a metaprogramación.Insisto en focalizar el tema de "modelado", usando formas avanzadas ("avanzadas"... ponele) de modelado, por ejemplo yo veo muchos chicos que para modelar cualquier cosa quieren hacer una clase, no entienden que pueden modelar distintos conceptos con instancias de una clase configuradas distintas, o usar bloques para modelar algo.Programación declarativa podría ser considerado como un tema de "modelado avanzado" o podría ir a parar a la próxima materia.2) Materia de lenguajes...En Quilmes es complicado porque ya hay algunas materias que hablan de estos temas. En UTN está la que propuso Ernesto. En la UNSAM si se abre la licenciatura entiendo que la materia de lenguajes la daríamos nosotros así que ahí es más fácil. En cada caso hay que ver cómo se engancha... pero las ideas que se me ocurren son:- El TP más grande sería lo mismo que se está haciendo hoy, DSLs en XText. Esa sería la segunda mitad de la materia, aprovechando todas las herramientas de XText para armar un IDE. La versión fácil es hacer TPs que generen código, me dieron mucho resultado los que generan HTML, sobre esa base se pueden hacer muchas cosas interesantes.- Lindo pero más heavy y no sé si entra es hacer un pequeño intérprete sobre un lenguaje simple... qué se yo, me tienta mucho pero le veo menos aplicación "industrial". Lo dejo para pensar.- La primera parte de la materia podría aprovechar a meter teoría sobre gramáticas y todas las cosas que hoy usamos "intuitivamente" sin formalizar (bah, las que no se incluyan en materias anteriores).- Además estaría bueno hacer algún DSL en otras tecnologías además de XText, ponele usando parser combinators en Scala o Haskell.- Por completitud uno se tienta de hacer algún DSL embebido, pero en la práctica nunca me resultó fácil hacer una práctica/TP interesante así que no sé.Resumen: más teoría + tp chiquito de parser combinators en Scala + tp grande en XText con generación de códigoResumen2: mucho foco en DSLs que tengan aplicación industrial.2015-05-28 13:44 GMT-03:00 Mariana Matos <mmat...@gmail.com>:Hola CarlonoEn TADP actualmente no se está dando más DSLs, ahora estamos viendo alternativas a herencia simple y metaprogramación en la primer parte de la materia y en la segunda vemos programación mezclando objetos y funcional (usamos Ruby la primer mitad y Scala la segunda).De cuando todavía dábamos DSLs, teníamos una clase de declaratividad antes de empezar a hablar de DSLs y una clase de tipado más al principio, antes de ver metaprogramación, que por ahí quedaba medio descolgada del resto de la materia (pero tomábamos un parcial de polimorfismo y sobrecarga). La de tipado era la parte más discutible de la planificación vieja, que manteníamos porque considerábamos que era un bache de los pibes que teníamos que cubrir más que nada.Saludos!
--
Has recibido este mensaje porque estás suscrito al grupo "tadp-profesores" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a tadp-profesor...@googlegroups.com.
Para acceder a más opciones, visita https://groups.google.com/d/optout.
--
Has recibido este mensaje porque estás suscrito al grupo "tadp-profesores" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a tadp-profesor...@googlegroups.com.