3

Почему вы выбрали C++?

По моему опыту многие студенты делают выбор в пользу С++ не осознанно и в итоге тратят много сил, времени, денег и не достигают своих целей. Как же понять, что вы не ошиблись с выбором, и С++ именно тот язык, который поможет вам в достижении ваших целей?

Прежде всего, нужно определиться с вашей конечной целью и ответить на вопрос: что я хочу получить, после того, как стану С++ разработчиком? Комфортные условия труда? Зарплату выше средней по региону? Профессиональное признание? При ответе на эти вопросы необходимо быть максимально честным с собой. Да, для друзей, коллег и рекрутеров можно придумать красивую легенду, что ... софт для SpaceX написан на C++ и через несколько лет вы мечтаете принять участие в подобном проекте... И это прекрасно! Но может быть дело банально в "на моем текущем рабочем месте я смогу получать максимум 100к и этот потолок мне не пробить до пенсии"? И это тоже весомая причина выучить С++ и стать разработчиком, не стоит её стесняться.

Далее, необходимо осознать (именно осознать, а не принять к сведению), что С++ - это один из самых сложных языков в коммерческой разработке. Точка входа у С++ разработчиков действительно высока. Вы готовы потратить минимум год на изучение основ язык, а после этого еще примерно год на поиск первой работы?
Как бы это не казалось смешным, но именно на старте обучения стоит задуматься на тем, "кем вы видите себя через 5-10 лет". Да, должность техлида или архитектора проще всего получить имея опыт разработки. А вот на должность тимлида или руководителя проекта можно прийти, например, из тестирования. И в случае тестирования путь будет в разы короче.

UPD:

Технические посты тут t.me/neverending_cpp

Лига программистов

2.1K постов11.9K подписчиков

Правила сообщества

- Будьте взаимовежливы, аргументируйте критику

- Приветствуются любые посты по тематике программирования

- Если ваш пост содержит ссылки на внешние ресурсы - он должен быть самодостаточным. Вариации на тему "далее читайте в моей телеге" будут удаляться из сообщества

Вы смотрите срез комментариев. Показать все
1
Автор поста оценил этот комментарий

если душа не лежит хоть на чуть чуть к этому - даже не стоит пытаться

если мозг не заточен понимать хуйню в виде набора букв не похожего на слова - даже не стоит пытаться

если не можете думать о бесконечности и не понимаете как вселенная может быть бесконечной и что за ней - даже не стоит входит в изучение этого языка


а в общем обычный как все

раскрыть ветку (12)
0
Автор поста оценил этот комментарий
Полностью согласен. Если в C# писать прям удобно, синтаксис проще, куча встроенных из коробки библиотек, то в С++ имеем имена классов типа LPWCSTR, ебучие указатели, ссылки, адреса, память контролируй, с кодировками ебись, размеры строк укажи... Короче, я всемерно уважаю тех,тому он зашёл.
раскрыть ветку (11)
1
Автор поста оценил этот комментарий

LPWCSTR это имя типа Windows API. И это не класс. Эта аббревиатура расшифровывается как "long pointer constant wide character string" и этот тип это typedef к const wchar_t *.


В Майкрософт любят такие названия типов и венгерскую нотацию для идентификаторов.


Что касается кодировок, при программировании на WinAPI используйте Юникод и файлы ресурсов. В Юникс-подобных системах для работы с кодировками интерфейса обычно gettext используют. На мой взгляд - удобнее, чем компилировать версии с разным языком интерфейса с помощью подключения разных файлов ресурсов.


WinAPI написан на чистом C, а не на C++. В современном C++, что бы было меньше сложностей с указателями можно использовать умные указатели (std::unique_ptr, std::shared_ptr и std::weak_ptr), а для строк использовать std::string и std::wstring.


А что касается того, что на C# синтаксис проще, то ничего удивительного. Первая вресия появилась в 2001 году как ответ MS на появление Java. И в 2001 году был учтён предыдущий опыт в разработке языков программирования.


А первая версия C++ появилась в 1983 и при его разработке Бьёрн Страуструп сохранил обратную совместимость с C, который появился в 1972 как язык для системного программирования. И ядра ОС, драйвера, софт для микроконтроллеров до сих пор пишут, в основном, на C. А для такой задачи нужны и указатели и адресная арифметика и ручное управление ресурсами.

раскрыть ветку (3)
0
Автор поста оценил этот комментарий
Так, я отвечал на гораздо более короткий комментарий. :)
Я полагаю, мне следует полноценно почитать про современный С++, потому что на данный момент мои о нем знания основаны на базовом курсе (где все более менее нормально) и WinAPI (где ад и израиль). Потому что мне понравилась картинка из комментария #comment_328542117 насчёт скорости работы. Я знал, конечно, что С++ быстрее, но чтоб настолько...
0
Автор поста оценил этот комментарий
Да, мне ТС уже объяснил, что это из WinAPI, и там действительно все неудобно.
раскрыть ветку (1)
0
Автор поста оценил этот комментарий

Поэтому и появилось много библиотек для GUI, что бы на голом WinAPI не писать и проще было софт на другие платформы переносить.


Список библиотек для GUI на C++: https://terminalroot.com/the-7-best-cpp-frameworks-for-creat...


Список библиотек для С++ с открытими исходниками для разных задач https://en.cppreference.com/w/cpp/links/libs

Но думаю, библиотек намного больше, чем в этом списке.

1
Автор поста оценил этот комментарий

а мне под микроконтроллеры нравится вся эта поебистика))) поинтеры, сдвиги

но я так, не особо там в теме, для себя делаю, в 90е пару проектов написал с++ и ассемблер и с тех пор на полке знания лежат

но когда возвращаюсь - прям кайф для мозга)

1
Автор поста оценил этот комментарий

Подозреваю, что вы имели дело с кодом С++ производства MS или с проектами под WInAPI. Там действительно происходит какой-то невобразимый мрак. В современном С++ можно писать без указателей, ручного управления памятью, и уж тем более не нужно указывать размеры строк=)

раскрыть ветку (5)
0
Автор поста оценил этот комментарий

unique_ptr считаются за указатели? Если да, то как без них-то?

раскрыть ветку (1)
1
Автор поста оценил этот комментарий

Формально это класс. И да, можно написать программу уровня микросервиса и даже сервиса без std::unique_ptr, если не используются Сишные библиотеки.

0
Автор поста оценил этот комментарий
WinAPI, верно.
Я таки признаюсь в своем невежестве в данном вопросе, можете мне скинуть что-то почитать про современный С++? Потому что я был свято уверен, что тот ужас, который я вижу в WinAPI, это и есть настоящие плюсы.
раскрыть ветку (2)
1
Автор поста оценил этот комментарий

В сети, конечно же, есть полный pdf "для ознакомления":) https://www.litres.ru/book/pol-deytel/c-20-dlya-programmisto...

раскрыть ветку (1)
0
Автор поста оценил этот комментарий
Благодарю.
Вы смотрите срез комментариев. Чтобы написать комментарий, перейдите к общему списку

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества