14 ms·
This is why I think higher-level programming is easier. I love to build an abstraction around a complication so that I don't have to think about it anymore. I
by Periodic 13y ago
This is why I think higher-level programming is easier. I love to build an abstraction around a complication so that I don't have to think about it anymore. It was only very recently that I began to embrace what kind of programmer I am. I prefer high level abstractions; I prefer the mathematical underpinnings; I detest doing things manually. Other people have the opposite inclinations and I'm happy that the world has both.
I have recently had to work with C++ on some systems-level code. It's the lowest-level I've had to work on for a while. I find that having to think about things like memory management and system peculiarities like buffer alignments gets in the way of thinking about the higher level algorithm or problem. In this case I did not have the luxury of being able to build abstractions around some of the quirks I encountered.
On the other hand, when I work at a high level with a suitably high-level language, I can recognize patterns and abstract them away. For example, I've seen many instances of the pattern
b = a.f(); if (b != null) { c = b.g(); if (c != null) {...}}
This pattern is fairly common, and in a suitably rich high-level language I can abstract it and just write
c = a.f().g();
It saves me a lot of thinking and honestly feels a lot easier.