Coincidentally I watched a discussion yesterday where the assertion was made that complex systems cannot be written from scratch (and hope to work); the ones that work today always started from simpler systems.
When I started in IT I would frequently run projects over my head and then have to do a lot of backtracking wasting time.
Now, whenever I need to do something I don't know exactly how to, I first run a bunch of test projects to learn the ropes on small and manageable examples and only then attempt the large project.
I like to think that in almost all cases doing the small example projects and the project take less time than if I started with the large project right away. The only complaint is that managers do not always see it this way and they want to see constant progress.
If you want to write a compiler it's faster to learn Prolog then write a compiler in Prolog than to write it in some other [imperative] language you already know.
(Prolog is so much more "compiler-shaped" than imperative languages and so simple itself that it's much easier to use it to write compilers. In fact the last chapter of "Art of Prolog" is about writing compilers.)
It's an old Prolog joke. Early Prologs (and many still today) would reply "no" to queries that have no results.
(In practice the issue can be overcome by making a meta-interpreter that does tracing or error reporting or whatever. It's standard Prolog idiom, "in the book". See also: https://www.metalevel.at/prolog/debugging )
This is only tangential to the point raised by the article, but I encourage anyone interested to try to make and measure a mirror, it's a really rewarding process to take a round slab of glass to an almost perfect parabolic surface (or at least within tolerance). Nowadays, most amateurs also use interferometry which could be appealing to HN crowd too.
I haven't followed this rule, starting small and easy, and my first mirror took me 19 months. The second of similar difficulty took about 2 months. Looking back, I find it strange to have taken such a difficult first one, because I do start small and build upon small steps in software.
When I was very young, my father ground a 6" mirror with a 48" focal length. I vaguely remember him walking around a table for hours every night for weeks. The first mirror was a failure and he had to start again. The finished telescope was—and is still—a marvel although the mirror now needs to be re-silvered. Alas, the light pollution in my area cannot be so easily remedied.