abstraction

Abstraction VS Information Hiding VS Encapsulation

Can you tell me what is difference between ABSTRACTION and INFORMATION HIDING in software development? I am confused abstraction hides detail implementation and information hiding abstracts whole details of something. updated: I found good answer for these three concepts. From here: http://www.itmweb.com/essay550.htm Abstraction: ...

Abstraction away from CSS

Let me make something quite clear. I. Hate. CSS. It is a never-ending nightmare. Every minor layout change feels like a hack. Solutions to problems seem to often involve jiggering numbers around like some chef trying to work out exactly how much nutmeg to put in his soon-to-be famous rice pudding. Then comes the multiple browser issue,...

Is there a .NET OS abstraction layer to make OS calls work cross-platform?

I really want to write .NET apps that run on any platform (PC, Linux and Mac). I am not really concerned about UI capabilities because these are mostly background services. I have heard of MONO and that it allows you to write .NET apps that run on Mac and Linux, but I want to be able to write a single app that when compiled for Windows...

How to approach something complex?

You know that particular part of your code that is essential for the project but will probably take a lot of time to get it done? Do you ever get the feeling that you'd rather work on something else (probably less important) or not code at all instead of working on that part? That beast you try so hard to avoid and use every lazy trick y...

Storing formatted text in a DB while maintaining abstraction.

How would you store formatted blocks of text (line breaks, tabs, lists - etc.) in a database (nothing specific) to be displayed on the web (XHTML) while maintaining a level of abstraction so that the data can be used in other applications or if the structure of the website were to change in the future? ...

Where next, after Haskell?

I tend to have a stereotype of Haskell as the most "advanced" (high-level, sophisticated, powerful, abstract) language. One which has lots of weird features that, if I could grasp them, would make me a super-hero programmer. But what comes after Haskell? What languages and new kinds of abstraction are being invented now in academia whic...

How do you get people to value abstraction and flexibility over "just getting it done"?

I sometimes have difficulties with other people who wish to solve a problem when they wish to skip the official interfaces and access underlying implementation details directly. They argue that doing so will allow them to solve the problem more quickly. I argue that doing so will cause our architecture to become more tightly coupled an...

Why do people use Java?

I've become very curious lately, what is it about Java that made it so popular? I've avoided learning it in detail because it seems like a very poor language at a very basic level. A good language should make simple operations simple (not too much boilerplate to do something simple and common like loop over a collection, create a helpe...

Abstracting data connection layers and presentation layers in an enterprise application

We are building an enterprise application in which we will incorporate multiple platforms for user interfaces (i.e. ASP.net webapp, Windows Application, and someday, Mobile Apps) and multiple platforms for back-end databases (i.e. SQL Server, XML, Oracle). An additional neccesity is that these back-end DBs either be centralized and acce...

Level of Indirection solves every Problem

What does the quote "Level of Indirection solves every Problem" mean in Computer Science? ...

Does single-paradigm OOP lead to abstraction inversion?

For those of you who aren't familiar with the concept, abstraction inversion is the implementation of low-level constructs on top of high-level constructs, and is generally considered a bad thing because it adds both needless complexity and needless overhead. Of course, this is a somewhat imprecise, subjective definition. In your opini...

Worst Abstraction Inversion

What is the worst (due to either prevalence or severity) example of abstraction inversion that you see in programming today? For those of you who are not familiar with the concept, abstraction inversion is implementing low-level constructs on top of high-level constructs. More precisely, assume you have constructs A and B. B is implem...

Language Design: More or less flexible in the future

There seems to be a fundamental split among programmers on how new general-purpose languages should be designed. In one camp you have those who think new languages should be more disciplined, stricter, simpler, etc. than old ones and should focus on making it harder to shoot yourself in the foot, even if this means giving up some expres...

Why does it seem that most programmers tend to write all their code at the lowest possible level of abstraction?

In my thirty years of programming experience, it seems to me that the vast majority of the source code that I have read, and the vast majority of the programmers that I have encountered, tend to write all their code at the lowest possible level of abstraction. Allow me please to provide an example. I answered a post earlier today in wh...

What is the best way to visualize abstract concepts (algorithm/data structure)?

What's the best way to "see what is happening" in an algorithm/data structure? If it's something like a binary search I just imagine a bunch of boxes in a row, and throwing half of them out each time. Is there something more powerful that will let us grok something as abstract as an algorithm/data structure? Clarification: I'm looking f...

How to abstract out 2 different implementations of cache

I plan to use a distributed cache in my load-balanced webapp. So I'm going to try to abstract out the common functions between apache ehcache and memcached. My goal is to be able to make a simple configuration switch to select the caching solution to use. Should I go the SPI route e.g. like how XML parsers are wired in ? ...

Creating an Environment Stack in OpenGL

I'd like to create an abstraction in OpenGL of the environment settings(blending, stenciling, depth, etc.) that works like the matrix stack. Push onto the stack, make any changes you need, draw your objects, then pop the stack and go back to the prior settings. For example, currently you might have drawing code like this: glEnable(GL_B...

Best way to use Javascript's "good parts"

On Stackers' recommendation, I have been reading Crockford's excellent Javascript: The Good Parts. It's a great book, but since so much of it is devoted to describing the best way to use Javascript's basic functionality, I'm not sure how I can put his advice into practice without duplicating the efforts of many other Javascript programm...

What is the difference between Abstraction and Polymorphism

I seem to not understand two OOP concepts very well. Could you explain what abstraction and polymorphism are, preferably with real examples and code? Thank you. ...

How to allocate memory to an array of instances using an abstract class?

Hi, I have an abstract class defining a pure virtual method in c++: class Base { Base(); ~Base(); virtual bool Test() = 0; }; I have subclassed this with a number of other classes (which provide an implementation for Test()), which I'll refer to as A, B, C, etc. I now want to create an array of any of these types using this base cla...