Okay, let me put it this way: would you EVER think of directly putting all the output code inside your main loop, for anything even as complex as a roguelike?
Doubtful.
You would at least have a function that draws the map to the screen.
Similarily, in any complex roguelike, you probably have a function that writes text to the text-area, and pauses for a more key if it gets too long.
Any language that supports splitting code into functions or procedures, you will likely use them for common tasks.
So, you will probably, for any sufficiently complex project, write a function of your own around the language/library's input or output, so that it accomplishes an entire task in one function call. This way, you don't have to force any bit of your code to render a textured quad whenever something changes on the map. More likely, you have it update an internal map array, that then gets drawn out in the desired method at the appropriate time.
However, any "real" language since C's syntax became popular, will support c=a+b relatively unchanged.
ASM, lisp, and brainf***(and similar intentionally nonstandard languages) are all that I can think of where addition is handled diffrently.
And I doubt any new learning programmer would EVER pick one of those as their first language, except possibly ASM if you go back maybe 40 years.
Thus, your mathematical equasions and most of your flow-of-control remains relatively unchanged across any beginner's language you pick, and most others as well.
Also, my example was plain C, not C++.
Also, what was your assembly experience? Linoleum? I looked at that, long ago, but the effort required to write text to the screen was just so massive that you absolutely HAD to outsource it to a library or at least a subroutine. That way, you reduced it one step(or in this case, kilometer) closer to the pure, crossplatform, math that everybody loves, since few languages dare to disrupt it's ancient beauty.
Not every language has '0' translate to 48, and not every language supports named functions that handle passing arguments. Not every language has a stack visible to the programmer, and some don't even have one at all. Some (joke) languages have less than ten distinct commands, and some have over a thousand libraries. Some use zero-terminated strings, some put the length in front instead. Some are interpreted, some compiled, and some both, but the one thing all have is the ability to add, and most of them use a standardized symbol that looks like +