@John_Berden

Выбор между C и C++, и вообще стоит ли?

Здравствуйте.
Сейчас мой вопрос больше относится к специалистам, которые работали с C и C++. Будет ещё лучше, если вы работали с высокоуровневыми языками, такими как C#, Java, Python.
Тема для начинающих может кажется простой, но для меня, того, кто немного джуниор, в том плане, что знаю всё по чуть-чуть, но нет выделяющейся технологии, эта тема очень сложна. Потому что у всех свое мнение, но хочется избежать халивара.
Хочу сказать сразу, что вряд ли в будущем я выберу программиста как профессию, но сейчас программирование это единственное дело, с помощью которого я возможно смогу начать зарабатывать деньги, накопить на образование и т.д.
По скольку я человек далекий от системного и математики, для меня в приоритете Java и Python. Python - веб, что-то на нем реализуемое, Java - десктоп, всё, что требует больше производительности, кросс-платформенности и всё остальное.
Некоторое время назад, болел за C#. Но бросил. Мало платят, а этот аргумент на сегодня для меня важнее, чем производительность и прочие плюшки. Плюс привязка к NET и Microsoft.
В итоге остался на Java и Python, но есть задачи, которые я боюсь решать на этих языках.
Ну прежде всего, олимпиады. Мне рассказали, что бывает такое, когда требуется выполнение программы во время не большее от указанного. Т.е требуется производительность и минимум нагрузки памяти.
Дальше, игры. Меня интересует использование не игровых движков, а библиотек для конкретных задач. Открытия окна, работы с клавиатурой, звук и т.д. По сути написать свой игровой движок, но при этом, используя для решения задач готовые инструменты.
И вот в играх, я боюсь за производительность. Если бы я работал с C#, я бы использовал C#. Просто потому, что в C# есть всё, что нужно мне. Но от C# я отказался.
Я повторюсь, что основа для меня - Java и Python. Но при этом, кроме работы, есть те вещи, которые типа хобби. Ну товарищи-программисты, у многих из вас есть язык для работы, и наверняка у многих есть то, на чём приятно писать, как хобби. Кто понял тот понял, ну а кто не понял...
И передо мной встал выбор между двумя языками, которые мало того, что могут стать инструментом в решении моих задач, так ещё и в этих языках, я буду обязан изучить те темы, которые всегда хотел понять. Память, стек и т.д. Этот выбор между C и C++.
После выхода стандарта C17, я ещё больше запутался.
Суть в том, что говорят так: C проще, стандарт меньше, но при этом сложность разработки ПО выше, более того, в основном этот язык применяют в системном программировании. C++ сложнее, но при этом разработка ПО проще, но для того, чтобы писать, нужно изучать несколько лет. Такая перспектива больше отталкивает, чем сложность разработки софта.
Ещё интересует хайтек, роботы и т.д. Туда пихают Java, но и C тоже используется.
О стандарте C17, меня C++ привлекает через ООП и то, что прикладного больше вроде как было написано на C++. Но в стандарте C17, как мне говорили, в структурах добавили возможность использовать функции.
Товарищи-программисты, выбор C и C++. Что лучше всё же выбрать для решения следующих задач:
Олимпиадные задачи;
Разработка игр;
Клиент-серверные приложения;
В последствии хайтек, роботы и прочее.
Или же всё же стоить плюнуть на эти языки?
Заранее благодарен!
  • Вопрос задан
  • 2386 просмотров
Пригласить эксперта
Ответы на вопрос 3
longclaps
@longclaps
стоить плюнуть

ДА!
Ответ написан
@EvgeniiR
https://github.com/EvgeniiR
Олимпиадные задачи;
Разработка игр;
Клиент-серверные приложения;
В последствии хайтек, роботы и прочее.


1. Это 4 разные области, в которых используется 4 разных стека технологий. Вы не сможете подобрать такой язык на котором можно всё это реализовать(конечно, на c++ "можно всё" но это не всегда разумно, и круг использования с возрастом сузился у него).

2. Вы не освоите столько областей. На то чтобы устроиться каким-нибудь стажером хоть по одной вам потребуется около года активного изучения выбранной области. Чтобы получать там какие-то стоящие деньги нужно вложить в неё хотя бы несколько лет.

А если учесть что ещё вчера вы пытались выучить Django, но не осилили шаблонизаторы - думаю, это не ваше.
Неужели вы подумали что эти области будут легче чем веб?)
Ответ написан
Комментировать
@poslannikD
Java/C/C++ Programmer
языки уже ничего не стоят. Давным давно нужно знать целый стек технологий + обзорно те штуки которые используются в смежных областях.
типичный набор знаний для джуна
1) язык
2) базы данных
3) часто используемые библиотеки и фреймворки в выбранной области
4) знание систем контроля версий
5) знание основных инструментов разработки(ide, редакторы и все что облегчает жизнь программистам работающим с каким-то конкретным стеком)
6) общий кругозор в айти
7) знание короля айти - гугла. реально крутая вещь, попробуй хоть раз использовать. можно нагуглить все те вопросы которые ты задал
UDP:прочитал комент о том что автор слепой, и стало немного стыдно за столь резкий ответ. Но это не изменит некоторых вещей:
Людям с нарушением зрения будет очень трудно. Приходится часто искать информацию и если вам трудно это делать в больших объемах лучше остановиться.
Ответ написан
Ваш ответ на вопрос

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

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