3 ms·
Having a clear understanding of what is data, and what is a representation of that data (and being able to grok and manipulate both) is probably my #1 indicator
by nightcracker 6y ago
Having a clear understanding of what is data, and what is a representation of that data (and being able to grok and manipulate both) is probably my #1 indicator of who is or isn't a good computing engineer. This is a primary example of a failure of this.
- jimbob45 6y agoWould you care to enlighten us dentheads on the difference between the two?
- makapuf 6y agoNot OP, but 255 and 0xFF represent the same data, but the representation is not the same. Same for A and 65 in ascii by example. Edit: typo.
- cpeterso 6y agoso same bit patterns, different meaning?
- Doxin 6y agoI could draw an A on a piece of paper and it'll have the same meaning too. There's a near infinite amount of ways to "encode" the letter A. Same thing goes for any data. the more complex the more ways to represent that data. Importantly none of the representations are A. A is a concept and doesn't exist as a real tangible thing in the way paper, bits, or other encodings do. The map is not the terrain.
- ramses0 6y agoPi (π) can't be stored on a computer b/c it's infinitely long, it would run out of memory! data != the representation of that data Can you suspend pedantry long enough to calculate the area of a circle? What about the approximate area of a circle? Did the addition of the word "approximate" make a difference in how you interpreted the request/statement?
- nightcracker 6y agoSuppose my data is a single letter, the letter 'x'. I might represent this data as (for example): 1. The integer 24, as x is the 24th letter of the alphabet. 2. A picture of a handwritten x. 3. The symbol x, as I did above. 4. The integer 120, as in ASCII. All of these represent the same data, despite being different. Data representation often has multiple layers. For example that integer 120 from ASCII is then often represented as a single byte containing bits 01111000. The 'symbol x' has some unspecified representation. The picture might be represented using vector art, or an array of pixels, each with a color (which then requires[1] a representation for the colors). Now suppose I'd want to write a function that gives the next letter after the symbol I'd give in. Choosing the right representation for your data can make this easy or hard. For the example above, representations 1, 4 are very easy (simply increment the number of the representation by 1), 3 is somewhat easy, and 2 is highly impractical. --- [1] I said something requires a representation. But this is only true when creating a concrete implementation. But while designing algorithms or systems it can often simplify things to simply think of the data, and not its representation.