| ▲ | statictype 3 hours ago | |||||||
This article sums it up perfectly. I was interested in building a compiler long before going to college and this was the most accessible body of work. Building a recursive descent parser from scratch was an eye opener to 17yo me on how a seemingly very complex problem that I had no idea how to approach can be made simple by breaking it down into the right primitives. | ||||||||
| ▲ | xyproto 3 hours ago | parent | next [-] | |||||||
"breaking things down into the right primitives" is the real key to programming. There are many books and web pages about algorithms, but I wish there were more searchable and browsable resources for how to approach problems through primitives. | ||||||||
| ||||||||
| ▲ | scotty79 34 minutes ago | parent | prev | next [-] | |||||||
When I need to parse something nowadays I always end up with parser combinators. They just make so much sense. | ||||||||
| ||||||||
| ▲ | fuzztester an hour ago | parent | prev [-] | |||||||
>a seemingly very complex problem that I had no idea how to approach can be made simple by breaking it down into the right primitives. https://en.wikipedia.org/wiki/Niklaus_Wirth From the Publications section of that Wikipedia page: >The April 1971 Communications of the ACM article "Program Development by Stepwise Refinement",[22][23] concerning the teaching of programming, is considered to be a classic text in software engineering.[24] The paper is considered to be the earliest work to formally outline the top-down method for designing programs.[25][26] The article was discussed by Fred Brooks in his influential book The Mythical Man-Month and was described as "seminal" in the ACM's brief biography of Wirth published in connection to his Turing Award.[27][28] | ||||||||