▲ | tern 4 days ago | ||||||||||||||||
I think every comment on this article so far is misunderstanding the argument, which seems optimistic to me—he may be rightly pointing at a dogma. I learned electronics and dataflow languages before I learned traditional languages, and learning how modern systems were architected was horrifying to me. The level of separation of components is nowhere close to what's possible, because—as the author points out—the default level of abstraction in modern programming languages is the function. Don't read this article as a critique of types (as in: typed vs untyped), but as a finger pointing at a higher level of abstraction that isn't a first-class concept in the tooling used to architect large systems today. All that said, I have come across many people beating this drum over the years—usually Alan Kay or Ted Nelson types—and I suspect there's something they're missing as well. | |||||||||||||||||
▲ | int_19h 4 days ago | parent | next [-] | ||||||||||||||||
A function, at its most basic, is a black box that takes an input with a well-defined shape and produces an output of another well-defined shape. What primitive do you feel is more suitable for a high-level abstraction of processes operating on data? | |||||||||||||||||
▲ | ndriscoll 4 days ago | parent | prev [-] | ||||||||||||||||
Meh, having been forced to use labview for an engineering class a long time ago, dabbled some in verilog, and worked on some production actor based code, it seems clear to me that we don't see those kinds of approaches often is that they're very quickly impossible to understand when you have a lot of interactions. Labview was a particular nightmare even for very basic tasks. | |||||||||||||||||
|