Return Styles: Pseud0ch, Terminal, Valhalla, NES, Geocities, Blue Moon. Entire thread

Abstraction considered harmful

Name: Anonymous 2008-04-27 19:31

From SICP:

We control complexity by building abstractions that hide details when appropriate

Which means that with abstraction the whole system will grow and bloat without the programmer noticing it.

Discuss

Name: Anonymous 2008-04-27 19:40

we should code everything in assembly to avoid abstract bullshit

Name: Anonymous 2008-04-27 20:10

>>1
IHBT

Abstraction is the key to computer science.

Discuss

Name: Anonymous 2008-04-27 21:05

Abstraction is the key to late binding, which is the key to computer programming.

Name: HAX MY ANUS MEME FAN 2008-04-27 21:09

>>4
Which is the key to anii haxing amirite?

Name: Anonymous 2008-04-27 21:11

Abstraction was always a way to keep the less educated programmers from knowing what really happens, by hiding things in the complexity. Have we deliberately limited the full capabilities of programmers in this fashion? You bring up an interesting topic.

Name: HAX MY ANUS MEME FAN 2008-04-27 21:13

More importantly though, abstraction means you don't have to fiddle with the details when doing the higher-order stuff. Hiding also means, in a way, making something automatic.

Also HAX MY ANUS

Name: Anonymous 2008-04-27 21:28

>>7
If you put the spoiler tag inside the sup tag, it won't show through like that.

HAX MY ANUS

Name: Anonymous 2008-04-27 21:31

/prog/

Name: HAX MY ANUS MEME FAN 2008-04-27 21:44

>>8
I didn't really mind but thanks. Good to know.

Name: Anonymous 2008-04-27 22:06

>>5
Anuses NOT anii.

learn2 latin

Name: Anonymous 2008-04-27 22:11

>>11
learn2 hax anii

Name: Anonymous 2008-04-27 22:14

abstract my anus

Name: Anonymous 2008-04-27 22:21

>>6
>Have we deliberately limited the full capabilities of programmers in this fashion?

I know you are trolling, but abstraction is not just a crutch for weak programmers. Notation in mathematics is another form of abstraction -- are you going to say that every mathematician who invented a suitable notation was not an EXPERT?

Name: Anonymous 2008-04-27 22:44

>>1
when appropriate

Name: Anonymous 2008-04-27 23:11

Computer software is built on many layers of abstraction.

These abstractions make the modern computer possible.

Name: Anonymous 2008-04-28 1:07

Abstraction in practice is too heavily tied to black boxes.  Building things up in layers is fine, but not letting programmers look at what inside the layer below is not.  Just because the code doesn't need to know the implementation details doesn't mean I don't.

Name: Anonymous 2008-04-28 2:25

>>17
gdb / ollydbg
Thread over.

Name: Anonymous 2008-04-28 4:32

>>2-19
WHBT.

Name: Anonymous 2008-04-28 6:47

MY ANUS WAS HACKED AND I ABSTRACTED MYSELF VIGOUROUSLY

Name: Anonymous 2008-04-28 8:28

Abstraction allows for much more useful optimization than trying to hand-squeeze every line of code.  If all code uses a matrix library, or IO library, and that library is made faster, a shitload of programs become faster.  Plus, the eyes of optimizing programmers can be focused in one place, combining ideas and efforts instead of everybody having a half-assed fairly quick attempt bolted in to their shit.

Name: Anonymous 2008-04-28 8:41

From SICP:

We conjure the spirits of the computer with our spells

Which means that as wizards we are immune to the failings of feebler minds.

Name: Anonymous 2008-04-28 9:07

Name: Anonymous 2008-04-28 9:25

We hax the anuses of the computer with our spells

Name: Anonymous 2008-04-28 10:09

Abstraction makes the implementation indepedent of the usage. So you can change your matrix class to store the information differently, and it won't matter to the program that uses it.

Name: Anonymous 2008-04-28 10:20

You might want to read SICP again.

Name: Anonymous 2008-04-28 11:40

Abstraction can in some cases make systems much more complex.  Layers of Abstractions insulate you from the whole system which can be bad in a lot of cases.  In learning especially I believe that abstract bullshite should be layered on after the underlying systems are understood.  SICP is a good example of fundamental programming being taught then more layers added on as the book progresses.  A lot of modern textbooks, especially OO ones, do not do a good job of this.   

Name: Anonymous 2008-04-28 11:41

>>27
Continued.

Hell A lot of modern OO textbooks are basically how to fit abstract pieces together without understanding what the fuck is going on.

Name: Anonymous 2008-04-28 11:47

>>28
You get abstractions all through the complexity stack. Even assembly language is an abstraction of machine code. But sometimes you need to break the abstraction because it doesn't do what it should do, or what you expect, or what you need.

Name: Anonymous 2008-04-28 12:06

abstract ur anus

Name: Anonymous 2008-04-28 13:48

Every programmer should take the time to know each layer of abstraction he is standing on, but to go back to assembly... lol

Name: Anonymous 2008-04-28 16:34

I like standing on the penises of past programmers and using the power of their abstraction to hax anii at an ever higher level.

Name: Anonymous 2008-04-28 18:11

>>27
Why the fuck are all you kiddie shits so afraid of complexity?  Caches are complex, but add a hell of a lot of speed.  So do JIT compilers, load balancers, prefetchers, threading on multicore, and all the other shit you're so fucking afraid of because of OMG CoMpexity.

Get the fuck off my /prog/.

Name: Anonymous 2008-04-28 18:15

>>33
also, yeah lol "COMPEXITY" whatever, fuck you too.

Name: Anonymous 2008-04-28 18:19

>>33
Why the fuck are all you kiddie shits so afraid of complexity?

My parents read me this post once when I was younger:

http://steve-yegge.blogspot.com/2007/12/codes-worst-enemy.html

(not sure who's that guy. found it through links from a friend's blog, and since I knew too little about java or systems programming, I probably gave it too much importance. bleh, anyway it's a good post)

Name: Anonymous 2008-04-28 18:29

>>35
Holy shit, what a load of horse shit.  The problem with that idiot is that he looks at all the fine-grained details and NEVER gets a big picture.  He doesn't understand architecture nor organization at all.  The only thing he knows is function-level algorithms and trying to peephole optimize.  Managing complexity is NOT a difficult task if you've got your shit together.

Many systems NEED to provide a ton of functionality, monitor and report on itself, be runtime flexible and interchangeable without restarting, and all sorts of stuff that requires the addition of complex systems.  Fuck, even on a hardware level, mainframe chips easily dedicate 30% of their silicon to monitoring and error conditions.  But complexity can be easily managed if you simply develop your code from a big picture instead of trying to collide a mish-mash of shitty "optimized" low-level leaves-before-the-forest algorithms together and pretend it's a working system.

Name: Anonymous 2008-04-28 18:31

>>36
Are you trying to troll >>1?

Name: Anonymous 2008-04-28 18:33

>>36
BTW, everything I've said applies as much to MMO servers as it does to banking systems and the like.  It's not just ENTERPRISE FAGGOTRY that needs to manage complexity, bedroom hackers need to learn it as well as his shitty handling of his game shows.

Name: Anonymous 2008-04-28 18:34

>>37
Are you trying to troll >>36 ?

Name: Anonymous 2008-04-28 18:39

>>35
Why did I bother reading that?  It doesn't matter at all how many lines of code a program is.  Say a 3000-line piece of Java code is equivalent to a 150-line Lisp package.  If they have the same features and the same granularity of use and processing, it's the _exact same_ amount of organization and maintenance.

You don't maintain lines of code, you maintain code modules, APIs, data stores, features, etc.  It simply doesn't matter how many lines each of those parts are, each "part" is one item in terms of complexity.

Newer Posts
Don't change these.
Name: Email:
Entire Thread Thread List