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
odometer
-
CSS Deep
HubSpot/odometer - Smoothly transitions numbers with ease. #hubspot-open-source
-
Add animating numbers on your site with Odometer
We can download the files by going to Odometer website or Github.
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.
Numeral-js - A javascript library for formatting and manipulating numbers.
css-loaders - A collection of loading spinners animated with CSS
money.js - money.js is a tiny (1kb) javascript currency conversion library, for web & nodeJS. (MOVED)
awesome-conferences
mathjs - An extensive math library for JavaScript and Node.js
chardin.js - Simple overlay instructions for your apps.
chance.js - Chance - Random generator helper for JavaScript
pnotify - Beautiful JavaScript notifications with Web Notifications support.
Fraction.js - Fraction is a rational numbers library written in JavaScript
humane-js - A simple, modern, browser notification system
numbro - A JS library for number formatting