My name is Igor Dejanović. I work as an associate professor at the University of Novi Sad where I do research and teaching in software engineering, mostly focused on language engineering (whenever possible). Several years ago I started a course on DSLs at the master programme in Software Engineering; my small contribution to the spreading of the DSL approach.
I also do a freelance work based around open-source software I’ve developed in the last 10 years. I’m initial author and maintainer of textX, a meta-language in Python inspired by Xtext which I started working on as I was impressed by Xtext (been using it from the early days while it still was part of OpenArchitectureware ) but wanted something mode lightweight.
Starting from MDE/MDD in the early days of my career (mostly EMF & friends) I gradually moved to textual DSLs (Xtext & Spoofax) and today I mostly work with parsers and textual DSLs although I do believe that a concrete syntax is important and should be aligned with the domain. It’s just that I got deeply involved with parsing and now feel safe among textual languages
I look at MDE/MDSD/DSL/DSML… as a slightly different views of the same basic idea. I don’t make difference between program and model, except maybe that the model might not be complete (executable).
I admire MPS for its ahead of time advanced ideas but never got a chance to do some work with it and learn the tool.
In the recent years, besides teaching, I kept myself busy working on parser libraries, DSLs in the domain of Power Electronic, parsing and analysis of law documents, parsing/analyzing and transformation of legacy software systems.
I’m really excited by the Federico’s initiative to form this community as I think that an online forum where we can get in touch, get to know each other, share ideas, approaches and get different opinions on the subject is invaluable. I look forward to learn more about the members of the community and the cool stuff they are working on.
Regarding teaching DSLs, we were discussing in another topic the fact that there is probably a list of universities wither courses on DSLs. Are you aware of one?
One thing I would like to do is giving a 1-2 hours seminar at Italian Universities where DSLs are not taught. Perhaps this could help a little spreading ideas.
Regarding textX, I share the need for lightweight solutions: while I love Xtext the whole Eclipse and EMF infrastructure always seemed very rich but also very complex to me. Also, not very flexible to integrate in other stuff. Something Python based is great: one of the top articles on my blog is “parsing in Python”. This surprised me.
Thank you for supporting this community!
I’m not aware of such list. That would be great. I’ll comment on the post to keep it in context.
While Eclipse/Xtext/EMF ecosystem is great and I learn a lot there most of the time what one need is a pragmatic solution, a quick way to create a language, play with it, deploy it without the need for heavyweight tooling, dependencies and build processes. Python really excel in pragmatism, I see it picked up by data scientist and other professionals who are not software engineers by profession so it’s
no wonder your “parsing in Python” article is at the top :). The downside of Python is in the performance area so probably it’s not the greatest fit for parsing a large amount of text (e.g. a large legacy code bases) so these days I’m trying to learn Rust in the effort to port some of the tools for better performance, easier deploy (single binary), static type checking, memory safety guarantees etc.
Two members (so far) have mentioned the performance issues with Python. I haven’t played much with Python other than a few hours of investigation a few months ago. These are good information. Thank you.