Ответы пользователя по тегу IT-образование
  • Как определиться с направлением программирования или ЯП?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Отсутствует главный тезис о том, что знание ЯП не сделает вас программистом.
    Как вы верно заметили, понимание принципов работы серверов и сети тоже сильно помогут, в том числе и в случае со Swift, но этого также будет не достаточно, чтобы называться программистом (даже со знаниями ЯП).

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

    А при наличии опыта пересесть с одного ЯП на другой - это вопрос 1-2 недели максимум (ну кроме разве что С++ или какого-нибудь ассемблера).
    Ответ написан
    4 комментария
  • Нужно ли вкратце конспектировать материал из книги по програмированию?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Знания в памяти закрепляются путём повторения. Причём, эффект имеет именно воспроизведение знаний, а не повторное их усвоение. Пересказать материал своими словами - лучше, чем ещё раз прослушать/перечитать. И с обратной стороны также: можно разобраться в очень сложной штуке, добиться полного её понимания в деталях, но через неделю или месяц (без повторений) окажется, что получается лишь в двух словах сказать, про что вообще это было.

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

    А вот стиль повторения - это уже дело вкуса. Конспект - это тоже как бы повторение, но повторение в тот же день, что и получение, имеет наименьший эффект. Гораздо более полезно попытаться воспроизвести без подсказок свой конспект на следующий день, а потом и позже. То есть устроить себе маленький экзамен, а потом и большой.

    Практика - это тоже повторение. И если теоретические знания можно повторять разными способами, можно даже в уме, когда едешь в метро, то навыки приходится закреплять только практикой. Так что практика тоже важна, ведь знания так или иначе нужно будет применять.
    Ответ написан
    Комментировать
  • Какое направление выбрать в вузе, чтобы в будущем работать в игровой индустрии?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Чистому программисту (исполнителю) должно быть глубоко всё равно, разрабатывает ли он игру или что-то другое. Если же программист не совсем "чистый", а с уклоном в геймдизайн, то есть берёт на себя и другие роли (а именно это и привлекательно в игровой индустрии), то я бы рекомендовал рассмотреть психологическое направление. Внезапно. Программированию выучиться проще, если есть способности к математике и любовь к логике, поэтому язык можно освоить самостоятельно, а дальше только бесконечная практика. Хотя можно совместить оба направления. Например, есть «Прикладная информатика в психологии».
    Ответ написан
    Комментировать
  • Хочу в геймдев, с чего начать?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Но до создания калькулятора так и не дошёл.

    Не похоже на любовь к программированию.

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

    То есть основ программирования вы не знаете. Ясно.

    ...с чего начать?

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

    И готовьтесь к тому, что работа - это всё же работа, а не развлечение. А то по воодушевлённому тону можно подумать, что вы хотите игру не делать, а играть в неё. Своя собственная игра скучна, ибо вы её будете знать до мелочей. В разработке игры много рутины, математики и многое завязано на деньги, которые тоже нужно считать. Конечно, драйв тоже имеется, но как и в любом деле: у программистов он от программирования, у художников от рисования и т.д. А что цепляет именно вас? Вот от этого и отталкивайтесь.
    Ответ написан
    9 комментариев
  • Насколько важно писать лаконично?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    За ошибку не считается. Но говнокод есть говнокод - со всеми вытекающими (сложнее расширять, поддерживать и т.д.)

    Однако нет четкой границы между говнокодом и чистым кодом. Стремиться сделать свой код чище - это хорошо, но за это нужно также и платить. Даже профи вынужден тратить больше сил и времени, чтобы оформлять код кратко, понятно и красиво. Так что иногда даже нужно писать говнокод. Внезапное открытие? :) Например, когда хотите что-то по-быстрому проверить для себя или одноразово пройтись скриптом по каким-то данным.
    Ответ написан
    8 комментариев
  • Я только месяц изучаю С++, где найти ментора который поможет решать задачи?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Начните с более простых задач.

    Если не можете решить простую задачу примерно неделю, то пишите сюда, поможем. А если не можете решить простую задачу целых 5 минут, то продолжайте думать, потому что в таком случае от готового решения пользы будет ноль в плане обучения.
    Ответ написан
  • Развитие в IT сфере. Что именно выбрать?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Всю информацию получить невозможно. Её слишком много.

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

    Вообще остальные предметы тоже важны. Не думай, что ИТ-шнику не нужен русский язык или, к примеру, география. Все школьные предметы пригодятся. Более того, школьные предметы - это необходимый минимум. Чтобы чувствовать себя уверенно по жизни, нужно и самому интересоваться чем-то, увлекаться, выходить за рамки школьной программы. Вот ты перечислил заумные термины, но тебе рано их знать. Иди лучше по школьной программе, которую как раз для тебя и составили, чтобы ты не терялся в категориях. А в свободное время просто интересуйся, удовлетворяй любопытство. Так будешь всё умнее и умнее. Но не сразу, а постепенно. Сразу бывает только в сказке.
    Ответ написан
    3 комментария
  • Сайт по онлайн обучению программирования и автоматической проверки задач?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Возможно, www.codewars.com
    Ответ написан
    Комментировать
  • Как научиться решать задачи и развить логическое мышление?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Научиться решать задачи можно лишь путём решения задач.

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

    Классическую логику можно изучить и по учебнику. Но, опять же, нужна практика в виде логических задач. Тренировка состоит из совершения ошибок. Поэтому важно решать задачи самостоятельно. Неправильные решения содержат ошибки, из которых можно извлекать уроки для себя, чтобы потом не допускать эти ошибки. И чем больше времени заниматься такой практикой, тем больше пробелов и изъянов в логическом аппарате будет исправлено.
    Ответ написан
    Комментировать
  • В какую сторону следует развиваться, чтобы стать разработчиком игр?

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

    Лично я в глубоком детстве (до того, как преисполнился в программировании) создавал игры прямо в пейнте. То есть через рисование. Чтобы пойти направо/налево/вниз/вверх "за экран", нужно было найти в папке картинку соответствующего номера. Понятно, что для такой игры нужно было создать сотни детских рисунков, а это занимает кучу времени. Плюс разработка правил. Но главное, что это требует терпения от разработчика.

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

    Программирование - это лишь 10-20% от создания компьютерной игры. Так что пойти учиться можно и на художника, и на психолога, и на юриста, и много ещё на кого.

    А насчёт твоих "идей" вынужден огорчить. У каждого(!) есть свои идеи. То есть ты не уникален со своими идеями. Практически у всех людей есть свои идеи. Но фраза "идеи ничего не стоят" уже стала аксиомой. Многие люди верят, что у них есть какие-то особые гениальные идеи, но они заблуждаются. Я не смогу доходчиво объяснить это, т.к. не силён в вопросах веры. Но ты можешь загуглить, почему идеи ничего не стоят, и дай бог, ты найдешь ответ.
    Ответ написан
    Комментировать
  • Разработчик компьютерных игр - где на них учат?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Геймдев - это обширная область, в которой есть много ролей (специальностей). Основные - это программист, художник, геймдизайнер. Менее очевидные - продюсер, project manager, маркетолог. А так в разработке и/или сопровождении приличной игры может быть и комьюнити менеджер, или какой-нибудь там администратор баз данных, или бэкенд-разработчик и т.д. То есть это обычные профессии, непосредственно с геймдевом не связанные.

    Сначала выберите, что именно вам по душе, и тогда уже можно будет думать дальше.

    Соответственно, делая акцент на технической составляющей, вам подойдёт не всякая роль. Например, художник вряд ли подойдёт. Хотя, вам виднее. И здесь тоже не всё так просто. Условных "художников" можно условно разделить на чисто иллюстраторов, моделлеров, аниматоров и т.д. Спецанрист - больше относится к геймдизайну, но по сути это писатель. Есть также те, кто работает со звуком, - тоже не очень техническая специальность.

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

    Конечно, в теории возможно сделать игру в одиночку. Примеры есть. Но это практически не реально. В этом случае понадобится совмещать все роли в одном человеке. Разработка в команде проще и быстрее. Даже если команда состоит всего из 10 человек, и на каждого члена команды приходится несколько ролей, это всё равно проще, чем когда все роли совмещены в одном человеке.
    Ответ написан
  • Стоит ли читать 2 книги по программированию параллельно?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Если вы для себя чётко разделяете области знаний, то всё будет хорошо. Просто не нужно буквально читать одновременно. Сначала одну минимум хотя бы час (или день), игнорируя вторую, а затем - вторую также, игнорируя первую. Вскоре сами поймёте, в каком режиме вам наиболее комфортно.
    Ответ написан
    Комментировать
  • Прокрастинация, проблемы языка или я не программист?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    На изучение почти чего угодно в сфере ИТ обычно нужны эти 3 вещи:
    1. время
    2. терпение
    3. английский

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

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

    Удовольствие в программировании, как в его изучении, так и в решении практических задач, построено на дофаминовом подкреплении. Оно, к сожалению, рассчитано только на короткие цели. Поэтому (и не только поэтому) большие задачи необходимо разбивать на более мелкие. Это называется декомпозиция. Но это также и навык, которым нужно овладеть, прежде чем иметь возможность применять. Змейку не захотелось делать потому, что она слишком сложная и долгая. Однако если в своей голове сумеешь разбить змейку на более простые задачи: управление, показ еды, показ самой змейки, - то будет намного интереснее.
    Ответ написан
    8 комментариев
  • Как лучше организовать план обучения сразу нескольким технологиям?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Ответ в форме мини-теста. :)
    Тест из одного вопроса
    Какова цель обучения?
    • Хочу разрабатывать игровые движки просто так, ради интереса.
    • Хочу разрабатывать игровые движки ради зарабатывания денег.
    • Хочу зарабатывать деньги, а игровые движки это прибыльная сфера.
    • Хочу зарабатывать деньги.
    • Хочу иметь крутую работу, чтобы меня ценили и уважали, а гейдев это круто.
    • Хочу сделать нормальный движок, потому что возможностей UE4 явно мало.
    • Хочу сделать наконец-то нормальный движок, потому в UE4 всё не правильно.
    • Хочу как-то сделать движок лучше, чем UE4 (пока не знаю, в чём именно, но лучше).
    • Хочу исправить пару недостатков UE4 ценой кроссплатформенности, она мне не нужна.
    • Хочу просто делать игры на своём движке, а не на чьём-то ещё.
    • Хочу всё знать про игры про игры со стороны разработчика, а не игрока.
    • Другое
    Ответ написан
  • Какой язык программирования изучать в свободное время?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Какой-то конкретной цели, объясняющей для чего мне это надо, пока что нет.

    - Скажите пожалуйста, куда мне отсюда идти?
    - А куда ты хочешь попасть? - ответил Кот.
    - Мне все равно... - сказала Алиса.
    - Тогда все равно куда и идти, - заметил Кот.
    - ...только бы попасть куда-нибудь, - пояснила Алиса.
    - Куда-нибудь ты обязательно попадешь, - сказал Кот. - Нужно только достаточно долго идти.

    Льюис Кэрролл
    Ответ написан
    1 комментарий
  • Что выбрать новичку: DirectX или OpenGL?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Vulkan
    Ответ написан
    Комментировать
  • Как интересно рассказать о профессии программиста детям младшей школы?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    В своё время мне нравилась идея, что программист может всё. В смысле, может создать модель всего, любые виртуальные предметы, явления или даже целый мир.
    Ответ написан
  • Путь в программировании. Первый язык?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Смотря какая цель. Если вы сначала хотите получить фундаментальные знания (на практике, как бы это дико ни звучало), и при этом вы действительно никуда не спешите, то можно начать с Ассемблера. Конечно, без фанатизма, то есть слишком долго на нем останавливаться не стоит. Но он даст базу и общее понимание того, как оно работает под капотом более высокоуровневых языков.

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

    Однако если вы прицелены на конкретную задачу, то плясать уже можно от этой самой задачи, ее области применения, потому что, скорее всего, подходящим (лучшим) будет только один язык для данной области. Например, если задача сделать сайт - это это JavaScript и какой-то серверный язык. И, скорее всего, С++ вам для этой задачи не нужен, очевидно.
    Ответ написан
    5 комментариев
  • Scratch для взрослых, стоит ли учиться азам программирования с данного ресурса?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Стоит поставить цель и стремиться к ней.
    Просто так обучаться чему бы то ни было не стоит.
    Ответ написан
  • На какое направление идти, чтобы стать программистом?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Сначала выбрать ВУЗ, а потом уже смотреть, что там есть.
    Ответ написан