Hacker News new | ask | show | jobs
by gnuvince 3714 days ago
This is a wonderful idea! As a compiler person, I'm excited to see how well this works and wish you all the success in the world.

> QBE aims to be a pure C embeddable backend that provides 70% of the performance of advanced compilers in 10% of the code.

This philosophy is very similar to that of vis [1], a vim-like editor that aims to have 80% of vim's functionality in 1% of the code. I hope that more such project see the light of the day; I'm very interested in simpler programs and simpler ecosystems, even if that comes at the cost of features.

[1] https://github.com/martanne/vis

2 comments

In the first version we learn and discover, edits and rewrites.

In the second version we build with symmetry and regularity.

We need both versions, and in the second we drop some corner cases to make things crystalline. It is important to recognize the things we drop and why, sometimes they are important, but the purity of the construction takes precedent. And sometimes the corner cases are the thing, without them the chandelier would cast no light.

Anyway, I don't know where I am going with this. Small, playful, understandable systems are the most informative. We need playful, useful models that can be used for experimentation in a momentum free way. And it is important not to suffocate the future with exhaustive engineering. Recognize the is.

This is a great point; implementations always compromise on speed, generality, domain decomposition, flexibility, ease of use/debugging, compile time, etc...

It's always a compromise subject to design goals of the project or just personal preferences. There are a lot of reads on the Internet about specific compromises chosen for a technology but contrasting choices between projects or versions of a project are difficult to find.

Also I think large systems are just as informative as smaller ones but require more investment.

Yeah, and 70% of features of React in 5% of the code!