Если вы не верите, что такой код называют «специально упрощенным для новичков» то гляньте мой плейлист - ua-cam.com/play/PLOKAzMGgK9xvZD1ST_TPW_hN7ahEbK-HL.html Не забывайте про мой канал в телеге - t.me/sakutin_csharp
ИМХО. Прежде, чем использовать готовые фреймворки - нужно научиться писать код без них. Потому что хороший разраб должен понимать, как оно работает под капотом. А с подходом выращивания новичков на фреймворках/библиотеках мы получаем "профессионалов", которые "при шаге влево/вправо" начинают теряться. Новичок, не написавший своё кладбище велосипедов, не вырастет в нормального разработчика.
И соглашусь, и нет. Как оно работает "под капотом", ИМХО, нужно изучать до того как, а не в процессе. А в частном случае, речь идет о конкретном движке и среде разработки. Мы как бы не на PDP-11 RSTS/E уже работаем. Тут главное вовремя приучить новичка не теряться, а начинать хоронить свои велосипеды на кладбище собственного фреймворка, который можно будет так же просто использовать и в будущих проектах.
@@flightforfunchannel если новичку изучать всё до практики - он испугается или забудет половину по дороге. Нормально как в универах чередовать теорию и практику.
Да еще бывает то что фреймворки не дают сделать все под себя и приходится свое заново писать , но фреймворки все рано нужны чем больше их знаешь быстрее делаешь
Одним из моих первых "видеоуроков" как раз был ХаудиХо и я прекрасно понимал, что за 1 час урока ничего не выучишь, но его видео послужило для меня мотивацией продолжить обучение и стать программистом у нормальных преподов
На самом деле в поисках инфрмации, я у них её как минимум нашел и понял как это работает, спасибо им за это, Хауди за яркую подачу разнообразие контента Дударь за Лаконичность и удобность просмотра его уроков. Свою задачу на уровне показать как это работает они делают, твоя задача думать своей головой.
В интернете вообще можно найти любую информацию, в том числе "земля плоская", и последователей этой информации. Мы же на земле живём? Когда ты её прожевал, принять противоположную (условно) инфу уже не хочется, да и зачем. В реальности конечно всё решается вероятностью попасть на работу.
Гоша великий молодец, он вводит в мир программирования легко и увлекательно. Помогает создать внятную картину. Кто хочет углубиться, всегда найдет возможность, но каркас Гоша великолепно создает.
Я отписался от хауди Хо, когда он меня в ВК на**й послал и забанило в их группе. Я вот спросил несколько лет назад: "А обещанное продолжение туториала по kiwy(фреймворк для Python) будет?". Не могу вспомнить точно что мне сказали, но мне было очень обидно.
Я конечно понимаю, что лучше и быстрее использовать готовые решения сделанные мудрыми людьми. Но допустим, если такой Вася начнет с такого подхода как ты показал. Есть фреймворк, там есть функция ходить и супер Вася счастливый он умеет имплетентировать ходьбу. Допустим Вася делает все в порядке, но потом оказывается что мудрые дяди не додумали функционал и оказывается нет функции бега. Вася не знает из чего состоит функция ходьбы, а без этого не знает как сделать бег. Вася читает документацию, гитхаб и единственное что нашел, это то что разрабы об этом знают и добавят в следующем апдейте через месяц. Вася теряет время, сам ничего сделать не может, физику толком не учил, программироавние у него началось с фреймворка, поэтому он не шарит в синтаксе, та и вообще он привык писать на фреймворке, там легче. Вот такая ситуация у нас бывает очень часто, люди мастера во фреймворки но когда дело доходит до перформанс проблемы или не тривиального решения, то тут же теряются. У меня у самого опыт около 5-6 лет. Я начинал с чистого языка, писал все с нуля. Да код сначала красивый не был, но я извиняюсь, рефактор это скилл простой, тем более IDE половину роботы решает. Поэтому не обзывайте друг друга уродами, потому что кто то написал так или иначе. Это процесс, результат приходит со временем
Вот то что я хотел написать, разве учить использовать чужие вещи это нормально?) Лучше рассказать как написать что-то на том, что есть из коробки движка, а там уже и понимание чужого кода пойдет
@@jessypinkman8010 пускай задарчивают ванилу пока кровь из пальцев не пойдет. этот чел подключает дополнительный фреймворк, но как он объяснит новичку почему он выбрал именно его? хз , мб шарп стоит на месте(в чем я сомнваюсь), а когда будет новая мета в разработке что будут эти новички, которых не надресеровали мыслить самостоятельно будут делать?
я как около нулевой прогер скажу, что да, плохой вариант проще понять, потому что этот вариант задействует меньше теории. В Goodsolution надо понимать как работают всякие наследования, пространства имен и всякая другая муть, которую даже если объяснить новичку, он вроде понимает, но на практике не использует, потому что надо осознать еще принцип работы этих вещей. Есть такой эффект, когда ты уже много времени что-то изучаешь забываешь насколько было или может быть тяжело новичку в чем-либо. Хороший пример - это вождение. Водители уже через пару лет забывают какие они нубы были и когда смотрят на потуги начинающих, горят
Не все водители такие) я получил права ещё 7 лет назад, но до сих пор помню, как меня колошматило и каким затупком я был. Да и в целом считаю хорошей практикой запоминать отдельные моменты, каким ты был, какой ты есть.
Если учитель хороший и хочет действительно обьяснить, как плохой вариант на самом деле работает, ему придется детально рассказывать про то, что такое GameObject, Component и как расчитывается Distance. Правильный пример с Pickup менее нагружен концепциями специфицными для Unity и больше приближен к человеческому понятию процесса. Наследование есть в обоих примерах - плохой от MonoBehavior, хороший - от Pickup, так что хороший учитель должен рассказать о наследовании в любом случае. Плохой пример не проще, он только ленивый - от человека, которому было лень подумать, как это сделать грамотнее и писать меньше кода. Так может писать сам начинающий, не имеющий под рукой ничего кроме базовых описаний Unity API, а вот от учителя такой код - просто позор.
ну вообще понимать "такую муть" как наследования и пространство имен надо бы, чтобы вообще код адекватный писать. Это как бы база. Имея базу адекватную хоть какюу-то основную все станет понятнее. Ну и если уж писать плохой код надо делать ремарки что так не делается если ты адекватный человек. А там люди наверное так пишут на курсах и типа как будто так и надо и так и преподают. Пример с обучением и давностью это да. Есть такое. Но как я сказала есть база, которую надо знать, странно гвоорить про базовые принципы как про какую-то муть. Некоторые новички ничего особо учить не хотят, даже основы на которых много что построено вообще, но хотят уметь. И потом тоже будут оправдывать говнокод возможно тем что так проще понимать. Хотя на самом деле, если преподаватель на вебинаре пишет хороший код короткий и комментирует, что там делается хоть немного под капотом, то все там понятно будет. А знаю базу и без комментов понятно будет как оно работает. Реально просто взят и доки почитать. Но чтоб их почитать надо еще понимать основные вещи. Но с норм преподами хорошо объясняющими это не проблема - писать и правильно и чтоб понятно было чо там происходит
В твоем подходе все круто. Только одна проблема, новичек не понимает как работает фреймворк и почему твое решение вообще работает. Потому, что в глазах новичка ты просто вызвал магические методы и все стало круто. В первом решении, через говнокод описан сам алгоритм работы, что нужно проверить дестанцию, потом здоровье и т.д. В твоем случае это все делает фреймворк.
@@lmmunne причем тут методы? Если не понятен сам алгоритм. Окей он зайдет увидит, что возвращается какой то объект, который берется из другой функции в итоге т.к у него минимум знании ооп и алгоритмов. Он ничего не поймет.
Ну возможно можно почитать в интернете о фреймворках что это из себя представляет, особенно на английском должно быть больше подробной информации. Ну а в случае если в инете толковой инфы на это нет, тогда да. Вообще чё он тут объяснять будет... Весь его канал это самореклама и самоутверждение на дударях всяких
Я представляю что было бы у меня в голове, если бы меня не научили питону и дали бы сразу джанго. Я бы не понял ни одного урока. Немного расскажу свой опыт. Закончил небольшой бесплатный курс по питону на стэпике. Закончилось всё на функциях, до ООП даже не дошло. И вот я начал учить фреймворк джанго "я же уже знаю базовый питон" (нет). После первых двух уроков в голове каша, вообще не понятно что к чему лепится, как всё работает. И самое главное - повторить то что показали я может и смогу, но вот что-то своё сделать - шаг влево, шаг вправо и всё - болото. Короче это похоже как будто тебе сказали "вот самолёт в нём есть штурвал, педальки там всякие (они подписаны сам разберёшься) а все эти маленькие приборчики и дисплейчики тебе не нужны, это вообще лишняя информация. А вообще тем кто верит в то что базовый код не нужен, только фреймворки - вперёд. Чем больше вас таких будет, тем дороже будет оцениваться моя работа. Видос кликбейт.
Согласен. Люди пытаются какую-то хрень придумать, лишь бы обосрать других и сказать что я мол крутой и у меня правильнее. А то что у автора канала весь код на фреймворках построен, он молчит.
Возможно, для новичков, которые еще слабо ориентируются в ООП, но которым нужно четко закрепить в голове перевод устного описания в алгоритм, такая реализация действительно лучше: тут наглядное показывают, как из слов «убить босса при приближении к кнопке» можно сделать алгоритм из максимально простых вещей, без знаний об уровнях абстракций и слоях логики
Плохой пример не менее свободен от абстракций - есть и GameObject, и Component, и MonoBehavior, о которых начинающему так же мало понятия, как о Pickup. Но вариант с Pickup более приближен к человеческой логике, он не такой технический, поэтому ментально проще воспринимается. Просто тут немного ловушка - вариант, где больше кода как бы больше раскрывает то, что происходит под капотом фреймворка, поэтому появляется ложное чувство, что ты больше узнал и больше умеешь, но вот как раз в этом моменте такое чувство опасно, так как ты просто теперь знаешь, как это делать неправильно и потом тебе придется тратить время, чтобы отучить себя от такого варианта решения. Цель - не больше кода и не нагрузить себя больше терминами Unity, а научиться использовать Unity эффективно для достижения цели - программы, которая делает то, что тебе нужно.
такое себе тот кто плохо в этом разбирается не должен значит бежать учить юнити. ЛИБО, преподы должны говорить что это плохо код и так не делается, а делается все правильно благодаря ООП, его для этого и придумали как бы, писать понятнее и правильнее с точки зрения как потом это все поддерживать и понимать и расширять. Написал криво - расскажи что это криво и почему. И нечего тут оправдывать на самом деле) А написать хороший код с комментариями препода что и как работает в этом хорошем коде (в этом смысл школы, не?) это гораздо лучше, чем просто писать говно и оправдываться. Ведь можно написать нормально и просто расписать что там было сделано подробно. А можно написать не очень нормально и сделать ремарку, что мы щс так пишем но это не очень нормально, но я хочу чтоб вы увидели вот это и вот это. Это тоже будет нормальным. А Абстракции тут все равно есть малоизвестные человеку, который ничего не знает в базовых вещах но почему-то хочет писать. Чо-т мало хотят учить что-то правильно и понимать, а хотят зато прийти с нуля и типа покажите нам без базовых концепций, которых у нас в голове нет, как это все работает, и мы станем сразу клевыми разработчиками, но если перед основным курсам вы проверяете базовые знания или просто начинаете обучение с базы а не сразу к делу, то нееее извините это воооода это многооо.
Когда ты начал показывать плохой код, я сразу вспомнил себя. Опыта у меня очень мало и я многие моменты решаю используя язык, выдумывая странные костыли, не используя удобную библиотеку, которая может решить мою проблему в пару строк. Выходит очень красивый код, когда знаешь такие подходящие методы.
Для тех, кто не понял: В проект был внедрен готовый фреймворк для шутеров от первого лица. Pickup - готовый класс для объектов, которые можно подобрать Health - тоже готовый класс, для здоровья В этих классах есть свои собственные методы, например .kill() у класса Health, по-видимому, обнуляет хп Что внутри этих классов, тут хз. Вообще Роман довольно утрирует и высмеивает просто нехорошие уроки. Идея проста: не изобретайте велосипеды. Если под ваши нужды уже есть фреймворк - пользуйтесь им.
@@Oleksandp ++ Даже не используя фреймворк, можно было хотя бы прописать OnTriggerEnter для проверки вхождения в объект, а далее прописать kill в сущность противника и на него ссылаться. Но проверять в Update - это определённо ужасно
А как этот фреймворк искать? Получается новичку вместо того чтобы изучать как сделать функционал нужно идти искать в ассет сторе нужный фреймворк? Так ему еще и разобраться придется как им пользоваться, но если он новичок то хрен он там разберется...
Мне кажется, новичок примет и сможет повторить за Романом, но он не будет понимать, что под всеми готовыми методами лежит. Как работает kill? Просто обнуляет здоровье? А что дальше? Видимо у врага есть метод, который обрабатывает событие "у меня 0 жизней". Каким образом срабатывают эффекты и на каком этапе новичок выбирает, какие эффекты должны сработать? А где пишется расстояние, на котором происходит подбор этого предмета? Это может понять новичок, который уже знаком с c# (и то, некоторые нюансы надо разъяснить). А полный ноль ничего из этого не поймет, выглядит как магия. И эти курсы рассчитаны на полных нулей, для которых понятие переменной ещё даже не знакомо. А то, что люди ожидают слишком много и что реклама обещает это самое много - другая проблема.
Вообще события в юнити это отстой. Я может чтото не так делал но у меня они всегда долго обрабатывались(около секунды) поэтому появлялись фризы. Я долго мучился в итоге забил на это
Ещё один тру хардкорщик-лицемер. Он новичок, или сеньор? Зачем ему знать, как работает эта функция на базовом уровне, если ему просто нужно решить задачу? Легко говорить это с позиции человека, имеющего ресурсы на изучение. А когда тебе нужно абы как на работу попасть, чтобы выжить, тут как бы не до зубрения основ. Это уже с опытом придёт.
в этом и проблема, что ожидают много Хотят что-то ПИСАТЬ не зная что такое переменная и так далее. Ну если уж писать код то писать его, зная что-то. А сликшом глубоко копать тоже не надо. В говнокоде в примере тоже далеко не все известно, а как а что. Килл значит килл. Какая разница как оно обрабатывает. Важнее понимать реально наследование, что можно применить, какие методы переиспользовать и все такое. В курсах проблема как раз что да, они обещают хер пойми чо а учат так, как никто нормальный не делает. К бесплатным так не придерешься, они деньги не дерут. Но тоже обещают написать нормально и как что-то сделать, но забывают доавить "как это сделать кое-как лишь бы костыляло". А такие ремарки важны. Ладно написать не очень, но главное это ведь сказать что это не очень, что это только начало. ПОтом объяснить что такое рефакторинг и все такое. А если этого нет, то они реально говно продают) (я не просто не знаю есть в курсах на которые он ссылается это или нет). Но там кто-то выше писал что говнокод понять проще, потому что надо понимать наследование и все такое. А я охеренла с того, что почему люди лезут программировать, именно программировать, а не с окнами поиграться и нодами или чем там, если даже не хотят базу выучить типа ооп, ну типа ну что-то базовое должно быть. Если уж ты писать хочешь. Базовые принцип. Они не такие сложные. Даже если на общие эти принципы уйдет неделя (и то это много чтоб понять ООП на уровне понимания что это и почему и что такое объекты, классы, наследование и импорты или неймспейсы) И по хорошему в курсах сначала какой-то ликбез на такие темы проводить должны, а потом уже писать код и писать правильно и с комментариями. Чтоб понятнее было. А не просто говно лепить и объяснять это тем что залететь хочет кто попало кто ничего изначально знать не хочет чтоб понять как работает более правильно написанный код. Хотя какие-то вещи допройти чтоб понять пример в видео это вообще недолго. И это к тому же прекрасно отразится на дальнейших изысканиях. Доки легче читать. Понятнее. Самому что-то искать а не только смотреть как кто-то сделал и под копирку слизывая потому что в доках ничего непонятно совсем. И тд. Необязательно копаться в глубинах. Их нужно не больше на таком этапе чтобы просто понять вот эти концепции какие-то главнейшие по которым пишут код в данном примере (здесь ооп) и уметь их как-то хоть использовать. А общеать такие курсы тем кто не знает даже что-то такое переменная это ваще) и не иметь в курсе доп модулей чтоб человек подтянулся до нужного уровня понимания (что было бы правильным подходом) а вместо этого писать говно с отмазами чтоб вот такие вот понимали) Почему из-за школы и таких вот которые влетают просто с нуля с ноги сразу куда-то в облака в движок писать (писать, Карл, руками) код должны страдать другие люди, которые хотят научиться писать нормально и понимают базовые вещи, на основе и базе которых и решили уже хорошо освоить движок, например =)
Для понимания логической цепочки у себя в голове "неправильный" Код действительно проще. Ибо во втором коде произошла магия и возникло еще больше вопросов, я как новичок могу повторить, но я не понимаю что там происходит и почему:(
И тот и другой код говно. Как человек, «у которого на 10 лет больше опыта» уверенно заявляю. *пошел в своем коде убирать неиспользуемые импорты - буду настоящим профи!
Это уже больше проблема объясняющего, нормальный преподаватель должен объяснять что это такое и как мы к этому пришли, и проблема эта довольно распространена, в школе к примеру обычно учителя дают условную формулу или правило, а что это и как это работает не объясняют
Роман, без негатива. Вот ты всех раскусил, грамотно проанализировал - браво. Ну а какие альтернативы предлагаешь ты ? Сделай курс по Python или Rust, с радостью почерпнем со зрителями, для себя что-то новое. Если уже такой имеется - линканите, очень интересно ознакомиться.
Боюсь Rust такой человек не вывезет, особенно с учётом того, насколько у этого языка предвзятое коммьюнити (отношусь к ним, однако не занимаюсь обсером кода), его слова ему же в пердь затолкают не дадут высрать.
Ну вы не понимаете всю соль Этот человек профессионально разбирается в шарпе и юнити, скорее всего он может строить системы промышленного масштаба(смотря на код, но так же не могу сказать пока не увижу эту систему) У него есть своя студия по разработке игр И всеми этими действиями он МОЖЕТ гарантировать человеку который пришел что курс который он продает не фуфло. В случае чего он лично может посмотреть что какой то ментор написал хуйню и уволить его С растом же он не знаком. Он может нанять ребят и они напишут ему курс, но где гарантия что курс будет хорош? Раст это другая сфера, нежели юнити, и даже разработка энтерпрайза на дотнете И в теории я согласен что принципы типа dry, kiss, solid они везде хороши, однако сами языки имеют отличия в реализации. Допустим в дотнете поощраются орм, а в го нет И вот получается что он должен променять свою совесть ради курса по раст? Ну уж нет
момент из жизни, когда я поступил у меня был выбор куда идти по учебе, по курсу безопасника или по програмированию на многих языках, я выбрал второе , и мне очень повезло что подселили к чуваку который заканчивал магистратуру по этому же, и уже он работал в реальной студии, и вот он мне книгу кинул с названием чистый код вроде, и сказал пока не поймёшь её лучше не начинай учить програмирование,, она не большая но ты поймёшь что такое код
Я искал тебя и твой комментарий. Так хотелось увидеть , что хоть кто то как ты) Автор канала просто забайтил в названии видео именами и сам ерунду делает. Главное других обосрать
@@ВитВечный дак всё просто. Обосрать проще, чем дать конкретную критику. И обосрать что-то известное может придать ему популярности. В общем такие дела
Роман, вы сделали часть работы этого курса, можно написать такой "код для новичков", где явно показано, что делается без подключаемых библиотек; а затем его преобразовать в код из 4 строк! Это тогда для новичков было бы понятнее, а еще показать, что в библиотеке, которую вы подключили, такой же код или подобный.
Жесть, а ты тоже начинал учить Юнити с того, что ты училcя пользоваться фреймворками? Я вот к примеру учился писать без них, так что, если не найдётся нужного фреймворка, я смогу написать рабочий код. Так что спасибо Хауди и спасибо Maxter.
Если эта задача требует отдельный, как ты говоришь фреймворк, хотя правильно библиотека, то, скорее всего, ты ее за пару дней не напишешь, а если она нужна многим, то решение будет. Это тоже часть работы, понять, где надо писать самому, а где берется готовое и ОТЛАЖЕННОЕ.
Я программист уже три года. Уровень middle+. Но в отдельных не очень опытных командах могу квалифицироваться как senior. Так вот, я начинал с видосов Гоши Дударя. Он молодец. Он показывает по верхам, да. Но именно это нужно, чтоб начать и не испугаться. Чтоб решить для себя "да я так же могу" - и понестись вперёд. Потом уже можно пойти на нормальный курс по выбранному языку и выучиться получше. А потом вечно сам по ходу процесса будешь самосовершенствоваться.
В принципе так и делаю. День на просмотр курсов от Гоши, два дня на какие-нибудь другие. Короче, стараюсь охватить всю доступную информации, с условием, что они за free. Так пока не нашёл "идеальных курсов", где всё правильно и понятно, обычно в каких-то аспекта одни лучше, в других аспектах уже другие лучше, но в среднем этого хватает, чтобы понять азы/основы. В любом случае, у каждого своей путь к совершенству, но пока лучший из них это постоянная практика и старых советские учебники(шутка)
" уже три года. Уровень middle+ в отдельных не очень опытных командах могу квалифицироваться как senior." если я буду сидеть с бабушками на скомейки у меня будет уровень бог. джун мидл синиор тимлид техлид не годами определяются а навыками джун - умеет делать то что надо под присмотром миддл - умеет делать то что надо сам синиор - умеет делать КАК надо при этом "что надо и как надо" бизнесу для увеличения его доходов. техлид - обладает экспертизой в конкретной области тимлид - чел который 80% времени занимается комуникациями
@@alexbmwfan405 найти более серьёзный курс по этому же языку. Например, на Stepik. Или на пиратских сайтах ;-) И вот уже после этого, пройдя 2 курса по базе, можно ещё найти курс "глубокого погружения в язык", если есть время. Всё тот же твой язык, но более хитрые и про-фишки. Дадут преимущество на собесах. Затем открываешь HeadHunter и можешь походить по собесам. Может, повезёт и стажёром уже возьмут. Иди на ЛЮБУЮ з-п ради опыта! Но скорее всего ты офигеешь от того, что просто язык знать недостаточно, узнаёшь, что же требуется знать ВМЕСТЕ с твоим языком. Например, SQL. По SQL нужно тоже курс пройти. У Shultas Education, например, неплохой курс по SQL был. Или на том же STEPIK сейчас бесплатный есть с оценкой 4.9. И в конце концов - смотришь, какой ФРЕЙМВОРК на твоём языке самый требуемый (на Java - Spring, наверно или что там сейчас?), лидер по числу вакансий. И находишь курс по этому фреймворку. Вот тут точно уже пробуешь проходить собесы. Если прошёл - супер. Если нет, спрашивай, что не так и что подучить. Если на нескольких собесах сказали одно и то же - бери ЕЩЁ КУРС по указанному направлению... Итого 4-6 курсов ПОСЛЕ Гоши Дударя - норма. Их все можно найти бесплатно.
@@alexbmwfan405 1) найти более серьёзный курс по этому же языку. Бесплатный. Например, сам знаешь, где 😉 И вот уже после этого, пройдя 2 курса по базе, можно ещё найти курс "глубокого погружения в язык", если есть время. Всё тот же твой язык, но более хитрые и про-фишки. Дадут преимущество на собесах. 2) Затем открываешь HeadHunter и можешь походить по собесам. Может, повезёт и стажёром уже возьмут. Иди на ЛЮБУЮ з-п ради опыта! Но скорее всего ты офигеешь от того, что просто язык знать недостаточно, узнаёшь, что же требуется знать ВМЕСТЕ с твоим языком. Например, SQL. По SQL нужно тоже курс пройти. И в конце концов - смотришь, какой ФРЕЙМВОРК на твоём языке самый требуемый (на Java - Spring, наверно или что там сейчас?), лидер по числу вакансий. И находишь курс по этому фреймворку. 3) Вот тут точно уже пробуешь проходить собесы. Если прошёл - супер. Если нет, спрашивай, что не так и что подучить. Если на нескольких собесах сказали одно и то же - бери ЕЩЁ КУРС по указанному направлению... Итого 4-6 курсов ПОСЛЕ Гоши Дударя - норма. Их все можно найти бесплатно.
Рома, думаю ты в какой то степени прав. Однако насчет использования фрейморков - не кажется ли тебе, что правильнее обучить новичков сначала работать без фреймворков, а только потом показывать им как работает то или иное дополнение?
Я конечно не Роман Сакутин, но хотел бы высказать свое мнение по этому поводу. Я считаю, что для новичка проще всего будет освоиться в высокоуровневом интерфейсе, где тебе достаточно вызвать одну функцию, удовлетворяющую той задаче, которую ты решаешь, нежели самому реализовывать всю нить вызовов, лежащих под капотом. В общем, скилл новичка пропорционален глубине знаний, которыми он обладает. Сначала лучше научиться пользоваться фреймворками, а со временем было бы неплохо узнать, как они устроены внутри.
@@michael.manasian И это ставит тебя на колени перед этим фреймворком. В следующий раз ты соберёшься делать не шутан, а платформер, а метода Pickup у тебя и нет. И всё - ты в ступоре.
@@freeExec не находите взаимосвязи. В следующий раз, когда я, как новичок, возьмусь за задачу сложнее, я пойду копать глубже - это называется постепенное развитие.
@@michael.manasian Прикинь, появился новый фреймворк и тот на который ты надрачивал целый год стал ненужен. А ты не можешь понять другой, потому что ты просто зубрил названия функций и понятия не имеешь как они работают. Придётся заново платить гипотетическому Роману Сакутину, чтобы он объяснил тебе как работает новый фреймворк. Кроме того, если у тебя появится ошибка в коде, крайне трудно будет её обнаружить, если не знаешь как устроен фреймворк Про постепенное развитие (о чём ты написал ниже) здесь вообще речи не идёт. Это просто скачка по верхушкам. Постепенное развитие - переход от простого к сложному с многократным повторением пройденного.
Ага. Я вообще джаваскриптер обосцаный. Но поняла только тот код, который написал господин в видео. А какие нахрен отсчитывания расстояния до противника. Я вообще не понимаю зачем это
@@the_eye8574 Я конечно больше back, а не front, но данный метод похож на подгрузку элементов при скролле, только при подгрузке проверяется не расстояние, а позиция.
Посмотрел видос, сложилось впечатление что инфоцыган тут ты. Ну и не стоит всех по себе судить, от того что ты не знал 10 лет назад и скрывал это не значит что преподаватели курсов не могут в ооп
бгг. моя галера имеет учебный центр и у нас уже давно ходит байка о том, как преподаватель УЦ не прошел собес на наш же проект по тому, что он преподает. ну как байка, это правда, я знаю этого человека :) и это не потому что он плохой преподаватель, а потому что преподавание и коммерческая практика очень отличаются. соответственно и код, который он выдавал, не устроил интервьюера, хотя для обучения наверно неплохо подходил. ну и задачи, нужные для коммерса преподаватель решал неоптимальным образом.
«Дорогой» Роман, говорю лично за ХаудиХо. Нечего тут из се я клоуна строить, смотритесь очень глупо. Благодарю ХаудиХо множества людей научились программированию, как и лично я. Он объясняет очень грамотно и доходчиво, благодарю чему слушателю становится приятно и понятно от того, как человек объясни тему. И лично я начал знакомство с программированием благодаря ХаудиХо, а Ваши стереотипы можете оставить себе.
Я всё ещё новичок и например про телеграм ботов хауди хо объяснил так себе я бы сказал на отъ*бись я кончено сделал бота но не понимал что и как работает пришлось ещё очень много гуглить и смотреть другие уроки на ютубе
Апхапхапхах, и каким образом, вы "научились" там? И ещё и говорите за множество людей...Просто смех. Я не хейтер ХаудиХо, и сам частенько люблю глянуть его видео, но, если по-вашему - это стереотипы, клоунада или т.п. то, я вам сочувствую, ибо вам человек полностью по полкам всё разложил, а вы говорите что он - клоун) Тем самым вы лишь только показываете, то, какая аудитория у ХаудиХо. И если не секрет, то чему же именно, вы научились у ХаудиХо, как и "множество людей" ? Я не спорю про то, что многие знакомятся с программированием благодаря ему и всё же.
Второй пример хоть и лучше, но заставляет новичка трогать фреймворк и знать о слоях приложения, хотя на раннем этапе цель - потрогать базовые вещи. Новичкам полезно писать свои велосипеды из говна и палок. В обучающих курсах было бы супер, если бы наставники писали говнокод и рефакторили его.
Не то, чтобы в защиту обучающих школ, но поделюсь, как было у меня. Я обучаюсь в одной из онлайншкол (обучение рассчитано на 1.5 года), там структура обучения немного отличается от скиллбокса. У нас 50% группы (около 50 человек было) отсеялось на этапе прохождения основ C#, где Юнити мы вообще не запускали, все думали ща быстро Ведьмака напишем, а на самом деле писали консоль. Далее применяли полученные знания в Unity, не заморачиваясь с апдейтами и тд, просто чтобы посмотреть, как движок поженить с кодом (но даже тогда нам уже говорили не надо мышко-кодинга аля ивенты на кнопки из интерфейса Юнити навешивать), отсеялось еще сколько-то человек. Где-то на 4м месяце обучения у нас началось MVC, ООП, для тех кто "дожил", а это было человек 12. И тогда преподаватель сказал, забывайте все на йух, что вы делали до этого, и погнали всё делать правильно. Было сложно. Сейчас идет 11 календарный месяц обучения, от нашего первоначального состава осталось 3 человека плюс народ, который ставил на паузу и тд, итого в группе 7-8 человек. Если бы мне сразу выдали МВЦ, чистый код, паттерны, СО, и вот это вот всё, ну хз стал бы я продолжать. Единственный минус для меня - это нет законченного проекта, все проекты делались под курс, а так как это вебинарный формат с расписанием занятий, то всё делаешь быстро, а осознание приходит уже позже. Отсюда следующая проблема, - как собрать в кучу знания и применить к единому проекту.
Подскажите, если не секрет, в какой онлайн школе обучаетесь? Ищу сейчас подходящие для себя варианты, сравниваю и прорабатываю этот вопрос. Вы бы мне очень помогли.
@@evgenfenix4422 учусь в GB. НО, я не знал, про Напильник, когда шел учиться. Могу сказать одно, что код ревью очень важен в учебе, накидать скриптов, чтобы двигались пиксели - это не самое сложное. А вот качественный фидбэк, еще поискать надо. Думаю надо ориентироваться на обратную связь с учениками, либо задуматься о том, чтобы купить обучение у какого-то разработчика, но его тоже поискать надо. А так в принципе, как базовые знания о профессии, любая школа примерно по одним шаблонам учит. В ГБ живые вебинары, так что вопросы можно задавать прямо по ходу лекции. Судя по видео, в скиллбоксе такого нет. В Напильнике еще и домашку возвращают, пока не сделаешь, как правильно, это действительно круто (не в коем случае не прогиб).
Грамотный ученик всегда превзойдёт преподавателя и не потому, что преподаватель передал секреты высочайшего уровня, а потому-что преподаватель дал первый пинок в жизнь! Заинтересовал этим! Дал азы. Вот что главное от преподавателей. Заинтересовать наукой!
Штош, поехали: 1) что за pickup? Серьезно, без сарказма. Прям очень сильно не хватает пояснения 2) что за enemy.Kill()? Тоже без сарказма. Там наверняка 2 строчки, но прям катастрофически не хватает каких-то базовых пояснений, что вообще творится При этом я не говорю, что написано плохо - просто вообще не укладывается в голове, почему это работает
Тоже возникли эти вопросы, но в этом и прелесть этого видео: ты увидел какой-то новый класс и значит можно поискать о нём информацию. А при "плохом" коде ты ничего нового по сути не узнал (если ты совсем не "ноль").
Новичок, если напишет этот код - у него ни..я не заработает) так как у него даже класса Picked не будет и он будет биться головой в монитор "почему у автора всё работает, а у меня нет")) мне кажется найдутся те, кто сейчас повторит твой код из видео и будет спрашивать почему ошибка
Я слабый в программировании и знаю о нем мало, но достаточно чтобы сразу понять что без использования стандартных процедур и функций, библиотек обучать нет смысла. If, then, else на Паскале и Бейсике в школе каждый писал, а значит мы аттестованные программисты😂
как же в свои 37 жалею, что забивал на этот долбаный паскаль в 8-9 классе на информатике :(.... так хочется вернуться и серьёзно им заняться..... 3 года назад увидел js и до боли знакомые if else, и сразу мысли (так это же в 8 классе в pascal юзали, я ещё носом крутил, мол "щас с++ модно, а мы на паскале сидим дрочим")...
Зашибись, вместо понимания как работает код будем юзать фреймворк. Нах программирование учить, сразу учим фреймворки и идем работать. Очень хороший подход, ага...
Ну а что ты ожидал? Наверное по причине того, что его курсы мягко говоря не ахти (в Рунете пишут). Он решил отыграться на незначительных личностях, лучший метод защиты - это атаковать всех подряд и надеятся что кто-то купить твой "уникальный курс". Я лично видя таких личностей, думаю: лучше пусть меня обучат гавнокоду чем я буду работать с токсиком, который будет говорить - твой код гавно, вот мой он в 20 раз лучше
@@animefanat9746 ссылка в описании, как обычно) сайт-то может нормально свёрстан, ничего такого ты там не увидишь. Да и верстку легко заказать. Я имел в виду манеру подачи информации.
В данном случае г-кодом названо где весь код в одном скрипте и название переменных абы какие, а хороший код это соответственно противоположность - название переменных единообразны и код разнесен по смысловым структурированным обычно также имеющим единообразные смысловые названия методам находящимся в подходящих скриптах. Имхо новичок еще не имеет в голове структурированных знаний, обобщений для названий переменных и подходящих названий методов. Он еще не знает всех возможностей игрового движка. У него еще нет понятия что предмет может быть интерактивным и хорошо бы создать свой скрипт и записать туда метод отвечающий за взаимодействие с предметом. Новичок когда видит хороший код, он не понимает что скрыто за методами, которые написаны в хорошем коде в несколько строк, но при этом функционал методов раскидан по другим скриптам, которые нужно открыть чтобы понять что за функционал там сокрыт. Чем больше отсылок на другие, незнакомые скрипты - тем больше запутываешься (это в случае пока еще нет общей структуры построения кода и названия методов и что за функционал обычно в них записан). При этом в г-коде все на одной странице и видя все перед глазами мозгу легче запомнить информацию. Настоящее обучение - это работа мозгами через работу руками., от малого к большему. В начале воплощения идеи проектируется код так как позволяет программисту его уровень, навыки, знания. главное чтобы функционал выполнял то что тебе нужно. Замечу если ты не новичок, то и код изначально будет с осмысленными названиями переменных и методов или даже сторонние скрипты о которых знаешь могут быть использованы. Потом уже было бы неплохо сделать рефакторинг кода, сделать для повторяющегося кода (повторяющийся функционал) свои методы и ссылаться на них, сократить количество кода, обозвать более читабельно переменные, сделать код красивее и нет предела совершенству. Имхо всем полезно посмотреть как на г-код так и на хороший код (не приемлемо когда г-кодер говорит что писать нужно только так, а хороший кодер говорит что писать нужно только этак) так как каждый сделает для себя выводы сравнивая подходы к написанию кода. То что Роман показывает и сравнивает подходы к написанию кода это мне нравиться, но то что он намекает что его подход самый правильный это неправда (все относительно).
Проверка по расстоянию выглядит гораздо понятнее, такая проверка является математической, все знают что такое расстояние и как его применять в реальной жизни еще с начальной школы. Начинающий программист может не знать, что для упрощения написания кода и логики кода, правильно использовать фреймворки. Тогда для того чтобы донести до начинающего программиста правильный подход к программированию, нужно начинать с изучения фреймворка. Показать какой математический или абстрактный подход содержит внутри себя фрейморк для реализации данной задачи. А так же разобраться и показать почему фреймворк будет работать быстрее и эффективнее велосипеда. Возможно неплохая, но сложная тема для ролика, показать внутренне решение фреймворка для данной задачи.
Какраз такая "математическая" проверка невереная, все поголовно её используют, не понимая, что для обычной проверки дистанции есть оптимальный и правильный аналог: (a - b).sqrMagnitude < c * c. В чём оптимальность? В этом решении нету извлечения из квадратного корня в отличии от Vector3.Distance. Да сложно читать/писать и именно поэтому такие вещи выносят или в абстаркции или в функции хелперы, чтобы в одном месте всё контроллировать, не думая о перфе каждый раз.
Программисту нужно писать код с правилом "Всегда пиши оптимально, но никогда не оптимизируй раньше времени". В контексте правила расшифрую: Оптимально - это значит применять все простые и понятные техники которые ускоряют код/время разработки, используй эти техники когда начинаешь делать проект. Оптимизация - это поиск ещё неизвестных техник ускорения кода/рендера/разработки, не трать время на поиск, пока не доделал проект, доделай проект, а потом только открывай профайлер/сделай ретроспективу что и сколько ты делал и как можно было делать эффективнее если бы архитектура была другой.
Бл. Даже не стал смотреть видео. Радуйтесь что хотябы они есть! Блин когда видишь ролики Хауди Хо , офигеваешь. Хочется снова прогать и делать всякие крутые штуки. Работы интузиастов привлекают новичков. А то эта профессия умрет. Ладно шучу не умрет, но менее развлекательным, веселым чтоли. Типо они создают свою культуру, быт атмосферу программирования. Как направления со своими челенджами и приколами. Например если смотришь челенджи качков, спортиков:авось простои на планке 60 мин. Ты вроде смотришь развлекательное видео, но оно тоже полезное и еще понимаешь как спорт крут и многогранен. Тут тоже самое, когда Хауди делает видео про гугл дино, я кайфую. Думая как же программирование афигенная херня. Делаешь то что обычные юзеры и мечтать не смеют, делать из дины годзиллупо щелчку пальца например. Почему? Потому-что так просто захотелось. А этого хотели ведь многие, ждали годами, но все же никто не надеялся и никто не мог это сделать. Ведь не могут, максимум фотошопили в своих фантазиях и все. И один программист взял и сделал это. И я знаю что там есть видео не только про дино, просто привожу это как пример. Говорят мы знаем смысл профессии строителя , доктора и.т.п но в чем же смысл творческих людей? А смысол в том что когда ты приходишь домой, то ты кайфуешь и отдыхаешь: смотришь кино, смотришь тик ток, читаешь книги. Ты все это делаешь и ты отдыхаешь. Но даже не думаешь за всем этим кто стоят, творческие люди. Они отвечают за то как вы отдыхаете и проводите время Так что не обижайте их, они создают свой уют и тепло в этом итак холодном професси
Это как "узнал что такое МММ - захотел уйти в бизнес". Просмотр качков не поможет самому накачаться, а просмотр дилетантов (тех же псевдо качков, накачавшихся химией) тем кто реально учится наоборот в ущерб, ибо сначала нужно осознать и принять, что это кал, а потом заново искать источник обучения. Есть технический материал, а есть псевдо технический. Прогеры приходят всегда за первым, кому под чай ютубчик полистать - за вторым. Ощутима разница?
@@Hellafast2uDude , не неси чепуху. При просмотре таких видео реально появляется мотивация. Что не скажешь об этом гаргамеле. И тот же Хауди курсы не продает. Какие к нему могут быть претензии?
Полностью согласен. Для упрощения не хватает все на ифах, в одном файле и прямые вызовы методов без прослоек. А и еще же надо ввернуть логику и отображение и взаимодействие с сервером в гейм объекте. Чтобы проще же
Как разработчик со стажем полностью согласен, что код говно != код для новичков. Это все равно, что инструктор не умеющий водить будет сшибать столбы и пешеходов, это же урок для новичков, не обязательно уметь ездить)
хочу научиться программировать, мне нравится Python, язык то выучил, делал задачки для начинающих и тд. Подскажи, пожалуйста, что делать дальше, как научиться программировать?
@@GloryToUkrainianRus Решаешь задачки - уже программируешь. А чтобы развиваться, как и в любом другом деле, нужно постоянно практиковаться, ставить новые задачи, в том числе более сложные, изучать инструменты, которые помогают решать новые проблемы. Нельзя выучить язык в смысле "достигнуть конечной точки, что учить больше совершенно нечего". Можно изучать новые вещи и углубляться в уже известные, но выучить все нереально. Если нет конечной цели и просто хочется делать что-то интересное - так и делайте, придумывайте интересные задачи, проекты, идеи и так далее. Те, которые будут именно интересны вам и реализовывайте их. И в таком случае точно не стоит идти читать книгу по глубокому обучению, тем более если вы не представляете что это такое.
Полностью поддерживаю. Прогорел на паре таких курсов, по результату которых где-то что-то понял и смог написать двухкнопочные игры, но взявшись за большой проект утонул в тонне говнокода моментально. Как правильно писать код так, чтобы не усложнять архитектуру костылями понятия не имел. самая большая проблема в таких курсах не только говнокод, но и полное отсутствие масштабирования. т.е. как построить архитектуру так, чтобы при добавлении новых кнопок не пришлось переписывать десяток других объектов, не описывают. Описывают только то, как сделать конкретную игру с конкретным контентом без возможности расширения. и после долгого периода разочарования и самообучения столкнулся с шикарным зарубежным курсом FireBelley, где автор не писал так называемый "код для новичков", а четко объяснял, как код писать правильно и как легко потом его масштабировать.
Я пару дней назад написал свой первый Hello World, ничего не понятно, но очень интересно) Даже я, подснежник, понял что грамотный, не громоздкий код лучше выглядит и проще читается чем у коробки навыков. Но справедливости ради, нам бы научиться писать хоть какой нибудь и крикнуть "оно живое!", а потом уже задумываться об оптимизации.
Здравствуй, друг! Как успехи? Наверное уже хорошо вырос и зарабатываешь? Подскажи, если можешь: хочу взять ноут для питона, не дорогой. 8 гб оперативки хватит? Спасибо!
На данных курсах учат совсем далёких людей от программирования с полного нуля и то что они написали это понятно новичку , а то что ты сокращал , убирал , для неопытного человека это пока непонятно . Ты опытный программист с огромным багажом , которому это кажется просто , а новичку это вообще темный лес , твой ,, идеальный код ,, .
Я в программировании ноль, от слова совсем, но честно, как то понятнее стало после сокращений. Почему необходимо ссылаться на имя объекта, а не сразу на "здоровье" этого объекта? К чему нанесение урона, если есть команда убить? Куча действий, которые даже с пониманием английского выглядят громоздко и словно "намазано" друг на друга. Я может в чем то не прав, случайно тут оказался) поправьте если что
@@crinjovik6905 потому что для новичка это какая то магия которая из ниоткуда взялась, он не понимает что находится внутри библиотеки, и когда наступит момент чтобы решить проблему самостоятельно окажется что он полный ноль
Использовать фреймворки работе, конечно, правильно. Но все же есть некоторые моменты обучения. И реализовывать свой листы, свои хэш таблицы, свои сортировки - хорошая полезная практика. В работе, скорее всего, не будешь использовать, но зато будет глубокое понимание как это работает. Реализовать все руками в таком примере тоже может быть полезно. Если человек в своем пэт проекте сам поймет что у него есть проблема с дублируемым кодом, сам во время обучения примет решение о борьбе с нарастающей сложностью у себя в проекте, подумает как это можно сделать, то, научиться и замотивируется намного больше чем если с первого урока узнает все удобности фреймворка.
@@camelCased Когда обучал Qt студентов давал задачку писать свой ProgressDialog, хотя готовый есть. Неправильное использование фреймворка? Безусловно. Но зато есть возможность сравнить свое решение с готовым, глянуть что пропустил в апи, сравнить реализацию. По мне так было очень полезно.
@@ЛеонидКрутовский Если учитель перед таким заданием сам грамотно напишет или посмотрит готовый код ProgressDialog, тогда будет знать, как проверить результат студентов не только на работоспособность, но и на грамотность использования языка и фреймворка. Но в плохом примере в этом видео проблема больше в том, что это написано ленивым образом. Давать упрощенные примеры или примеры для пояснения того, как работает, например, Pickup (или ProgressDialog) логика внутри - это нормально, а вот давать такие примеры, после которых потом придется говорить "Забудьте об этом коде, никогда так не делайте" - это уже плохо.
В целом так и есть. В рамках обучения сначала пытаешься сделать сам, а потом переходишь на использование готовых абстракций. Почти все книги по программированию на этом подходе строятся. Но авторам курсов почему то кажется, что надо или писать руками или использовать фреймворк. И все они в итоге неправы 😂
Каждый уважающий себя инфо цыган должен показать себя уникальным и низвергнуть всех остальных до ничтожества. Роман Сакутин! Молодец! Так держать! Ах да, ссылку на "правильный труъ курс" вы найдёте в описании под каждым видео на этом канале. До чего омерзительно видеть, как сфера образования скатывается в сферу услуг и какие последствия от этого мы уже имеем
Я думаю многие их смотрят, потому-что им интересен результат. Понятное дело, что если ты хочешь что-то сделать сам, то ты не будешь смотреть на примеры хауди хо того же. К тому же непонятно, где хауди хо объявляет себя профессионалом.
Конечно верю, есть простые пути решения задачи "топорные", которые изучаются на начальном этапе, а есть продвинутые. я 0 в программировании и только начал, но уже понимаю о чем ты говоришь. Тебе сквозь призму твоего большого опыта видно, что тот метод который ты показываешь проще, но для меня и то сложно и другое)
Я сам смотрел эти туториалы в самом начали и не могу ничего плохого про них говорить. Оглядываясь назад понимаю что и сейчас норм так как они обучают самому базовому и знакомят с синтаксисом а не про сложную логику и конечно это не полноценные уроки лучше за такими уроками нужно самому по крупицам интернета собирать лучше с наставником. Сейчас работаю в нормальной айти компаний с опытом уже 5 лет.
У Гошика даже HELLO WORLD написан в варианте " МАКСИМУМ" на С++ 😁А когда его попросили написать в С++ взаимодействие обьектов для движка CRYENGINE - он вообще отказался работать 🤪
С удовольствием всегда его смотрю, ведь автор от любви к искусству, а не к себе дарит нам весь контент. Можно просто и без пафоса найти разницу в ходе своей мысли и его, а потом на этой разнице оценить себя. Автору спасибо!
На самом деле проблема таких учителей в том, что они действительно делают свои проекты именно так, как преподают это на курсах или видео уроках. Иначе просто невозможно обьяснить или дать оправдание профессионалу своего дела зачем он так все усложняет. Одно дело когда ты показываешь и обьясняешь логику и выносишь это в отдельный урок просто для понимания, а потом переходишь на всякие фреймворки и библиотеки показывая, то как они могут облегчить тебе жизнь и как написанный тобою ранее код можно преобразить. Но я таких почти не встречал. В основном все пишут так, как пишут, а когда начинаешь задавать вопросы прячутся за личину того, что это для новичков.
Ну если честно, то если разобрать код вроде будет понятно. Но больше хочется понять логику, чем тупо запомнить со словами "так правильно". Тем более откуда можно знать что такие классы существуют. С одной стороны вроде просто, но с другой это труднее спроектировать для личного пользования, что не скажешь о "менее красивом "коде
Если человек, который пишет код правильно, комментирует, зачем он так пишет и объясняет ученикам и говорит, что там происходит под капотом, то все там нормально будет написать. И можно писать и более неправильно, и в видео говорится об адекватном упрощении кода и что это не надо путать с говнокодом. И при упрощении должно явно говорится, что это упрощение и так не пишут в реальных проектах. Так что это опять же отговорки и выгораживания говна. Понятнее - непонятнее, это все понятно. Смысл в том, чтобы такое говно не выдавать за конечный и правильный код. И упрощать правильно. И с нормальными объяснениями можно сразу правильно писать. Или писать сначала примерно как в первом варике, а потом сказать что вообще вот такое есть и лучше вот так писать. Это все за один урок можно сказать. Я думаю смысл видео то в том, что видимо там как раз такой код как первый выдают за конечный и правильный. И тут уже реально выгораживай не выгораживай - нормальным и адекватным подходом это назвать сложно, если он таков, конечно) Да и зная что есть библиотеки встроенные или совместимые можно на основе этого прежде чем писать все самому поискать сначала а что есть для прощения и чтобы код выглядел не так громоздко. И вот это уже полезный навык. а для основ конечно можно и по шагам все прописывать, но опять же, надо делать ремарки, что это только для обучения.
@@furycydonian5491 В реальных проектах пишут по всякому. Есть реальные проекты, которые, например, не используют тот фреймворк, к которому ты привык. Есть проекты, где приходится реализовывать стандартные функции. Например проект конкурирующей библиотеки.
подготовительная группа детского сада, воспитательница говорит - "итак, детишки, смотрите, чтобы сложить 2 и 3, надо сначала взять 2 палочки, потом взять 3 палочки, соединить их вместе и посчитать, сколько палочек у вас получилось." и тут в класс с ноги врывается роман сакутин и говорит "ваш подсчёт - говноподсчёт, вот как правильно - смотрите, дети, это калькулятор. набираете 2 плюс 3 и равно"
Не знал о фреймворке, но в голове накинул решение: На скрипте кнопки лежит OnTriggerEnter, в котором мы убиваем врага по таргету и пусаем все эффекты Скилбокс молодцы, показывают, как делать не надо)
@@zakgard9154 По идее не надо, ведь Collision - физический объект, а Trigger просто проверяет вхождение. Ты выбираешь каким является объект, Collision или Trigger, в инспекторе (в своём BoxCollider)
@@zakgard9154 так on collision это же скольжени или трение двух физических или контролируемых тел, on trigger это выполняется когда 1 тело физическое 2 триггерное
Я рассматриваю такой учебный говнокод только если следом покажут как правильно сделать. Типа "пока вы мало что знаете вы скорее всего напишите вот так, но давайте напишем понятнее переписав это как следует". Но такого подхода я не вижу. Ну или написать плохо чтобы потом разобрать ошибки почему так делать не надо
У Гоши Дударь видосы по всевозможным языкам программирования и технологиям, странно от него ожидать погружения в каждую из них, скорее обозревательное видео. В Skillbox как и в других школах нужно искать хорошего преподавателя, очень много ерунды, но иногда попадаются интересные вещи. Качественную инфу искать сложно, приходится перерывать кучу материала, это касается и книг.
@@tixxkat Если б я начинал всё с нуля, то наверно это был бы Герберт Шилдт, как база, и что-нубудь в целом по ООП и патернам, в своё время это были книги O'Reilly по Java (как обзор ООП) и Паттерны проектирования (книги простоваты, совсем для нубов, но чтобы понять тему - в самый раз). По паттернам как справочник - книга Банды Четырёх. Ещё мне нравятся книги Столярова А.В. - Программирование. Введение в профессию - 3 книги, считаю стоит прочитать все. Много можно вcпомнить интересного - но в основном это книги по работе операционок и CS в целом. Для обзора последних новинок по технологиям - книги в оригинале самых последних годов. Остальное - документации, stackoverflow, google,youtube Главное побольше практики, и чтоб это приносило удовольствие, как организовать поудобнее код разберёшься по ходу, сам поймёшь что такое DRY, KISS ну и SOLID туда же
Привет, извини за, возможно, нубский вопрос. Ты часть кода унаследовал с Pickup. и не совсем понятно что там происходит. Да код выглядит компактнее, но часть кода просто не видна в этом скрипте и без которого этот скрипт работать не будет. Мне кажется, что более правильным было бы сравнение всего кода для корректной работы а не только нескольких строк которые по сути могут являться только верхушкой айсберга. Или я что то не правильно понял ?
Это и был весь код. Просто есть уже готовые библиотеки, из которых мы достаем все нужное нам в конкретный момент. Роман так и сделал. Он не писал этот Pickup, не стал тратить на это время и придумывать то, что уже делали миллионы раз. В программировании всегда шла и идёт борьба между декларативным подходом и императивным (можешь почитать). Так вот Роман сделал, на мой взгляд, абсолютно правильно и сделал именно второй подход - не стал пошагово объяснять программе, что ей делать, потому что во фрейморвке Pickup это уже и так сделано, а мы можешь просто это использовать. Короче, те четыре строки - это и есть весь код, который он написал.
@@xcaelestisox7074 А если твоя цель - не изучение конкретного фреймворка а изучения того языка, на котором он написан? Программист ,который понимает что такое Pickup без магии и как такое можно написать самостоятельно, лучше чем программист, который этого не понимает. Второй, возможно, даже не пройдет собеседования в нормальную компанию. Потому как синтетические задачки учат тебя думать, а дергать за готовые методы может даже обезьяна.
Ну у меня возник только вопрос, что такое PlayPickupFeedback(), где и как оно реализовано? Если предполагается, что именно этот "хороший код" выдран из контекста целого видео-урока, или, даже, всего курса, в которых есть рассмотрение реализации PlayPickupFeedback(), тогда вопросов нет)
Насколько я понял, существует учебный ассет от Unity - FPS Sample, в котором реализованы многие необходимые классы, в число которых входит Pickup с методом PlayPickupFeedback(). В общем, в данном видео лишь две адекватных претензии: 1) названия полей, 2) реализация метода через Update. С другой стороны, в его примере "хорошего" кода используется уже готовый класс, в котором почти все уже написано и который неизвестно (зрителю) как реализован (так что вторая претензия не идет в зачет). Ну и да - наследование и использование фреймворков - это не начальный уровень (встречал учебники, где практическое использование ООП, в том числе наследования, идет считай сразу за типами данных, но это не общепринятый подход), так что в данном случае я не совсем понимаю критику "плохого кода", так как человек, который ничего не понимает - посмотрит и скажет "Да, Роман, ты прав - было много букав, а стало мало. Хорошо" (утрирую если что - не хочу кого либо оскорблять), а тот, кто понимает скажет: "Да Роман, твоя 'хорошая' реализация правильная (за исключением использования кода уже готового, написанного не тобой, учебного проекта), но новичку лучше начать с того кода, который ты называешь плохим (не считая имена переменных - они действительно плохи), что противоречит основной идее видео". Хотя лично мне кажется логичным сначала изучить основы языка в отрыве от фреймворков, вроде Unity, а уже потом изучать их, уже понимая, как работает то же наследование. И в таком случае, "хороший" код Романа действительно заметно лучше.
Очень пытаюсь найти хорошие уроки и я люблю всё дотошно изучать. Иногда сложно понять хорошую и углубленную инфу, и я иду смотреть видео для киселёчков. Такие дела. Так же считаю, что курсы плохая идея и я хочу учиться как я хочу, но реально доступной инфы для новичков - мало. 50% времени я занимаюсь именно её поиском. Если у кого есть советы, книги, видосы, статьи - с огромной радостью приму ваши советы ❤
@@rastrepaksu посмотри на s1sherwood что тебе нужно и напиши телегу. я качну и кину ссылкой на диск. на мейловском облаке вообще можно в нем сохранять. )
Родной, ну ты же понимаешь что между первым и вторым кодом пара месяцев интенсивного изучения фреймворков, которое как бы отдельный скилл, который лучше осваивать после синтаксиса, циклов и прочей базы? Ну а так - да, все велосипеды давно изобретены) Нажми на кнопку - получишь результат 😂
Чтобы не возникало проблем, надо действовать по классике: - вначале дать и объяснить алгоритм; - потом реализация в коде. И так действовать, пока в голове у обучаемого не уляжется четкая схема: модель - алгоритм - код. Таким образом снимается 90 процентов проблем в обучении программированию (и не только программированию, схема работает практически во всех областях технической деятельности). Да, это облегченный ВУЗовский способ обучения, но доказавший свою эффективность. Минимум хотя бы фундаментальных знаний никто не отменял. Что такое код для новичков? Это хороший код + комментарии. Если применяется фреймворк или библиотека, обязательно вначале следует объяснить, что делает так или иная часть такого внешнего модуля. Долго так? Вначале да. Но затем все выходит на космические скорости, достаточно дать сам готовый хороший код и концепцию, как он написан. Дальше обучаемый все поймет сам.
Я занимаюсь разработкой игр. 3D generalist. По сути я веду весь пайплайн в том числе и анимационный. Так же и приходиться работать с кодом хоть я и в нем плох. Но не об этом. В силу обстоятельств мне пришлось обучать людей и в этот момент я стал искать какие то курсы и вообще смотреть чему там учат у нас (Господи прости). В итоге наткнувшись на несколько курсов (платных и нет) от Skillbox, я понял что лучше смотреть видосики с ютубчика. _ _ P.S особенно забавно было от того что их спикеры какие то там seniorЫ ))
Первый раз вижу автора, однако отчего-то сразу возникает ощущение, что человек он честный и неглупый- а это восхитительный коктейль! Буду дальше знакомиться с контентом.)
Сразу скажу, что я человек, не работавший с Unity и в целом в геймдеве. Но хочу заметить, что там есть реализации методов Create() и Update(), т.е. это создание объекта и его обновление. Вопрос почему на начальном пути - говнокод? Когда это на таком начальном абстрактном уровне объясняется концепции, допустим, "цикл жизни объекта"? Это, конечно, здорово, что можно использовать изначально какие-то best practices Unity, но как это новичок сможет сразу понять? Вернее он сможет, но это же на n-слоев абстракции выше, чем тот вариант (где Вы считаете "говнокод"). И да, выносить по модулям, "в разные слои" - это уже должен понимать не новичок, который только внедряется во весь этот движ, а так скажем "продолжающий" по уровню, скиллу. ИМХО
В этом разборе задели не все. Решение правильное, но почему нужно делать именно так объяснили только с точки зрения "читаемости". Я выше писал какие еще могут быть проблемы, когда тупо пишешь "лишь бы работало".
Проблема в том что "цикл жизни объекта", должен быть в отдельном уроке. Я думаю не стоит в гайде на создание мувмента добавлять мимолётом информацию по анимации. Анимация должна объясняться в отдельном ролике а мувмент в отдельном. Если ты будешь в мувменте писать всё от пизды лишь бы работало и добавишь туда и звуки и анимацию и освещение кучей - то это не будет "уроком для новичков, который затрагивает такие аспекты разработки как.... "
@@Oleksandp я написал с точки зрения объяснения концепций на «нулевом» уровне слоя абстракции Unity (который он предоставляет, те же методы создания и обновления). Это неплохо, при разъяснении некоторых концепций работы Unity, как мне кажется. А дальше уже важно - показывать и что самое главное объяснять как писать масштабируемый, читаемый, поддерживаемый код.
Ну фреймворк это как я понимаю уже готовое решение, а как же его разбор 🤔 на сколько я понимаю если его использовать тогда и его нужно разобрать 🤷 верно?
Полагаю новичкам достаточно сложно понимать концепции ООП и само наследование они вряд-ли понимают, поэтому приводить в пример использование методов из Pickup считаю излишним. При обучении в первую очередь важно научиться писать сами алгоритмы, а уже потом использовать сахар языка и возможности фрейма. Использование приватных полей до их объяснения тоже считаю неуместным ибо это всё равно будет вводить новичка в заблужение даже с припиской "пока не думайте об этом". Да и разделение кода по смыслу хоть и правильно, но в рамках видеоурока, когда нельзя свободно листать файлы снижает наглядность. А в остальном да, согласен конечно
Хотелось бы увидеть твои уроки, а не бессмысленное нытьё по типо " код - говно". Хоть ты только что перевернул мое восприятие кода, но хотелось бы закрепить это, а так как кроме обсера уроков нет трудно научиться не делать говно. Надеюсь ты вспомнишь знаменитую русскую поговорку и начнешь делать уроки сам.
Привет, спасибо за ролик, видно что ты действительно стараешься просветить людей, но я выделил 3 пункта, которые хотелось бы обсудить: 1) ты пытаешь в ролике вроде как доказать, что SkillBox, Хауди и Гоша Дударь пишут плохой код, но пишешь плохой код ссылаясь не на их код, а на код какого-то другого, ранее не упомянутого в ролике курса, не хадишь это странным? Это кстати один из методов инфоциган "я доказываю вам что вот это плохо, потому что также плохо было вон там". Т.е. тут бы хотелось бы прям реального разбора кода скажем с курса скилбокса и чем он плох. 2) Не знаю за Скилбокс и Гошу, но у Хауди неплохие вводные ролики по типу "научу Пайтону за 1 час", я например после этого пошел изучать язык, понятно, что там всё дико на базовом уровне, и всё что он объяснил можно было бы просто прочитать, но мне кажется такого рода ролики наталкивают на мысль вообще задуматься, ведь если это так просто - почему бы и нет, да ещё и интересно. 3) хороший пример "упрощений" это питоновские return что-то там [::1] и прочие прикольные решения, это трудно для новичков сразу, да и лучше сначала научиться делать полные решения, потом сокращенные, просто чтобы понимать как это работает. 4) Твоё решение хорошее, но мне, как человеку на знакомому с таким "глубоким" кодингом в Юнити очень не понятно почему ты выбрал этот фреймворк и эти функции, должен ли новичок знать об их существовании заранее? А если их нет? Как он их напишет, если всегда использовал готовые решения? Кажется, всё же, знать основы - нужно. Но соглашусь, что плохой код =\= основы.
Я сам 1000 раз в этом убеждался. сам занимаюсь дизайном почти 17 лет. и трясёт от нынешних дизайнеров, которые купили фотоаппарат и всё они и фотографы и дизайнера. вообщем полностью с тобой согласен. и по этому поводу у меня есть очень крутая афоризма или назови ее как хочешь басня . Толстого™ (вроде-бы) 1) а ларчик, просто открывался! 2) ларчик просто открывался! в общем люди сами себе создают сложности. даже в таких мелочах ищут смыслы. а ведь если почитать без запятой то понятно что он просто открывается а не какимто специальным механихзмом! просто не значит правильно ! крутой ролик ! лайк
коротко в видео: Они ни чего не умеют , а я умею. Я молодец а они нет. У меня профессиональный код а у них нет. P.S . Да всем пох какой код, если все работает...Ни кто и не учится делать игры когда смотрят хауди хо и прочих, все смотрят процесс создания и как все устроено. А наа этом канале больше критике других ютуберов чем своего производства.. Прежде чем на других лезть, нужно показать что делаешь ты и чего добился! А когда добьёшься чего-то, то и на других не захочется смотреть, какие у них коды и что они делают. Может надо больше своих видео о программирование снимать? Все эти видео больше похожи на хайп на чужих именах . Это мое мнение и вас оно не должно волновать и оскорблять.
Ставь лайк если тоже как и я начал изучать Python по роликам Гоши Дударя и ХаудиХо, а в итоге устроился работать в крупную, известную российскую IT-компанию и дорос до уровня Senior))) Поэтому я не могу им не быть благодарен за то чему научился у них)
Я работаю на Unreal, но иногда захожу посмотреть твои видосы, просто для общего развития. Спасибо за годный контент. И у меня вопрос, это у unity-стов какая-то болезнь - тратить кучу времени на написание того, что уже есть? Просто я вообще не понимаю этого подхода. Почему бы тогда просто с нуля не написать свой собственный движок!? Читаю самые популярные комменты и и не могу понять.
5:04 Сакутин: почитайте комментарии, где меня называют токсиком, что зачем я до₽#ался... Тоже сакутин у себя в телеграмм канале: *короче ведет себя как токсик, в ситуациях там где к нему даже агрессивно не относятся*
Это прикольно, но ведь чтобы сделать как в видео показано - надо уметь работать с библиотеками различными, знать что в них содержится. Как это уместить в тридцати часовой интенсив при изучении всего с нуля, я не представляю
По мне два разных подхода просто. Один использует готовое решение другой подход без подключения библиотек. Библиотека понятно будет более отшлифована и функциональна, так как внутри не 4 строчки кода а несколько тысяч. Но зачем назвать самостоятельное решение говнокодом не понимаю, наверное просто не добросовестная конкуренция курсов, хотя они бесплатные🤷♂.
Чувак, заведи рабочий Google-аккаунт и не смотри на нём всё это. А то, что само лезть начнёт (а иногда ютуб подсовывает иные тематики) принципиально помечай кнопкой "не интересует". Постепенно получишь стерильный аккаунт ровно с тем контентом, который ты кушал. Лента формируется из твоих интересов, не забывай об этом, по-сути ты получил то, что ты кушал до этого. В Chrome существует удобный способ быстрого переключения между аккаунтами, просто нужно заморочиться
Если вы не верите, что такой код называют «специально упрощенным для новичков» то гляньте мой плейлист - ua-cam.com/play/PLOKAzMGgK9xvZD1ST_TPW_hN7ahEbK-HL.html
Не забывайте про мой канал в телеге - t.me/sakutin_csharp
файнд в апдейте ? серьезно, так никто не может писать
Наверное, уже мало осталось людей, которые верят в "код для новичков", однако конкретные сравнения плохо кода и хорошего, это интересная вещь.
На сколько хорошо пишет код на python Иван Викторович?
👍🏻👍👍🏾
Подскажи, что думаешь о Brackeys?
"У меня на 10 лет больше опыта по наебке людей" а потом "приходите на мой курс" Браво 👏
Не соврал ))
Гений постиронии
При всех прочих, чувствуется в нем какая-то "базовая токсичность", даже когда он норм вещи говорит. Иметь такого тима на долгий период так себе)
🤣🤣🤣
Ета другое
Надо еще для полной картины найти видос "Как нас обманывает Роман Сакутин"😅
"подожди секундочку"
Я искал, но не нашёл
Искал из-за того что хочу приобрести курс
надеюсь Роман сделает такое видео 😆
@Valeryia Tsitova Не все, как?
ИМХО.
Прежде, чем использовать готовые фреймворки - нужно научиться писать код без них. Потому что хороший разраб должен понимать, как оно работает под капотом.
А с подходом выращивания новичков на фреймворках/библиотеках мы получаем "профессионалов", которые "при шаге влево/вправо" начинают теряться.
Новичок, не написавший своё кладбище велосипедов, не вырастет в нормального разработчика.
И соглашусь, и нет. Как оно работает "под капотом", ИМХО, нужно изучать до того как, а не в процессе. А в частном случае, речь идет о конкретном движке и среде разработки. Мы как бы не на PDP-11 RSTS/E уже работаем. Тут главное вовремя приучить новичка не теряться, а начинать хоронить свои велосипеды на кладбище собственного фреймворка, который можно будет так же просто использовать и в будущих проектах.
@@flightforfunchannel если новичку изучать всё до практики - он испугается или забудет половину по дороге. Нормально как в универах чередовать теорию и практику.
верно, пришлось как-то чужую библиотеку переписывать 😂
Как хорошо звучит последняя фраза
Да еще бывает то что фреймворки не дают сделать все под себя и приходится свое заново писать , но фреймворки все рано нужны чем больше их знаешь быстрее делаешь
Одним из моих первых "видеоуроков" как раз был ХаудиХо и я прекрасно понимал, что за 1 час урока ничего не выучишь, но его видео послужило для меня мотивацией продолжить обучение и стать программистом у нормальных преподов
+
Стал?
А нормальные преподы это частные? можешь посоветовать?
Стал?
Вы сейчас работаете программистом? На удалёнке, на каком языке?
Если не секрет сколько зп в среднем, жильё снимаете в мск!?
На самом деле в поисках инфрмации, я у них её как минимум нашел и понял как это работает, спасибо им за это, Хауди за яркую подачу разнообразие контента Дударь за Лаконичность и удобность просмотра его уроков. Свою задачу на уровне показать как это работает они делают, твоя задача думать своей головой.
В интернете вообще можно найти любую информацию, в том числе "земля плоская", и последователей этой информации. Мы же на земле живём? Когда ты её прожевал, принять противоположную (условно) инфу уже не хочется, да и зачем. В реальности конечно всё решается вероятностью попасть на работу.
Гоша великий молодец, он вводит в мир программирования легко и увлекательно. Помогает создать внятную картину. Кто хочет углубиться, всегда найдет возможность, но каркас Гоша великолепно создает.
Ты просто охуеешь от количества реально ценной информации по кодингу если выучишь английский или хотя бы скачаешь Яндекс с переводом видер
Я отписался от хауди Хо, когда он меня в ВК на**й послал и забанило в их группе. Я вот спросил несколько лет назад: "А обещанное продолжение туториала по kiwy(фреймворк для Python) будет?". Не могу вспомнить точно что мне сказали, но мне было очень обидно.
@@stalker32041 ну если этот парень так поступил , то рользуйся его материалами как беспланой шкурой и знай что он черт, не обижайся, обыграй и сделай
Я конечно понимаю, что лучше и быстрее использовать готовые решения сделанные мудрыми людьми. Но допустим, если такой Вася начнет с такого подхода как ты показал. Есть фреймворк, там есть функция ходить и супер Вася счастливый он умеет имплетентировать ходьбу. Допустим Вася делает все в порядке, но потом оказывается что мудрые дяди не додумали функционал и оказывается нет функции бега. Вася не знает из чего состоит функция ходьбы, а без этого не знает как сделать бег. Вася читает документацию, гитхаб и единственное что нашел, это то что разрабы об этом знают и добавят в следующем апдейте через месяц. Вася теряет время, сам ничего сделать не может, физику толком не учил, программироавние у него началось с фреймворка, поэтому он не шарит в синтаксе, та и вообще он привык писать на фреймворке, там легче. Вот такая ситуация у нас бывает очень часто, люди мастера во фреймворки но когда дело доходит до перформанс проблемы или не тривиального решения, то тут же теряются. У меня у самого опыт около 5-6 лет. Я начинал с чистого языка, писал все с нуля. Да код сначала красивый не был, но я извиняюсь, рефактор это скилл простой, тем более IDE половину роботы решает. Поэтому не обзывайте друг друга уродами, потому что кто то написал так или иначе. Это процесс, результат приходит со временем
Спасибо за совпадающее мнение.
(Мой опыт, 2 мес )))
Учытель, с чего начинать, какого курса держаться ?
@@РоманВихрь-у2ч Русский язык
@@kolyan_69 какой ты умный 🤭
Вот то что я хотел написать, разве учить использовать чужие вещи это нормально?) Лучше рассказать как написать что-то на том, что есть из коробки движка, а там уже и понимание чужого кода пойдет
Го учить детей с 4 класса искать площадь фигур через интеграллы. Проще, понятнее и практичнее
Самый гениальный комментарий, что я увидел. Действительно описывает всю суть видео
+
с программированием не путай, основа это просто как стих выучить
@@jessypinkman8010 чо
@@jessypinkman8010 пускай задарчивают ванилу пока кровь из пальцев не пойдет. этот чел подключает дополнительный фреймворк, но как он объяснит новичку почему он выбрал именно его? хз , мб шарп стоит на месте(в чем я сомнваюсь), а когда будет новая мета в разработке что будут эти новички, которых не надресеровали мыслить самостоятельно будут делать?
я как около нулевой прогер скажу, что да, плохой вариант проще понять, потому что этот вариант задействует меньше теории. В Goodsolution надо понимать как работают всякие наследования, пространства имен и всякая другая муть, которую даже если объяснить новичку, он вроде понимает, но на практике не использует, потому что надо осознать еще принцип работы этих вещей. Есть такой эффект, когда ты уже много времени что-то изучаешь забываешь насколько было или может быть тяжело новичку в чем-либо. Хороший пример - это вождение. Водители уже через пару лет забывают какие они нубы были и когда смотрят на потуги начинающих, горят
Не все водители такие) я получил права ещё 7 лет назад, но до сих пор помню, как меня колошматило и каким затупком я был. Да и в целом считаю хорошей практикой запоминать отдельные моменты, каким ты был, какой ты есть.
Если учитель хороший и хочет действительно обьяснить, как плохой вариант на самом деле работает, ему придется детально рассказывать про то, что такое GameObject, Component и как расчитывается Distance. Правильный пример с Pickup менее нагружен концепциями специфицными для Unity и больше приближен к человеческому понятию процесса. Наследование есть в обоих примерах - плохой от MonoBehavior, хороший - от Pickup, так что хороший учитель должен рассказать о наследовании в любом случае. Плохой пример не проще, он только ленивый - от человека, которому было лень подумать, как это сделать грамотнее и писать меньше кода. Так может писать сам начинающий, не имеющий под рукой ничего кроме базовых описаний Unity API, а вот от учителя такой код - просто позор.
ну вообще понимать "такую муть" как наследования и пространство имен надо бы, чтобы вообще код адекватный писать.
Это как бы база. Имея базу адекватную хоть какюу-то основную все станет понятнее. Ну и если уж писать плохой код надо делать ремарки что так не делается если ты адекватный человек. А там люди наверное так пишут на курсах и типа как будто так и надо и так и преподают.
Пример с обучением и давностью это да. Есть такое.
Но как я сказала есть база, которую надо знать, странно гвоорить про базовые принципы как про какую-то муть. Некоторые новички ничего особо учить не хотят, даже основы на которых много что построено вообще, но хотят уметь. И потом тоже будут оправдывать говнокод возможно тем что так проще понимать.
Хотя на самом деле, если преподаватель на вебинаре пишет хороший код короткий и комментирует, что там делается хоть немного под капотом, то все там понятно будет.
А знаю базу и без комментов понятно будет как оно работает. Реально просто взят и доки почитать. Но чтоб их почитать надо еще понимать основные вещи. Но с норм преподами хорошо объясняющими это не проблема - писать и правильно и чтоб понятно было чо там происходит
"Они все говно, а мы нет, берите наш курс"🤦🤣 такой же инфоцыган🤣
Так он же сказал, что у него опыта нае*ывания людей больше на 10 лет
Насколько я знаю хауди не имеет своего курса(про других говорить не ручаюсь, не смотрю), так что он просто инфоцыган)
@@MrCrab42 У него развлекательные ролики по большей части
@@mit7871 типо ДК?
@@MrCrab42 он самый популярный рускоязычный программист он получает много
Да точно, Гоша Дударь, я по его урокам Python выучил причём бесплатно, очень грамотный человек
Невозможно выучить язык
@@sureyou1139 Ладно.
знать как массив создать это не выучить язык
@@ендергрузин Истина гласит,что программированию человек будет учится всю жизнь,потому что прогресс не стоит на месте
ахахаха, клоуном ты стал не более 🤡🤡
В твоем подходе все круто. Только одна проблема, новичек не понимает как работает фреймворк и почему твое решение вообще работает. Потому, что в глазах новичка ты просто вызвал магические методы и все стало круто. В первом решении, через говнокод описан сам алгоритм работы, что нужно проверить дестанцию, потом здоровье и т.д. В твоем случае это все делает фреймворк.
Полностью согласен. В 1ом варианте описывается весь алгоритм работы . Во 2ом три строчки магии и все работает, но хрен его знает откуда это взялось
новичек может открыть фреймворк и почитать какие методы там используются... что принимают и что возвращают
@@lmmunne причем тут методы? Если не понятен сам алгоритм. Окей он зайдет увидит, что возвращается какой то объект, который берется из другой функции в итоге т.к у него минимум знании ооп и алгоритмов. Он ничего не поймет.
@@Diqeeeeeeeeeei ты понимаешь как работает двигатель внутреннего сгорания? Нет, но это не мешает тебе водить автомобиль
Ну возможно можно почитать в интернете о фреймворках что это из себя представляет, особенно на английском должно быть больше подробной информации.
Ну а в случае если в инете толковой инфы на это нет, тогда да.
Вообще чё он тут объяснять будет... Весь его канал это самореклама и самоутверждение на дударях всяких
Я представляю что было бы у меня в голове, если бы меня не научили питону и дали бы сразу джанго. Я бы не понял ни одного урока.
Немного расскажу свой опыт. Закончил небольшой бесплатный курс по питону на стэпике. Закончилось всё на функциях, до ООП даже не дошло. И вот я начал учить фреймворк джанго "я же уже знаю базовый питон" (нет). После первых двух уроков в голове каша, вообще не понятно что к чему лепится, как всё работает. И самое главное - повторить то что показали я может и смогу, но вот что-то своё сделать - шаг влево, шаг вправо и всё - болото. Короче это похоже как будто тебе сказали "вот самолёт в нём есть штурвал, педальки там всякие (они подписаны сам разберёшься) а все эти маленькие приборчики и дисплейчики тебе не нужны, это вообще лишняя информация.
А вообще тем кто верит в то что базовый код не нужен, только фреймворки - вперёд. Чем больше вас таких будет, тем дороже будет оцениваться моя работа.
Видос кликбейт.
Согласен. Люди пытаются какую-то хрень придумать, лишь бы обосрать других и сказать что я мол крутой и у меня правильнее. А то что у автора канала весь код на фреймворках построен, он молчит.
Какая твоя работа?) и кем она будет оцениваться...
@@black_grizzly не шариш,молчи
@@zeon_X с тобой разговора не было, молчи сам, серожа.
чел харош,рил работа будет дороже
Возможно, для новичков, которые еще слабо ориентируются в ООП, но которым нужно четко закрепить в голове перевод устного описания в алгоритм, такая реализация действительно лучше: тут наглядное показывают, как из слов «убить босса при приближении к кнопке» можно сделать алгоритм из максимально простых вещей, без знаний об уровнях абстракций и слоях логики
Плохой пример не менее свободен от абстракций - есть и GameObject, и Component, и MonoBehavior, о которых начинающему так же мало понятия, как о Pickup. Но вариант с Pickup более приближен к человеческой логике, он не такой технический, поэтому ментально проще воспринимается. Просто тут немного ловушка - вариант, где больше кода как бы больше раскрывает то, что происходит под капотом фреймворка, поэтому появляется ложное чувство, что ты больше узнал и больше умеешь, но вот как раз в этом моменте такое чувство опасно, так как ты просто теперь знаешь, как это делать неправильно и потом тебе придется тратить время, чтобы отучить себя от такого варианта решения. Цель - не больше кода и не нагрузить себя больше терминами Unity, а научиться использовать Unity эффективно для достижения цели - программы, которая делает то, что тебе нужно.
такое себе
тот кто плохо в этом разбирается не должен значит бежать учить юнити. ЛИБО, преподы должны говорить что это плохо код и так не делается, а делается все правильно благодаря ООП, его для этого и придумали как бы, писать понятнее и правильнее с точки зрения как потом это все поддерживать и понимать и расширять. Написал криво - расскажи что это криво и почему. И нечего тут оправдывать на самом деле)
А написать хороший код с комментариями препода что и как работает в этом хорошем коде (в этом смысл школы, не?) это гораздо лучше, чем просто писать говно и оправдываться. Ведь можно написать нормально и просто расписать что там было сделано подробно.
А можно написать не очень нормально и сделать ремарку, что мы щс так пишем но это не очень нормально, но я хочу чтоб вы увидели вот это и вот это. Это тоже будет нормальным.
А Абстракции тут все равно есть малоизвестные человеку, который ничего не знает в базовых вещах но почему-то хочет писать. Чо-т мало хотят учить что-то правильно и понимать, а хотят зато прийти с нуля и типа покажите нам без базовых концепций, которых у нас в голове нет, как это все работает, и мы станем сразу клевыми разработчиками, но если перед основным курсам вы проверяете базовые знания или просто начинаете обучение с базы а не сразу к делу, то нееее извините это воооода это многооо.
В начале видео нужно было добавить "Данное видео было сделано исключительно с целью рекламы".
Спасибо комментам. Почитал пару строк и не стал терять время на видео. Ненавижу продажных людей-обманщиков.
+ нажал кнопку "не рекомендовать канал". теперь этот блоххер вылетит еще и с моей ленты. бизнесмен блин..
Когда ты начал показывать плохой код, я сразу вспомнил себя. Опыта у меня очень мало и я многие моменты решаю используя язык, выдумывая странные костыли, не используя удобную библиотеку, которая может решить мою проблему в пару строк. Выходит очень красивый код, когда знаешь такие подходящие методы.
Для тех, кто не понял:
В проект был внедрен готовый фреймворк для шутеров от первого лица.
Pickup - готовый класс для объектов, которые можно подобрать
Health - тоже готовый класс, для здоровья
В этих классах есть свои собственные методы, например .kill() у класса Health, по-видимому, обнуляет хп
Что внутри этих классов, тут хз.
Вообще Роман довольно утрирует и высмеивает просто нехорошие уроки.
Идея проста: не изобретайте велосипеды. Если под ваши нужды уже есть фреймворк - пользуйтесь им.
Даже не используя Pickup и Health подход ужасен. Это сравнимо с жестко прописанным path в программе, вместо выбора файла.
@@Oleksandp по логике можно и алгоритмы учить не стоит, уже есть готовые решения, так нахуя мучить жопу и решать алгоритмы
@@Oleksandp
++
Даже не используя фреймворк, можно было хотя бы прописать OnTriggerEnter для проверки вхождения в объект, а далее прописать kill в сущность противника и на него ссылаться. Но проверять в Update - это определённо ужасно
А где можно найти список всех этих официальных фреймворков от юнити
А как этот фреймворк искать? Получается новичку вместо того чтобы изучать как сделать функционал нужно идти искать в ассет сторе нужный фреймворк? Так ему еще и разобраться придется как им пользоваться, но если он новичок то хрен он там разберется...
Мне кажется, новичок примет и сможет повторить за Романом, но он не будет понимать, что под всеми готовыми методами лежит. Как работает kill? Просто обнуляет здоровье? А что дальше? Видимо у врага есть метод, который обрабатывает событие "у меня 0 жизней". Каким образом срабатывают эффекты и на каком этапе новичок выбирает, какие эффекты должны сработать? А где пишется расстояние, на котором происходит подбор этого предмета? Это может понять новичок, который уже знаком с c# (и то, некоторые нюансы надо разъяснить). А полный ноль ничего из этого не поймет, выглядит как магия. И эти курсы рассчитаны на полных нулей, для которых понятие переменной ещё даже не знакомо. А то, что люди ожидают слишком много и что реклама обещает это самое много - другая проблема.
Вообще события в юнити это отстой. Я может чтото не так делал но у меня они всегда долго обрабатывались(около секунды) поэтому появлялись фризы. Я долго мучился в итоге забил на это
Ещё один тру хардкорщик-лицемер.
Он новичок, или сеньор? Зачем ему знать, как работает эта функция на базовом уровне, если ему просто нужно решить задачу? Легко говорить это с позиции человека, имеющего ресурсы на изучение. А когда тебе нужно абы как на работу попасть, чтобы выжить, тут как бы не до зубрения основ. Это уже с опытом придёт.
в этом и проблема, что ожидают много
Хотят что-то ПИСАТЬ не зная что такое переменная и так далее. Ну если уж писать код то писать его, зная что-то.
А сликшом глубоко копать тоже не надо. В говнокоде в примере тоже далеко не все известно, а как а что. Килл значит килл. Какая разница как оно обрабатывает. Важнее понимать реально наследование, что можно применить, какие методы переиспользовать и все такое.
В курсах проблема как раз что да, они обещают хер пойми чо а учат так, как никто нормальный не делает.
К бесплатным так не придерешься, они деньги не дерут. Но тоже обещают написать нормально и как что-то сделать, но забывают доавить "как это сделать кое-как лишь бы костыляло". А такие ремарки важны. Ладно написать не очень, но главное это ведь сказать что это не очень, что это только начало. ПОтом объяснить что такое рефакторинг и все такое. А если этого нет, то они реально говно продают) (я не просто не знаю есть в курсах на которые он ссылается это или нет).
Но там кто-то выше писал что говнокод понять проще, потому что надо понимать наследование и все такое. А я охеренла с того, что почему люди лезут программировать, именно программировать, а не с окнами поиграться и нодами или чем там, если даже не хотят базу выучить типа ооп, ну типа ну что-то базовое должно быть. Если уж ты писать хочешь. Базовые принцип. Они не такие сложные. Даже если на общие эти принципы уйдет неделя (и то это много чтоб понять ООП на уровне понимания что это и почему и что такое объекты, классы, наследование и импорты или неймспейсы) И по хорошему в курсах сначала какой-то ликбез на такие темы проводить должны, а потом уже писать код и писать правильно и с комментариями. Чтоб понятнее было. А не просто говно лепить и объяснять это тем что залететь хочет кто попало кто ничего изначально знать не хочет чтоб понять как работает более правильно написанный код. Хотя какие-то вещи допройти чтоб понять пример в видео это вообще недолго. И это к тому же прекрасно отразится на дальнейших изысканиях. Доки легче читать. Понятнее. Самому что-то искать а не только смотреть как кто-то сделал и под копирку слизывая потому что в доках ничего непонятно совсем. И тд. Необязательно копаться в глубинах. Их нужно не больше на таком этапе чтобы просто понять вот эти концепции какие-то главнейшие по которым пишут код в данном примере (здесь ооп) и уметь их как-то хоть использовать.
А общеать такие курсы тем кто не знает даже что-то такое переменная это ваще) и не иметь в курсе доп модулей чтоб человек подтянулся до нужного уровня понимания (что было бы правильным подходом) а вместо этого писать говно с отмазами чтоб вот такие вот понимали)
Почему из-за школы и таких вот которые влетают просто с нуля с ноги сразу куда-то в облака в движок писать (писать, Карл, руками) код должны страдать другие люди, которые хотят научиться писать нормально и понимают базовые вещи, на основе и базе которых и решили уже хорошо освоить движок, например =)
Для понимания логической цепочки у себя в голове "неправильный" Код действительно проще. Ибо во втором коде произошла магия и возникло еще больше вопросов, я как новичок могу повторить, но я не понимаю что там происходит и почему:(
И тот и другой код говно. Как человек, «у которого на 10 лет больше опыта» уверенно заявляю.
*пошел в своем коде убирать неиспользуемые импорты - буду настоящим профи!
@@spetz911 Интересно тогда узнать, как бы вы реализовали такую задачу, показанную в видео?
Это уже больше проблема объясняющего, нормальный преподаватель должен объяснять что это такое и как мы к этому пришли, и проблема эта довольно распространена, в школе к примеру обычно учителя дают условную формулу или правило, а что это и как это работает не объясняют
@@-sn4k3-94 , слился ахаха
@@Maxus-gt5vw я то? 🤨
Роман, без негатива. Вот ты всех раскусил, грамотно проанализировал - браво.
Ну а какие альтернативы предлагаешь ты ? Сделай курс по Python или Rust, с радостью почерпнем со зрителями, для себя что-то новое. Если уже такой имеется - линканите, очень интересно ознакомиться.
Яндекс Практикум.
Боюсь Rust такой человек не вывезет, особенно с учётом того, насколько у этого языка предвзятое коммьюнити (отношусь к ним, однако не занимаюсь обсером кода), его слова ему же в пердь затолкают не дадут высрать.
@@hellohi763,ну лучшеиДударь за бесплатно, чем практикум за 150к
Ну вы не понимаете всю соль
Этот человек профессионально разбирается в шарпе и юнити, скорее всего он может строить системы промышленного масштаба(смотря на код, но так же не могу сказать пока не увижу эту систему)
У него есть своя студия по разработке игр
И всеми этими действиями он МОЖЕТ гарантировать человеку который пришел что курс который он продает не фуфло. В случае чего он лично может посмотреть что какой то ментор написал хуйню и уволить его
С растом же он не знаком. Он может нанять ребят и они напишут ему курс, но где гарантия что курс будет хорош? Раст это другая сфера, нежели юнити, и даже разработка энтерпрайза на дотнете
И в теории я согласен что принципы типа dry, kiss, solid они везде хороши, однако сами языки имеют отличия в реализации. Допустим в дотнете поощраются орм, а в го нет
И вот получается что он должен променять свою совесть ради курса по раст? Ну уж нет
Хаха! И там будет такой же говно код 😂
момент из жизни, когда я поступил у меня был выбор куда идти по учебе, по курсу безопасника или по програмированию на многих языках, я выбрал второе , и мне очень повезло что подселили к чуваку который заканчивал магистратуру по этому же, и уже он работал в реальной студии, и вот он мне книгу кинул с названием чистый код вроде, и сказал пока не поймёшь её лучше не начинай учить програмирование,, она не большая но ты поймёшь что такое код
Никогда бы не подумал что общество программистов когда-нибудь опустится до того, чтобы выезжать на чужих именах.
Я искал тебя и твой комментарий. Так хотелось увидеть , что хоть кто то как ты)
Автор канала просто забайтил в названии видео именами и сам ерунду делает. Главное других обосрать
Я с вами
@@privetpoka9430 пруфы?
этож ссакутин))
@@ВитВечный дак всё просто. Обосрать проще, чем дать конкретную критику. И обосрать что-то известное может придать ему популярности. В общем такие дела
Роман, вы сделали часть работы этого курса, можно написать такой "код для новичков", где явно показано, что делается без подключаемых библиотек; а затем его преобразовать в код из 4 строк! Это тогда для новичков было бы понятнее, а еще показать, что в библиотеке, которую вы подключили, такой же код или подобный.
Жесть, а ты тоже начинал учить Юнити с того, что ты училcя пользоваться фреймворками? Я вот к примеру учился писать без них, так что, если не найдётся нужного фреймворка, я смогу написать рабочий код. Так что спасибо Хауди и спасибо Maxter.
Мой девиз в жизни такой:
Торопитесь
Активно
Учится
Хорошим
Искренним
Делам.
Запомните эту аббревиатуру. И пусть этот девиз сопровождает вас везде.
Если эта задача требует отдельный, как ты говоришь фреймворк, хотя правильно библиотека, то, скорее всего, ты ее за пару дней не напишешь, а если она нужна многим, то решение будет. Это тоже часть работы, понять, где надо писать самому, а где берется готовое и ОТЛАЖЕННОЕ.
@@attrakcion * учиться
Я программист уже три года. Уровень middle+. Но в отдельных не очень опытных командах могу квалифицироваться как senior.
Так вот, я начинал с видосов Гоши Дударя. Он молодец.
Он показывает по верхам, да. Но именно это нужно, чтоб начать и не испугаться. Чтоб решить для себя "да я так же могу" - и понестись вперёд.
Потом уже можно пойти на нормальный курс по выбранному языку и выучиться получше. А потом вечно сам по ходу процесса будешь самосовершенствоваться.
В принципе так и делаю. День на просмотр курсов от Гоши, два дня на какие-нибудь другие. Короче, стараюсь охватить всю доступную информации, с условием, что они за free. Так пока не нашёл "идеальных курсов", где всё правильно и понятно, обычно в каких-то аспекта одни лучше, в других аспектах уже другие лучше, но в среднем этого хватает, чтобы понять азы/основы. В любом случае, у каждого своей путь к совершенству, но пока лучший из них это постоянная практика и старых советские учебники(шутка)
" уже три года. Уровень middle+ в отдельных не очень опытных командах могу квалифицироваться как senior."
если я буду сидеть с бабушками на скомейки у меня будет уровень бог.
джун мидл синиор тимлид техлид не годами определяются а навыками
джун - умеет делать то что надо под присмотром
миддл - умеет делать то что надо сам
синиор - умеет делать КАК надо
при этом "что надо и как надо" бизнесу для увеличения его доходов.
техлид - обладает экспертизой в конкретной области
тимлид - чел который 80% времени занимается комуникациями
Здравствуйте, а какой язык програмирования учили? И что вы делали после Гоши Дударя?
Щас недавно закончил плейлст по джава, думаю, что дальше делать
@@alexbmwfan405 найти более серьёзный курс по этому же языку. Например, на Stepik. Или на пиратских сайтах ;-)
И вот уже после этого, пройдя 2 курса по базе, можно ещё найти курс "глубокого погружения в язык", если есть время.
Всё тот же твой язык, но более хитрые и про-фишки. Дадут преимущество на собесах.
Затем открываешь HeadHunter и можешь походить по собесам. Может, повезёт и стажёром уже возьмут. Иди на ЛЮБУЮ з-п ради опыта!
Но скорее всего ты офигеешь от того, что просто язык знать недостаточно,
узнаёшь, что же требуется знать ВМЕСТЕ с твоим языком. Например, SQL. По SQL нужно тоже курс пройти.
У Shultas Education, например, неплохой курс по SQL был. Или на том же STEPIK сейчас бесплатный есть с оценкой 4.9.
И в конце концов - смотришь, какой ФРЕЙМВОРК на твоём языке самый требуемый (на Java - Spring, наверно или что там сейчас?), лидер по числу вакансий. И находишь курс по этому фреймворку.
Вот тут точно уже пробуешь проходить собесы. Если прошёл - супер. Если нет, спрашивай, что не так и что подучить. Если на нескольких собесах сказали одно и то же - бери ЕЩЁ КУРС по указанному направлению...
Итого 4-6 курсов ПОСЛЕ Гоши Дударя - норма. Их все можно найти бесплатно.
@@alexbmwfan405 1) найти более серьёзный курс по этому же языку. Бесплатный. Например, сам знаешь, где 😉
И вот уже после этого, пройдя 2 курса по базе, можно ещё найти курс "глубокого погружения в язык", если есть время.
Всё тот же твой язык, но более хитрые и про-фишки. Дадут преимущество на собесах.
2) Затем открываешь HeadHunter и можешь походить по собесам. Может, повезёт и стажёром уже возьмут. Иди на ЛЮБУЮ з-п ради опыта!
Но скорее всего ты офигеешь от того, что просто язык знать недостаточно,
узнаёшь, что же требуется знать ВМЕСТЕ с твоим языком.
Например, SQL. По SQL нужно тоже курс пройти.
И в конце концов - смотришь, какой ФРЕЙМВОРК на твоём языке самый требуемый (на Java - Spring, наверно или что там сейчас?), лидер по числу вакансий. И находишь курс по этому фреймворку.
3) Вот тут точно уже пробуешь проходить собесы. Если прошёл - супер. Если нет, спрашивай, что не так и что подучить. Если на нескольких собесах сказали одно и то же - бери ЕЩЁ КУРС по указанному направлению...
Итого 4-6 курсов ПОСЛЕ Гоши Дударя - норма. Их все можно найти бесплатно.
Сейчас научу вас делать игры:
1. Подключаете кучу библиотек
2. Пишите left, right. Ой, а jump в библиотеке нет.
Рома, думаю ты в какой то степени прав. Однако насчет использования фрейморков - не кажется ли тебе, что правильнее обучить новичков сначала работать без фреймворков, а только потом показывать им как работает то или иное дополнение?
Я конечно не Роман Сакутин, но хотел бы высказать свое мнение по этому поводу.
Я считаю, что для новичка проще всего будет освоиться в высокоуровневом интерфейсе, где тебе достаточно вызвать одну функцию, удовлетворяющую той задаче, которую ты решаешь, нежели самому реализовывать всю нить вызовов, лежащих под капотом.
В общем, скилл новичка пропорционален глубине знаний, которыми он обладает. Сначала лучше научиться пользоваться фреймворками, а со временем было бы неплохо узнать, как они устроены внутри.
@@michael.manasian И это ставит тебя на колени перед этим фреймворком. В следующий раз ты соберёшься делать не шутан, а платформер, а метода Pickup у тебя и нет. И всё - ты в ступоре.
@@freeExec не находите взаимосвязи. В следующий раз, когда я, как новичок, возьмусь за задачу сложнее, я пойду копать глубже - это называется постепенное развитие.
Сначала детей в школе нужно учить писать пером, потом перьевой ручкой, а потом уже шариковой. Они же новички. Надеюсь, аналогия ясна)
@@michael.manasian Прикинь, появился новый фреймворк и тот на который ты надрачивал целый год стал ненужен. А ты не можешь понять другой, потому что ты просто зубрил названия функций и понятия не имеешь как они работают. Придётся заново платить гипотетическому Роману Сакутину, чтобы он объяснил тебе как работает новый фреймворк. Кроме того, если у тебя появится ошибка в коде, крайне трудно будет её обнаружить, если не знаешь как устроен фреймворк Про постепенное развитие (о чём ты написал ниже) здесь вообще речи не идёт. Это просто скачка по верхушкам. Постепенное развитие - переход от простого к сложному с многократным повторением пройденного.
Как новичок, который ни разу не программировал на C# и не трогал Unity, официально заявляю, хороший код, намного понятнее и приятнее.
Ага. Я вообще джаваскриптер обосцаный. Но поняла только тот код, который написал господин в видео. А какие нахрен отсчитывания расстояния до противника. Я вообще не понимаю зачем это
@@the_eye8574 зайди в любую мморпг, поймешь зачем
@@the_eye8574 Я конечно больше back, а не front, но данный метод похож на подгрузку элементов при скролле, только при подгрузке проверяется не расстояние, а позиция.
@@ДенисОни-з5ж аа понятно
Дак он на методы всю логику раскидал, а какой код в этих методах не показал, может там тоже самое)))
Посмотрел видос, сложилось впечатление что инфоцыган тут ты. Ну и не стоит всех по себе судить, от того что ты не знал 10 лет назад и скрывал это не значит что преподаватели курсов не могут в ооп
Согласен, один главный цыган это он
бгг. моя галера имеет учебный центр и у нас уже давно ходит байка о том, как преподаватель УЦ не прошел собес на наш же проект по тому, что он преподает. ну как байка, это правда, я знаю этого человека :) и это не потому что он плохой преподаватель, а потому что преподавание и коммерческая практика очень отличаются. соответственно и код, который он выдавал, не устроил интервьюера, хотя для обучения наверно неплохо подходил. ну и задачи, нужные для коммерса преподаватель решал неоптимальным образом.
Я вообще не знаю зачем это смотрю, вообще не программист. Коммент в поддержку канала.
«Дорогой» Роман, говорю лично за ХаудиХо.
Нечего тут из се я клоуна строить, смотритесь очень глупо.
Благодарю ХаудиХо множества людей научились программированию, как и лично я.
Он объясняет очень грамотно и доходчиво, благодарю чему слушателю становится приятно и понятно от того, как человек объясни тему.
И лично я начал знакомство с программированием благодаря ХаудиХо, а Ваши стереотипы можете оставить себе.
Я всё ещё новичок и например про телеграм ботов хауди хо объяснил так себе я бы сказал на отъ*бись я кончено сделал бота но не понимал что и как работает пришлось ещё очень много гуглить и смотреть другие уроки на ютубе
Апхапхапхах, и каким образом, вы "научились" там? И ещё и говорите за множество людей...Просто смех. Я не хейтер ХаудиХо, и сам частенько люблю глянуть его видео, но, если по-вашему - это стереотипы, клоунада или т.п. то, я вам сочувствую, ибо вам человек полностью по полкам всё разложил, а вы говорите что он - клоун) Тем самым вы лишь только показываете, то, какая аудитория у ХаудиХо. И если не секрет, то чему же именно, вы научились у ХаудиХо, как и "множество людей" ? Я не спорю про то, что многие знакомятся с программированием благодаря ему и всё же.
SimpleCode. Вот кто реально учит, но там на те же самые плюсы 200 видео, чего для начала хватит
И хорошо ли вы научились за час программировать? :) покажите ваш гитхаб и SO пожалуйста.
@@lowfolen9827 они научились повторять )
Да блин ХаудиХо, это как шоу, которое неокрепшему уму может дать старт в программировании. Зря вы так, такие каналы очень важны.
@@woxxxi тоже самое. Благодарен ему за подачу информации
Та забей просто очередной челик превликает аудиторию за счет громких имен...
@@woxxxi и что ты конкретно умеешь?
@@imspecnazovec как минимум теперь он умеет писать код телеграмм бота на библиотеке python weather
Даааа, именно он дал мне интерес к изучению того же Python, да и впринцепе программирования
Второй пример хоть и лучше, но заставляет новичка трогать фреймворк и знать о слоях приложения, хотя на раннем этапе цель - потрогать базовые вещи. Новичкам полезно писать свои велосипеды из говна и палок.
В обучающих курсах было бы супер, если бы наставники писали говнокод и рефакторили его.
Мой девиз в жизни такой:
Торопитесь
Активно
Учится
Хорошим
Искренним
Делам.
Запомните эту аббревиатуру. И пусть этот девиз сопровождает вас везде.
Не то, чтобы в защиту обучающих школ, но поделюсь, как было у меня.
Я обучаюсь в одной из онлайншкол (обучение рассчитано на 1.5 года), там структура обучения немного отличается от скиллбокса. У нас 50% группы (около 50 человек было) отсеялось на этапе прохождения основ C#, где Юнити мы вообще не запускали, все думали ща быстро Ведьмака напишем, а на самом деле писали консоль. Далее применяли полученные знания в Unity, не заморачиваясь с апдейтами и тд, просто чтобы посмотреть, как движок поженить с кодом (но даже тогда нам уже говорили не надо мышко-кодинга аля ивенты на кнопки из интерфейса Юнити навешивать), отсеялось еще сколько-то человек. Где-то на 4м месяце обучения у нас началось MVC, ООП, для тех кто "дожил", а это было человек 12. И тогда преподаватель сказал, забывайте все на йух, что вы делали до этого, и погнали всё делать правильно. Было сложно.
Сейчас идет 11 календарный месяц обучения, от нашего первоначального состава осталось 3 человека плюс народ, который ставил на паузу и тд, итого в группе 7-8 человек.
Если бы мне сразу выдали МВЦ, чистый код, паттерны, СО, и вот это вот всё, ну хз стал бы я продолжать.
Единственный минус для меня - это нет законченного проекта, все проекты делались под курс, а так как это вебинарный формат с расписанием занятий, то всё делаешь быстро, а осознание приходит уже позже. Отсюда следующая проблема, - как собрать в кучу знания и применить к единому проекту.
Ого
Подскажите, если не секрет, в какой онлайн школе обучаетесь? Ищу сейчас подходящие для себя варианты, сравниваю и прорабатываю этот вопрос. Вы бы мне очень помогли.
Очень интересный опыт. Думаю тебе стоит книжечки почитать, чтобы все повторить и лучше понять
когда учился веб разработке из 30 закончили пятеро
@@evgenfenix4422 учусь в GB. НО, я не знал, про Напильник, когда шел учиться. Могу сказать одно, что код ревью очень важен в учебе, накидать скриптов, чтобы двигались пиксели - это не самое сложное. А вот качественный фидбэк, еще поискать надо. Думаю надо ориентироваться на обратную связь с учениками, либо задуматься о том, чтобы купить обучение у какого-то разработчика, но его тоже поискать надо. А так в принципе, как базовые знания о профессии, любая школа примерно по одним шаблонам учит. В ГБ живые вебинары, так что вопросы можно задавать прямо по ходу лекции. Судя по видео, в скиллбоксе такого нет. В Напильнике еще и домашку возвращают, пока не сделаешь, как правильно, это действительно круто (не в коем случае не прогиб).
Вместо тысячи слов и десятков строк, всего несколько десятков слов и пара строк кода
это божественно
😍
Грамотный ученик всегда превзойдёт преподавателя и не потому, что преподаватель передал секреты высочайшего уровня, а потому-что преподаватель дал первый пинок в жизнь!
Заинтересовал этим! Дал азы.
Вот что главное от преподавателей. Заинтересовать наукой!
Штош, поехали:
1) что за pickup? Серьезно, без сарказма. Прям очень сильно не хватает пояснения
2) что за enemy.Kill()? Тоже без сарказма. Там наверняка 2 строчки, но прям катастрофически не хватает каких-то базовых пояснений, что вообще творится
При этом я не говорю, что написано плохо - просто вообще не укладывается в голове, почему это работает
Тоже возникли эти вопросы, но в этом и прелесть этого видео: ты увидел какой-то новый класс и значит можно поискать о нём информацию. А при "плохом" коде ты ничего нового по сути не узнал (если ты совсем не "ноль").
Pickup - подбирает кнопку убийства босса. enemy.Kill() - убить противника. Англ учи?)
@@ДмитрийДибров-й9б но... Но... Я получил работающий код, который не понимаю, почему работает... Прям сильно не хватает пояснения, почему это работает
@@darthkroxis черт, логично!))
@@victorpolyakov3031 никогда не оставляй код без понимания. Я тоже новичек. И взяла за принцип не использовать костыли и понимать всё что я пишу
Смотрю Романа, но я программист в веб-разработке) Спасибо за объяснения, Роман! =)
Я тоже на юнити не пишу, но я эти ошибки нашёл тк я работаю в уе4, а он похож на юнити
Новичок, если напишет этот код - у него ни..я не заработает) так как у него даже класса Picked не будет и он будет биться головой в монитор "почему у автора всё работает, а у меня нет")) мне кажется найдутся те, кто сейчас повторит твой код из видео и будет спрашивать почему ошибка
Я слабый в программировании и знаю о нем мало, но достаточно чтобы сразу понять что без использования стандартных процедур и функций, библиотек обучать нет смысла. If, then, else на Паскале и Бейсике в школе каждый писал, а значит мы аттестованные программисты😂
как же в свои 37 жалею, что забивал на этот долбаный паскаль в 8-9 классе на информатике :(.... так хочется вернуться и серьёзно им заняться..... 3 года назад увидел js и до боли знакомые if else, и сразу мысли (так это же в 8 классе в pascal юзали, я ещё носом крутил, мол "щас с++ модно, а мы на паскале сидим дрочим")...
Все плохие, я хороший! Тут небольшая ошибка, скажу без ложной скромности, - я ещё лучше.
Зашибись, вместо понимания как работает код будем юзать фреймворк. Нах программирование учить, сразу учим фреймворки и идем работать. Очень хороший подход, ага...
Ну а что ты ожидал? Наверное по причине того, что его курсы мягко говоря не ахти (в Рунете пишут). Он решил отыграться на незначительных личностях, лучший метод защиты - это атаковать всех подряд и надеятся что кто-то купить твой "уникальный курс". Я лично видя таких личностей, думаю: лучше пусть меня обучат гавнокоду чем я буду работать с токсиком, который будет говорить - твой код гавно, вот мой он в 20 раз лучше
@@mercifulhero1130 честно говоря чел оставляет впечатление типичного гопаря из подворотни и инфоцыгана. Его сайт и манера речи прямо кричат об этом.
@@placid3495 Эм а где его сайт? (не хейт , я начинающий верстальщик хочется посмотреть на работу "мастера")
@@animefanat9746 ссылка в описании, как обычно) сайт-то может нормально свёрстан, ничего такого ты там не увидишь. Да и верстку легко заказать. Я имел в виду манеру подачи информации.
А фреймворк это не часть программирования?
В данном случае г-кодом названо где весь код в одном скрипте и название переменных абы какие, а хороший код это соответственно противоположность - название переменных единообразны и код разнесен по смысловым структурированным обычно также имеющим единообразные смысловые названия методам находящимся в подходящих скриптах. Имхо новичок еще не имеет в голове структурированных знаний, обобщений для названий переменных и подходящих названий методов. Он еще не знает всех возможностей игрового движка. У него еще нет понятия что предмет может быть интерактивным и хорошо бы создать свой скрипт и записать туда метод отвечающий за взаимодействие с предметом. Новичок когда видит хороший код, он не понимает что скрыто за методами, которые написаны в хорошем коде в несколько строк, но при этом функционал методов раскидан по другим скриптам, которые нужно открыть чтобы понять что за функционал там сокрыт. Чем больше отсылок на другие, незнакомые скрипты - тем больше запутываешься (это в случае пока еще нет общей структуры построения кода и названия методов и что за функционал обычно в них записан). При этом в г-коде все на одной странице и видя все перед глазами мозгу легче запомнить информацию. Настоящее обучение - это работа мозгами через работу руками., от малого к большему. В начале воплощения идеи проектируется код так как позволяет программисту его уровень, навыки, знания. главное чтобы функционал выполнял то что тебе нужно. Замечу если ты не новичок, то и код изначально будет с осмысленными названиями переменных и методов или даже сторонние скрипты о которых знаешь могут быть использованы. Потом уже было бы неплохо сделать рефакторинг кода, сделать для повторяющегося кода (повторяющийся функционал) свои методы и ссылаться на них, сократить количество кода, обозвать более читабельно переменные, сделать код красивее и нет предела совершенству. Имхо всем полезно посмотреть как на г-код так и на хороший код (не приемлемо когда г-кодер говорит что писать нужно только так, а хороший кодер говорит что писать нужно только этак) так как каждый сделает для себя выводы сравнивая подходы к написанию кода. То что Роман показывает и сравнивает подходы к написанию кода это мне нравиться, но то что он намекает что его подход самый правильный это неправда (все относительно).
Мой девиз в жизни такой:
Торопитесь
Активно
Учится
Хорошим
Искренним
Делам.
Запомните эту аббревиатуру. И пусть этот девиз сопровождает вас везде.
Проверка по расстоянию выглядит гораздо понятнее, такая проверка является математической, все знают что такое расстояние и как его применять в реальной жизни еще с начальной школы. Начинающий программист может не знать, что для упрощения написания кода и логики кода, правильно использовать фреймворки. Тогда для того чтобы донести до начинающего программиста правильный подход к программированию, нужно начинать с изучения фреймворка. Показать какой математический или абстрактный подход содержит внутри себя фрейморк для реализации данной задачи. А так же разобраться и показать почему фреймворк будет работать быстрее и эффективнее велосипеда. Возможно неплохая, но сложная тема для ролика, показать внутренне решение фреймворка для данной задачи.
во во. Истинно так)
Натяните тогда ещё одну сову на глобус: «зачем объект по имени искать?»
Какраз такая "математическая" проверка невереная, все поголовно её используют, не понимая, что для обычной проверки дистанции есть оптимальный и правильный аналог: (a - b).sqrMagnitude < c * c. В чём оптимальность? В этом решении нету извлечения из квадратного корня в отличии от Vector3.Distance. Да сложно читать/писать и именно поэтому такие вещи выносят или в абстаркции или в функции хелперы, чтобы в одном месте всё контроллировать, не думая о перфе каждый раз.
Программисту нужно писать код с правилом "Всегда пиши оптимально, но никогда не оптимизируй раньше времени". В контексте правила расшифрую: Оптимально - это значит применять все простые и понятные техники которые ускоряют код/время разработки, используй эти техники когда начинаешь делать проект. Оптимизация - это поиск ещё неизвестных техник ускорения кода/рендера/разработки, не трать время на поиск, пока не доделал проект, доделай проект, а потом только открывай профайлер/сделай ретроспективу что и сколько ты делал и как можно было делать эффективнее если бы архитектура была другой.
@@rsakutin Натягиваю - на сцене нет объекта, чтобы в инспекторе на него ссылку задать.
Бл. Даже не стал смотреть видео. Радуйтесь что хотябы они есть! Блин когда видишь ролики Хауди Хо , офигеваешь. Хочется снова прогать и делать всякие крутые штуки.
Работы интузиастов привлекают новичков. А то эта профессия умрет.
Ладно шучу не умрет, но менее развлекательным, веселым чтоли. Типо они создают свою культуру, быт атмосферу программирования. Как направления со своими челенджами и приколами.
Например если смотришь челенджи качков, спортиков:авось простои на планке 60 мин. Ты вроде смотришь развлекательное видео, но оно тоже полезное и еще понимаешь как спорт крут и многогранен.
Тут тоже самое, когда Хауди делает видео про гугл дино, я кайфую. Думая как же программирование афигенная херня. Делаешь то что обычные юзеры и мечтать не смеют, делать из дины годзиллупо щелчку пальца например. Почему? Потому-что так просто захотелось. А этого хотели ведь многие, ждали годами, но все же никто не надеялся и никто не мог это сделать. Ведь не могут, максимум фотошопили в своих фантазиях и все. И один программист взял и сделал это. И я знаю что там есть видео не только про дино, просто привожу это как пример. Говорят мы знаем смысл профессии строителя , доктора и.т.п но в чем же смысл творческих людей? А смысол в том что когда ты приходишь домой, то ты кайфуешь и отдыхаешь: смотришь кино, смотришь тик ток, читаешь книги. Ты все это делаешь и ты отдыхаешь. Но даже не думаешь за всем этим кто стоят, творческие люди. Они отвечают за то как вы отдыхаете и проводите время
Так что не обижайте их, они создают свой уют и тепло в этом итак холодном професси
Это как "узнал что такое МММ - захотел уйти в бизнес".
Просмотр качков не поможет самому накачаться, а просмотр дилетантов (тех же псевдо качков, накачавшихся химией) тем кто реально учится наоборот в ущерб, ибо сначала нужно осознать и принять, что это кал, а потом заново искать источник обучения.
Есть технический материал, а есть псевдо технический. Прогеры приходят всегда за первым, кому под чай ютубчик полистать - за вторым. Ощутима разница?
Но факт есть факт - они учат людей говнокоду.
@@Hellafast2uDude , не неси чепуху. При просмотре таких видео реально появляется мотивация. Что не скажешь об этом гаргамеле. И тот же Хауди курсы не продает. Какие к нему могут быть претензии?
@@Maxus-gt5vw появилась - рад за тебя. Продолжай его смотреть и деградировать
@@Hellafast2uDude , гуляй. Такой же токсик, как и автор видео
Полностью согласен.
Для упрощения не хватает все на ифах, в одном файле и прямые вызовы методов без прослоек.
А и еще же надо ввернуть логику и отображение и взаимодействие с сервером в гейм объекте.
Чтобы проще же
Вот бы ты ещё по C++ для Unreal Engine такие разборы курсов делал))
Он на плюсах очень давно писал и не специалист. В чём разбирается, о том и рассказывает
))
Cогласен, не хватает подобного контента под ue4
Как разработчик со стажем полностью согласен, что код говно != код для новичков. Это все равно, что инструктор не умеющий водить будет сшибать столбы и пешеходов, это же урок для новичков, не обязательно уметь ездить)
хочу научиться программировать, мне нравится Python, язык то выучил, делал задачки для начинающих и тд. Подскажи, пожалуйста, что делать дальше, как научиться программировать?
@Lucky Strike грокаем алгоритмы уже изучил
@Lucky Strike спасибо, а ты программист в какой сфере, чем занимаешься?)
@Lucky Strike Если python там применяется, это не говорит о том, что это единственный вариант и нужно бежать читать одну конкретную книгу
@@GloryToUkrainianRus Решаешь задачки - уже программируешь. А чтобы развиваться, как и в любом другом деле, нужно постоянно практиковаться, ставить новые задачи, в том числе более сложные, изучать инструменты, которые помогают решать новые проблемы.
Нельзя выучить язык в смысле "достигнуть конечной точки, что учить больше совершенно нечего". Можно изучать новые вещи и углубляться в уже известные, но выучить все нереально. Если нет конечной цели и просто хочется делать что-то интересное - так и делайте, придумывайте интересные задачи, проекты, идеи и так далее. Те, которые будут именно интересны вам и реализовывайте их. И в таком случае точно не стоит идти читать книгу по глубокому обучению, тем более если вы не представляете что это такое.
Сейчас бы в обучении вместо написания собственной реализации кидать типов на готовые методы из фрейма.
Спасибо огромное! Глаз дергается от этих поиска по имени и пабликов на каждом шагу.
Полностью поддерживаю. Прогорел на паре таких курсов, по результату которых где-то что-то понял и смог написать двухкнопочные игры, но взявшись за большой проект утонул в тонне говнокода моментально. Как правильно писать код так, чтобы не усложнять архитектуру костылями понятия не имел. самая большая проблема в таких курсах не только говнокод, но и полное отсутствие масштабирования. т.е. как построить архитектуру так, чтобы при добавлении новых кнопок не пришлось переписывать десяток других объектов, не описывают. Описывают только то, как сделать конкретную игру с конкретным контентом без возможности расширения. и после долгого периода разочарования и самообучения столкнулся с шикарным зарубежным курсом FireBelley, где автор не писал так называемый "код для новичков", а четко объяснял, как код писать правильно и как легко потом его масштабировать.
Я пару дней назад написал свой первый Hello World, ничего не понятно, но очень интересно) Даже я, подснежник, понял что грамотный, не громоздкий код лучше выглядит и проще читается чем у коробки навыков. Но справедливости ради, нам бы научиться писать хоть какой нибудь и крикнуть "оно живое!", а потом уже задумываться об оптимизации.
Уж лучше сразу начинать писать приятный код, стараться придумывать свои ходы решения задачи, не быть прямолинейным.
Здравствуй, друг!
Как успехи? Наверное уже хорошо вырос и зарабатываешь?
Подскажи, если можешь: хочу взять ноут для питона, не дорогой. 8 гб оперативки хватит? Спасибо!
@@romanco3667 Хаатит
@@adekakz9794 коп рахмет!
На данных курсах учат совсем далёких людей от программирования с полного нуля и то что они написали это понятно новичку , а то что ты сокращал , убирал , для неопытного человека это пока непонятно . Ты опытный программист с огромным багажом , которому это кажется просто , а новичку это вообще темный лес , твой ,, идеальный код ,, .
Я в программировании ноль, от слова совсем, но честно, как то понятнее стало после сокращений. Почему необходимо ссылаться на имя объекта, а не сразу на "здоровье" этого объекта? К чему нанесение урона, если есть команда убить? Куча действий, которые даже с пониманием английского выглядят громоздко и словно "намазано" друг на друга. Я может в чем то не прав, случайно тут оказался) поправьте если что
@@crinjovik6905 может потому что без фреймворка нет никакого килл? Как минимум
@@утка-й1е стало понятнее, но в чем проблема использовать уже имеющееся колесо, чем писать его заново?
@@crinjovik6905 потому что для новичка это какая то магия которая из ниоткуда взялась, он не понимает что находится внутри библиотеки, и когда наступит момент чтобы решить проблему самостоятельно окажется что он полный ноль
@@утка-й1е понял, разумно) спасибо что объяснил
Использовать фреймворки работе, конечно, правильно. Но все же есть некоторые моменты обучения. И реализовывать свой листы, свои хэш таблицы, свои сортировки - хорошая полезная практика. В работе, скорее всего, не будешь использовать, но зато будет глубокое понимание как это работает. Реализовать все руками в таком примере тоже может быть полезно. Если человек в своем пэт проекте сам поймет что у него есть проблема с дублируемым кодом, сам во время обучения примет решение о борьбе с нарастающей сложностью у себя в проекте, подумает как это можно сделать, то, научиться и замотивируется намного больше чем если с первого урока узнает все удобности фреймворка.
Тут проблема, что в плохих примерах не просто упрощение и свобода от фреймворка, а просто неправильное, неэффективное использование фреймворка.
@@camelCased Когда обучал Qt студентов давал задачку писать свой ProgressDialog, хотя готовый есть. Неправильное использование фреймворка? Безусловно. Но зато есть возможность сравнить свое решение с готовым, глянуть что пропустил в апи, сравнить реализацию. По мне так было очень полезно.
@@ЛеонидКрутовский Если учитель перед таким заданием сам грамотно напишет или посмотрит готовый код ProgressDialog, тогда будет знать, как проверить результат студентов не только на работоспособность, но и на грамотность использования языка и фреймворка. Но в плохом примере в этом видео проблема больше в том, что это написано ленивым образом. Давать упрощенные примеры или примеры для пояснения того, как работает, например, Pickup (или ProgressDialog) логика внутри - это нормально, а вот давать такие примеры, после которых потом придется говорить "Забудьте об этом коде, никогда так не делайте" - это уже плохо.
В целом так и есть. В рамках обучения сначала пытаешься сделать сам, а потом переходишь на использование готовых абстракций. Почти все книги по программированию на этом подходе строятся. Но авторам курсов почему то кажется, что надо или писать руками или использовать фреймворк. И все они в итоге неправы 😂
Здесь проблема в постановки задачи. Понимание структрур данных это одна задача, а написание шутера другая.
Каждый уважающий себя инфо цыган должен показать себя уникальным и низвергнуть всех остальных до ничтожества. Роман Сакутин! Молодец! Так держать! Ах да, ссылку на "правильный труъ курс" вы найдёте в описании под каждым видео на этом канале. До чего омерзительно видеть, как сфера образования скатывается в сферу услуг и какие последствия от этого мы уже имеем
Я думаю многие их смотрят, потому-что им интересен результат. Понятное дело, что если ты хочешь что-то сделать сам, то ты не будешь смотреть на примеры хауди хо того же. К тому же непонятно, где хауди хо объявляет себя профессионалом.
у меня слёзы от кода для "новичков"
Ape ba hay@ tenc ban kgri?
Конечно верю, есть простые пути решения задачи "топорные", которые изучаются на начальном этапе, а есть продвинутые. я 0 в программировании и только начал, но уже понимаю о чем ты говоришь. Тебе сквозь призму твоего большого опыта видно, что тот метод который ты показываешь проще, но для меня и то сложно и другое)
Мой девиз в жизни такой:
Торопитесь
Активно
Учится
Хорошим
Искренним
Делам.
Запомните эту аббревиатуру. И пусть этот девиз сопровождает вас везде.
@attrakcion какая же чушь...😅
Я сам смотрел эти туториалы в самом начали и не могу ничего плохого про них говорить. Оглядываясь назад понимаю что и сейчас норм так как они обучают самому базовому и знакомят с синтаксисом а не про сложную логику и конечно это не полноценные уроки лучше за такими уроками нужно самому по крупицам интернета собирать лучше с наставником. Сейчас работаю в нормальной айти компаний с опытом уже 5 лет.
Много людей к вас после 24 февраля уехало?
@@werwarmort5273 В Кз? Не знаю особо не заметно.
Вы за границей работаете или в Казахстане?
@@cartierr7065 нет у себя в КЗ
У Гошика даже HELLO WORLD написан в варианте " МАКСИМУМ" на С++ 😁А когда его попросили написать в С++ взаимодействие обьектов для движка CRYENGINE - он вообще отказался работать 🤪
С удовольствием всегда его смотрю, ведь автор от любви к искусству, а не к себе дарит нам весь контент. Можно просто и без пафоса найти разницу в ходе своей мысли и его, а потом на этой разнице оценить себя. Автору спасибо!
На самом деле проблема таких учителей в том, что они действительно делают свои проекты именно так, как преподают это на курсах или видео уроках. Иначе просто невозможно обьяснить или дать оправдание профессионалу своего дела зачем он так все усложняет.
Одно дело когда ты показываешь и обьясняешь логику и выносишь это в отдельный урок просто для понимания, а потом переходишь на всякие фреймворки и библиотеки показывая, то как они могут облегчить тебе жизнь и как написанный тобою ранее код можно преобразить. Но я таких почти не встречал. В основном все пишут так, как пишут, а когда начинаешь задавать вопросы прячутся за личину того, что это для новичков.
Ну если честно, то если разобрать код вроде будет понятно. Но больше хочется понять логику, чем тупо запомнить со словами "так правильно". Тем более откуда можно знать что такие классы существуют. С одной стороны вроде просто, но с другой это труднее спроектировать для личного пользования, что не скажешь о "менее красивом "коде
Если человек, который пишет код правильно, комментирует, зачем он так пишет и объясняет ученикам и говорит, что там происходит под капотом, то все там нормально будет написать.
И можно писать и более неправильно, и в видео говорится об адекватном упрощении кода и что это не надо путать с говнокодом. И при упрощении должно явно говорится, что это упрощение и так не пишут в реальных проектах. Так что это опять же отговорки и выгораживания говна.
Понятнее - непонятнее, это все понятно. Смысл в том, чтобы такое говно не выдавать за конечный и правильный код. И упрощать правильно. И с нормальными объяснениями можно сразу правильно писать. Или писать сначала примерно как в первом варике, а потом сказать что вообще вот такое есть и лучше вот так писать. Это все за один урок можно сказать. Я думаю смысл видео то в том, что видимо там как раз такой код как первый выдают за конечный и правильный. И тут уже реально выгораживай не выгораживай - нормальным и адекватным подходом это назвать сложно, если он таков, конечно)
Да и зная что есть библиотеки встроенные или совместимые можно на основе этого прежде чем писать все самому поискать сначала а что есть для прощения и чтобы код выглядел не так громоздко. И вот это уже полезный навык.
а для основ конечно можно и по шагам все прописывать, но опять же, надо делать ремарки, что это только для обучения.
@@furycydonian5491 В реальных проектах пишут по всякому. Есть реальные проекты, которые, например, не используют тот фреймворк, к которому ты привык. Есть проекты, где приходится реализовывать стандартные функции. Например проект конкурирующей библиотеки.
И тем не менее, благодаря Гоше Дударю я обучился всему сам и очень быстро *БЕСПЛАТНО* без регистрации и смс
@что Десятки игр, сотни мелких программ и более 10 приложений для телефона и под винду
подготовительная группа детского сада, воспитательница говорит - "итак, детишки, смотрите, чтобы сложить 2 и 3, надо сначала взять 2 палочки, потом взять 3 палочки, соединить их вместе и посчитать, сколько палочек у вас получилось." и тут в класс с ноги врывается роман сакутин и говорит "ваш подсчёт - говноподсчёт, вот как правильно - смотрите, дети, это калькулятор. набираете 2 плюс 3 и равно"
Татированого фрика я так же буду слушать, как и дударя
Не знал о фреймворке, но в голове накинул решение:
На скрипте кнопки лежит OnTriggerEnter, в котором мы убиваем врага по таргету и пусаем все эффекты
Скилбокс молодцы, показывают, как делать не надо)
Тоже об этом подумал)
P.S. а можно ещё через коллайдер сделать и столкновение игрока и объекта OnCollisionEnter?
@@zakgard9154 По идее не надо, ведь Collision - физический объект, а Trigger просто проверяет вхождение. Ты выбираешь каким является объект, Collision или Trigger, в инспекторе (в своём BoxCollider)
@@zakgard9154 можно. Работать будет, но здесь лучше подходят триггеры
@@zakgard9154 так on collision это же скольжени или трение двух физических или контролируемых тел, on trigger это выполняется когда 1 тело физическое 2 триггерное
Проникновение
Я рассматриваю такой учебный говнокод только если следом покажут как правильно сделать. Типа "пока вы мало что знаете вы скорее всего напишите вот так, но давайте напишем понятнее переписав это как следует". Но такого подхода я не вижу. Ну или написать плохо чтобы потом разобрать ошибки почему так делать не надо
Отличия показали, а может, кто-то теперь объяснить отличия...
Что за Pickup и что за метод?
Топчик видос! Как ты написал код явно проще воспринимается!
У Гоши Дударь видосы по всевозможным языкам программирования и технологиям, странно от него ожидать погружения в каждую из них, скорее обозревательное видео. В Skillbox как и в других школах нужно искать хорошего преподавателя, очень много ерунды, но иногда попадаются интересные вещи. Качественную инфу искать сложно, приходится перерывать кучу материала, это касается и книг.
какие книги ты посоветуешь почитать?
@@tixxkat Если б я начинал всё с нуля, то наверно это был бы Герберт Шилдт, как база, и что-нубудь в целом по ООП и патернам, в своё время это были книги O'Reilly по Java (как обзор ООП) и Паттерны проектирования (книги простоваты, совсем для нубов, но чтобы понять тему - в самый раз). По паттернам как справочник - книга Банды Четырёх. Ещё мне нравятся книги Столярова А.В. - Программирование. Введение в профессию - 3 книги, считаю стоит прочитать все. Много можно вcпомнить интересного - но в основном это книги по работе операционок и CS в целом. Для обзора последних новинок по технологиям - книги в оригинале самых последних годов. Остальное - документации, stackoverflow, google,youtube Главное побольше практики, и чтоб это приносило удовольствие, как организовать поудобнее код разберёшься по ходу, сам поймёшь что такое DRY, KISS ну и SOLID туда же
Да у хауди примерно тоже самое то урок по python потом юнити потом ещё что-то
Привет, извини за, возможно, нубский вопрос. Ты часть кода унаследовал с Pickup. и не совсем понятно что там происходит. Да код выглядит компактнее, но часть кода просто не видна в этом скрипте и без которого этот скрипт работать не будет. Мне кажется, что более правильным было бы сравнение всего кода для корректной работы а не только нескольких строк которые по сути могут являться только верхушкой айсберга. Или я что то не правильно понял ?
Это и был весь код. Просто есть уже готовые библиотеки, из которых мы достаем все нужное нам в конкретный момент. Роман так и сделал. Он не писал этот Pickup, не стал тратить на это время и придумывать то, что уже делали миллионы раз.
В программировании всегда шла и идёт борьба между декларативным подходом и императивным (можешь почитать). Так вот Роман сделал, на мой взгляд, абсолютно правильно и сделал именно второй подход - не стал пошагово объяснять программе, что ей делать, потому что во фрейморвке Pickup это уже и так сделано, а мы можешь просто это использовать.
Короче, те четыре строки - это и есть весь код, который он написал.
@@xcaelestisox7074 А если твоя цель - не изучение конкретного фреймворка а изучения того языка, на котором он написан? Программист ,который понимает что такое Pickup без магии и как такое можно написать самостоятельно, лучше чем программист, который этого не понимает. Второй, возможно, даже не пройдет собеседования в нормальную компанию.
Потому как синтетические задачки учат тебя думать, а дергать за готовые методы может даже обезьяна.
Для новичков они делают хороший контент, но когда у тебя есть опыт и слушаешь что например что говорит Гоша Дударь в видосах это конешн угар дикий
Мой девиз в жизни такой:
Торопитесь
Активно
Учится
Хорошим
Искренним
Делам.
Запомните эту аббревиатуру. И пусть этот девиз сопровождает вас везде.
@@attrakcion ты никто и звать тебя никак
Ну у меня возник только вопрос, что такое PlayPickupFeedback(), где и как оно реализовано? Если предполагается, что именно этот "хороший код" выдран из контекста целого видео-урока, или, даже, всего курса, в которых есть рассмотрение реализации PlayPickupFeedback(), тогда вопросов нет)
Насколько я понял, существует учебный ассет от Unity - FPS Sample, в котором реализованы многие необходимые классы, в число которых входит Pickup с методом PlayPickupFeedback(). В общем, в данном видео лишь две адекватных претензии: 1) названия полей, 2) реализация метода через Update. С другой стороны, в его примере "хорошего" кода используется уже готовый класс, в котором почти все уже написано и который неизвестно (зрителю) как реализован (так что вторая претензия не идет в зачет).
Ну и да - наследование и использование фреймворков - это не начальный уровень (встречал учебники, где практическое использование ООП, в том числе наследования, идет считай сразу за типами данных, но это не общепринятый подход), так что в данном случае я не совсем понимаю критику "плохого кода", так как человек, который ничего не понимает - посмотрит и скажет "Да, Роман, ты прав - было много букав, а стало мало. Хорошо" (утрирую если что - не хочу кого либо оскорблять), а тот, кто понимает скажет: "Да Роман, твоя 'хорошая' реализация правильная (за исключением использования кода уже готового, написанного не тобой, учебного проекта), но новичку лучше начать с того кода, который ты называешь плохим (не считая имена переменных - они действительно плохи), что противоречит основной идее видео". Хотя лично мне кажется логичным сначала изучить основы языка в отрыве от фреймворков, вроде Unity, а уже потом изучать их, уже понимая, как работает то же наследование. И в таком случае, "хороший" код Романа действительно заметно лучше.
@@kilinar2239 Не хватает контекста происходящему). На каком этапе обучения все это показывается новичку и т.д.
@@headcrab2321 Согласен.
Для новичка не хватает лекции про "что-что ты там вставил?" Для новичка, который впервые видит какие-то там внешние блоки, первый намного понятнее
После этого видео стала интересна твоя программа👌Задумаюсь теперь над обучением у тебя.
год прошёл, как успехи? обучился? работу нашёл?
Очень пытаюсь найти хорошие уроки и я люблю всё дотошно изучать. Иногда сложно понять хорошую и углубленную инфу, и я иду смотреть видео для киселёчков. Такие дела. Так же считаю, что курсы плохая идея и я хочу учиться как я хочу, но реально доступной инфы для новичков - мало. 50% времени я занимаюсь именно её поиском. Если у кого есть советы, книги, видосы, статьи - с огромной радостью приму ваши советы ❤
+, сейчас тоже начал этим заниматься, ищу всякую инфу, может курсы по обучению плюсам.
посмотри на сливах типа шервуда, там точно есть.) Если что пиши, у меня подписка, качну и кину ссыль.)
@@olegvlasov7540 спасибо. куда можно написать тебе?
@@rastrepaksu посмотри на s1sherwood что тебе нужно и напиши телегу. я качну и кину ссылкой на диск. на мейловском облаке вообще можно в нем сохранять. )
@@olegvlasov7540 Оки. @Hobogrl я гляну и напишу чуть позже
Родной, ну ты же понимаешь что между первым и вторым кодом пара месяцев интенсивного изучения фреймворков, которое как бы отдельный скилл, который лучше осваивать после синтаксиса, циклов и прочей базы? Ну а так - да, все велосипеды давно изобретены) Нажми на кнопку - получишь результат 😂
Чтобы не возникало проблем, надо действовать по классике:
- вначале дать и объяснить алгоритм;
- потом реализация в коде.
И так действовать, пока в голове у обучаемого не уляжется четкая схема: модель - алгоритм - код.
Таким образом снимается 90 процентов проблем в обучении программированию (и не только программированию, схема работает практически во всех областях технической деятельности).
Да, это облегченный ВУЗовский способ обучения, но доказавший свою эффективность. Минимум хотя бы фундаментальных знаний никто не отменял.
Что такое код для новичков?
Это хороший код + комментарии.
Если применяется фреймворк или библиотека, обязательно вначале следует объяснить, что делает так или иная часть такого внешнего модуля.
Долго так?
Вначале да. Но затем все выходит на космические скорости, достаточно дать сам готовый хороший код и концепцию, как он написан. Дальше обучаемый все поймет сам.
Я занимаюсь разработкой игр. 3D generalist. По сути я веду весь пайплайн в том числе и анимационный. Так же и приходиться работать с кодом хоть я и в нем плох.
Но не об этом. В силу обстоятельств мне пришлось обучать людей и в этот момент я стал искать какие то курсы и вообще смотреть чему там учат у нас (Господи прости).
В итоге наткнувшись на несколько курсов (платных и нет) от Skillbox, я понял что лучше смотреть видосики с ютубчика.
_
_
P.S особенно забавно было от того что их спикеры какие то там seniorЫ ))
Первый раз вижу автора, однако отчего-то сразу возникает ощущение, что человек он честный и неглупый- а это восхитительный коктейль! Буду дальше знакомиться с контентом.)
Сразу скажу, что я человек, не работавший с Unity и в целом в геймдеве.
Но хочу заметить, что там есть реализации методов Create() и Update(), т.е. это создание объекта и его обновление. Вопрос почему на начальном пути - говнокод? Когда это на таком начальном абстрактном уровне объясняется концепции, допустим, "цикл жизни объекта"?
Это, конечно, здорово, что можно использовать изначально какие-то best practices Unity, но как это новичок сможет сразу понять? Вернее он сможет, но это же на n-слоев абстракции выше, чем тот вариант (где Вы считаете "говнокод"). И да, выносить по модулям, "в разные слои" - это уже должен понимать не новичок, который только внедряется во весь этот движ, а так скажем "продолжающий" по уровню, скиллу. ИМХО
В этом разборе задели не все. Решение правильное, но почему нужно делать именно так объяснили только с точки зрения "читаемости". Я выше писал какие еще могут быть проблемы, когда тупо пишешь "лишь бы работало".
Проблема в том что "цикл жизни объекта", должен быть в отдельном уроке. Я думаю не стоит в гайде на создание мувмента добавлять мимолётом информацию по анимации. Анимация должна объясняться в отдельном ролике а мувмент в отдельном. Если ты будешь в мувменте писать всё от пизды лишь бы работало и добавишь туда и звуки и анимацию и освещение кучей - то это не будет "уроком для новичков, который затрагивает такие аспекты разработки как.... "
@@Oleksandp я написал с точки зрения объяснения концепций на «нулевом» уровне слоя абстракции Unity (который он предоставляет, те же методы создания и обновления). Это неплохо, при разъяснении некоторых концепций работы Unity, как мне кажется. А дальше уже важно - показывать и что самое главное объяснять как писать масштабируемый, читаемый, поддерживаемый код.
Хауди: *Делает бесплатные гайды*
Роман: О БОЖЕЕЕЕ, ЭТО ИНФОЦЫГАНИН!
Роман просто сам инфоцыган - он обсирает другие курсы, чтобы продать свои курсы
Ну фреймворк это как я понимаю уже готовое решение, а как же его разбор 🤔 на сколько я понимаю если его использовать тогда и его нужно разобрать 🤷 верно?
верно!
спасибо за честность Роман, это дорогого стоит
Полагаю новичкам достаточно сложно понимать концепции ООП и само наследование они вряд-ли понимают, поэтому приводить в пример использование методов из Pickup считаю излишним. При обучении в первую очередь важно научиться писать сами алгоритмы, а уже потом использовать сахар языка и возможности фрейма. Использование приватных полей до их объяснения тоже считаю неуместным ибо это всё равно будет вводить новичка в заблужение даже с припиской "пока не думайте об этом". Да и разделение кода по смыслу хоть и правильно, но в рамках видеоурока, когда нельзя свободно листать файлы снижает наглядность. А в остальном да, согласен конечно
Я не верил в существование "Кода для новичков" и это видео только укрепило мою позицию. Спасибо за видео.
Хотелось бы увидеть твои уроки, а не бессмысленное нытьё по типо " код - говно". Хоть ты только что перевернул мое восприятие кода, но хотелось бы закрепить это, а так как кроме обсера уроков нет трудно научиться не делать говно. Надеюсь ты вспомнишь знаменитую русскую поговорку и начнешь делать уроки сам.
Твой ник сам за себя говорит
@@cherniyruski7462 твой тоже.....
@@МистерМайнкрафтер-г9м ты чем то думал прежде чем это написать? Что мой говорит?
Твой например что ты ребенок, который не понимает что написал бред
По поводу моего поста, чел..., просто посмотри, не один я такое думаю...
Привет, спасибо за ролик, видно что ты действительно стараешься просветить людей, но я выделил 3 пункта, которые хотелось бы обсудить:
1) ты пытаешь в ролике вроде как доказать, что SkillBox, Хауди и Гоша Дударь пишут плохой код, но пишешь плохой код ссылаясь не на их код, а на код какого-то другого, ранее не упомянутого в ролике курса, не хадишь это странным? Это кстати один из методов инфоциган "я доказываю вам что вот это плохо, потому что также плохо было вон там". Т.е. тут бы хотелось бы прям реального разбора кода скажем с курса скилбокса и чем он плох.
2) Не знаю за Скилбокс и Гошу, но у Хауди неплохие вводные ролики по типу "научу Пайтону за 1 час", я например после этого пошел изучать язык, понятно, что там всё дико на базовом уровне, и всё что он объяснил можно было бы просто прочитать, но мне кажется такого рода ролики наталкивают на мысль вообще задуматься, ведь если это так просто - почему бы и нет, да ещё и интересно.
3) хороший пример "упрощений" это питоновские return что-то там [::1] и прочие прикольные решения, это трудно для новичков сразу, да и лучше сначала научиться делать полные решения, потом сокращенные, просто чтобы понимать как это работает.
4) Твоё решение хорошее, но мне, как человеку на знакомому с таким "глубоким" кодингом в Юнити очень не понятно почему ты выбрал этот фреймворк и эти функции, должен ли новичок знать об их существовании заранее? А если их нет? Как он их напишет, если всегда использовал готовые решения? Кажется, всё же, знать основы - нужно. Но соглашусь, что плохой код =\= основы.
да согл я по роликам хауди HTML с питоном выучил(точнее основу)
Я сам 1000 раз в этом убеждался. сам занимаюсь дизайном почти 17 лет. и трясёт от нынешних дизайнеров, которые купили фотоаппарат и всё они и фотографы и дизайнера. вообщем полностью с тобой согласен. и по этому поводу у меня есть очень крутая афоризма или назови ее как хочешь басня . Толстого™ (вроде-бы)
1) а ларчик, просто открывался!
2) ларчик просто открывался!
в общем люди сами себе создают сложности. даже в таких мелочах ищут смыслы.
а ведь если почитать без запятой то понятно что он просто открывается
а не какимто специальным механихзмом!
просто не значит правильно ! крутой ролик ! лайк
10:58
Тебе стучат в двери, ты открываешь и за ней стоят какие-то люди и спрашивают вас: здравствуйте, вы верите в код для новичков?
коротко в видео:
Они ни чего не умеют , а я умею.
Я молодец а они нет.
У меня профессиональный код а у них нет.
P.S . Да всем пох какой код, если все работает...Ни кто и не учится делать игры когда смотрят хауди хо и прочих, все смотрят процесс создания и как все устроено. А наа этом канале больше критике других ютуберов чем своего производства.. Прежде чем на других лезть, нужно показать что делаешь ты и чего добился! А когда добьёшься чего-то, то и на других не захочется смотреть, какие у них коды и что они делают.
Может надо больше своих видео о программирование снимать? Все эти видео больше похожи на хайп на чужих именах . Это мое мнение и вас оно не должно волновать и оскорблять.
Ставь лайк если тоже как и я начал изучать Python по роликам Гоши Дударя и ХаудиХо, а в итоге устроился работать в крупную, известную российскую IT-компанию и дорос до уровня Senior))) Поэтому я не могу им не быть благодарен за то чему научился у них)
Я работаю на Unreal, но иногда захожу посмотреть твои видосы, просто для общего развития. Спасибо за годный контент. И у меня вопрос, это у unity-стов какая-то болезнь - тратить кучу времени на написание того, что уже есть? Просто я вообще не понимаю этого подхода. Почему бы тогда просто с нуля не написать свой собственный движок!? Читаю самые популярные комменты и и не могу понять.
Мой девиз в жизни такой:
Торопитесь
Активно
Учится
Хорошим
Искренним
Делам.
Запомните эту аббревиатуру. И пусть этот девиз сопровождает вас везде.
Конечно же, дорогие друзья Роман Сакутин знает всё лучше всех.
То что не надо искать по наименованию это вообще первое, что нужно донести до ученика, а не показывать ему такие примеры кода
5:04
Сакутин: почитайте комментарии, где меня называют токсиком, что зачем я до₽#ался...
Тоже сакутин у себя в телеграмм канале: *короче ведет себя как токсик, в ситуациях там где к нему даже агрессивно не относятся*
Это прикольно, но ведь чтобы сделать как в видео показано - надо уметь работать с библиотеками различными, знать что в них содержится. Как это уместить в тридцати часовой интенсив при изучении всего с нуля, я не представляю
По мне два разных подхода просто. Один использует готовое решение другой подход без подключения библиотек. Библиотека понятно будет более отшлифована и функциональна, так как внутри не 4 строчки кода а несколько тысяч. Но зачем назвать самостоятельное решение говнокодом не понимаю, наверное просто не добросовестная конкуренция курсов, хотя они бесплатные🤷♂.
Емае, хоть что-то гражданское в ленте, а не милитаризм с бэд новостями. Рома, спасибо, благодарен за отвлечение от хаоса.
Чувак, заведи рабочий Google-аккаунт и не смотри на нём всё это. А то, что само лезть начнёт (а иногда ютуб подсовывает иные тематики) принципиально помечай кнопкой "не интересует". Постепенно получишь стерильный аккаунт ровно с тем контентом, который ты кушал. Лента формируется из твоих интересов, не забывай об этом, по-сути ты получил то, что ты кушал до этого.
В Chrome существует удобный способ быстрого переключения между аккаунтами, просто нужно заморочиться
все по факту разнес ))
я джун в другой сфере, но мне интересно смотреть твои видео, и в целом геймдев