#+TITLE: 026 / 100daystooffload Programming Considered Harmful #+AUTHOR: screwtape I have progressed one more article through this anthology. This book... The commentary and anthology put in clear and culturally contexted terms so many of the feelings I and our other peers around the lispy gopher show intuit about and into computer programs. In an academically citable way no less. While a bit lame, I feel permitted by this book to embrace the not-yet-successfully eradicated countercultural riptide of exploratory programming. The second article develops the idea of domain specific programming language creation using specifically the host language's own tools, highlighting a fundamental implication I had kind of missed about domain specific languages as a programming concept. It's not that the language is a tool mixed into some vague mishmash: In fact, if anything is appearing other than your new domain language, this evidences deficiency, and the language needs more power (or the domain of interest more constraint). Further Winograd's article and commentary leading into this suggest just why loop and format (and do for that matter, and watching Andrew Kravchuk stream, just the templating notation itself) are so revolutionary a general approach to computing life. The problem, as developed by Winograd- in 1973! - is that as I said on the lispy gopher show, tantalising systems are *not* formed by either a) a linear sum of homogeneously conveyed utterly isolated individual fact morsels or b) One learning strategy that we hope has magical strongly emergent properties (shovelling coal, water and human life into LLM scrapers) but they are formed of another thing: Complex components. Winograd considers hackers capability of authoring desirable system as the upper limit of the attainable complexity of the monomers of the larger system. In other words there are two levels: Program items the programmer can program as system pieces, and their assemblage and orchestration as the system. LOOP and FORMAT and DO (and I guess DREI and ZWEI and interlisp's DWIM and CLISP) are domain specific language for forming larger power components in the first place. So a chunky LOOP or FOR facility makes for a grander production than an ultra-minimal light-as-a-feather recursion. The limit for a program's desirable properties is the size of component pieces programmers are capable of creating, and this is what the baseless and strongly negatively correlating pithy advice on Design Principles destroys, castrating the future of corporate programming. Which is kind of good, in the sense that our enemies are dead in the water. Falling back on shovelling all remaining life and happiness of the planet into the hell-forges of Feed Forward Network Optimised By A Second Feed Forward Network LLMs, known-failure strategy (b) out of desperate denied knowledge of their ownership's failure.