
Structured Design from 1975 by Larry L. Constantine and Ed Yourdon is another excellent book that I am currently reading now.
Let me +1 the previous SICP (Structure and Interpretation of Computer Programs) and Mythical Man Month. I also like DeMarco's PeopleWare. And Loeliger's "Threaded Interpreted Languages." I bought a copy of Doug Kaye's "Loosely Coupled Systems" from bettereorldbooks.com and it looks like it was a library book that should never have been taken out of circulation. It discusses an important aspect of software design that gets little love in the mainstream. I also got a copy of Yourdon's "Structured Design," which was originally released just as OOP was getting big. But... it still contains numerous pearls of wisdom suitable for both OOP and Functional programmers.
Although I didn't read it from cover to cover, the chapters I read from a borrowed copy of Structured Design on coupling and cohesion had a big impact on me.
Earlier, Prolog was used in AI/Expert Systems domains. Interestingly it was also used to model Requirements/Structured Analysis/Structured Design and in Prototyping. These usages seems interesting to me since there might be a way to use these techniques today with LLMs to have them generate "correct" code/answers.
For Prolog and LLMs see - https://news.ycombinator.com/item?id=45712934
Some old papers/books that i dug up and seem relevant;
Prototyping analysis, structured analysis, Prolog and prototypes - https://dl.acm.org/doi/10.1145/57216.57230
Prolog and Natural Language Analysis by Fernando C. N. Pereira and Stuart M. Shieber (free digital edition) - http://www.mtome.com/Publications/PNLA/pnla.html
The Application of Prolog to Structured Design - https://www.researchgate.net/publication/220281904_The_Appli...
Yeah, I'm agreed on most of the AI stuff - becoming a more architect-shaped engineer is now more important than ever.
I've been flicking through a copy of https://www.amazon.co.uk/Structured-Design-Fundamentals-Disc... lately to get my brain into gear on this subject.
Thanks for all the web dev advice and tech callouts. Some real neat examples there which I knew nothing about.
Regarding niches, I think as a data engineer, becoming fluent in an interactive front-end data-viz library might be the slam dunk that I'm probably looking for.
Having looked at D3, I am quite impressed! Do you have any experience or knowledge of this lib?
Again, thank you for sharing :)
