Насколько хорошо стоит изучить C++, чтобы легче было перейти к изучению Java?

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

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

Заранее спасибо!
  • Вопрос задан
  • 3359 просмотров
Решения вопроса 1
@endemic
Если хотите в будущем заниматься исключительно Java, то учите С++ в объеме классы + наследование + полиморфизм. Особое внимание уделите указателям. Qt не советую, потому что оно к джаве никаким боком. Лучше это время потратьте на изучение STL и шаблонов.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
Vass
@Vass
C++/Qt Developer
Еесли планируете потом рабоать только с Java, можете не учить C++, синтаксис, да, похож. А вот подходы абсолютно разные.
Ответ написан
Комментировать
risik
@risik
Программист
Вопрос не простой.

Если Вы уверены, что Вам нужно изучить оба языка, в условиях недостатка времени, я бы на Вашем месте ограничился в С++ только самыми базовыми вещами: классы и объекты, инкапсуляция, наследование и полиморизм. Затем Java. А затем можно снова вернуться к C++ для более глубокого изучения.

Только один пример.

С одной стороны, есть такая тема в C++, которая Вам точно не нужна для изучения Java: "перегруженные операции". С другой стороны, было бы хорошо в C++, попользовать STL. А понять как он работает без знания перегруженных операций очень сложно. То есть, научится им пользоваться - можно. А понять как это работает, и, что еще более важно, понять текст сообщений об ошибках без хорошего понимания перегруженных операций (ну и еще и шаблонов) очень сложно. Таким образом, STL, boost и еще много что просто вылетает.

Если же по предложенной мной схеме, то Вы после получения базовых знаний об ООП изучите Java и в том числе, научитесь пользоваться сложными типами данных, такими как словари, хеш-таблицы и т.д. А затем можно вернуться к C++ и будет чуть проще научиться пользоваться STL. И разумеется, Вам придется научиться перегружать операции.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы