plt
card
Our great sponsors
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
plt
-
Ask HN: Learning Modern Compilers?
I recall reading a comment on here at some point in the last year where someone who worked on a team that wrote compilers lamented the difficulty in hiring qualified people because the practice of compiler construction differs so wildly from what is taught in school or even most compiler books. Apparently it scarcely resembles what is taught in university courses based on the Dragon book or similar, both in the higher level architecture and the lower level techniques
I know that one difference is that compilers have adopted a more service-oriented architecture, kind of like the Roslyn compiler. This allows them to not only compile your code, but inform your text editor and linter and similar tooling of syntax issues incrementally.
What are other differences? Is llvm still relevant outside of academia?
Are there any books, papers, or open source projects one could study to learn how compilers are built in this day and age?
Also: does the more abstract "programming language theory" popular in the more formal functional programming world (e.g. denotational semantics, lambda calculus, Floyd-Hoare logic, type theory, etc: this sort of stuff[1]) have any relevance to compiler writers and language/language tooling developers in industry?
[1] https://steshaw.org/plt/
- What are some evergreen articles on programming languages and computing in general?
- What Books Should Everyone Read?
-
Programming related book suggestions please
Programming Language Theory books and resources
-
CSS Deep
steshaw/plt - A path to Programming Language Theory enlightenment
What are some alternatives?
Compass - Compass is no longer actively maintained. Compass is a Stylesheet Authoring Environment that makes your website design simpler to implement and easier to maintain.
Lean-Mean-Drag-and-Drop - Drag&Drop Sorting and Reordering script for complex nested structures
odometer
Milligram - A minimalist CSS framework.
css-loaders - A collection of loading spinners animated with CSS
stretchy - Form element autosizing, the way it should be
awesome-conferences
dat.gui - Lightweight controller library for JavaScript.
chardin.js - Simple overlay instructions for your apps.
Garlic.js - Automatically persist your forms' text and select field values locally, until the form is submitted.
pnotify - Beautiful JavaScript notifications with Web Notifications support.
Wing - :gem: A beautiful CSS framework designed for minimalists.