0

A class is known to be an abstract data type because we know at a high level an abstract concept and what it can do. For example, we can make a Circle object and find the area of the circle without knowing how the area is computed. Similarly, we have Abstract Data Types like stacks, lists, and queues, which then are implemented through a data structure (the concrete implementation). My question is why is not an object, concrete implementation of a class ADT, considered a data structure? An object would hold data and then have functionalities to manipulate them just like a data structure. I know only ADTs such as stacks and queues that are implemented are considered data structures but is there a conceptual reasoning behind why not an object is not considered a data structure.

  • 3
    “Those who don't know history are doomed to repeat it.” - Edmund Burke In other word go back to the days of assembly before objects existed. Stacks and queues existed but objects did not exist, so if they were not called objects what were the called? Now come forward and add the concept of an object; what do you call new things, objects, data structures, ADT? See the point? – Guy Coder Sep 11 '21 at 10:24
  • Basically, what you are trying to say is there is some misuse of terminology over time but not worth wasting time over it? @GuyCoder – maxxokreamy Sep 11 '21 at 23:16
  • `Basically, what you are trying to say is there is some misuse of terminology over time` not always but that is good heuristic to apply at times. – Guy Coder Sep 12 '21 at 08:03
  • `not worth wasting time over it?` That one has a lot more caveats. If you are writing a research paper than yes be very precise and check the meaning or define the meaning in the paper. If you are arguing with a troll then just stop wasting time and walk away. A few days ago for this [question](https://stackoverflow.com/q/69134347/1243762) I was trying to help answer a question and rediscovered for myself that in Prolog one should use `instantiated` instead of `bound` but overall it is not worth the effort of debate. Continued. – Guy Coder Sep 12 '21 at 08:07
  • When it comes to a parsing, a word that confuses many is `lexeme`. I [answered](https://stackoverflow.com/a/14958865/1243762) it for this question and am surprised by how many people find that of value. But note the comment by ` Ira Baxter` which states: `In colloquial compiler usage, people tend to use the two terms interchangeably. The precise distinction is nice, if and when you need it.` This is a wise heuristic to use. – Guy Coder Sep 12 '21 at 08:11

0 Answers0