• Congratulations to the Class of 2024 on your results!
    Let us know how you went here
    Got a question about your uni preferences? Ask us here

ABSTRACTION in computer programming - HELP! (1 Viewer)

miss-smexy

Member
Joined
Sep 8, 2006
Messages
380
Gender
Female
HSC
2007
Hi guys,

I was just wondering, what is 'abstraction of computer programming'? Like my textbook refers to object oriented programming (OOP) moving towards Aspect Oriented Programming (AOP). I'm very lost... please help!
 

chucknthem

chuck norris
Joined
May 29, 2006
Messages
376
Gender
Male
HSC
2006
http://en.wikipedia.org/wiki/Abstraction_(computer_science)

essentially it's how implementation details of an object or method is hidden to help programmers stay organized and focused on higher level development. like if they are working on something that requires a queue, some abstract methods include adding to the queue, and subtracting from the queue. The programmer who is using the queue shouldn't need to know what is happening in the background like how or where the data is stored in the queue. So memory allocation and the queue data structure is "abstracted away".
 

Slidey

But pieces of what?
Joined
Jun 12, 2004
Messages
6,600
Gender
Male
HSC
2005
Java does it a lot.

It's essentially part of a move to 4th/5th generation computer languages.

I don't particularly like it. I think the failure of 5th generation languages and the specificity of 4GLs speaks for itself. Hundreds of billions of dollars have been spent on 4GL/5GL research with little gains.

Object-Oriented Programming is itself an example of mass abstraction. It's successful because it offers the right balance between obfuscation, control, and abstraction. Abstraction attempts past OOP become increasingly problem-specific and the flaws of the approach multiply.

Increased abstraction has its place, but it's not the future of programming. The situation is similar to AI, where everyone thought it was the future of programming until the limitations and flaws became apparent. These days, AI is used for specific cases, like expert systems. The overall goals of AI haven't changed, but the perception of what's practically achievable with current technology has.

Notable examples of 4th gen languages: SQL, Matlab, Mathematica, Maple.
Notable examples of 5th gen languages: regular expressions, Prolog.

AI has a curious property, though; we don't have the uncertainty of whether or not it is possible, as in quantum computing for example. We know for a fact it is possible, because it is what the human brain is. As such, research in AI has shifted away from determinism and logic to complexity, chaos and parallelism (e.g. neural nets).
 

Metamporphosis

New Member
Joined
Mar 12, 2008
Messages
10
Gender
Female
HSC
2009
Abstraction is (as far as I know from my Software Design course) a method of breaking a program up into "modules" and examining the smaller problem in isolation. (Like, not looking at the big picture)
 

chucknthem

chuck norris
Joined
May 29, 2006
Messages
376
Gender
Male
HSC
2006
That's more like modulization...HSC Software Design&Dev is pretty much bullshit. :rofl:
 

Users Who Are Viewing This Thread (Users: 0, Guests: 1)

Top