Чай, гикнутые штуки и птички
In my version of computational thinking, I imagine an abstract machine with just the data types and operations that I want. If this machine existed, then I could write the program I want. But it doesn’t. Instead I have introduced a bunch of subproblems — the data types and operations — and I need to figure out how to implement them. I do this over and over until I’m working with a real machine or a real programming language. That’s the art of design.Barbara Liskov, www.quantamagazine.org/barbara…20191120 Curious how Liskov echoes the Alan Kay's idea of objects as "little Turing machines exchanging messages" and Dijkstra's quote "the purpose of abstraction is not to be vague, but to create a new semantic level in which one can be absolutely precise". These ideas seemingly naturally lead to the Language-Oriented Programming and DSLs, but those trigger hard pushback from vast majority of developers... 🤔