First, a little background ...
In the future, I use C, C ++ and Java to encode (general) algorithms, not a GUI and a fantasy program with interfaces, but simple command line algorithms and libraries.
I started learning Java programming. I did a great job with Java, and I learned to use Java containers a lot, as they tend to reduce the complexity of accounting, guaranteeing excellent performance. I used C ++ periodically, but I was definitely not as good with it as with Java, and it seemed cumbersome. I did not know that C ++ was enough to work in it without looking at every function, and therefore I quickly returned to sticking to Java as much as possible.
Then I suddenly turned to hacking and hacking in assembly language because I felt that I was too focused on a too high level of language, and I needed more experience working with a processor that interacts with memory, and what really happens with 1 and 0. I must admit that this was one of the most educational and interesting events that I have had with computers to date.
For obvious reasons, I could not use assembly language for daily use of the code, it was mainly reserved for funny sabotage. Learning more about this computer, I realized that C ++ is much closer to βlevel 1 and 0β than Java, but I still felt that it was incredibly dumb like a Swiss army knife with too many gizmos to make any task with elegance. I decided to try plain C vanilla and I fell in love quickly. It was a happy environment between simplicity and enough "micromoment" to not ignore what was really happening. However, I missed one thing about Java: containers. In particular, a simple container (such as a stl vector) that dynamically expands in size is incredibly useful, but it is very painful to execute in C every time. Therefore, my code currently looks almost entirely C with containers from C ++ that I have selected, the only function that I use from C ++.
I would like to know if in practice I can use only one feature of C ++ and ignore the others in favor of code like C?
source share