Integrating Language Engineering into the Software Development Process

Subscribers:
24,000
Published on ● Video Link: https://www.youtube.com/watch?v=NwLdPyDn09c



Duration: 29:10
36 views
0


Presented at EclipseCon 2023 in Ludwigsburg, Germany by Johannes Meier (TypeFox GmbH).

In this talk, I will delve into the seamless integration of language engineering activities and tools into the software development process. We will explore the development of domain-specific languages (DSLs) tailored to users' needs, and how language workbenches play a pivotal role in enabling developers to create DSLs more efficiently and within their usual work routines.

To kick things off, we'll begin with an introduction to language engineering, outlining the key steps involved in DSL development. Along the way, I'll showcase examples of language workbenches that offer essential features such as parsing, validation, serialization, and code generation to assist developers in their language engineering.

Moving forward, we'll examine how developers integrate DSL development activities and tools into their everyday software development routines. We'll explore how language engineering reflects crucial stages like analysis, design, implementation, and testing. As a look-ahead, I'll emphasize the significance of early prototyping, enabling valuable user feedback and fostering familiarity with the language workbench.

But the journey doesn't end with the initial creation of a DSL: In practical scenarios, DSLs need to evolve through iterative processes, which pose further challenges. We'll address topics like managing both (re-)generated and hand-written source code, as well as ensuring scalability of language workbenches. Furthermore, we'll discuss the long-term development of DSLs, including adaptation to evolving technical environments and avoidance of critical vendor lock-ins.

While I won't be conducting an in-depth evaluation of all available language workbenches, my aim is to equip developers with the necessary knowledge to seamlessly integrate language engineering into their software development processes. I'll present typical scenarios encountered during DSL development and provide practical solutions by showcasing examples of graphical and textual DSLs and their respective language workbenches. Notably, we'll explore textual DSLs in web development with Eclipse Langium.

By the end of this talk, you'll be motivated to incorporate DSL development into your regular software development processes, both in the short term and for sustainable, long-term growth.




Other Videos By Eclipse Foundation


2023-11-08MicroProfile and Jakarta EE Panel
2023-11-08Worried about your AI IP? Not with ESF! (sponsored by Eurotech)
2023-11-08Understanding the Benefits of InnerSource in the European Industry
2023-11-08Open Source Licensing in the Era of AI-Assisted Coding
2023-11-08Open Source Is 25 Years Young
2023-11-08Leveraging WebSerial with Espressif IDF Web IDE
2023-11-08Through the looking glass: Effective observability for cloud native applications
2023-11-08The State of the Eclipse Community
2023-11-08Intellectual Property Due Diligence @ Eclipse – Past, Present, & Future
2023-11-08GraalVM, CRaC, Leyden and friends - in search of TRULY cloud-native Java
2023-11-08Integrating Language Engineering into the Software Development Process
2023-11-08From Fragmentation to Connection
2023-11-08Web-based Tools and IDEs: Accomplishments and Opportunities
2023-11-08The Future is Soon: Migrating Trace Compass, or any plug-in to a VSCode Extension, for Theia!
2023-11-08Well-being & Resilience In Software Engineering: Walking the Talk Changes the View
2023-11-08Open Cloud Services and an Open Cloud Computing Stack
2023-11-08Deploy and update microservices on the fly with Eclipse Cloud DevTools
2023-11-08How to Build for and Market to Developers (sponsored by Yatta)
2023-11-08High-performance graphical view filtering with Sprotty
2023-11-08The Power of Data-Driven Testing: A Deep Dive into Jakarta Persistence Specifications and NoSQL
2023-11-08What lies beyond microservice architecture? From Microservices to Distributed Platform Architecture