И снова о программировании

Успешные люди, работающие в этой сфере, ответе на вопросы:
1) Какой язык выбрать? Какой востребован на рынке? Хотелось бы с перспективой на геймдев(но не приорететное направление) в будущем, поэтому выбираю между C # и С++(уже прочитал, что это тяжело)
2) Дайте советы по наиболее эффективному пути изучения.
3) Где можно найти задачи, решение которых требуется на практике?
4) Подскажите полезные ресурсы

Upd:Плюс интересно узнать, в какой сфере Вы работаете? Каким языком пользуетесь?

Материал опубликован пользователем. Нажмите кнопку «Написать», чтобы поделиться мнением или рассказать о своём проекте.

Написать
{ "author_name": "Дмитрий Менлияхматов", "author_type": "self", "tags": [], "comments": 215, "likes": 44, "favorites": 143, "is_advertisement": false, "subsite_label": "ask", "id": 45400, "is_wide": true, "is_ugc": true, "date": "Wed, 03 Apr 2019 11:00:04 +0300" }
{ "id": 45400, "author_id": 93513, "diff_limit": 1000, "urls": {"diff":"\/comments\/45400\/get","add":"\/comments\/45400\/add","edit":"\/comments\/edit","remove":"\/admin\/comments\/remove","pin":"\/admin\/comments\/pin","get4edit":"\/comments\/get4edit","complain":"\/comments\/complain","load_more":"\/comments\/loading\/45400"}, "attach_limit": 2, "max_comment_text_length": 5000, "subsite_id": 64961, "last_count_and_date": null }

215 комментариев 215 комм.

Популярные

По порядку

Написать комментарий...
35

Самый эффективый путь изучения C++

А по теме:
1. Я вот, например, программирую под iOS на Swift. Язык простой, в него сможет любая домохозяйка, лишь бы устройство с макосью было.
2. Изучать лучше всего на практике, на одной теории далеко не уедешь.
3. Задачи можешь выдумать сам, поискать какие нибудь задачки, тестики.
4. Книжуля от Apple, https://swiftbook.ru/ если не силен в английском

Ответить
9

Но если убить себя же в прошлом, не нарвемся ли мы на парадокс, что мы прерываем свое же существование?

Ответить
5

Нет, будет создано ответвление в которой ты уже знаешь с++ на 21 дне

Ответить
0

Проблема: в этом 21 дне тебе уже будет 40 лет.

Ответить
8

Там же омолаживающее зелье чуть ранее сделано

Ответить
0

А потом ты смерджишься с основной временной линией.
Если возникнут конфликты,то надо будет их разрешить (убить самого себя).

Ответить
1

Создать поточный конденсатор за какие-то 40 лет - звучит заманчиво)

Ответить
24

Хорош в математике - учи C++, хорошие перспективы на программирование графики.
Хочешь быстрее и проще - тогда C#.

Единственный вопрос, зачем вообще идти в игровую индустрию?
В ней меньше денег чем в энтерпрайзе и комфорта от работы обычно меньше.

Ответить
10

у меня после 5 лет в энтерпрайзе осталось в основном острое желание вскрыться. Деньги и комфорт приедаются очень быстро, если работа не удовлетворяет сама по себе.

Ответить
3

Да, один из плюсов в геймдеве - почти всегда есть конечный срок разработки проекта. В энтерпрайзе можно сидеть на поддержке бесконечно

Ответить
0

В этих случаях обычно меняют проект.

Ответить
8

а смысл менять шило на мыло? в энтрепрайзе одно и то же везде, и это далеко не всем интересно

Ответить
0

И получают карму "попрыгунчик".

Ответить
0

А в Энтерпрайзе какой язык востребован? Понятно, что геймдев просто одна из хотелочек, а так просто хочу сменить сферу деятельности, где задачи интереснее и ЗП больше. Писал нетрудную программу на джаве для диплома, было более интересно, чем на моей нынешней работе.

Ответить
0

Жаба сейчас лидер на рынке, потом Шарп. Но учти, что и желающих много. Хотя, если компания крупная, она может позволить себе набрать джунов на обучение.

Ответить
1

Да, если нет принципиальной разницы, я бы советовал искать что-то относительно новое и востребованое, где еще нет насыщения, так будет проще войти

Ответить
1

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

Ответить
0

ну прям в новье, которое вчера появилось конечно лезть не надо, потому что по нему тупо не будет вакансий. Но Го например штука относительно свежая, хоть ей уже и несколько лет, популярность она только сейчас начала набирать

Ответить
0

Го - нахайпленная хрень, сильно сомневаюсь что он долго продержится на вершине хайпа. Через год-два, я почти уверен, пойдет волна отказов от Go.

Ответить
0

Го уже начинает ее терять. Пик хайпа был прошлой весной, потом вместо хайпожоров на нее попытались пересесть те, кому надо что-то сложнее CRUD, разочаровались и забили.

Ответить
0

искать что-то относительно новое и востребованое

Поддержу. Если потом в геймдев, то можно Kotlin или Swift. Спрос на специалистов стабильно растёт, да и зарплаты норм.

Ответить
0

А правда, что при изучении Шарпа не трудно перескочить на джава?

Ответить
2

Зная один императивный язык нетрудно перескочить на другой императивный язык, а у шарпа с джавой ещё и базовый синтаксис похожий.

Ответить
0

Синтаксис вообще не главное, его можно за пару месяцев выучить. Программирование-то - это не про синтаксис.

Ответить
0

Я знаю что программирование не про синтаксис, но вопрос то про перескок с языка на язык

Ответить
0

А это ответ на твой вопрос. Синтаксис явы, зная шарп, ты за месяц освоишь. А остальные года три ты будешь разбираться с тонкостями языка, JVM, всяких Spring'ов и Hibernates.

Ответить
0

Можно и в рамках одного языка оставаясь бесконечно изучать всё новые и новые фреймворки (Hibernates кстати на шарп есть). Но когда ты изучил базис, освоение новых технологий под новую платформу происходит куда быстрее. Я в своё время вообще почти без подготовки перескочил из .NET проекта в мобильную разработку на Java на какое-то время. Это не вызывало сложности особой, только замедляло выполнение задач из-за чтения документации попутной.

Ответить
0

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

Ответить
0

Допустим ты знаешь тот же Hibernate и в целом концепцию ORM. Изучить после этого другую ORM под похожий язык - намного быстрее, чем ты потратил на Hibernate в своё время. В общем случае ты с этим согласен или нет?

Ответить
0

С ORM понятно что все просто. Хотя и там свои заморочки бывают. А вот с тем же Spring дела гораздо сложнее обстоят. Как и с тонкостями JVM и языка.

Ответить
1

Тонкости JVM, спринга и языка нужны далеко не в каждом первом или даже втором проекте. Скажем так, сеньёр шарпер достаточно быстро станет мид джавером и наоборот. А дальше рост до сеньёра опять параллельно с работой.

Ответить
0

Смелое утверждение )

Ответить
0

Ну, с базовыми вещами проблем не должно быть. Но глубже уже вникать надо будет.

Ответить
0

когда я там был, Джава была самой распространенной на бэкэнде. Сейчас вроде гоу еще популярен, ну и си шапр. Во фронтэнде вообще не знаю что происходит, там фреймворки рождаются и умирают каждую минуту. посмотрите на Хабре , что там людей волнует, то наверное сейчас и в тренде.

Ответить
0

Т.е. в принципе стоит начать с C#, если откинуть в сторону мечты работать с играми?)

Ответить
1

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

Ответить
0

Кроме материальных мотиваторов тут может быть просто желание делать игры. Но да, многие так шли в геймдев, а потом...

Ответить
4

Если хочется делать игры, то лучше идти в геймдизайнеры)

Ответить
0

Тоже верно ) но есть такой тип людей, как человек-оркестр. Для них важно делать все самостоятельно, либо большую часть.

Ответить
7

Это скорей неумение работать с людьмим и чужими идеями

Ответить
0

Но знать хотя бы примерно как делается остальное крайне желательно.

Ответить
0

И где же учиться на геймдизайнера человеку, который уже закончил университет 3 года назад?

Ответить
4

Устраиваешься на работу - левелдизайнером, помошником геймдизайнера/ещё кем-то, связанным с геймдизайном. Было бы желание
Университет тут вообще никаким боком

Ответить
0

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

Ответить
1

Да, я знаю 4х человек которые так и сделали. С нулевым опытом

Ответить
1

Пока не смогу воспользоваться данным методом из-за привязки к ЗП на текущей работе. Спасибо за совет.

Ответить
1

Прочитай пару книг по геймдизайну, создай прототип настолки, слепи в майнкрафте интересный уровень или мод, подтяни математику. После чего уверенно можешь претендовать на джуна.

Ответить
0

Спасибо за совет!

Ответить
0

Я начал работать геймдизайнером в 34 годика. После 17 лет работы инженером. А ты такую вот страдальческую чушь пишешь.

Ответить
1

Ни в коем случае ничего страдальческого не хотел передать в своём вопросе.

Ответить
0

круто! расскажи подробнее, над чем работаешь, куда и как взяли ну и все такое

Ответить
1

Параллельно основной работе интересовался ролёвками (D&D, WoD), водил игроков, играл в настолки. Потом создал правила настолки с нуля под заказ на заданную тематику. Продолжил разрабатывать "в стол" и иногда делал уровни в играх для себя, для друзей.

Потом по совету товарищей, которые работали в индустрии, решил таки совместить хобби и работу и пошёл на курсы геймдизайна, чтобы упорядочить разрозненные факты и опыт.

Уже с курсами за плечами можно найти работу довольно быстро, но не всегда с хорошими условиями. Так как у меня оставалась моя стабильная работа, то я мог позволить себе перебирать и в результате нашёл работу с неплохой зарплатой и другими условиями, хоть и на слотах.

На слотах я получил больше опыта работы в команде, составления документации, психологии игрока и т.д. После чего уже пошёл делать более интересное инди в небольшую команду. Проекты маленькие, под мобилки, зато полноценные игры, а не конвеер mach3/slots.

В инди получил ещё довольно много менеджерского опыта. Управление проектами, менторство, внедрение методологий и т.д. Продолжаю развиваться и набирать опыт.

Ответить
0

пошёл на курсы геймдизайна

Если не секрет, что за курсы? И насколько полезны они были?

Ответить
0

Games Academy. Киев, Днепр.

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

Ответить
0

Где-то год назад, в свои 32, начал изучать gml (понятно, что это простой недо-язык и все такое, но тем не менее). Мне просто в кайф кодить: ставить задачу и находить решение, чинить баги, или просто понимать, что я могу это реализовать кучей разных способов. Получаю удовольствия больше, чем от самих игр последнее время. Так что не обязательно быть именно гд

Ответить
1

Да, конечно, я забыл добавить "возможно"
Геймдизайнеру вообще желательно уметь эффективно коммуницировать с людьми, не все это могут

Ответить
1

Это не тоже самое, что сидеть 9 часов в офисе и писать куски кода по запросам, только догадываясь о том для чего они будут использоваться...

Ответить
0

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

Ответить
0

Да не, сидят условно 20 мартышек, хватают заявки из тикеттула, где просят написать такой-то алгоритм, или такую-то функцию, создать такие-то объекты итд. От мелочей, до решения сложных проблем.
Это, так сказать, низжая ступень эволюции программиста в большой компании.
Я, благо, не работаю программистом, но работаю по похожей схеме в другой сфере it.

Ответить
0

Идейный мб ? Как многие в индустрии.

Ответить
0

Идейность никто не отменяет.

Ответить
0

Единственный вопрос, зачем вообще идти в игровую индустрию? В ней меньше денег чем в энтерпрайзе...

Знаю одного человека, которого демка для демонстрации движка впоследствии сделала миллионером. Так что деньги там есть. Если есть голова на плечах и капелька везения.

Ответить
0

Havok. Человек написал небольшой проект демонстрирующий работу физики. А затем запилил на его основе игру, которая продалась миллионным тиражом.

Ответить
21

Если выбирать между C# и С++, то лучше, конечно, начать с первого. А вообще, я всегда советую Python, поскольку он облегчает порог вхождения в программирование за счёт упрощения написания кода.

Самый лучший способ научиться программировать - это, как ни странно, писать код. Я бы посоветовал найти курс, на котором тебе дадут основы языка и где будут следить за тем как и что ты пишешь, потому что это важно - потом переучиваться будет сложнее. В идеале, на курсе должно быть больше практики, чем болтовни.

Как только освоишься с синтаксисом - стоит потихоньку пробовать что-то писать самому, на первое время не важно что. Реализуй какую-нибудь фигню, которую всегда хотелось (скажем, бота в телеграме, который проверяет почту) или просто поставь себе какой-нибудь челлендж. Если это будет С# - можешь попробовать заскриптовать что-нибудь элементарное в юнити. Ещё можно зайти на сабреддит roguelikedev, там есть гайды для совсем начинающих. Можно участвовать во всяких джемах или ходить на хакатоны. На таких мероприятиях можно найти единомышленников, что поможет с мотивацией. Короче, пиши код. Да, первое время будет страшно и непонятно чего и как. Здесь очень поможет навык гугления.

В это может тяжело поверить, но работа программиста процентов на 70% состоит из поиска информации. В гугле можно найти всё - главное уметь искать. Придётся подружиться со StackOverflow и чтением документации, потому что их ты будешь видеть чаще чем редактор кода. И это нормально.

Ну и английский. Без него будет очень сложно, потому что почти вся актуальная информация будет именно на нём.

Ответить
2

Дельный совет, да. Если человек только только входит в программирование, то C++ может его напугать, тогда как Путхон очень дружелюбный.

Начинаешь с пхутона - владеешь базовыми концепциями, общими для большинства языков, а далее уже переходишь к изучению нужного языка.

Ответить
0

Зато после с++ уже ничего не пугает

Ответить
8

Успешные люди, работающие в этой сфере

Успешные люди в геимдеве это продюссеры и начальники. Остальные очень ниже. Программистом в геимдев идти крайне не рекомендуется. Только если ты не ппц какой ж-ж-ж-жоский кодер графики. лучше иди в Java и ентерпрайз. Там и денег больше и всё сильно проще.
Вот как выглядит функция физики в cryengine:
https://github.com/CRYTEK/CRYENGINE/blob/ba1b181d5559ea23d84467c9a1f684214dcbdf52/Code/CryEngine/CryPhysics/livingentity.cpp#L1275
Ты же понимаешь, что тут никакой учебник не поможет.

Ответить
9

А что в той функции такого страшного? Типа многа букаф? Бывает. Но никакого рокет сайенс там нет.

Ответить
3

— Что это за баг?
— Это, похоже, физика.
— Ок, фиксите. Срок - 1 день.

Ответить
1

И в чём проблема? Да, если ты никогда не видел код на C++, то выглядит страшно. Для меня таковым является код на Perl, например. Но если ты сам и писал ту функцию, то в чём проблема поправить баг за 1 день (всё конечно зависит ещё и от бага)?

Ответить
6

Но если ты сам и писал ту функцию, то в чём проблема поправить баг за 1 день (всё конечно зависит ещё и от бага)?

Проблема кода — любого кода — в том, что в подавляющем большинстве случаев баги фиксятся не теми людьми, которые сами и писали ту функцию, либо не в то же время, что функция писалась.
Пока ты сам себе велосипед, тебе вообще все те "бест практисы" — филькина грамота. Какая мне разница, какая у меня зона ответственности модуля, я-то и так знаю, что у меня за что отвечает. Какая мне разница, сколько у меня хитрожопых неочевидных зависимостей из раздела "поменял константу в одном методе — меняй логику в пяти других", я-то знаю, где у меня что на что зацеплено.
Проблемы начинаются, как только код становится надо сопровождать. Потому что это делаешь либо вообще не ты, либо ты, но через двадцать лет, когда у тебя все эти косо-кривые зацепления в башке где-то там же, где и формула Кардано. С той разницей, что формулу Кардано ты легко нагуглишь, а вот почему у тебя посреди метода есть блок с комментом "!!!!! НЕ ИЗМЕНЯТЬ !!!!!!", который хардкодит значение переменной из-за которого у тебя СЕЙЧАС что-то падает — хрена с два.

Ответить
1

Проблемы начинаются, как только код становится надо сопровождать

#define private public не даст соврать =)

Ответить
0

И эта проблема так и не решена на данный момент, да?

Ответить
2

Но если ты сам и писал ту функцию

Потому что код надо писать так, чтобы его быстро могли фиксить и другие.

Ответить
0

если ты сам

Эта функция была написана в 2003. И пишется уже 15+ лет. Десятками людей. Энтропия дикая.

Ответить
0

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

Ответить
2

В джуны - нет.

Ответить
0

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

Ответить
4

Джуны нигде не нужны. Везде нужны сеньоры с 20-летним опытом.

Ответить
1

Только если они просят зарплату как джуны. Простые рутинные операции никто не отменял, и тратить на них силу высокооплачиваемых сеньёров разве что гугл может.

Ответить
0

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

Ответить
1

По мне так львиная доля энтерпрайза из сплошной рутины и состоит. Я не беру в расчёт какие-то суперпроекты, а скорее типовые заказы.

Ответить
0

Синьор, который просит зарплату джуна, вызывает ещё больше подозрения)

Ответить
0

На должность джуна и зп стажёра (с)

Ответить
1

Ээээээ Я не вам отвечал. Я писал про тот кусок кода на гитхабе что выложен выше.

Ответить
0

Если человек может загонять классы в базу через ORM, ну и на уровне "читал документацию перед экзаменом" знает спеки Java SE, то джуном работу в любом случае найдет. Не в топ компании, конечно, но оно и нафиг не надо.

Ответить
0

Классы в базу через ORM уже везде загнаны. За последние пять лет всем, кого встречал, наоборот нужны люди, которые знают нативный SQL, чтобы размотать это ORMство.

Я для себя (в меру своих убогих аналитических способностей) по тенденциям сделал вывод, что с появлением документных баз проблема, которую пытались решить ORMами, исчезла, а урон от бездумно нашарашенных ORM — остался :)

Ответить
0

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

Ответить
0

Отметим, что ORM'ы тоже оно же и наплодило. Нынешнее "Теперь SQL не нужен, заворачивайте всё в джейсон и фигачьте в Монгу!" недалеко ушло от "Теперь SQL не нужен, заворачивайте всё в классы по доменной модели и наш фреймворк всё зафигачит в базу сам!" еще шестилетней давности.
К сожалению, ни то ни другое ВСЁ ЕЩЕ не означает "теперь любой идиот может выполнять имманентно сложную задачу", как бы ни хотелось в это верить эффективным менеджерам, оптимизирующим расходы на персонал :)

Ответить
4

В java энтерпрайз тоже лучше не идти, там стек знаний уже зашкаливает.
Проще в энтерпрайз зайти с шарпа, или пайтона.

Ответить
0

Дефицит специалистов, с огромными зияющими дырами в знаниях оторвут с руками

Ответить
3

Это, я так понимаю, в порядке вещей для геймдева такую лапшу писать?

Ответить
3

Я тоже офигеваю. Вроде бы серьёзная контора, движок классный сделали, и тут такие простыни кода, без единого комментария, прочитать которые может только человек, который их и написал

Ответить
0

if (_isnan(move.len2())) //necessary? Is there any way that this can occur? - Rich S

//filippo:m_forceFly is to let the game set a velocity no matter what is the status of the entity.

if (m_pWorld->m_vars.iCollisionMode!=0 && m_pWorld->m_vars.bFlyMode) { //Rich S - is bFlyMode a cheat? Can we disable in release?

Поклёп и навет =)

Ответить
2

Лучшие комментарии - это те, которые не дают ответы, а задают вопросы))

Ответить
0

Перегибы возможны везде, чтобы сказать конкретно про этот код, надо в нем разобраться, насколько целесообразна такая портянка. Не всегда можно написать 1000 и 1 маленькую функцию и устроить хоровод с вызовами иногда это только вредит общему понимаю.

Ответить
2

Я могу придумать только один единственный юзкейс, когда такая портянка себя оправдывает: когда мы пытаемся запихнуть все в какую-то до смешного убогую железку и приходится учитывать даже оверхед от вызова функций. Да и то лучше просто функции как inline помечать и не заморачиваться.

Ответить
0

Да. Код в геимдеве не главное.

Ответить
10

1) Смотря под какой движок. Если Юните - то C#, Анрил и тд - плюсы. Шарп попроще будет.
2) Делай игру. Придумай что-то простое и садись реализовывать. Самый просто и эффективный метод имхо. Сидеть дрочить академические задачи и сортировки - так себе вариант для старта, имхо.

Ответить
0

Подтверждаю, 5 лет академических задач в универе на практике помогли чуть более чем никак

Ответить
3

Ну хз, мне эти академические задачи помогли иногда не писать велосипеды в будущем

Ответить
5

Учи тот язык, под который есть вакансии в твоём городе. Если ты из дефолт-сити, то тут, конечно проще. Самый простой способ ворваться в IT — идти во фронтенд (привет, Козуля).

По полезным ресурсам: https://hexlet.io/. Слышал кучу историй успеха с полученной работой после него.

Если потом (потом - это спустя года полтора-два) захочется уйти в геймдев (не захочется), то времени на изучение gamedev-специфичных навыков будет достаточно (но не захочется).

Ответить
0

А, да, в какой сфере работаю. Работаю в околоынтырпрайсе, пишу web-приложения (вот это внезапно, да?), пишу на Ruby/RoR, Erlang/Elixir/Phoenix, js/какой-там-фреймворк-нынче-модный-во-фронтенде. З/П более чем устраивает, задачи иногда попадаются интересные. Рекомендую.

Ответить
0

Плюсую насчет хекслета. Нашел работу после него)

Ответить
0

Расскажете поподробнее?

Ответить
–24

ЫЫЫЫЫЫ Эсле ты зодаешь токые вопросы то тэбэ нельзя прохрамироват ЫЫЫЫЫ

Ответить
3

1) Какой язык выбрать? Какой востребован на рынке? Хотелось бы с перспективой на геймдев в будущем, поэтому выбираю между C# и С++(уже прочитал, что это тяжело)

Бери C#. Он чуть проще. Но в целом язык не важен. Они все +/- одинаковые.
2) Дайте советы по наиболее эффективному пути изучения.

Берёшь учебник по языку + курсы. Желательно и онлайн и оффлайн. И изучаешь.
3) Где можно найти задачи, решение которых требуется на практике?

На практике. Берёшь любую задачу и решаешь её.
4) Подскажите полезные ресурсы

https://stackoverflow.com/

Ответить
2

По-моему начинать с СО - это самый девелоперский вариант. xD

Ответить
3

Чтобы работать с плюсами, недостаточно их знать. Надо быть очень хорошим математиком/информатиком и уметь в алгоритмы обработки и структуры данных.

С прицелом на геймдев шарп пойдет, он и на энтерпрайз рынке вполне себе живет и развивается.

Наиболее эффективный путь - это поставить себе цель разработать какой-нибудь проект и потихоньку его пилить. Ребята в универские времена, например, писали движок для форумов на Java, очень помогает прокачаться

Ответить
4

Не очень хорошим. Относительно знания полноценного математика - надо знать некоторые основы. Требование углублённых знаний зависит не от языка а от планируемой области работы.

Ответить
4

Надо быть очень хорошим математиком/информатиком и уметь в алгоритмы обработки и структуры данных.

Алгоритмы обработки и структуры данных — это не математика. Даже в игровых движках, которые моделирования полны, хорошей математики не шибко много.
Помните же копипасту Вербицкого про то, что нужно знать математику (http://imperium.lenin.ru/~verbit/MATH/programma.html). Если тут маркером повыделять то, что используется в геймдеве на плюсах, то вряд ли мы дальше первого параграфа уйдем :)

Ответить
3

Руби. Будешь на рпг мейкере игори делать, азаз)

Ответить
0

Вот кстати новый рпгмейкер на уже JS написан.

Ответить
–1

Ни, эта сложна. А руби легкий достаточно... для начала.

Ответить
2

Успешные люди

Успешные люди сидят на vc, а не на dtf.

Ответить
2

ЛАААЛ

Такое же сборище троллей и выскочек, только с другими интересами

Ответить
0

Но начинали-то с DTF?

Ответить
3

Весь крупняк на С++(11/14, по-умолчанию), в мидл-сегменте/мобилки можно встретить оба языка. Базу каждого выучить можно достаточно быстро. Посиди, попили проекты, необязательно супер-сложные. Потом, соответственно, подавай в конторы и выполняй тестовые. На позицию джуна, обычно, много не требуется, главное, чтобы хоть какой-то опыт был и чтобы в базовых вещах не тупил.

UPD: скилл в языке можно поднимать на разных площадках с задачами, а ля CodeWars. Как минимум самые основы закрепишь, как и алгоритмическое мышление.
UPD2: для развлечения можешь пощупать SDL/SFML.

Ответить
2

Книга «Чистый код» Р. Мартина обязательно к прочтению. В своё время сильно сэкономила мне нервы и время.

Если энтерпрайз, то сейчас в нем растет доля NodeJS. Но JS easy to learn, hard to master.

Если геймдев, то C#/Unity, если планируешь делать мобилки (как сам, так и в компании). Для остальных платформ тоже пойдет, но если ты хочешь полностью контролировать оптимизацию и прочее, то конечно C++ в связке с OpenGL/DirectX/Vulkan. Но порог вхождения в таком случае значительно выше будет.

Ответить
2

Изучить язык дело нехитрое, достаточно пары недель. Важнее иметь навыки программиста - алгоритмы, структура кода, тестирование и отладка кода.

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

И вряд ли если вы изучите .NET WinForms, это сильно вам поможет в разработке игр на Юнити, или скилл в Юнити сильно поможет разрабатывать вэб сервисы.

Очень советую подумать о том, что вам сказали выше - в геймдеве зарплаты в среднем ниже (ну или уж точно, что их меньше). При прочих равных легче найти работу PHP-разработчику или тому же 1C-нику, прости господи.

Если розовые мечты останутся, то лучше превратите это в хобби. И если вдруг стрельнет, то все бросайте и уходите в геймдев с головой.

Ответить
0

Если отбросить геймдев, то Вы в первую очередь посоветуете РНР?

Ответить
3

Я бы скорее выбирал направление

- WEB
изучить одно из .. php / питон /C# / java + нужен javascript, мне кажется PHP самый востребованный, питон чуть менее популярен

- desktop
C#, Delphi, C++

- mobile
ну тут понятно есть как нативная разработка, так и есть инструменты писать на том же C#

- специализированные решения
та же самая 1С

Если стать специалистом средней руки в одном из этом направлении голодать точно не будете и работу искать по полгода тоже

Ответить
0

Имхо, востребованность конкретного языка из веба больше зависит от региона проживания.

Ответить
0

PHP ни в коем случае. Это сделает инвалидом по мозгу и "вылечиться" будет очень сложно. Если идти в веб, то тут Python и Javascript.

Вообще Python сейчас очень востребован. Это нейросети, машинное зрение и многое другое.

Ответить
0

А сможете пояснить, чем PHP плох?

Ответить
0

Структурой, приёмами, скоростью работы, вечной дырявостью, бесперспективностью и выходом из оборота.

Ответить
0

Он же быстрее того же питона.
Развивается вполне себе, раз в год по релизу.
Вакансий по нему гораздо больше на бекенд, чем на другие языки.

Можно подробнее о структуре и приемах и дырам?

Ответить
0

Быстрее в каком месте? В 5% случаев?
Дело не в вакансиях, а человеку жизнь не сломать тем, что выйдет из оборота в ближайшие 3-5 лет. Нужно учить на перспективу. У того же Python, JS и С++ с этим всё очень и очень хорошо. Это не говоря уже о том, что PHP это сгинуть в низкосортном вебе (который вокруг PHP вертится), а тот же Python открывает дорогу во многие области ИТ. Хоть сервера, хоть машинное обучение.

Ответить
0

Блин, ну это все вода, без конкретики.
Про PHP говорят подобные вещи уже лет.. семь, не меньше.
Ничего, живет, все в порядке.

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

Ответить
0

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

А дальше жизнь сама все расставит по местам) надо будет - будешь на c++ пахать, надо будет будешь на php - сайты делать.

Ну или в 1с кривая занесет))

Ответить
0

Изучай JavaScript, как почти самый популярный и самый быстрорастущий и развивающийся на данный момент ЯП в мире. На нем уже можно писать практически все, что угодно, от прошивок микроконтроллеров до мобильных приложений, и те же игры, хоть и основная его зона применения - это веб. Но если вдруг надоест геймдев - ты точно всегда найдешь себе работу)
Плюс после JS будет достаточно знаний для изучения любого другого ЯП
Да и порог входа довольно низкий
В общем, для старта и в качестве базы - рекомендую
Дерзай)

Ответить
4

На нем уже можно писать практически все

Но не нужно.

На мой взгляд, такие вещи как динамическая типизация идут новичку во вред, да и в целом JS порождает довольно неочевидные мемные проблемы

Ответить
0

Ну, мемность - это да, что есть, то есть) Я на нем сам уже 6 лет почти пишу, и до сих пор бывает сталкиваюсь с какой-нибудь дичью :D
А насчет типизации.. Тут все весьма неоднозначно, палка о двух концах

Ответить
0

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

Хотя для прототипирования подходит идеально. Имхо.

Ответить
2

2) Дайте советы по наиболее эффективному пути изучения.

Начни с английского если еще не начинал

Ответить
2

Самые востребованные на рынке погромистов сейчас - Java и Python. Go ещё, кажется, набирает обороты.

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

Задачи лучше всего придумывать себе самому. Нашёл клёвое приложение. Думаешь: "Уффф бле хочу такое же написать, только с блекджеком и всем таким" и пишешь.

Полезные ресурсы:
github
tproger
stackoverflow
habr

Это общие.
Но самые полезные ресурсы - те, что специализируются на конкретно том, чего ты хочешь.

Ответить
0

Go ещё, кажется, набирает обороты.

Это Ruby 2018 года. Народ поигрался, узкую нишу определил и все. Создатели языка пошли по бороде и решили прислушаться к комьюнити, выкатив шаблоны в драфте второй версии. Да только сделали их на отъебись и этим, на первый взгляд, пользоваться будет еще не удобнее, чем как сейчас все в интерфейсы оборачивать. Короче лучше в это не лезть. На хайпе деньги поднимать поздно, а работы больше уже не станет.

Ответить
0

Да. Язык сам по себе дерьмо. Но быстрый. Это топ.

Ответить
1

Зачем в РФ вообще идти работать программистом в геймдев? Писать очередные "три в ряд" за пять копеек?

Ответить
1

Инди никто не отменял - тот же Graveyard Keeper это наша разработка. Хочется человеку этим заняться, почему нет. Хотя бы как хобби.

Ответить
0

Разработчики "три в ряд" получают довольно неплохие деньги

Ответить
0

Уже рекомендовали один итальянский сайт?

Ответить
0

Вот, да, с ним лучше знакомство с индустрией начинать, чем заканчивать.

Ответить
0

Порекомендуйте.

Ответить
1

Вообще программирование игр (логики/графики) и программирование чего либо другого очень поверхностно связано, так что если решишься на гейм дев, то иди сразу в него.

Ответить
1

1) Какой язык выбрать? Какой востребован на рынке? Хотелось бы с перспективой на геймдев в будущем, поэтому выбираю между C# и С++(уже прочитал, что это тяжело)

Зависит от места жительства. Желательно C# потому что контор по тому же unity много. Ну и ++ это тот еще способ отстрелить себе колено.
2) Дайте советы по наиболее эффективному пути изучения.

Берешь и делаешь какие-то пет проекты. Параллельно читаешь книжки/смотришь хорошие видеокурсы аля ITVDN или те что на открытом образовании
3) Где можно найти задачи, решение которых требуется на практике?

Если хочешь в тот же геймдев просто делай небольшие игры.

Ответить
1

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

Ответить
1

c# из более лёгких для обучения, вижуал студия тоже помогает, книжек много.
все обычно советуют CLR via C# Джеффри Рихтера, издание на русском есть, вроде достойный перевод, все термины дублируются перевод и ориг
с++ из менее лёгких

Ответить
0

CLR via C# Джеффри Рихтера

Углублённое изучение платформы и самого CLR, предполагающее наличие базовых знание по C# у читателя.

Ответить
0

хз, я взял через 3 года после универа, норм идет
просто первые главы оставил на потом, где про сборку

Ответить
1

1) Язык не важен, важен подход. Начни с любого базового, пойми алгоритмы, переходи на сложные.
2) Практика! Только практика. Придумывая задачи и их реализовывай.
3) В сети на любом углу. Видишь, как прикольн сделаны комментарии на DTF? Поставь задачу сделать так же.
4) Начни с общения на stackoverflow, reddit. Там и подскажут и научат.

Ответить
0

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

Ответить
0

Ну упрется, расковыряет. В чем проблема?

Ответить
0

Сейчас лучше начинать с C#. Просто потому, что это более новый язык чем тот же C++.
Более поздние языки обычно избегают болячек своих предшественников, при этом ничем им не уступая. Ну и логично, что более поздние языки будут дольше оставаться актуальными, но опять же тут сроки актуальности у языков очень велики. Взять тот же древнейший Java, который морально устарел ещё лет 10 назад, но это до сих пор один из самых востребованных языков просто потому, что на нём уже многое написано.
А C# сейчас используется везде хоть ты клиент пишешь, хоть сервер, и не только в геймдеве. Можешь даже админку для браузера на нём писать.
Плюсам он не уступает, но писать на нём гораздо проще и удобнее

Ответить
2

Язык программирования - это инструмент. Как молоток может морально устареть? 😂

Ответить