Replies: 1 comment
-
Hi @brucou, thank you for introducing yourself and I'm glad to hear that you are interested in using Langium for your own use case. Reading your struggles with Xtext, I guess I can elaborate a bit on why we chose to develop Langium. At TypeFox we provide professional support for businesses regarding DSL development and IDE tooling, mainly working with Xtext in the DSL department. Having heard a lot of pain points about Xtext (unnecessary deep EMF integration, obsolete Java stacks, etc.) in the recent years from customers that are accustomed to a web stack, we decided to try something new, starting Langium with the simplest design that we could imagine. Help in any form - especially on documentation (since I'm really lazy at documenting stuff) - is heavily appreciated. We plan to release a documentation page in the near future, which we will probably use for general documentation, tutorials, API docs and everything else regarding Langium. Like for Langium itself, everyone will be able to improve the website content. For now, development is a bit slow, since some of us took time off for summer vacation ;) I'm eager to see what you plan on doing with Langium and working with you in the future to improve adoption of Langium. |
Beta Was this translation helpful? Give feedback.
-
Hi team,
this is simply to introduce myself, why I am interested in Langium, and let you know that I am interested in contributing some technical documentation when the project will be more advanced.
I am the maintainer of Kingly, an open source project that encourages developers to isolate and model the behavior of applications away from other concerns like look and feel and other effects. That works fine, especially with yWorks' yed as a graph editor (a truely awesome tool). After using it in some actual projects, the main feedback however is that one: visual editing or visual languages have plenty of appeal, especially for beginners, but for power users, a textual language may enable increased productivity and more meaningful diffing. Kingly's next iteration will include a custom DSL that works as a specification language for both the behavior and properties of an application. From that specification language and additional developer-provided code, a Kingly CLI or IDE would be able to automatically generate both the application implementation and tests for the application's behavior. The idea is to have business users declare specifications with the DSL, while developers write code that implement and explicit link to those specifications so you can trace down the implementation of a fragment of specification to the exact parts of the code that realizes it. In some industries this is actually a regulatory requirement.
But I digressed, the bottom line is that after bumping my head with XText, a ton of dependencies from the Java ecosystem, the lack of documentation with Monaco, the VS text/code editor, and so much more, I started writing my own projectional editor... till I heard that were developing Langium with an ecosystem that I am more familiar with (JS/TS/Node etc). So I am thinking of using Langium for the LSP feature that it provides and not reinvent too many wheels. JetBrains MPS was not an option, as it is not user-friendly enough for regular users (and honestly even for developers).
I will investigate and follow Langium for my own needs, but I am also happy to write documentation, guide, or tutorials from my own experience of using the project (if you are interested in that). It may be too early for that, as this is just a 0.1.0. This may end up being a complex product for which documentation, user friendliness, and productivity may become important drivers of adoption. If I can help with making Langium easier to onboard with, I am happy to do that. Once you master all the pieces, language engineering is probably simple, but understanding how to get there, and then getting there, has not proved to be as easy as I thought.
EDIT 03.07.21: adding reference to advantages of text languages vs. visual languages
Beta Was this translation helpful? Give feedback.
All reactions