5 ms·
This is a bit of a mess to read but I don't see anything particularly novel. There is a lot of bad software out there, though, and what the author describes sou
by xyzzy_plugh 4y ago
This is a bit of a mess to read but I don't see anything particularly novel. There is a lot of bad software out there, though, and what the author describes sounds a lot closer to good software. No idea what this has to do with Waterloo though.
A few relevant quotes:
"Bad programmers worry about the code. Good programmers worry about data structures and their relationships." -- Linus Torvalds
"Show me your flowchart and conceal your tables, and I shall continue to be mystified. Show me your tables, and I won't usually need your flowcharts; they’ll be obvious." -- Fred Brooks, The Mythical Man Month (1975)
It's no coincidence that ADTs and data-driven design are commonplace today -- I would even argue they are so commonplace that most programmers are not even aware they are stylistic choices.
Many, many folks get caught up chasing complexity for all the wrong reasons. Define your data, stake your boundaries and just write the damn code.
- DanHulton 4y agoI tell ya, I have seen some tables and still been mystified. However, that only further proves your point. Those tables were a mess, and the underlying logic was even worse.
- boredtofears 4y ago> This is a bit of a mess to read but I don't see anything particularly novel. It's okay that someone blogs about an old idea and puts a new name on it. It's still a good thing even if it's obvious to some. The author came to their own understanding of this concept in a particular way and decided to share that way with other people. You don't have to knee-jerk critique them for it.
- seanalltogether 4y agoMaybe not novel, but I think the author is describing an "A-Ha" moment that most programmers have to go through at some point. I think most new programmers don't think about data, they think about goals. "I want this sprite to move from here to there, and when you press a button a laser comes out of the gun" or "I want to make a webpage that lets you create polls for Twitter". They think about the end results and just mess around with data structures until they accomplish their goals. This style of programming is very brittle and breaks as soon as you change your goals. Moving to a mental model where you think about data first, and that your goals are an expression of that underlying data leads to simpler code and more robust architectures that can be expanded as needed.
- 908B64B197 4y ago> I don't see anything particularly novel. No idea what this has to do with Waterloo though. Me neither. I lot of these ideas seem to come from SICP which originated at MIT, from earlier research at the AI lab and at Xerox PARC.