Hello everyone, my name is Richard Casetta and I’m a software engineer from Paris. I currently work mostly on web applications, automation and infrastructure.
I have always been passionate about making great products, robust and maintainable. As such, I am interested in a lot of subjects which can help me achieve this like Functional Programming, Type Theory, Verification and more recently Programming Languages and DSLs. I also describe myself as a mathematician (or at least a wannabe ) and read about Category Theory and Algebra for example. I have not a lot of knowledge in all those, but I like it and I love the fact that there are so many interesting things to learn!
Recently, I have had to use tools that help me a lot, but are hard to interact with or lack the guarantee I need (tools that need YAML for example). Following my readings, Language Engineering seems a good place to learn how to try making the interaction easier. For example, is it possible to design a language that interacts with the underlying tool in a simpler/better way? Is it possible to teach the user of the language the concepts she needs to understand the big picture (with great editor support), not being focused on the syntax of the tool? Ideally, the language and tools around it should be able to help the user learn. I would love to try and design such a language!
For now I am going through Types and Programming Languages from Benjamin Pierce and plan to go through Practical Foundations for Programming Languages from Robert Harper next. Afterwards, a book on compilers seems a good fit. But I have no idea what are the tools one use to create a language as I suppose many part have been automated or are easier than starting from scratch. I have heard of language workbenches but do not know what those are. If you have resources for me to read or if you think the resources I plan to read are not the best option, please let me know, I would be glad to discuss these!
I am very happy to join this community and I look forward to know other people. I also hope I will be able to help in any way.