6 ms·
One of the most surprisingly clear code bases is LLVM. It’s an old complex beast, yet it’s organized beautifully. I mean, it has a lot of essential complexity
by juancn 4y ago
One of the most surprisingly clear code bases is LLVM. It’s an old complex beast, yet it’s organized beautifully.
I mean, it has a lot of essential complexity but little accidental complexity.
That’s usually what I strive for when coding. Complexity is sometimes unavoidable, that’s fine, that’s why it’s essential. However, avoidable complexity should be… well… avoided.
- lagrange77 4y ago> a lot of essential complexity but little accidental complexity Nice one. I'll copy that.
- bla3 4y agoThat's from "The mythical man-month". Old, and some parts are obsolete, but still worth a read as it does have a bunch of good insights.
- mianos 4y agoI have not read it in a while but it would be interesting to debate what essays are no longer relevant. I'll be grabbing it off the shelf next to my original copy of the Byte issue on C mentioned yesterday and having a look for expired relevancy.
- bla3 4y agoI haven't read it in a while either, but from memory the team organization of one "architect" and a bunch of implementers seems obsolete, for example.
- mrelectric 4y agoImho it's more relevant than ever, with the influx of cheap offshore remote developers
- EamonnMR 4y agoThere are some sections about physical copies of documentation and managing the logistics of that when I read it.
- 13of40 4y agoReminds me of a book I picked up about twenty years ago called "Testing Computer Software". I think it must have been written in the 80s, because instead of having a bug database, it talked about filling out a hardcopy form describing the issue and dropping it off at the programming department. I reckon you'd want to do it in duplicate on carbon paper, just so you can keep it in your own filing cabinet.
- froh 4y agowouldn't wikis be good the contemporary successors of that section? it's about documentation being disconnected from code, about co-evolving and providing both in an economical way, in contrast to being inefficient or even ineffective in documenting technology.
- suprfnk 4y agoYou might be interested in reading the paper, No Silver Bullet, in which Fred Brooks coined these terms: http://worrydream.com/refs/Brooks-NoSilverBullet.pdf http://worrydream.com/refs/Brooks-NoSilverBullet.pdf
- tester756 4y ago
- chirau 4y agoWhy? If you don't mind me asking.
- omaranto 4y agoProbably to keep people from asking that it be rewritten in Rust.
- tester756 4y agoRust is the only language out of those hyped that actually made me excited because it brings interesting features. Additionally out of the box you have one cli with compiler, package management, etc. instead of 30 choices to pick from C++ for me is just: terrible compilation times, 17 ways to achieve one goal, not strong ecosystem Generally not the nicest developer experience in compare to e.g C# or apparently Rust. I'd feel more motivated to jump into LLVM code base it that was written in Rust because I don't think C++ is the future - which is sad, because C++ has a lot of cool jobs now.
- sodapopcan 4y ago
- deleted 4y ago[deleted]
- IshKebab 4y agoReally? Go and read the assembly parser and get back to me.
- P5fRxh5kUvp2th 4y agoThis is what I came here to say. it and clang are both good source code.