​​Краткий рассказ С/С++ разработчика о том, зачем именно вам стоит изучить хотя бы основы этих инструментов, пусть даже вы и программируете на другом языке программирования - PHP, JavaScript, Java, Python, в общем абсолютно не важно!



1. ОСНОВЫ CS

Не получится просто взять С/С++ и начать на них бездумно программировать... Хотя нет, получится, но программы ваши будут постоянно постреливать в различных местах (чаще всего там, где вы этого не будете ожидать), либо они будут такими же медленными, как и программы на каком-нибудь интерпретируемом скриптовом языке программирования (т.е. смысла от использования этих языков не будет никакого). Не стоит отчаиваться, выход есть! Для того, чтобы избежать всех тех проблем, вам придется познакомиться с основами архитектуры компьютера и операционных систем. В итоге, если у вас все никак не доходили руки до изучения основ CS, то С/С++, конечно же, вам в этом помогут!



2. ПЕРЕХОД НА ДРУГИЕ ЯП

После изучения С/С++ изучение других языков программирования будет вам даваться намного проще, потому что многое, что есть или скрыто в других язык программирования, вам часто приходится использовать или реализовывать самостоятельно! Приведу пример, когда я давно изучал Java, то я прекрасно понимал (без глубокого чтения документации), что происходит в момент выполнения операции "new", за счет чего там происходит передача объектов по ссылке и почему там строки имутабельные. Также совсем недавно решил изучить Go, дойдя до указателей - я понял, что могу смело идти дальше, потому что знаю в этой теме практически все!



3. УВЛЕЧЕННОСТЬ

Лично мне, иногда, нравится понимать, что я пишу такой софт, который работает бок о бок с операционной системой или использует какие-либо фичи аппаратного обеспечения, чтобы максимально утилизировать ресурсы машины, на которой будет запускаться приложение. Поверьте, это действительно очень сильно завораживает!