Сначала немного фона ...
В дальнейшем я использую C, C ++ и Java для кодирования (общих) алгоритмов, а не графические и необычные программы с интерфейсами, а простые алгоритмы командной строки и библиотеки.
Я начал изучать программирование на Java. Я неплохо освоил Java и научился много использовать контейнеры Java, поскольку они, как правило, уменьшают сложность бухгалтерского учета и гарантируют высокую производительность. Я периодически использовал C ++, но я определенно не был так хорош с ним, как с Java, и это было громоздко. Я не знал C ++ достаточно, чтобы работать в нем без необходимости искать каждую отдельную функцию, и поэтому я быстро вернулся к тому, чтобы как можно больше придерживаться Java.
Затем я внезапно перешел к взлому и взлому на языке ассемблера, потому что чувствовал, что слишком много внимания уделяю языку слишком высокого уровня, и мне нужно больше опыта, как процессор взаимодействует с памятью и что на самом деле происходит. с 1 и 0. Я должен признать, что это был один из самых образовательных и забавных событий, которые я когда-либо имел с компьютерами.
По очевидным причинам, я не мог использовать ассемблер для ежедневного кодирования, он был в основном зарезервирован для развлечения. Узнав больше о компьютере благодаря этому опыту, я понял, что C ++ намного ближе к «уровням 1 и 0», чем Java, но я все же чувствовал, что он невероятно тупой, как швейцарский армейский нож со слишком большим количеством вещиц, чтобы сделать любую задачу с элегантностью. Я решил попробовать простую ванильную C и быстро влюбился. Это была счастливая середина между простотой и достаточным количеством «микроманагента», чтобы не абстрагироваться от того, что на самом деле происходит. Тем не менее, я упустил одну вещь о Java: контейнеры. В частности, простой контейнер (такой как вектор stl), который динамически расширяется в размере, невероятно полезен, но довольно сложно каждый раз внедрять в C. Следовательно, мой код в настоящее время выглядит почти полностью как C с контейнерами из C ++, единственной функцией, которую я использую из C ++.
Я хотел бы знать, нормально ли на практике использовать только одну функцию C ++ и игнорировать остальные в пользу кода типа C?