Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / C++ Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2 3 4 5 6 7 8 9   вперед  Ctrl      все
 Изучение C++ после java  [new]
Ржавый гвоздь
Member

Откуда:
Сообщений: 133
Господа знатоки C++, нужна ваша помощь в выборе плана самообразования.
Дело тут у меня вот какое. Закончил я недавно ВУЗ и работаю сейчас java прогером, пишу веб-сервисы: spring, vertx, oracle, mysql, вот это вот все. И чувствую, что начинает меня это помаленьку задалбывать, потому что интересных для меня задач тут нет. Все, что пишут (и за что платят, конечно ) на java - это такие вот сервисы и бекенды, основная суть которых - гонять данные по сети да от БД к БД в разные стороны. Особо не разгуляешься, в общем.
Совсем другое дело C++ - тут вакансии гораздо интереснее и разнообразнее. И графику 2D/3D пишут, и обработку данных аудио/видео, CAD'ы и САПРы, да и встраиваемые системы и системы управления всякими железяками тоже весьма небезынтересны (а железяки я с детства люблю ) В общем, хотелось бы бросить пилить сетевые пакетогонялки на джаве и заняться задачами поинтереснее. Понятно, что для многих из этих задач нужно знать соответсвтующую матчасть, но специальность в вузе у меня была околоматематическая, так что при необходимости в нужном матане разобраться смогу за вменяемое время - по крайней мере, на 5 лет в изучение аналитической геометрии/алгебры/теории сигналов, или что там мне потребуется, не уйду.
Но начинать, думаю, надо все же с C++, потому что большая часть всего этого добра пишется именно на нем. В связи с этим мой вопрос - может кто-то уже проходил подобный путь и может поделиться собственным опытом, как наиболее эффективно изучать C++, с учетом опыта (не большого, чуть больше года) на джаве.
Сам я сейчас скачал книгу Липпман, Лажойе, Му "Язык программирования C++. Базовый курс. 5-е издание", начал читать помаленьку. Что можете сказать о этой книге, или может быть можете что-то другое получше посоветовать?
Также, думаю, неплохо было бы, и для опыта, и для резюме, поучаствовать в каком-нибудь opensource проекте. Буду благодарен за наводку, какому проекту требуется помощь, и при этом они без особых проблем принимают патчи от людей со стороны.
16 апр 18, 16:49    [21342973]     Ответить | Цитировать Сообщить модератору
 Re: Изучение C++ после java  [new]
semen.s.semen
Member [заблокирован]

Откуда:
Сообщений: 2884
Нахожусь ровно в такой же ситуации

https://www.sql.ru/forum/1290673/prostoy-vopros

Вот потихоньку изучаю плюсы

Отправляй резюме, пробивайся в С++ и будет тебе счастье.
16 апр 18, 16:53    [21342988]     Ответить | Цитировать Сообщить модератору
 Re: Изучение C++ после java  [new]
Ржавый гвоздь
Member

Откуда:
Сообщений: 133
Да отправлять резюме то понятно, но перед тем как отправлять и пробиваться, нужно всё таки язык подучить, хотя бы чтоб суметь что-то на нем написать. А для меня сейчас нагугленные вопросы с собеседований по C++ - темный лес большая часть, та что языкоспецифичная.
Думаю сделать какой-нибудь свой проектик средней сложности и попутно книгу читать. Только вот пока не придумал, что сделать. Пока просто почитываю книжку проникаюсь, так сказать, духом языка. После джавы - новый удивительный мир открывается)
16 апр 18, 17:02    [21343010]     Ответить | Цитировать Сообщить модератору
 Re: Изучение C++ после java  [new]
semen.s.semen
Member [заблокирован]

Откуда:
Сообщений: 2884
Ржавый гвоздь
Да отправлять резюме то понятно, но перед тем как отправлять и пробиваться, нужно всё таки язык подучить, хотя бы чтоб суметь что-то на нем написать. А для меня сейчас нагугленные вопросы с собеседований по C++ - темный лес большая часть, та что языкоспецифичная.
Думаю сделать какой-нибудь свой проектик средней сложности и попутно книгу читать. Только вот пока не придумал, что сделать. Пока просто почитываю книжку проникаюсь, так сказать, духом языка. После джавы - новый удивительный мир открывается)


Ну изучайте - кто мешает

Но каждодневный проект, коллеги и интервью способствуют изучению намного сильнее
16 апр 18, 17:04    [21343015]     Ответить | Цитировать Сообщить модератору
 Re: Изучение C++ после java  [new]
mayton
Member

Откуда: loopback
Сообщений: 51017
Ржавый гвоздь, можно начать с написания сетевой игры.
16 апр 18, 22:11    [21343711]     Ответить | Цитировать Сообщить модератору
 Re: Изучение C++ после java  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 52921

mayton
можно начать с написания сетевой игры.

Всерьёз предлагаешь человеку, которого задолбали пакетогонялки, написать ещё одну?..

Posted via ActualForum NNTP Server 1.5

16 апр 18, 22:16    [21343717]     Ответить | Цитировать Сообщить модератору
 Re: Изучение C++ после java  [new]
mayton
Member

Откуда: loopback
Сообщений: 51017
Я предельно серьезен.
16 апр 18, 23:00    [21343794]     Ответить | Цитировать Сообщить модератору
 Re: Изучение C++ после java  [new]
Anatoly Moskovsky
Member

Откуда: Odessa
Сообщений: 6626
Ржавый гвоздь,

После джавы рекомендую сначала освятить помещение изучить голый С, чтобы понять как устроено низкоуровневое программирование. Потому что хоть современный С++ и позволяет писать код почти как в джаве не задумываясь в основном про низкий уровень, но иногда неизбежно с ним приходится иметь дело.
16 апр 18, 23:08    [21343810]     Ответить | Цитировать Сообщить модератору
 Re: Изучение C++ после java  [new]
CEMb
Member

Откуда: Столько
Сообщений: 2129
Anatoly Moskovsky
Потому что хоть современный С++ и позволяет писать код почти как в джаве не задумываясь
вот не согласен Картинка с другого сайта.
и там и там надо думать и делать всё аккуратно, и в плюсах больше возможностей, в том числе и пострелять себе по ногам.

mayton
Я предельно серьезен.
Почему сетевую? Я чувствую, мысль не дораскрыта. Но +1 к игре, игры обычно позволяют хорошо поработать с классами и ООП.

Btw, самая верхняя тема тут про книжки по плюсам.

PS: Однако, мне кажется, что вакансий по плюсам сейчас в разы меньше, чем по яве. Причина тому как раз востребованность во всяких сетевых сервисах, веб-приложениях и так далее. У нас на работе на тысячу яверов один плюсовик (это я). А так же заточенность явы под быструю разработку, и то, что она весомо обросла прикладными библиотеками.
17 апр 18, 05:41    [21344037]     Ответить | Цитировать Сообщить модератору
 Re: Изучение C++ после java  [new]
mayton
Member

Откуда: loopback
Сообщений: 51017
Добавлю. На самом деле автору респект. Молодец. Я очень мало наблюдал подобных инициатив.
По сути человек ищет. Человек сознательно выходит из зоны комфорта чтобы сделать что-то большее.
И хотя я сильно сомневаюсь насчет вакансий. В общем количестве скорее всего цифры будут
обратные. Что там CAD-ы и сапры и встраиваемые системы? Ну.. даже в нашем форуме они
почти не представлены.

По поводу игр и прочее. Современная игра на С++ это сплав самых быстрых и мощных
технологий. И если вы где-то халтурите то игрок просто в нее не будет играть. Игроки вообще - самые
придирчивые acceptance тестеры. Современная игра - это DirectX/OpenGL/WebGl/Unity.
InMemory dbms. Быстрый сетевой игровой протокол (если речь идет об онлайн играх).
Современная игра нужнается в физике. Нужно моделировать мир. Нужны структуры данных
для мапы. Нужны умные enemyes. Тоесть надо хоть что-то почитать по AI и нечеткой логике.

Но я отвлекся. По поводу оплаты. Скорее всего будет тяжело. Порог вхождения - высокий.
Джуниорам платят мало. Я вообще думаю что С++ джуны скоро вымрут как класс. Остануться
седые брудастые архитекторы. Вобщем будет как в COBOL.

Поэтому давайте в топике его поддержим. Удачи ему и успехов.
17 апр 18, 21:10    [21346770]     Ответить | Цитировать Сообщить модератору
 Re: Изучение C++ после java  [new]
semen.s.semen
Member [заблокирован]

Откуда:
Сообщений: 2884
CEMb
чем по яве.


по яве нет вакансий для нормальных сильных программистов

Один говнопрайз с менеджерами и прочими садомскими радостями

А на плюсах полно вакансий, hh.ru ломится от предложений

И зарплаты хорошие
17 апр 18, 21:40    [21346850]     Ответить | Цитировать Сообщить модератору
 Re: Изучение C++ после java  [new]
mayton
Member

Откуда: loopback
Сообщений: 51017
semen.s.semen, хорошо. Тоже точка зрения. Только снизьте градус. Я вас прошу.
17 апр 18, 23:00    [21347085]     Ответить | Цитировать Сообщить модератору
 Re: Изучение C++ после java  [new]
semen.s.semen
Member [заблокирован]

Откуда:
Сообщений: 2884
mayton
semen.s.semen, хорошо. Тоже точка зрения. Только снизьте градус. Я вас прошу.


Хорошо
17 апр 18, 23:03    [21347096]     Ответить | Цитировать Сообщить модератору
 Re: Изучение C++ после java  [new]
kolobok0
Member

Откуда:
Сообщений: 2180
Ржавый гвоздь,

Скажем так: везде есть свои плюс плюсы
И даже в яве-какаве. Просто надо наверное поискать на hh вакансию где требуется то, что Вам будет интересно.
Ну или (если всё же свербит) - копать не чисто си плас плас а применительно к тем технологиям которые во всю сейчас юзаются в яве = микросервисы, контейнеризация, биг дата и прочие модные словечки. Правда надо не поверхностно понимать, что это за звери.

По сям - направлений много и лучше опираться на поставленную задачу. Если интересно железо - это одно. Если форточки - другое. Если линукс - третье. Реверс, межпроцессное, многозадачное и т.д..
Всё охватить тяжеловато будет за маленький временной лаг. Посему - лучше плясать от задачи. Ставьте, находите и вперёд.

как то так
удачи вам
(круглый)
17 апр 18, 23:20    [21347120]     Ответить | Цитировать Сообщить модератору
 Re: Изучение C++ после java  [new]
MasterZiv
Member

Откуда: Питер
Сообщений: 34688
[quote автор]
Ржавый гвоздь
Господа знатоки C++, нужна ваша помощь в выборе плана самообразования.
Дело тут у меня вот какое. Закончил я недавно ВУЗ и работаю сейчас java прогером, пишу веб-сервисы: spring, vertx, oracle, mysql, вот это вот все. И чувствую, что начинает меня это помаленьку задалбывать, потому что интересных для меня задач тут нет. Все, что пишут (и за что платят, конечно ) на java - это такие вот сервисы и бекенды, основная суть которых - гонять данные по сети да от БД к БД в разные стороны. Особо не разгуляешься, в общем.

Вообще-то это суть нашей работы в принципе...

Или ты хочешь UI рисовать? Меня напр. от него тошнит...



автор
Но начинать, думаю, надо все же с C++, потому что большая часть всего этого добра пишется именно на нем. В связи с этим мой вопрос - может кто-то уже проходил подобный путь и может поделиться собственным опытом, как наиболее эффективно изучать C++, с учетом опыта (не большого, чуть больше года) на джаве.


Ну... сложности будут с адресной арифметикой, массивами, объектной моделью (она другая в С++, и сложнее и универсальнее),
со стандартной библиотекой (она не такая всеобъемлющая как в Java).
шаблоны и метапрограммирование вообще свихнут мозг, но туда особенно можно и не лезть.

автор
Сам я сейчас скачал книгу Липпман, Лажойе, Му "Язык программирования C++. Базовый курс. 5-е издание", начал читать помаленьку. Что можете сказать о этой книге, или может быть можете что-то другое получше посоветовать?



Это хорошая книга как первая.
Остальные смотри в FAQ , там есть ссылка на статью на SO

Будут вопросы -- t.me/supapro

автор
Также, думаю, неплохо было бы, и для опыта, и для резюме, поучаствовать в каком-нибудь opensource проекте. Буду благодарен за наводку, какому проекту требуется помощь, и при этом они без особых проблем принимают патчи от людей со стороны.


Ну ... с этим я пока не помогу. Да и нечего. сначала надо задачки из учебников писать.
17 апр 18, 23:34    [21347145]     Ответить | Цитировать Сообщить модератору
 Re: Изучение C++ после java  [new]
Anatoly Moskovsky
Member

Откуда: Odessa
Сообщений: 6626
MasterZiv
Будут вопросы -- t.me/supapro

Это же просто чат. Ни отдельных тем, ни даже форматирования исходников.
Все сплошняком в кучу навалено.
Какой вообще смысл в этом?
17 апр 18, 23:42    [21347160]     Ответить | Цитировать Сообщить модератору
 Re: Изучение C++ после java  [new]
mayton
Member

Откуда: loopback
Сообщений: 51017
Щас на хабре увлечение. Ребята берут старые добрые игры. Windows, игровые консоли.
Реверсят их. Фиксят баги (!). Находят пасхалки и релизят снова.

Честно.. у меня челюсть отвисает от такого энтузиазма и обилия свободного времени.
Даже завидую.
17 апр 18, 23:43    [21347163]     Ответить | Цитировать Сообщить модератору
 Re: Изучение C++ после java  [new]
CEMb
Member

Откуда: Столько
Сообщений: 2129
mayton
И если вы где-то халтурите то игрок просто в нее не будет играть.
имеется ввиду быстродействие и производительность.

mayton
Я вообще думаю что С++ джуны скоро вымрут как класс. Остануться
седые брудастые архитекторы. Вобщем будет как в COBOL.
я правильно понял, что нам всем выдадут бессмертие?

semen.s.semen
по яве нет вакансий для нормальных сильных программистов
хмм, проникся. Но я ещё раз хочу уточнить немного. Тут важно понимать, что такое плюсы и ява сейчас. Ява была создана, как удобный инструмент для быстрой разработки, и она себя оправдала. Но обратная сторона такой радости - разрастание библиотек и технологий, которые местами исчерпали "запас прочности" явы. К примеру, есть GC, он работает хорошо, но как только вы начинаете работать с более сложными задачами - он начинает работать против вас (даже смешно получилось: GC был создан для того чтобы про него не думать, а в результате сейчас надо знать и понимать, как он работает...). Проблема усугубляется тем, что огромное количество библиотек для явы, которые решают кучу рутинных задач, игнорирует этот момент, и вы уже не можете решить ту же проблему с GC, просто потому что она уже не в вашем коде. И эта ситуация как снежный ком.
Теперь вернёмся немного назад, к вакансиям и задачам. Я считаю, что в природе существуют вакансии, где задачи и подходы делаются правильно. Что имеется ввиду: это когда вы не берёте готовые А, Б и В и быстро за месяц из них делаете Г и отправляете в релиз. А вместо этого анализируете, что вам нужно из готового, а что надо разработать самим, несмотря ни на что. Умение проводить такой анализ и делать оценки - не зависит от языка программирования. Поэтому работодатели, которые хотят хороший продукт, у которых нет "планов партии" - будут склоняться ко второму варианту. Поэтому я считаю, что хорошие вакансии для явы тоже есть, может быть их мало, но они есть.

semen.s.semen
А на плюсах полно вакансий, hh.ru ломится от предложений
хмм, надо, таки, сходить посмотреть, что это за hh.ru такой Картинка с другого сайта.

mayton
Честно.. у меня челюсть отвисает от такого энтузиазма и обилия свободного времени.
о, я тоже пытался, и у меня немного получалось, так как и на работе реверсом занимаюсь, но у меня возникли проблемы со свободным временем, да ну и интерес к своим проектам сильно перетягивает одеяло на себя
18 апр 18, 05:56    [21347287]     Ответить | Цитировать Сообщить модератору
 Re: Изучение C++ после java  [new]
mayton
Member

Откуда: loopback
Сообщений: 51017
CEMb
Ява была создана, как удобный инструмент для быстрой разработки, и она себя оправдала.

Она создавалась как инструмент для кросс-платформенной разработки встраиваемого ПО для бытовой техники.
Остальное - уже в процессе эволюции.

CEMb
Проблема усугубляется тем, что огромное количество библиотек для явы, которые решают кучу рутинных задач, игнорирует этот момент, и вы уже не можете решить ту же проблему с GC, просто потому что она уже не в вашем коде. И эта ситуация как снежный ком.

Последние 7 лет я в кровавом Java-ентерпрайзе но я не могу вспомнить именно такую проблему.
Возможно везло с библиотеками. Но если речь идет просто о расходе памяти то мой опыт показал
что обычно причиной является свой собственный прикладной код который (к примеру) сохраняет
слишком много объектов в Hibernate Context, или закрепляет ссылку в static scope.

Такие кейсы нужно изучать. И если вспомните - что за библиотека создавала нагрузку - прошу
напишите название и версию.
18 апр 18, 08:44    [21347434]     Ответить | Цитировать Сообщить модератору
 Re: Изучение C++ после java  [new]
CEMb
Member

Откуда: Столько
Сообщений: 2129
mayton
Она создавалась как инструмент для кросс-платформенной разработки встраиваемого ПО для бытовой техники.
Остальное - уже в процессе эволюции.
Хмм... в те времена, когда ява создавалась, вроде ещё не было такой бытовой техники, куда бы требовалось ПО? В промышленных контроллерах С справлялся.

mayton
И если вспомните - что за библиотека создавала нагрузку - прошу
напишите название и версию.
я сам мало разработкой на яве занимаюсь, просто слежу за соседними разработками и немного участвую в наших. Например, у нас проблема с тем же Hibernate. Изначально разработчики его взяли потому что удобно было работать с базой, сделал описание и дальше библиотека всё за тебя делает. Но когда дело дошло до промышленных масштабов, обнаружилось, что Hibernate не справляется с таким количеством запросов из-за своего кеша. Как следствие, тормоза и обрывы соединений с БД. Деталей я не знаю, но мы теперь мучительно от него избавляемся.
18 апр 18, 09:38    [21347557]     Ответить | Цитировать Сообщить модератору
 Re: Изучение C++ после java  [new]
semen.s.semen
Member [заблокирован]

Откуда:
Сообщений: 2884
CEMb
Деталей я не знаю, но мы теперь мучительно от него избавляемся.


Все эти специалисты долго и больно в течение длительного времени пытались заменить умного С++ программиста с математическим бэкграундом на попсового социально приемлимого дурачка - специалиста по фреймворкам

Ну как результат груда кода - не выдерживающего никакой критики на серьезных нагрузках.
18 апр 18, 10:57    [21347860]     Ответить | Цитировать Сообщить модератору
 Re: Изучение C++ после java  [new]
rdb_dev
Member

Откуда: с болот
Сообщений: 3634
Ржавый гвоздь, ИМХО, начинать изучение C++ надо с Borland TASM
18 апр 18, 11:46    [21348127]     Ответить | Цитировать Сообщить модератору
 Re: Изучение C++ после java  [new]
CEMb
Member

Откуда: Столько
Сообщений: 2129
semen.s.semen, немного не так. Если вспоминать историю: изначально явы не было вообще. Базы данных перестали справляться с числом физических коннектов, было решено сделать разгрузку с помощью прокси-серверов, а заодно и пожать трафик. Это был сделано на плюсах, всё ок. Но чуть позже, не знаю почему, видимо с "целью изучения новых технологий и получения новых компетенций" была выбрана ява. Так как компетенций ни у кого не было, а сроки для релизов были, то ребята быстро из коробки накидали сервер. Потом это всё сильно обросло кодом.
А теперь мы (кто не участвовал в создании, но теперь поддерживает и развивает) сидим и думаем, что это можно было проще написать плюсах, было бы легче, меньше бы занимало места, сервера можно было бы поднимать хоть на телефоне

но в целом ты прав, в длительной перспективе ровно так и получилось
18 апр 18, 11:46    [21348128]     Ответить | Цитировать Сообщить модератору
 Re: Изучение C++ после java  [new]
mayton
Member

Откуда: loopback
Сообщений: 51017
rdb_dev
Ржавый гвоздь, ИМХО, начинать изучение C++ надо с Borland TASM

Это похоже на троллинг.
18 апр 18, 11:58    [21348191]     Ответить | Цитировать Сообщить модератору
 Re: Изучение C++ после java  [new]
rdb_dev
Member

Откуда: с болот
Сообщений: 3634
CEMb, Java была создана компанией Sun для того же, для чего компания Microsoft позже создала .NET - для переносимости скомпилированного управляемого кода на любые аппаратные платформы без необходимости перекомпиляции, при наличии под эти аппаратные платформы JVM (для Java) или библиотек времени выполнения (для .NET).
18 апр 18, 12:04    [21348217]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2 3 4 5 6 7 8 9   вперед  Ctrl      все
Все форумы / C++ Ответить