3 ms·
I like the thesis about abstraction, but the example of the Voyager code base is a little bit contrived. 1) technological limitations, namely in processing and
by saneshark 11y ago
I like the thesis about abstraction, but the example of the Voyager code base is a little bit contrived.
1) technological limitations, namely in processing and memory probably play a large role in some of the decisions made.
2) software engineering best practices such as DRY, KISS as they relate to abstraction have evolved considerably in the 30+ years (perhaps to some extent because the limitations of observation 1 have been lifted).
Obviously the Voyager code base still has the same technological constraints today since hardware can't be updated on a probe currently traveling on the fringes of our galaxy.
It would have been nice to have a more modern example to elucidate the point regarding empathy for peers.
In fact, the same could apply to the thought process in creating a new programming language. Take for example PHP, it was originally intended as a "Personal Home Page," taking PERL and CGI as its model. Method signatures are inconsistent, and not a lot of thought was made early on to certain points that might have been made, had the creator of this language not intended it for his own personal use. In my own experience, PHP offers less empathy for peers because many of the decisions made are from a single-minded use-case. Contrast that with other higher level programming languages where the introduction or removal of new operators is a subject that is heavily deliberated upon from the perspective of or empathy for peers.
- saneshark 11y agoThat being said, I think it has as much to do (perhaps more) with laziness and hubris as it does empathy for peers. citation: http://threevirtues.com/ http://threevirtues.com/