Your Program as a Transpiler - Applying Compiler Design to Everyday Programming
Offered By: Devoxx via YouTube
Course Description
Overview
Explore compiler design principles and their practical applications in everyday programming through this insightful conference talk. Delve into the similarities between transpilers and compilers, debunking myths and uncovering valuable lessons from language implementation design patterns. Learn how to apply compiler-like workflows to solve common programming challenges, with examples from projects like Drools and jBPM. Discover the key phases of compilation, including data transformation pipelines, workflow engines, and code generation. Gain insights into advanced topics such as boot-time optimization, application wiring, and annotation processing. Understand how these concepts relate to cutting-edge technologies like GraalVM and Quarkus. By the end of this talk, acquire a deeper understanding of compiler design principles and their relevance to modern software development practices.
Syllabus
Introduction
Motivation
Goals
Whats a Transpiler
Myths about Transpilers
Writing a good compiler and writing a good Transpiler
What can you solve with compilerlike workflows
How to describe a compilerlike workflow
BPM
Goal
Recognize your compilation phase
Data transformation pipelines
BPMN
How does a compiler work
What makes a proper compiler
Configuration file example
Data processing and producer reports
Workflow engine
Phases vs passes
Reading a config file
One single pass
Evaluation
Display
Lets Visitors
Runtime Representation
Generate Code
Boot Time Optimization
Application Wiring
Reflections
Annotation Processor
Cogito
Quercus
Code Extension
Druce
Rule
The Submarine
Conclusion
Links
Questions
Taught by
Devoxx
Related Courses
CompilersStanford University via Coursera Build a Modern Computer from First Principles: Nand to Tetris Part II (project-centered course)
Hebrew University of Jerusalem via Coursera Разработка веб-сервисов на Go - основы языка
Moscow Institute of Physics and Technology via Coursera Complete Guide to Protocol Buffers 3 [Java, Golang, Python]
Udemy Angular tooling: Generating code with schematics
Coursera Project Network via Coursera