Здравствуйте.
Сейчас мой вопрос больше относится к специалистам, которые работали с 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++. Что лучше всё же выбрать для решения следующих задач:
Олимпиадные задачи;
Разработка игр;
Клиент-серверные приложения;
В последствии хайтек, роботы и прочее.
Или же всё же стоить плюнуть на эти языки?
Заранее благодарен!
"но сейчас программирование это единственное дело, с помощью которого я возможно смогу начать зарабатывать деньги, накопить на образование и т.д."
Можно пойти на стройку и не засорять интернет подобными вопросами
Да и конкуренция меньше будет
Сейчас мой вопрос больше относится к специалистам, которые работали с C и C++. Будет ещё лучше, если вы работали с высокоуровневыми языками, такими как C#, Java, Python.
С каких пор C и C++ перестали быть высокоуровневыми?
Я слепой. Какая стройка? У меня как раз выбор не велик. ИТ, ИТ, и еще раз ИТ.
мне казалось, что в ИТ идут не по принуждению, IMHO
то что я процетировал, если это правда конечно, то люди идут в более упрощённые ниши, если на стройку не хотят: SMM, SEO...Если повезёт, то иногда фирмам требуются просто html верстальщики
Дело ваше, учите c или c++ если времени полно и делать нечего
Олимпиадные задачи;
Разработка игр;
Клиент-серверные приложения;
В последствии хайтек, роботы и прочее.
1. Это 4 разные области, в которых используется 4 разных стека технологий. Вы не сможете подобрать такой язык на котором можно всё это реализовать(конечно, на c++ "можно всё" но это не всегда разумно, и круг использования с возрастом сузился у него).
2. Вы не освоите столько областей. На то чтобы устроиться каким-нибудь стажером хоть по одной вам потребуется около года активного изучения выбранной области. Чтобы получать там какие-то стоящие деньги нужно вложить в неё хотя бы несколько лет.
А если учесть что ещё вчера вы пытались выучить Django, но не осилили шаблонизаторы - думаю, это не ваше.
Неужели вы подумали что эти области будут легче чем веб?)
языки уже ничего не стоят. Давным давно нужно знать целый стек технологий + обзорно те штуки которые используются в смежных областях.
типичный набор знаний для джуна
1) язык
2) базы данных
3) часто используемые библиотеки и фреймворки в выбранной области
4) знание систем контроля версий
5) знание основных инструментов разработки(ide, редакторы и все что облегчает жизнь программистам работающим с каким-то конкретным стеком)
6) общий кругозор в айти
7) знание короля айти - гугла. реально крутая вещь, попробуй хоть раз использовать. можно нагуглить все те вопросы которые ты задал UDP:прочитал комент о том что автор слепой, и стало немного стыдно за столь резкий ответ. Но это не изменит некоторых вещей:
Людям с нарушением зрения будет очень трудно. Приходится часто искать информацию и если вам трудно это делать в больших объемах лучше остановиться.
Leevz, ответы на счет язык1 vs язык2, сложности входа для разработки на определенном стеке технологий были даны 1000 раз и пережеваны столько же их просто надо найти. Как в основном и другие вопросы которые поднимаются в теме.
1)Хочу сказать сразу, что вряд ли в будущем я выберу программиста как профессию, но сейчас программирование это единственное дело, с помощью которого я возможно смогу начать зарабатывать деньги, накопить на образование и т.д.
- даже на этом сайте тема "ради денег в прахрамисты" обсуждалась и не раз. Во всех возможных вариациях. Больше чем написано в тех обсуждениях и не скажешь. Не говоря уже о других площадках.
2)По скольку я человек далекий от системного и математики, для меня в приоритете Java и Python. Python - веб, что-то на нем реализуемое, Java - десктоп, всё, что требует больше производительности, кросс-платформенности и всё остальное.
- автору явно надо погуглить где используются языки и в купе с какими технологиями, а заодно посмотреть есть ли альтернативы
3)В итоге остался на Java и Python, но есть задачи, которые я боюсь решать на этих языках.
Ну прежде всего, олимпиады. Мне рассказали, что бывает такое, когда требуется выполнение программы во время не большее от указанного. Т.е требуется производительность и минимум нагрузки памяти.
- надо гуглить чем отличается программирование олимпиад от разработки
автор вопроса пишет скомкано, такое чувство как будто он хочет всего и сразу. Читает пару статей в интернете про технологию, пробует ее забрасывает и переходит к другой. С языка на язык, с области на область, с одного стека на другой. Здесь явно что-то не то. Ему бы просто погуглить все те вопросы а не задавать их снова, определиться и придти с чем-то конкретным на эту площадку. Все его разглагольствование можно свести к короткому сообщению.
Хочу вайти в айти, обзорно знаю названия языков и нихера не умею. Хочу 10000$ в месяц и секретаршу согласную на все. Работу в Microsoft не предлагать
остановится бы ему и взглянув на себя трезво погуглить за что платят деньги.
Кароч умение пользоваться гуглом в 50% случаев ведет к успеху при работе в айти :)