At the latest meeting of the editorial board (members are: @Niko , @PaulSpencer and me) we discussed what topics to cover in the coming months.
Among other things we identified a series of introductory presentations that we think would help more people learning about Language Engineering.
We are now looking for speakers to give presentations on these subjects.
Would you like to volunteer? Or would you know someone who could give a presentation on those topics?
Introductory topics:
Introduction to LLVM
Introduction to EMF
Introduction to Compilers
Introduction to IDES: typical features and how to build them
I can think of a couple of other topics that would benefit from being bequeathed with an introductory presentation:
Projectional editing
ASTs and their management (runtime/in-memory representations, how to do opposites and reverse references, how to [de-]serialize, etc.)
Parsing (high-level)
Type systems
etc.
These are topics that most seasoned practitioners are probably familiar with, but that freshly-onboarded practitioners might not be familiar with, or might not know this under the same terms. Once people have this knowledge, introductions to specific tools probably make more sense for them.
I agree with all of them. I think it will be a matter of finding the volunteers and define an order but over time it would be nice to have all of these topics presented.
Hi @ldesantis , yes, I would be very interested and given also Niko is interested I think we can mark it as approved @elisa.costantini is in charge of planning the meetups, so she will contact you to pick a date, depending on when we have spots available
Thank you for volunteering, I am looking forward to your presentation!
I’m thinking about possible audience scope for these introductory presentations: is it just us (i.e., the Strumenta community), or would it make sense to record these presentations to put them on YouTube? (Possibly as a 2-stage: trial the presentation for/with this community, then process feedback and record for real.)
As soon as I have time again (you know, post-book…) I would love to do such introductory presentations, but it also would make sense for me on the professional level to make such things available to a wider audience.
I think that ideally, we could invite external people to register to the community (which is free and immediate) to watch the intros. I understand the point you and @PaulSpencer make that recording the intros could be useful, however, I think that recording some of the presentations would be confusing: people who miss some presentations thinking they were going to be recorded, other presenters could ask to have some of their presentations recorded. I also think that it is valuable to have a place where we can discuss freely, without having to worry if a question is not brilliant or a presentation needs to be revised.
Both recorded presentations and live, ephemeral presentations are valuable. I think we cannot get both at the same time
I would encourage that!
In my opinion, it would be a good approach to do a “trial run” in the community, collect questions, and then revise the presentation and record it, in a more polished form, to make it permanently available.
Yes, I fully understand that Indeed I think that the presenter could do the recording on his own after the meetup, without the need to coordinate with the community. Those videos should be owned and branded by the presenter. The community could be a place where to promote them, of course. In my opinion, if the presenter controls how these videos are made they can decide if to make a single video or multiple short videos, they can decide how to promote such videos, they can be more promotional (e.g., refer a lot to books, courses, and consulting services they are offering).
I know and like Lisp and I can do an introduction to it. However, Lisp is many things together and it’s been around for decades so there is already plenty of introductory material. Maybe it would be interesting to focus on “Lisp for language engineers”?
SICP is very high-quality material. However, it’s a thorough introduction to programming using Scheme, a Lisp dialect; it’s not an introduction to Lisp for experienced developers and language engineers (though one can learn Lisp with it).
Another good introduction is Practical Common Lisp by Peter Seibel, which is also available online for free.
I am a newcomer and not sure if this discussion is still rolling, Anyway, If you are interested I have a background on the machine to machine (M2M) communication languages.
Talking about the introduction let me also inform you that I have recorded a lecture for my students that provides a very basic introduction to computing including topics like a programming language, binary language, alphabet, binary alphabet, syntax, semantics, coding system, computer science. The recording is available at
type systems: what’s the sweet spot for particular application types, e.g. little web apps vs safety critical systems?
compiler-compiler landscape/history: where did compiler-compilers come from, what’s state of the art now, what’s good/bad, e.g. from META I/II, lex/yacc, ANTLR, PEGs, …
I don’t consider myself an expert or specialist in any of these, just interested in all and a student of some.
What I am wondering by this item is: where is the intersection between the need for a new language and the use of directives such as #pragmas in a language like C to extend the language in interesting ways? For example, OpenMP has somewhat declarative #pragmas that tell the compiler how to unroll a loop, what thread scheduling approach to use.