Ответы пользователя по тегу IT-образование
  • C# или C++ как первый язык?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    C# - это как если бы ты скупал золотые драгоценности, переплавлял их, и делал бы из них золотые слитки.
    C++ - это как если бы ты добывал руду в шахте, проходил бы сам разные стадии очистки, параллельно бы промывал речной песок, и в итоге получал бы всё те же золотые слитки.

    Что лучше новичку? Нельзя ответить однозначно. В первом случае ты по началу не только не будешь знать, сколько в твоём сплаве меди, но и вообще не будешь знать о ней, полагая, что золото есть золото. Конечно, со временем ты во всё вникнешь, но это будет потом. Для самозащиты тебе дадут пистолет с резиновыми пулями и слезоточивый газ.

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

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

    dollar
    @dollar
    Делай добро и бросай его в воду.
    S0wB1hC.gif

    Начинайте с фундаментальных знаний, и постепенно двигайтесь к более узкоспециализированному и более сложному. Освойте навык поиска информации, и вообще работы с информацией. Научитесь тому, как учиться (гугл в помощь). Не ждите быстрых результатов. Легко не будет.
    Ответ написан
    Комментировать
  • Как изучать вещь, про которую нету никаких уроков в Интернете и документация не понятна?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Если документация есть, то это уже хорошо.
    Значит, нужно обратиться к тому, кто эту документацию написал.
    Здесь, конечно же, важно, насколько тот субъект заинтересован в том, чтобы документация была тебе понятна вообще. Может быть, это документация для внутреннего пользования, а к тебе она попала случайно, или что-то в этом роде. И даже если заинтересованность есть, может не быть времени и других ресурсов, чтобы тебе что-то объяснять и организовывать уроки.
    В последнем случае придётся либо самому изучать вещь и даже составлять документацию по ней. А почему нет? Документацию тоже люди пишут. И обратный инженеринг никто не отменял ещё, он существует как явление. Либо отказаться от этой вещи в пользу другой вещи, которая более понятна, более документирована, и её авторы больше заинтересованы в создании уроков и прочего, чтобы сделать свою вещь популярной.
    Ответ написан
    Комментировать
  • Верно ли "грызть" себя за подсматривание чужого кода в процессе самообучения?

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

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

    Поэтому подсматривать лучше в том случае, когда потратил достаточное количество времени на собственное решение. Не 5 минут, а хотя бы 2 часа размышлений. Тогда уже имеет смысл, чтобы не буксовать. Эффект для обучения хороший, почти как если сам. Чем больше мучений, тем лучше эффект запоминания и выше удовольствие в конце.

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

    Ещё можно подсмотреть, к примеру, 10% решения, а до остального догадаться самостоятельно - это тоже хорошо. Вы сами (субъективно) для себя определяете долю подсмотренного, насколько оно существенно. Ключевая идея - это примерно 90% решения. Если тонких моментов несколько, то доля у них будет примерно одинаковая.

    Таким образом, корить себя стоит только если было потрачено мало времени на самостоятельное решение задачи и если совесть не позволяет назвать решение своим (учитывая вклад).
    Ответ написан
    2 комментария
  • Как определиться с направлением программирования или ЯП?

    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
    Ответ написан
    Комментировать