tag:blogger.com,1999:blog-35092134.comments2011-12-02T13:03:07.816+01:00Just my thoughtsmiguehttp://www.blogger.com/profile/00380329298723040751noreply@blogger.comBlogger172125tag:blogger.com,1999:blog-35092134.post-91914471546236923782011-12-02T13:03:07.816+01:002011-12-02T13:03:07.816+01:00Me los apuntoMe los apuntoAnonymoushttps://www.blogger.com/profile/05631004736020219907noreply@blogger.comtag:blogger.com,1999:blog-35092134.post-71706268248550986262011-08-03T23:24:54.874+02:002011-08-03T23:24:54.874+02:00Recupérate pronto tío.
Un abrazo.Recupérate pronto tío.<br />Un abrazo.Da5idhttps://www.blogger.com/profile/05435023110628021460noreply@blogger.comtag:blogger.com,1999:blog-35092134.post-69743002215282868622011-05-24T22:42:57.043+02:002011-05-24T22:42:57.043+02:00Se este comentario es muy triste pero como lamenta...Se este comentario es muy triste pero como lamentablemente de informatica no puedo nada más que aprender de vd ahí va...<br />NO ES NATCH! te sobra la T! :-)<br />Y aunque no está mal sigo preferiendo barras y estrellas... lo mio con el rollo político no tiene cura....Gerardohttps://www.blogger.com/profile/02837957798504757393noreply@blogger.comtag:blogger.com,1999:blog-35092134.post-68733303210792411122011-04-20T00:03:09.896+02:002011-04-20T00:03:09.896+02:00Hola Migue,
En primero lugar perdona por el retra...Hola Migue,<br /><br />En primero lugar perdona por el retraso en responder pero esta última temporada he estado a 1000 por hora.<br /><br />Y también muchas gracias por pasarte por el blog y comentar.<br /><br />A ver si nos logramos entender :)<br /><br />(1) Muchos de los equipos que desarrollan IDEs para lenguajes que se ejecutan sobre la máquina virtual Java (Scala, Groovy, JRuby, etc) intentan aprovechar la estructura existente con el objetivo de minimizar el esfuerzo de la construcción de un nuevo IDE. En el caso de Eclipse existe una tecnología llamada JDT Weaving service que permite "adherirse" a los puntos de extensión expuestos por el JDT. Es un poco avanzado pero es bastante potente (puedes encontrar un mini-ejemplo aquí http://miguelinlas3.blogspot.com/2009/11/jdt-weaving-service.html).<br /><br />(2) ¿Por donde empezar? Pues es una tarea complicada. En un primer lugar tendrás que seleccionar el lenguaje para el cuál quieres construir el IDE. Si me permites un consejo, escoge un lenguaje con tipado estático, te facilitará mucho las cosas.<br /><br />(3) Una vez tengas claro el lenguaje para el cual vas a desarrollar el IDE tendrás que ver donde te encaja mejor y con que tecnlogías te sientes más cómodo. Tanto Eclipse, como Netbeans y también IntelliJ tienen la infraestructura necesaria para la construcción de nuevos IDEs. Yo tengo mucha experiencia con Eclipse y desconozco los otros dos así que mi opinión no creo que sea demasiado objetiva :).<br /><br />En mi caso, hace un tiempo, desarrollé un IDE basado en Eclipse para el lenguaje de programación R. Este proyecto está basado en unos proyectos de Eclipse llamados DLTK (son una especie de frameworks para la construcción de IDEs de lenguajes de scripting) que están muy bien.<br /><br />Si buscas el proyecto R-Eclipse en Google Code encontrarás todo el código fuente del proyecto.<br /><br />Si necesitas alguna cosa más en la que pueda ayudarte no dudes en preguntarme (mejor al email miguelinlas3@gmail.com)<br /><br />Un saludo y ánimo!<br /><br />Miguemiguehttps://www.blogger.com/profile/00380329298723040751noreply@blogger.comtag:blogger.com,1999:blog-35092134.post-12396318606649839032011-04-08T12:08:29.526+02:002011-04-08T12:08:29.526+02:00Hola tocayo y casi colega (estoy a falta del proye...Hola tocayo y casi colega (estoy a falta del proyecto para terminar la carrera).<br />He estado ojeando tu blog y me parecen muy interesantes los temas que propones. Este último sobre los Parsers, por ejemplo, creo que puede ser muy útil, y está, en cierto modo, relacionado con mi pregunta.<br />Resulta que mi proyecto consiste en desarrollar un IDE para un lenguaje de mi elección. En un principio creí que tenía que inventar un lenguaje y desarrollar también el compilador (de ahí la relación con este tema), pero no, puedo utilizar el lenguaje que quiera. El lenguaje que he elegido es Java, ya que debe ser del que se disponga de más documentación.<br />A este respecto, quería hacerte unas preguntas:<br /><br />(1) ¿Sabes dónde encontrar documentación (en español, el inglés lo dejo para cuando entregue el proyecto) sobre las últimas tendencias en desarrollo de IDEs?<br /><br />(2) ¿Y sobre cómo emprezar desde el principio el desarrollo del IDE?<br /><br />(3) El proyecto lo voy a desarrollar en Java y, en principio, iba a utilizar Eclipse, que es el que conozco, pero parece que encuentro más información sobre este tema en desarrollos realizados con Netbeans, que no lo he utilizado nunca. Teniendo esto en cuenta, ¿cual me aconsejas que utilice?<br /><br />Te agradecerá mucho tu ayuda, ya que ahora mismo estoy bastante perdido.<br /><br />Saludos.Miguenoreply@blogger.comtag:blogger.com,1999:blog-35092134.post-32095001792476168672011-02-22T00:54:59.647+01:002011-02-22T00:54:59.647+01:00Hola Miguel,
En primer lugar muchas gracias por p...Hola Miguel,<br /><br />En primer lugar muchas gracias por pasarte y dejar tu opinión. La verdad que se agrecede tener otros puntos de vista.<br /><br />Personalmente, y seguramente esto está un poco sesgado porque yo me siento muy cómodo con la orientación a aspectos :), el uso de aop me permite escribir código mucho más comprensible aunque en un principio pueda parecer lo contrario. Cuando surge el tema de la legibilidad/trazabilidad siempre pongo el mismo ejemplo: ¿te imaginas el shock que tuvo que suponer para los programadores de programas secuenciales, escritos en C, la aparición de la orientación a objetos? En cierto modo la OO también "dificulta" la legibilidad/trazabilidad de código.<br /><br />Los aspectos me permiten modularizar mi código de manera que puedo centralizar en un punto toda la funcionalidad relativa a una característica de mi desarrollo (por ejemplo la seguridad, o las transacciones, multihilo, etc) permitiendo que cada persona se centre en lo que realmente sabe hacer. Después, mediante la definición de reglas, puedo componer mi sistema de la manera que más me convenga.<br /><br />Aunque no conozco en profundidad C# ni Ruby, si que conozco Groovy en detalle, y soy consciente de que son una gran alternativa gracias a sus técnicas de metaprogramación. Creo que las alternativas son buenas y tendremos que escoger la solución que mejor satisfaga nuestras necesidades en un determinado instante.<br /><br />Respecto al reemplazo en tiempo de ejecución, tienes toda la razón; generalmente el proceso de weaving se realiza en tiempo de compilación por lo que para reemplazar una funcionalidad deberíamos recompilar nuestro sistema si necesitamos hacer uso de un aspecto diferente. Existe otro tipo de tejido que se realiza en tiempo de carga (el tejido se realiza en el momento en el que se carga una clase en un classloader) y con el que podríamos realizar otro tipo de soluciones diferentes a las que nos ofrece el tejido en tiempo de compilación.<br /><br />Hasta el punto anterior me he referido única y exclusivamente a los "aspectos tradicionales" que me permiten modularizar la funcionalidad y construir mi sistema en función de unas reglas de tejido.<br /> <br />Respecto a los Inter Type Declarations (ITDs) . . . , y aunque no te lo creas, son una característica que, aunque tienen mucho tiempo, ha adquirido cierta popularidad en la actualidad con la aparición de Roo (como bien dices, Roo utiliza esta característica de manera notable). El uso de esta característica del lenguaje me permite hacer cosas que no puedo hacer con Java, como Traits (algo que si puedo hacer en Scala).<br /><br />¿En resumen? (opinión personal), creo que AspectJ es una gran alternativa aunque bien es cierto que la popularidad de los lenguajes dinámicos y sus técnicas de metaprogramación son una gran alternativa (los lenguajes dinámicos son una tecnología "relativamente joven" por lo que creo que tardarán en convertirse en algo ampliamente difundido, sobre todo en el mundo empresarial, aunque bien es cierto que cada vez tienen más adeptos).<br /><br />Ya termino :). Creo que cuantas más alternativas tengamos en nuestra caja de herramientas tendremos la opción de desarrollar programas de mejor calidad, más comprensibles y mantenibles. En función del tipo de desarrollo que vayamos a acometer tendremos que escoger la herramienta que mejor se adapte a nuestras necesidades.miguehttps://www.blogger.com/profile/00380329298723040751noreply@blogger.comtag:blogger.com,1999:blog-35092134.post-46764954269075147632011-02-22T00:18:27.858+01:002011-02-22T00:18:27.858+01:00Hola Miguel,
Me ha gustado mucho tu post, es rea...Hola Miguel, <br /><br />Me ha gustado mucho tu post, es realmente interesante. <br /><br />Me gustaría darte mi opinión acerca de la definición de aspectos (ITD), un tanto basada en la tipología de los proyectos en los que me veo envuelto.<br /><br />Muchas veces en pro de realizar un diseño que sea adaptable tendemos a extraer a configuración la definición de las dependencias que de otra manera estarían declarada explícitamente en el código. A veces esas dependencias toman la forma de declaraciones Inter-type en AspectJ, cuyo tejido es realizado en tiempo de compilación. (Roo por ejemplo, abusa de esto.)<br /><br />Bien el caso es que si parte de la lógica es modularizada de esta forma, nos encontramos ante una explosión de artefactos*, que a mi modo de verlo, no hacen otra cosa que complicar la legibilidad del código y lo predecible de su comportamiento, y sin embargo, al ser dependencias que se enlazan en tiempo de compilación, no permiten ser sustituidas ante un cambio de los requerimientos en runtime.<br /><br />El caso es que aunque puede parecer elegante, me parece llevar al extremo un concepto que ya está resuelto de forma más elegante en otros lenguajes como en C# (extension methods y partial classes) o en Ruby, Python, et. al (Open classes)<br /><br />Me gustaría saber qué opinas tú a este respecto.<br /><br />Un saludo, y gracias por el blog.<br /><br />*con artefactos me refiero a http://en.wikipedia.org/wiki/Artifact_(software_development), no al significado que guarda relación con Maven.Miguelhttps://www.blogger.com/profile/05816235478076420451noreply@blogger.comtag:blogger.com,1999:blog-35092134.post-43568849244473520052010-11-22T12:43:34.125+01:002010-11-22T12:43:34.125+01:00Dude, you have taken me to this wonderful site cas...Dude, you have taken me to this wonderful site casadellibro.com/..thanks a lot and have already ordered some books..cool! <br /><br /><br /><a href="http://www.samplecvs.org/engineering-cv/network-engineer-cv.html" rel="nofollow">Network Engineer CV</a>smplcvhttps://www.blogger.com/profile/13570881075216641509noreply@blogger.comtag:blogger.com,1999:blog-35092134.post-50798243885505849442010-11-04T09:09:22.428+01:002010-11-04T09:09:22.428+01:00Eres un friki sin remedio, por eso te gusta... Eso...Eres un friki sin remedio, por eso te gusta... Eso sí, ya sabes que lo de friki te lo digo con todo el cariño del mundo :)Andrehttps://www.blogger.com/profile/03615947419397028496noreply@blogger.comtag:blogger.com,1999:blog-35092134.post-15091321854926577482010-08-25T16:47:43.673+02:002010-08-25T16:47:43.673+02:00Que tengas mucha suerte crack, te la mereces...Que tengas mucha suerte crack, te la mereces...Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-35092134.post-79917574468540942132010-08-12T19:22:30.014+02:002010-08-12T19:22:30.014+02:00¡Felicidades Migue! Ya quedaremos y me contarás co...¡Felicidades Migue! Ya quedaremos y me contarás con más calma qué tal pinta el nuevo trabajo (a priori, por lo que he visto, muy bien :))Da5idhttps://www.blogger.com/profile/05435023110628021460noreply@blogger.comtag:blogger.com,1999:blog-35092134.post-45528532140314654142010-07-11T09:45:35.498+02:002010-07-11T09:45:35.498+02:00Pues me habia puesto el otro a recopilar tus posts...Pues me habia puesto el otro a recopilar tus posts de aop (benditas tags) pero si me pasas los fuentes....eso que me ahorro.<br /><br />Por cierto, gran curro. :D.Ivan Arrizabalagahttps://www.blogger.com/profile/00465657192622981946noreply@blogger.comtag:blogger.com,1999:blog-35092134.post-16710877491386589322010-05-30T05:53:45.825+02:002010-05-30T05:53:45.825+02:00esta muy bueno pero me gustaria saber como se crea...esta muy bueno pero me gustaria saber como se crea una instancia y como puedo llamr metodos de la clase singletonAnonymousnoreply@blogger.comtag:blogger.com,1999:blog-35092134.post-22538237762063921832010-05-13T20:37:33.233+02:002010-05-13T20:37:33.233+02:00Animo con el doctorado que luego será otra cosa ;-...Animo con el doctorado que luego será otra cosa ;-)<br />El inglés fácil por Dios, que sacandome de blue, red y table me hundesChinoatakuhttps://www.blogger.com/profile/03180136926336893207noreply@blogger.comtag:blogger.com,1999:blog-35092134.post-79999522786279967092010-04-08T23:55:03.637+02:002010-04-08T23:55:03.637+02:00Hola Luis,
Si, trabajó con nosotros durante una t...Hola Luis,<br /><br />Si, trabajó con nosotros durante una temporada.<br /><br />¿Estás tu currando en Treelogic también o estuviste para un proyecto concreto?miguehttps://www.blogger.com/profile/00380329298723040751noreply@blogger.comtag:blogger.com,1999:blog-35092134.post-11197403496142098552010-04-07T14:00:52.202+02:002010-04-07T14:00:52.202+02:00Andaaaa que bien vivimos... Estuve currando en Tre...Andaaaa que bien vivimos... Estuve currando en Treelogic en un proyecto de fwpa y estaba allí un chaval que te conocía, Jesús que era de Avilés, había trabajao contigo en Neo en Gijón. Pásalo bien crack!Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-35092134.post-2380932577265531402010-03-26T15:12:09.044+01:002010-03-26T15:12:09.044+01:00Gracias Migue.
La pena (para los usuarios) es ten...Gracias Migue.<br /><br />La pena (para los usuarios) es tener dos proyectos similares paralelos en vez de colaborar juntos para tener un único mejor entorno...<br /><br />Un saludoEnriquehttps://www.blogger.com/profile/11892549062426309801noreply@blogger.comtag:blogger.com,1999:blog-35092134.post-79686331013342413652010-03-25T11:45:11.538+01:002010-03-25T11:45:11.538+01:00Hola Enrique,
El motivo principal de comenzar est...Hola Enrique,<br /><br />El motivo principal de comenzar este proyecto fue la entrega de mi fin de carrera :).<br /><br />Conocía la existencia de StatET pero había ciertas cosas que,en el momento de comenzar el desarrollo, no estaban disponibles: soporte para ejecución de intérpretes remotos, formateo de código, depurador, etc<br /><br />Además, me servía como base para mis intenciones iniciales, construir una herramienta similar a Sas Enterprise Guide.<br /><br />Un saludo y gracias por comentar,<br /><br />Miguemiguehttps://www.blogger.com/profile/00380329298723040751noreply@blogger.comtag:blogger.com,1999:blog-35092134.post-32016345427613918922010-03-25T11:27:57.385+01:002010-03-25T11:27:57.385+01:00Hola,
No acabo de entender el objetivo del proyec...Hola,<br /><br />No acabo de entender el objetivo del proyecto cuando ya existe StatET, un plugin para usar R desde Eclipse, que es open source y que funciona estupendamente.<br /><br />Un saludoEnriquehttps://www.blogger.com/profile/11892549062426309801noreply@blogger.comtag:blogger.com,1999:blog-35092134.post-22428629381060028292010-03-19T23:22:57.209+01:002010-03-19T23:22:57.209+01:00Tengo ganas de verlo, seguro que debe de ser la pe...Tengo ganas de verlo, seguro que debe de ser la pera! Ánimos!Jesus Figuereshttps://www.blogger.com/profile/09282185274333976137noreply@blogger.comtag:blogger.com,1999:blog-35092134.post-77137050955754102712010-03-19T21:51:00.909+01:002010-03-19T21:51:00.909+01:00Mola. Muchos ánimos para el proyecto..Mola. Muchos ánimos para el proyecto..josehttps://www.blogger.com/profile/02878062434979153308noreply@blogger.comtag:blogger.com,1999:blog-35092134.post-44018534214129628392010-01-23T17:27:17.375+01:002010-01-23T17:27:17.375+01:00Ánimo Miguelín que todavía estamos aquí en Asturia...Ánimo Miguelín que todavía estamos aquí en Asturias algunos comiéndonos los mocos. Y eso claro que cuando sale algo de curro tampoco pidas cobrar más de 900 euros...Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-35092134.post-84293865582382302942010-01-22T10:12:08.197+01:002010-01-22T10:12:08.197+01:00No te desanimes, supongo que esa misma sensación l...No te desanimes, supongo que esa misma sensación la hemos tenido muchos en este país de comerciantes. Sigue probando al fin y al cabo todavía no pierdes nada y estás empezando. <br /><br />ÁnimoYeray Caballerohttps://www.blogger.com/profile/04101291199711250235noreply@blogger.comtag:blogger.com,1999:blog-35092134.post-5913987763913068422010-01-17T20:01:24.464+01:002010-01-17T20:01:24.464+01:00Muchas gracias a ti por hacernos pasar un rato inc...Muchas gracias a ti por hacernos pasar un rato increiblemente divertido.<br /><br />Sinceramente, creo que tienes un espectáculo excelente y por eso se lo recomiendo a la (seguro que poca) gente que pueda leer este pequeño blog: creo que las cosas buenas hay que compartirlas :).<br /><br />Muchas gracias por pasarte por aquí.<br /><br />Un abrazo.<br /><br />Miguemiguehttps://www.blogger.com/profile/00380329298723040751noreply@blogger.comtag:blogger.com,1999:blog-35092134.post-62330590254018905622010-01-17T19:45:54.893+01:002010-01-17T19:45:54.893+01:00Pues que quieres que te diga, que google me ha tra...Pues que quieres que te diga, que google me ha traído aquí, y que gracias, muchas gracias.<br />Al margen del trabajo técnico lo que hago sólo tiene un secreto: Entregrarme enteramente cada función, como si fuese la última. Por eso me llena de orgullo y satisfacción (como Juancar) que alguien que ha vendio a verme al teatro diga cosas como éstas, y que además se tome la molestia de recomendarlo a los demás. Insisto: Gracias.<br />Un abrazo.<br /><br />Goyo JiménezGoyo Jiménezhttps://www.blogger.com/profile/08970974690178539709noreply@blogger.com