http://www.perlmonks.org?node_id=407772


in reply to Appropriate amount of abstraction

There's an interesting essay about "leaky abstractions" on Joel on Software: http://www.joelonsoftware.com/articles/LeakyAbstractions.html

Replies are listed 'Best First'.
Re^2: Appropriate amount of abstraction
by BrowserUk (Patriarch) on Nov 15, 2004 at 09:47 UTC

    <voice timbre="with feeling">Yes!</voice>

    If you follow a link or two from your link you come across this gem (amongst others):

    These are all things that require you to think about bytes, and they affect the big top-level decisions we make in all kinds of architecture and strategy. This is why my view of teaching is that first year CS students need to start at the basics, using C and building their way up from the CPU. I am actually physically disgusted that so many computer science programs think that Java is a good introductory language, because it's "easy" and you don't get confused with all that boring string/malloc stuff but you can learn cool OOP stuff which will make your big programs ever so modular. This is a pedagogical disaster waiting to happen. Generations of graduates are descending on us and creating Shlemiel The Painter algorithms right and left and they don't even realize it, since they fundamentally have no idea that strings are, at a very deep level, difficult, even if you can't quite see that in your perl script. If you want to teach somebody something well, you have to start at the very lowest level. It's like Karate Kid. Wax On, Wax Off. Wax On, Wax Off. Do that for three weeks. Then Knocking The Other Kid's Head off is easy.

    Examine what is said, not who speaks.
    "Efficiency is intelligent laziness." -David Dunham
    "Think for yourself!" - Abigail        "Time is a poor substitute for thought"--theorbtwo
    "Memory, processor, disk in that order on the hardware side. Algorithm, algorithm, algorithm on the code side." - tachyon