Comments on: Arguments against abstraction http://www.terminally-incoherent.com/blog/2012/01/06/arguments-against-abstraction/ I will not fix your computer. Tue, 04 Aug 2020 22:34:33 +0000 hourly 1 https://wordpress.org/?v=4.7.26 By: icebrain http://www.terminally-incoherent.com/blog/2012/01/06/arguments-against-abstraction/#comment-21153 Fri, 06 Jan 2012 17:18:00 +0000 http://www.terminally-incoherent.com/blog/?p=11050#comment-21153

I slightly disagree. I think one should in fact learn how I/O works before using it, even if you don’t have to – but as a matter of professional hubris¹, not because you’re forced to.

Where I do agree with you is that you shouldn’t intentionally handicap the language just to make sure people learn about the concepts. A quote from Guido when explaining the lack of private members on objects in Python was “we’re all consenting adults here”, and I think that’s an important rule to follow by a language or library.

And his solution has a big problem, which is dependency hell; to use sane APIs, he’s essentially forced to either maintain updated a bunch of third-party libraries (and what if they die down?) or homebrew code which is more crud to test and for new developers to be burden with.
That’s why I like Python’s (and others) approach of “batteries included”, because I know I have a bunch of useful APIs I can use without having to concern myself about whether the people I distribute the code to will have them installed or if they’re being updated.

¹ see Larry Wall’s three virtues of a programmer

Reply  |  Quote
]]>