Ranter
Join devRant
Do all the things like
++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatar
Sign Up
Pipeless API
![](/static/devrant/img/pipeless-devrant-banner-white.png)
From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple API
Learn More
Comments
-
So being proficient in both C and ++, knowing something about hardware helps a lot?
-
xsacha4317yWhen you come from a language that hides the underlying memory locations (that is a lot of languages), it can a difficult concept to grasp that there is a location that points to another location and why you need to care about it. It can also be difficult to grasp that some things are copy by reference instead of value. The beauty is that understanding this actually helps you in almost all languages.
-
shadowiq1327yTrue xsacha. I'm starting to learn Python and the whole idea that copying a list variable just makes a reference is way easier to understand because I understand that concept.
-
shiv3797997yWayyyyy back in the day I remember doing something in vba using ByRef and ByVal. It confused the shit out of my colleagues! I was pretty surprised to find vba supported it too.
Ah man, that was a long old time ago! -
@jschmold you are very right. Coming to the realization that all abstract ideas and concepts really all boil down to memory is the most enlightening moment in computers. But in hindsight should be so simple to realize. I guess doing it for so long you take for granted the lack of understanding that other people have.
-
I think part of the problem is that people grow up thinking a computer is a magic box, and don't understand the underlying hardware. If you don't understand how memory is structured and how CPU instructions operate on memory, the concept of getting the address of a block of data seems alien.
Couple that with people learning high level languages before the low-level languages, and you'll find people try to bring their high-level programming methodologies to the low level languages.
They soon realize its requires a different type of problem-solving and they have to modify their logic so to speak.
Teaching a friend C:
"Thanks for giving me all the... ahem. Pointers."
Waits 2 Minutes
"But like seriously what is a pointer again?"
undefined