Software Language Engineering -- 42 Frequently Asked Questions
See the questions below. Beware of an Easter egg. As if I knew the answers or was entitled to answer! My talk will cherry-pick from the list and deliver informed opinions. Your questions and answers will be as good as mine.
On the term “software language” (SL): Q1: What is the definition of (the term) SL? Q2: What different types of SLs do exist? Q3: What are borderline examples of SLs? Q4: Why not just call it computer language? Q5: Why is such a broad notion useful? Q6: What parallels exist between software and natural languages? Q7: When was the term coined, by whom, and why?
On the term “SL engineering” (SLE): Q8: What is the definition of SLE? Q9: How can SLE be viewed as a specialization of SE? Q10: What’s the lifecycle of a SL? Q11: What’s the key notion of SLE? (Spoiler: “technological space”) Q12: How does SLE relate to CC, MDE, PLT, …? Q13: How does the “Tower of Babel” metaphor apply to SL(E)? Q14: When was the term coined, by whom, and why?
On the “SLE conference” (sleconf): Q15: What’s the mission of sleconf? Q16: What’s the stereotypical sleconf paper? Q17: What other conferences publish SLEish papers? Q18: Why did we need yet another conference? Q19: How is sleconf achieving world domination? Q20: When will its mission be accomplished? Q21: What happened to the position of the “cheese chair”?
On SLE research: Q22: What problems have been solved in the last 10 years? Q23: What are the emerging research themes (or domains)? Q24: What are open problems in SLE? Q25: Will we still see papers on parsing in 10 years from now? Q26: Will ontologies and mega models play a larger role? Q27: What’s next after “Globalization” of DSLs? Q28: Why do we suddenly stop feeling tired once we get into bed?
On SLE education: Q29: To what extent is SLE covered by university curricula? Q30: How (not) to integrate SLE into a curriculum? Q31: What are the learning objectives and acquired competences? Q32: What’s the SLE Body of Knowledge (or what should it be)? Q33: How much of it withstands the test of time? Q34: How to use chrestomathies in SLE education? Q35: How to use mega models in SLE education?
On SLE in practice: Q36: What’s the career profile of an SL engineer? Q37: What bad things happen when SLE isn’t properly used? Q38: How much SLE does Big Tech need now and in 10 years? Q39: Will technological space travel continue to grow? Q40: What’s the relevance of SLE in the new world of ML/AI? Q41: What technological changes, related to SLE, are happening? Q42: How was life like before the SLE epoch started on earth?
Ralf Lämmel is Software Engineer at Facebook since 2018 and Professor of Computer Science (currently on leave of absence) at the University of Koblenz-Landau in Germany since 2007. In the past, he had held positions at the University of l’Aquila, Microsoft, the Free University of Amsterdam, CWI (Dutch Center for Mathematics and Computer Science), and the University of Rostock, Germany.
His research and teaching interests include software language engineering, software reverse engineering, software re-engineering, mining software repositories, functional programming, grammar-based and model-based techniques, and, more recently, megamodeling. In his current work at Facebook, he applies machine learning (in a broad sense) in an infrastructural context while developing an increasing interest in data engineering and science.
He is one of the founding fathers of the international summer school series on Generative and Transformational Techniques on Software Engineering (GTTSE) and the international conference on Software Language Engineering (SLE). He is the author of Springer textbook on Software Language Engineering: Software Languages: Syntax, Semantics, and Metaprogramming, Springer, 2018.