Тёмный

Циклы криво реализованы. И вот почему. 

ExtremeCode
Подписаться 283 тыс.
Просмотров 109 тыс.
50% 1

Подпишись на наш Telegram Канал 🖤 t.me/extremecode
В этом видео я объясняю за циклы во всех языках программирования. Какие они бывают, зачем они нужны и самое главное, почему они не совсем нужны. Да они же НЕПРАВИЛЬНО СПРОЕКТИРОВАНЫ!
Лицензия Creative Commons Attribution 4.0 на использование трека Hyperfun (исполнитель: Kevin MacLeod): creativecommons.org/licenses/...
Источник: incompetech.com/music/royalty-...
Исполнитель: incompetech.com/

Наука

Опубликовано:

 

11 фев 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 737   
@ExtremeCode
@ExtremeCode 4 месяца назад
Братан, хорош, давай подпишись на наш Telegram канал, мы там байки и кулстори травим 🖤 t.me/extremecode А для бустеров у нас есть эксклюзивный контент: boosty.to/extremecode
@LithiumDeuteride-6
@LithiumDeuteride-6 4 месяца назад
Реально, есть только cycle(){...} а какой цикл уже по контексту. cycle(a
@101picofarad
@101picofarad 18 дней назад
В матлабе for используется для автоматического расщепления на параллельные потоки. Если прогер не пытается изобразить из фора вайл, то компилятор сам раскидает итератор по ядрам и соберет обратно в вектор ответа. А если прогер тупит, то ткнет его носом и скажет что этот кот он параллелить не будет по вот такой причине.
@user-pl1tb5gp3r
@user-pl1tb5gp3r 4 месяца назад
Программирую 10 лет. Сегодня впервые узнал про циклы! Топ контент!
@user-qwc4yy3xs7d
@user-qwc4yy3xs7d 4 месяца назад
Вот они nocode программисты
@myriaxont
@myriaxont 4 месяца назад
Сразу видно - ФП-шник.
@user-yn1gk6qw7l
@user-yn1gk6qw7l 4 месяца назад
Ска... я завис. Не могу понять.. Хочу ли я это развидеть??
@ildar5552
@ildar5552 4 месяца назад
10 лет программирую на 1с. Сегодня впервые узнал, что есть ещё и другие языки программирования! Топ контент!
@Tdmmilestone
@Tdmmilestone 4 месяца назад
Какие еще циклы? 😳
@_aDeer_
@_aDeer_ 4 месяца назад
жду следующий видос про основу всего программирования - про комментарии в коде
@EvgenOl
@EvgenOl 4 месяца назад
Особенно про те, удаление которых крашит код :)
@BeDb_MeDb
@BeDb_MeDb 4 месяца назад
А че, еще и комментировать можно было?:-D
@juke_crusader
@juke_crusader 4 месяца назад
Уже пять лет жду видео о том, как компилировать мой код на пайтоне (я пишу в блокноте)
@evgeniygorkaviy4690
@evgeniygorkaviy4690 4 месяца назад
Комментарии - зло. Код надо документировать.
@shishlinsv
@shishlinsv 4 месяца назад
И про документирование кода! (summary)
@i-am-ultra
@i-am-ultra 4 месяца назад
Далее в программе: видео о ide, видео о переменных, видео о условных операторах
@bulinchik1889
@bulinchik1889 4 месяца назад
А видео о переменных уже есть, смотрите на канале
@i-am-ultra
@i-am-ultra 4 месяца назад
@@bulinchik1889 программирование для маленьких и тупых вернулось, но в этот раз для ещё более маленьких и ещё более тупых
@whyyyyyyyyyyyyyyyyyyyyyyyyyyry
@whyyyyyyyyyyyyyyyyyyyyyyyyyyry 4 месяца назад
Скоро доберемся до списков... а там через кордан и в вывод/ввод данных и на свободу
@evgeniygorkaviy4690
@evgeniygorkaviy4690 4 месяца назад
О фишках Windows, о которых мы не знали.
@neveryirosold3958
@neveryirosold3958 4 месяца назад
​@@bulinchik1889😅
@chuprikovs30
@chuprikovs30 4 месяца назад
Голосом Линдемана: "Do... Do While... Do While For..."
@user-mf9bf9fi8z
@user-mf9bf9fi8z 4 месяца назад
Do While For GoTo... Do While For GoTo... Do While For GoTo...
@thenatron6136
@thenatron6136 4 месяца назад
... und filter map reduce!
@vadimcherepenichev4072
@vadimcherepenichev4072 2 месяца назад
Вы боги!!!!
@user-mf9bf9fi8z
@user-mf9bf9fi8z 2 месяца назад
@@vadimcherepenichev4072 ну что вы, какие боги, так, просто ангелы, гыгы
@tozpeak
@tozpeak 4 месяца назад
Щас бы доебаться к фору за то, что он обеспечивает видимость переменных счётчика в рамках заголовка и тела цикла. Чтобы какой-нибудь умник не пошёл использовать счётчик предыдущего цикла у себя без переинициализации. И организацию проверки с изменением счётчика в одной строке, чтобы не бегать в конец 100500 строчного цикла.
@Sunr1sen2
@Sunr1sen2 4 месяца назад
С языка снял
@BeDb_MeDb
@BeDb_MeDb 4 месяца назад
К циклам я претензий не имею. Тот же repeat например и пр. А вот к их использованию, когда человек явно должен просто по всем элементам пройтись без создания нового списка измененных значений (привет люди которые считают, что map ровно такой же а то и быстрее forEach) они есть. Собственно, если это есть, значит кому-то оно было нужно и либо ты не столкнулся с местом где это нужно, либо не понимаешь/чувствуешь концепцию. Мы же сами заложники привычек. Неявно читаемую идею, что хватит вносить в языки на каждый чих оббертку - поддерживаю. Потом в таком лесу состаришься. В общем идей в видосе много, но тема сисек не раскрыта.
@evgeniygorkaviy4690
@evgeniygorkaviy4690 4 месяца назад
Чтобы умник не переиспользовал счётчик, счётчик должен существовать только в контексте тела цикла. Во взрослых языках всё для этого сделано. Кривые руки, конечно, никто не отменял.
@azhonoredground9855
@azhonoredground9855 4 месяца назад
Это прямо как с неявной типизацией через var. Вроде функционально тоже самое что и явная, а при проверке приходится после этого искать источник и во что он конвертируется
@hunterofthedemon
@hunterofthedemon 4 месяца назад
Здарова Свен ​@@Sunr1sen2
@extradip8587
@extradip8587 4 месяца назад
Вообще ни о чем видео, претензия к for и другим операторам просто идиотская: "давайте вместо простых и понятных операторов для определенных ситуаций всегда использовать один и тот же и костылями его приводить к тому, от чего мы отказались, чтобы ну это самое ну просто"; про goto тезиса никакого не увидел, просто упомянулся зачем-то; а "не используйте коллекции в качестве циклов" просто невероятная мысль. Ни развлекательный, ни познавательный и не контент. Мусор
@AlexandroLavichez
@AlexandroLavichez 4 месяца назад
Согласен, автор дегенерат
@rebrov_vyacheslav
@rebrov_vyacheslav 4 месяца назад
@@AlexandroLavichez скорее провокатор, вкидывая очевидную дичь, пытается накрутить комментов.. как видим даже чутка получается
@chakchaky8521
@chakchaky8521 4 месяца назад
Да, соглашусь тут... До гото докатился автор... Я с гото начинал... действительно полная дичь...но её уже нету лет так 20.
@TPiPoloSkiAdidass
@TPiPoloSkiAdidass 4 месяца назад
видос только для того чтобы вставить рекламу гайс вы шо не поняли?
@MrChelovek68
@MrChelovek68 4 месяца назад
Ну,не считая этого видео, человеки очень любят бить себя по рукам,пытаясь редуцировать имеющийся базис инструментов. Срачи о линупсе вс виндовс вс макос,срачи о виме и ide.
@ulysses.apokin
@ulysses.apokin 4 месяца назад
"Все держится на циклах" Haskell: 😮😮
@redofficiale
@redofficiale 4 месяца назад
Haskell: 😮😮 Haskell: 😮😮 Haskell: 😮😮 Haskell: 😮😮 Haskell: 😮😮 Haskell: 😮😮 Haskell: 😮😮 Haskell: 😮😮 Haskell: 😮😮 Haskell: 😮😮 Haskell: 😮😮 Haskell: 😮😮 Haskell: 😮😮 Haskell: 😮😮 Haskell: 😮😮 Haskell: 😮😮 Haskell: 😮😮 Haskell: 😮😮 Haskell: 😮😮 Haskell: 😮😮 Haskell: 😮😮 Haskell: 😮😮 Haskell: 😮😮 Haskell: 😮😮 Haskell: 😮😮 Haskell: 😮😮 Haskell: 😮😮 Haskell: 😮😮 Haskell: 😮😮 Haskell: 😮😮 Haskell: 😮😮 Haskell: 😮😮 Haskell: 😮😮 Haskell: 😮😮 Haskell: 😮😮 ...
@DrezdenHC
@DrezdenHC 3 месяца назад
Топ 10 комерческих програм на хаскеле.
@merovingen4546
@merovingen4546 4 месяца назад
во что бы там код не разворачивался и не компилился, сахар на то и сахар, что бы мне как разработчику одни и те же вещи было проще писать, а уже если мне нужно упороться то я напишу той конструкцией, которая подойдёт лучше
@chakchaky8521
@chakchaky8521 4 месяца назад
Ты просто не понял сути - автор говорит что языку достаточно одного for для всего. А while это пережитки древней цивилизации. Сегодня этот цикл while ни к чему вообще. Его бы по хорошему выкорчевать из будущих версий языков...тут я даже соглашусь
@user-bk7no6gn8n
@user-bk7no6gn8n 4 месяца назад
​@@chakchaky8521машина использует goto. Цикл for/while вам даёт транслятор в псевдокод после дизассемблирования, чтобы читать было удобнее.
@michaelinuente92
@michaelinuente92 4 месяца назад
ответ прост, как джун после курсов: для лучшей читабельности. синьоры, под кофиё, не готовы ломать глаза от всяких "гоуту".
@user-bi4eo3ys1f
@user-bi4eo3ys1f 4 месяца назад
Вообще-то ещё для лучшей исправляемости. И рисуемости в виде блок-схемы без пересечений. Хотя некоторые алгоритмы с использованием гоуту проще и понятнее, чем без.
@michaelinuente92
@michaelinuente92 4 месяца назад
@@user-bi4eo3ys1f какой ещё "рисуемости"? :) тогда уже "диаграммности" :) и "читабельность" предполагает "исправляемость" :)
@michaelinuente92
@michaelinuente92 4 месяца назад
@@user-bi4eo3ys1f к слову о "диаграммости", во времена Рюрика действительно писали мега методы, кои монахи изображали в виде диаграмм. но после изобретения Калашникова за попытку написания сходных трактатов программист получает с вертушки в ухо. больше двух "if" - расстрел. поэтому диаграмм на методы не рисуют :)
@froller
@froller Месяц назад
За 25 лет в профессии я нашел только одно годное применение для goto: вываливаться из матрешки вложенных циклов куда-то поближе к return, чтобы по-бырому подчистить хвосты и вернуть наверх ошибку. Любой, считающий что следует использовать флаг ошибки и проверять его в десятке мест, может добровольно катапультироваться из окна.
@AIFT_Staff
@AIFT_Staff 4 месяца назад
о, спустя 6 часов после выхода видео переименовал его, до этого оно называлось "Кривая основа всех языков программирования"
@hollow.one.w
@hollow.one.w 4 месяца назад
Ну надо кликбейтить, это же ютуб
@ankagris4689
@ankagris4689 4 месяца назад
Этого никогда не было. Видео всегда называлось так
@hollow.one.w
@hollow.one.w 4 месяца назад
@@ankagris4689 ну и как теперь верить людям...
@iii8176
@iii8176 4 месяца назад
10 лет писал на двоичном коде, впервые узнал о циклах!! топ контент.
@EvgeniyFadeev
@EvgeniyFadeev 4 месяца назад
А не врёшь? ;)
@rebrov_vyacheslav
@rebrov_vyacheslav 4 месяца назад
@@EvgeniyFadeev врет )
@user-bb9go8bi9e
@user-bb9go8bi9e 4 месяца назад
Жаль автор не в курсе но на уровне железа цикл FOR реализуется командой LOOP, а While и прочее реализуется методом JMP (это аналог GOTO на ассемблере), тут я говорю про архитектуру х86, цикл FOR везде тащат из-за того что у него есть своя аппаратная реализация.
@gunsncodes6665
@gunsncodes6665 15 дней назад
И что быстрее? Loop или jmp?
@user-bb9go8bi9e
@user-bb9go8bi9e 14 дней назад
@@gunsncodes6665 команда loop за такт выполняет уменьшение счетчика на единицу, сравнение, и переход на нужный адрес кода, jmp выполнит только переход, вам нужен еще такт чтобы выполнить уменьшение счетчика и еще один чтобы выполнить сравнение, а еще что то подсказывает мне что конвейер будет быстрее работать с loop
@falser20
@falser20 4 месяца назад
Круто, теперь можно снять про переменные, ссылки и обязательно покуракерать, что в моем любимом петухончике нет констант
@TheTheMrkpyt
@TheTheMrkpyt 4 месяца назад
Возникает философский вопрос, а есть ли в C# константы, если в нём так развито мето программирование и рефлексия
@ankagris4689
@ankagris4689 4 месяца назад
Так есть видос про переменные
@falser20
@falser20 4 месяца назад
@@ankagris4689 там нет заглядывания внутрь до уровня регистров в ассемблере или работы с указателями как в C. А ведь это база
@user-cr8rp6xj2l
@user-cr8rp6xj2l 4 месяца назад
Можно сделать свой класс или стандартно через pip install
@qwertymangames1800
@qwertymangames1800 4 месяца назад
В петухончике нет классического цикла for, так как он работает по логике foreach ВСЕГДА. И соответственно бесконечного цикла на нём не сделать тоже.
@RusSaboteur
@RusSaboteur 4 месяца назад
Рекурсия где?! Где рекурсия я спрашиваю?! Функциональное программирование для кого изобрели, м? Все циклы можно реализовать рекурсией. Все циклы - синтаксичечкий сахар. Change my mind
@daiske2867
@daiske2867 4 месяца назад
там где рекурсия бесплатная да, но не все языки haskell и пролог
@RusSaboteur
@RusSaboteur 4 месяца назад
@@daiske2867 scala?
@user-xj9hn3fg8n
@user-xj9hn3fg8n 4 месяца назад
Все циклы можно реализовать переставляя поинтер на стеке, come on
@arhitutorials
@arhitutorials 4 месяца назад
Респект братан! Рекурсию то забыли бородатые синьоры)
@Senteggo
@Senteggo 4 месяца назад
Все функции в целом - синтаксический сахар. Change my mind
@EvgenOl
@EvgenOl 4 месяца назад
Ну коли три вида цикла не нужны, и ты предлагаешь оставить только 1, то пошли дальше. Давай уберём все! Ведь их легко заменяет goto. А потом и его отменим и пересядем все на ассемблер :)
@mokaakasia4636
@mokaakasia4636 4 месяца назад
Базу выдал. Предлагаю еще отметить конструкции try catch , if , вызов функций , так как они тоже по факту оболочка для goto. Ну ладно , нужны еще условные переходы типа jnz, но это не важно.
@progressive_agriculture
@progressive_agriculture 4 месяца назад
При тех тормозах, какие создают современные языки программирования, придираться к скорости разнообразных циклов нет смысла. А синтаксический сахар для того и нужен, чтоб легче писать было. Оно логичней. Хотя можно любой перебор через любой реализовать.
@user-xj9hn3fg8n
@user-xj9hn3fg8n 4 месяца назад
В чем проблема современных ЯП? Если в python/js всё объект - это не проблема языка. А проблема того кто использует голый for для многомерных массивов в том же python
@progressive_agriculture
@progressive_agriculture 4 месяца назад
@@user-xj9hn3fg8n а Вы с какой целью его применить собираетесь? Каждый инструмент хорош для своего дела. И Python без библиотек написанных на с/с++ ни чем ни лучше старого basic. А реализовать на с++ любые списки и коллекции - ни каких проблем.
@user-iw1ty8sk1v
@user-iw1ty8sk1v 4 месяца назад
@@user-xj9hn3fg8n > Если в python/js всё объект - это не проблема языка Угу, проблема лишь в том что это проблема рантайма этого языка.
@zmirk
@zmirk 4 месяца назад
Да я с помощью GOTO 23 года назад первую игру написал на бэйсике... ээх, были времена.
@SilentPrayerCG
@SilentPrayerCG 4 месяца назад
Еще go sub был, но он уже забыт... (наверное, я хз на самом деле)
@user-bi4eo3ys1f
@user-bi4eo3ys1f 4 месяца назад
@@SilentPrayerCG Ну, это вызов подпрограмм в бейсике. Как в PL/1 CALL , или в фортране. Люди тогда ещё не догадывались, что вызывать подпрограммы можно просто по их имени, а не специальным оператором.
@SilentPrayerCG
@SilentPrayerCG 4 месяца назад
@@user-bi4eo3ys1f я знаю что это, я к тому что, не уверен остался ли этот рудемент в каких-то современных языках или нет. В vb его уже нет.
@fordin3726
@fordin3726 4 месяца назад
Братан, хорош, давай, давай вперед! Контент в кайф, можно ещё? Вообще красавчик!
@MrReadManiac
@MrReadManiac 4 месяца назад
Можно вот этого вот почаще?
@dandyhorsse
@dandyhorsse 4 месяца назад
Давайте, пока!
@anon_commentator
@anon_commentator 4 месяца назад
Как же хорошо, что его видосы набирают всё меньше просмотров. А то я уже задолбался во всех уголках интернета находить эту фразу.
@herman2lv
@herman2lv 4 месяца назад
А куда скидывать деньги на лечение?
@user-wh1tt7cd1b
@user-wh1tt7cd1b 4 месяца назад
До этого видео использовал в коде только мотоциклы. Спасибо вам!
@WounderVaflel
@WounderVaflel 4 месяца назад
Ничего себе, это что, образовательный контент?!!
@grifon187
@grifon187 Месяц назад
-насколько идиотское видео вы хотите? -да
@komillermaster6821
@komillermaster6821 4 месяца назад
В питоне, for в привычном понимание не существует, он перебирает итерируемые объекты)
@SklerozRu
@SklerozRu 4 месяца назад
for each по сути
@aywanbr
@aywanbr 4 месяца назад
В golang только for, в котором прячется for и while. В erlang только рекурсия, тема которой требует отдельного видоса. Так что нужно больше контента
@Rezedent12
@Rezedent12 4 месяца назад
А ещё range для перебора коллекций.
@rar24
@rar24 4 месяца назад
когда видос про энвелоуп
@ПашаИвлев
@ПашаИвлев 4 месяца назад
Комент в топ!!
@user-ig5qe8sy9b
@user-ig5qe8sy9b 4 месяца назад
Давно интересует эта тема, но в интернете никак не могу найти толкового гайда
@user-xk2lb2ob8p
@user-xk2lb2ob8p 4 месяца назад
Сишный for был создан для компьютера с 8 килобайтами памяти. Это PDP-7 и UNIX. Памяти у Юникса было как обрывок чека в туалете, поэтому у for в языке C такой странный синтаксис.
@alexf3289
@alexf3289 4 месяца назад
Что в нём странного? О_о
@user-gs5ku1et3n
@user-gs5ku1et3n 4 месяца назад
Человек фигню написал, в C for самый нормальный, там явно указана инициализация переменной, изменение и проверка перехода.
@SilentPrayerCG
@SilentPrayerCG 4 месяца назад
Вот почему в спектумовском бейские тоже фор есть.. там-же тоже памяти ровно на стикер на котором размер трусов печатают.
@ulysses.apokin
@ulysses.apokin 4 месяца назад
@@user-gs5ku1et3n в чистом Си в for нельзя инициализировать переменную. Напоминаю, что присвоение и инициализация - это две абсолютно разные операции.
@user-xk2lb2ob8p
@user-xk2lb2ob8p 4 месяца назад
@@SilentPrayerCG В Спектруме памяти на порядок больше чем у UNIX. Одно ПЗУ Синклера в два раза больше чем вся оперативная память Юникса. Достаточно чтобы использовать человеческий оператор FOR, а не эту кастрированную замухрышку. Ну и как итог, сколько Синклеров продали? А на скольких компах Юникс поставили за то же время? 30 (тридцать штук).
@vovka_goodwin
@vovka_goodwin 4 месяца назад
В го вообще один цикл на все случаи жизни :D
@vovka_goodwin
@vovka_goodwin 4 месяца назад
@dsgnfun751 for
@user-xr7mp1bk7h
@user-xr7mp1bk7h 4 месяца назад
Братан, хорош, давай, давай вперед! Контент в кайф, можно ещё? Вообще красавчик! Можно вот этого почаще?
@raztarg4adchadov914
@raztarg4adchadov914 4 месяца назад
Бро. Красавчик, ещё побольше такого контента. Благодарю за информацию!!!
@AndreyKauf
@AndreyKauf 16 дней назад
Очень часто For-ом ты можешь за один проход сделать все преобразования, что тебе нужны, а map-reduce ом ты будешь два раза гонять. Это может быть быть не критично, если коллекция маленькая, но на больших уже будет заметно. Тут у нас получается трейдофф между элегантностью кода и его скоростью
@tohoto2183
@tohoto2183 4 месяца назад
Честно говоря так и не понял ,что хотели сказать ExtremeCode . Они имели ввиду циклы вообще или только определенного языка?
@MrCter
@MrCter 4 месяца назад
не стоит искать смысл там, где его нет ) главное - реклама есть
@OlegTar
@OlegTar 4 месяца назад
циклы вообще
@paztwel
@paztwel 4 месяца назад
Речь идёт про циклы при работе с массивами. Вообще это бред высосанный из пальца.
@fahrenheit1863
@fahrenheit1863 4 месяца назад
Я вообще не программист, случайно увидел видос. Но разве под капотом у map, reduce и filter не цикл или goto - jmp? Еще вроде как можно зациклить код рекурсией, или это другое? А разве под капотом операторов for и while не используется тот самый goto - jmp?
@progressive_agriculture
@progressive_agriculture 4 месяца назад
Циклы - надстройка над ассемблером, или машинными кодами. Логика циклов языков высокого уровня в том, что у него фиксированный вход в начале и фиксированный выход в конце. Прервать breake можно, но все равно попадаешь в конец цикла. А эмуляция цикла через goto позволяет с любого места отправиться в любое, причем, хоть из середины одного "цикла" в середину другого "цикла". Использование for и while и отказ от goto позволяет избежать таких косяков. Чтоб не плодить ошибки.
@Senteggo
@Senteggo 4 месяца назад
понятное дело, что циклы под капотом у map, reduce и тд, и вероятно goto под капотом у циклов, к чему ты это написал? А про рекурсию - странно, что автор видео про нее не вспомнил
@shatalinator
@shatalinator 4 месяца назад
Если в рекурсивной функции нет условия её прерывания, она будет выполняться бесконечно долго. Под "бесконечно долго" подразумевается "пока не переполнится стек вызова".
@dmitrii-329d
@dmitrii-329d 4 месяца назад
В том же лиспе нет циклов, но есть хвостовая рекурсия, если мне не изменяет память
@user-ry5oh3qt2u
@user-ry5oh3qt2u 4 месяца назад
Рекурсия-зло, пару тысяч раз рекурсия сработает и бам: стекоферфлоу
@sweetcapitan5690
@sweetcapitan5690 4 месяца назад
А что насчет того, что в шарпах for и forEach имеют разную производительность? Про фп, в которых циклов нету by design, можно было бы хотя бы упомянуть. Про ииераторы тоже неэи слова не сказанно.
@-Sergey
@-Sergey 4 месяца назад
Ребята, которые "Братан, хорош, давай, давай, вперёд! Контент в кайф". Ну включите же голову, напишите что-нибудь от себя. Ну тоска же под каждым видео одинаковые комментарии читать.
@letburnit5017
@letburnit5017 4 месяца назад
Ребята, которые "Братан, хорош, давай, давай, вперёд! Контент в кайф". Ну включите же голову, напишите что-нибудь от себя. Ну тоска же под каждым видео одинаковые комментарии читать.
@glek3197
@glek3197 4 месяца назад
Ребята, которые "Братан, хорош, давай, давай, вперёд! Контент в кайф". Ну включите же голову, напишите что-нибудь от себя. Ну тоска же под каждым видео одинаковые комментарии читать.
@Dyxacm
@Dyxacm 4 месяца назад
Ребята, которые "Братан, хорош, давай, давай, вперёд! Контент в кайф". Ну включите же голову, напишите что-нибудь от себя. Ну тоска же под каждым видео одинаковые комментарии читать.
@user-cc9tb3dg8v
@user-cc9tb3dg8v 4 месяца назад
Ребята, которые "Братан, хорош, давай, давай, вперёд! Контент в кайф". Ну включите же голову, напишите что-нибудь от себя. Ну тоска же под каждым видео одинаковые комментарии читать.
@dolsha
@dolsha 4 месяца назад
Братан, хорош! Давай вперёд! Контент в кайф! Можно ещё? Ваще красавчик!
@user-if1dj7fy2y
@user-if1dj7fy2y 18 дней назад
Чудесно звучит 🎉 а когда будет рассказ про критическое мышление ?
@dimankan
@dimankan 4 месяца назад
Фига себе. Я начал изучать си шарп 3 года назад по плейлистам для маленьких и тупых, думал что много уже чего увидел и прочитал, "repeat:" и "goto repeat", я ещё не видел. думаю надо как-нибудь использовать и взорвать кому-нибудь жёпку:)
@evgeniygorkaviy4690
@evgeniygorkaviy4690 4 месяца назад
Главное себе не взорвать такой миной.
@user-cc9tb3dg8v
@user-cc9tb3dg8v 4 месяца назад
Ну, если там, где ты работаешь, нормально поставлены процессы, то твой код обосрут на код ревью и просто просто отклонят пока не перепишешь. И скорее всего будут правы: самое удобное что можно на них сделать - быстрый выход из многоуровнегого цикла. Либо свою упоротую версию try-catch. Все остальное прекрасно заемняется условиями, циклами либо вынесением в отдельную функцию. А компилятор еще и оптимизаций докинет сверху.
@user-ek9nj9dl1u
@user-ek9nj9dl1u 4 месяца назад
Братан, хорош, давай, давай, вперёд! Контент в кайф, можно ещё? Вообще красавчик! Можно вот этого вот почаще?
@AlexShataev
@AlexShataev 4 месяца назад
Минуточку! ✋Вы спецификацию циклов читали вообще или нет?
@Raspredval1337
@Raspredval1337 4 месяца назад
нам этот ваш цикул и совсем не нужон, даешь рекурсию 😎 🤡
@gameworld7650
@gameworld7650 14 дней назад
И твой компутер взрывает ся 🎉🎉🎉
@devilman_01
@devilman_01 4 месяца назад
Великолепный видос Не смотря на то, что я болею, а сегодняшний рабочий день был особенно сильно нагружен, все равно смотрел(слушал взахлеб)
@vesh95
@vesh95 Месяц назад
Фор хорош тем, что если у тебя условия в цикле, то в суматохе кодинга ты не напишешь код, пропускающий инкрементирование аргумента. А вообще да, тот же while получается, да даже do while можно через while выразить
@binancetraider658
@binancetraider658 4 месяца назад
Братан, хорош, давай, давай, вперёд! Контент в кайф, можно ещё? Вообще красавчик!
@user-fq5ec4xl4s
@user-fq5ec4xl4s 4 месяца назад
Коты забрали всё внимание, пришлось пересматривать)
@user-cn3rx8rb9o
@user-cn3rx8rb9o Месяц назад
получился цикл
@qskyisover8153
@qskyisover8153 5 дней назад
- Зачем наплодили аж 3 вида циклов? Тем временем Go:
@Titancikk
@Titancikk 4 месяца назад
Братан харош контент в кайф давай еще😊
@Dmittry
@Dmittry 4 месяца назад
А можно подробнее, как do-while заменить for или while'ом? Без костылей с новой переменной isFirstRun.
@DeadnWoon
@DeadnWoon 26 дней назад
Видимо, просто дублированием кода. Сначала просто текст, потом он же в теле цикла.
@glenstorm87
@glenstorm87 4 месяца назад
Расскажите пожалуйста про циклы в Хаскеле 👉👈😊
@surdeus
@surdeus 4 месяца назад
Готово
@_curtman
@_curtman 4 месяца назад
Я не понял, а о чём видос то?
@paztwel
@paztwel 4 месяца назад
Типа не используйте циклы для работы с массивами. Или хз, автор чушь какую-то несёт ради рекламной интеграции
@VitaliyShevtsov
@VitaliyShevtsov 4 месяца назад
Братан, хорош, давай, давай вперед! Контент в кайф, можно ещё? Вообще красавчик!😅
@user-io8ug3yb2p
@user-io8ug3yb2p 4 месяца назад
В прологе вообще нет никаких циклов, там работает машина поиска с возвратом, довольно мощная штука
@chakchaky8521
@chakchaky8521 4 месяца назад
Безсмысленная дичь.
@user-bi4eo3ys1f
@user-bi4eo3ys1f 4 месяца назад
И очень медленная. Помнится, в начале 90-ых была игра "преферанс", написанная на прологе. Так иногда приходилось по 20 минут ждать очередного хода.
@vitalybattalov1897
@vitalybattalov1897 4 месяца назад
Так насытился что аж захотелось пару кружочков пробежать и всё осмыслить. Спасибо ❤
@DeadnWoon
@DeadnWoon 26 дней назад
Существует ещё, к примеру, loop (количество повторов).
@sleepyNovember_project
@sleepyNovember_project 4 месяца назад
6:34 оно у тебя в документе исходника никуда не разворачивается, так что, да, докапываешься. Если так хочешь использовать один цикл для всего, используй
@user-ef7om8pq6t
@user-ef7om8pq6t 4 месяца назад
Согласен со всем, кроме того, что сахар - плохо (в меня полетят камни, и да, я питонист). Ну в чем проблема двух вариаций вайла? Заботой о "новичках" можно пренебречь, к этому привыкнуть за 2-3 issue можно. Но это же очень круто, что можешь писать так, как хочешь (и вот не надо говорить, что питон кринж, у меня на js 6 микросервисов написано, на плюсах год работал, работаю хардкорно под unix'ом, а вторая работа - анализ yocto и biuldroot, так что я разного наелся за профессиональную жизнь))) Но вот в чем проблема сахара? Ну окей, новичку не понятны правила игры - учись и станут понятны. Но программисту, который не хочет драться с ЯП за организацию каких-то базовых приколов... Ну вот хочу писать фор, пишу, хочу писать вайл, пишу, хочу работать с множествами, фроузен множествами, словарями, списками, массивами, деревьями - я с помощью сахара это делаю по щелчку пальцев, как и множественные перегрузки и обилия самоподобных синтаксических конструкций. Просто как будто тема ради темы))) С логикой отказа от сахара или его сокращением можно опять перейти на ассемблер 😐
@user-uz4ry4zf3d
@user-uz4ry4zf3d 4 месяца назад
Чет мне кажется там про сахар так плохо не говорили.
@user-ef7om8pq6t
@user-ef7om8pq6t 4 месяца назад
@@user-uz4ry4zf3d ну как бы да, но я считал посыл из серии, что надо уходить от самоподобных конструкций и тд. Я немного обобщил пример 🙂
@user-uz4ry4zf3d
@user-uz4ry4zf3d 4 месяца назад
@@user-ef7om8pq6tЭдак мы массивы на словари заменим ))
@user-qp5mu5tc8n
@user-qp5mu5tc8n 4 месяца назад
Раз уж вы питонист, можно вам задать вопрос, какого xepa у вас в языке list это не список, а динамический массив? Я просто ранее изучал С и С++ с ассемблером и когда недавно увидел list[2] на питоне удивился, что там оператор индексирования для списка используется. Начал гуглить и обнаружил, что в питоне это не список...
@user-ef7om8pq6t
@user-ef7om8pq6t 4 месяца назад
@@user-qp5mu5tc8n я бы не был так уверен, что это чистый динамический массив. Я интересовался этим вопросом минут 20 полгода назад и у меня сложилось впечатление (возможно я хотел, чтобы оно у меня такое сложилось 🙂), что там развернутый список на базе массивов, то есть элементом списка является массив грубо говоря, и эти массивы связаны в список, в котором и адресация индексная работает и в целом меньше приколов с аллокацией памяти, потому что для расширения достаточно просто слтнковать ещё один массив в конец, но супер не уверен, в этом, я не смог найти нормальную литературу по этому поводу. Буду рад, если поделитесь материалом, на базе какой структуры реализован list в python
@2009Spread
@2009Spread 4 месяца назад
самое зачетное из видоса - это место рекламы :)
@nnnvrmnd
@nnnvrmnd 4 месяца назад
Братан, хорош! Давай давай вперед! Контент кайф, можно ещё? Вообще красавчик. Можно вот этого вот почаще? Давайте, пока!
@KolyaUdav
@KolyaUdav 4 месяца назад
КАК ЛИД СКАЗАЛ, ТАК ДЕЛАТЬ И БУДЕМ, МЫ НА ИСПЫТАТЕЛЬНОМ СРОКЕ. НЕ ЕБИ ГОЛОВЫ
@kalmanjudin1336
@kalmanjudin1336 4 месяца назад
Чел вставил рекламу и прочитал определения циклов😢. Класс!😮 А можно потом про базовые принципы ооп?😊 Спасибо!❤❤❤
@mn4840
@mn4840 4 месяца назад
...и приправил всё это отборными мемчиками )
@Ruzakisan
@Ruzakisan 4 месяца назад
я поставлю Hyperfun на звонок если этот комментарий наберет 665 с половиной лайков
@comrade137
@comrade137 4 месяца назад
Можешь поставить так, только пальцы выпрашиваешь.
@SklerozRu
@SklerozRu 4 месяца назад
Саундтрек из Горбатой Горы поставь
@user-ee5st4hh8t
@user-ee5st4hh8t 4 месяца назад
За фортан было обидно. Я ведь даже не женат
@scad_
@scad_ 3 месяца назад
По поводу goto описано в "Чистая архитектура" Роберта Мартина. Не новость. Но я не могу сказать, что цикл while и for взаимозаменяемы. Автор же сам говорит, что в while не известно количество итерации, а в for известно. В этом и разница концептуального подхода. На том же python можно сделать просто while True и цикл будет крутится бесконечно
@ktoto4940
@ktoto4940 Месяц назад
for позволяет использовать счетчик процессора вместо переменной, что повышает производельность.
@ankagris4689
@ankagris4689 4 месяца назад
Как всегда гениально!!!
@igormenkaur8659
@igormenkaur8659 4 месяца назад
Последний в выборке "сначала новые"
@Kaidan0
@Kaidan0 4 месяца назад
Охуенно
@Debuffometh
@Debuffometh 4 месяца назад
Искала видео про месячные, а тут какой-то мужик втирает мне какую-то дичь про циклы 😮
@reteavstudio
@reteavstudio 4 месяца назад
Зато как втирает
@user-bi4eo3ys1f
@user-bi4eo3ys1f 4 месяца назад
А я пытался выяснить в интернете, сколько у кошки сисек. Оказалось, непросто сформировать правильный запрос.
@Youtube-pomoyka
@Youtube-pomoyka 4 месяца назад
В PHP также синтаксический сахар позволяет сократить 2-3 строки до одной. For так же, там удобней работать и отслеживать итерации
@ani_sci
@ani_sci Месяц назад
После изучения Ассемблера в колледже, для меня все ЯП высокого уровня довольно странные. Хотя Erlang тоже было интересно поизучать.
@DrMefesto
@DrMefesto 4 месяца назад
Познавательно)) даешь еще таких основ)
@boomboxx427
@boomboxx427 4 месяца назад
Брат, харош, невероятно приятно тебя смотреть, как и на мужиков в видосе, спасибо!
@Torn_Shoe
@Torn_Shoe 4 месяца назад
for нужно потому-что не всегда он должен начинаться с 0, может нам нужно выбрать что-то начиная с 1 элемента, а не с 0, поэтому не всегда его можно превратить просто в while (i < 5) как в примере
@two_choices
@two_choices 4 месяца назад
Ничего тебе не мешает сделать for(int i =1 ...) и цикл начнется с единицы
@Torn_Shoe
@Torn_Shoe 4 месяца назад
@@two_choices так я ж поэтому и говорю что нельзя все заменить на while как делает компилятор потому-что каждый цикл служит своей цели.
@Dmittry
@Dmittry 4 месяца назад
@@Torn_Shoe Так тебе без разницы с чего он там начинается. Цикл for просто объединяет инициализацию, условие и изменение. Ты можешь сделать так: int i = 1; while (i < 5) { делаем_какую_то_хрень; или_не_делаем; i = i +100500; }. И это будет тоже самое, что for (int i = 1; i < 5; i = i + 100500) {} Да, там не обязательно i++ должно быть. У меня другой вопрос, как заменить do-while без костылей с дополнительной переменной isFirstRun?
@OlegTar
@OlegTar 4 месяца назад
``У меня другой вопрос, как заменить do-while без костылей с дополнительной переменной isFirstRun?`` а в чём проблемам собственно?
@Dmittry
@Dmittry 4 месяца назад
@@OlegTar А в чём проблема с do-while собственно? В ролике рассказывается, что три вида циклов нафиг не нужны и можно всё заменить одним. Вот у меня и вопрос, как заменить do-while без нагромождения костылей.
@MIT-js9we
@MIT-js9we Месяц назад
«Как фортран программист без внуков» Я тоже слышал о девушках в легендах, говорят, они и вправду существуют.
@TheLevius
@TheLevius 4 месяца назад
а как какать?
@dar1kje812
@dar1kje812 4 месяца назад
братан, хорош, давай, давай вперед, контент в кайф, можно еще, вообще в кайф!
@dv3148
@dv3148 4 месяца назад
Пустое это всё, суета. Займитесь делом
@Mercury13kiev
@Mercury13kiev 4 месяца назад
Циклы while, do/while и do/until (идеал - все три) - это три кита, связанных… с человеческим языком. Надо прикинуть устройство алгоритма на родном языке, а потом переписать на компьютерный. Когда do/until превращается в do/while по законам де Моргана, код может терять читаемость. Цикл for - это т.н. цикл со счётчиком. Да, это while, но он подразумевает пару новинок. 1) Завести при желании переменную-счётчик, которая будет жить в теле цикла и не уйдёт за его пределы. 2) Функция «+1» находится за пределами тела, чтобы можно было пользоваться оператором continue. Этот оператор в Си крайне мощен, но и ошибкоопасен. Цикл foreach - это тот же цикл for, покрывающий важный случай. 1) Коллекция сама знает, как её проходить. 2) Коллекцию нужно пройти целиком (возможно, выскочив из цикла где-то по дороге). 3) Сам счётчик не нужен, нужен только элемент. Когда случаи 2 и 3 не выполняются, кое-где сделали настоящую инверсию абстракции - foreach по диапазону. Использовать goto приходится, надо признаться. Правила хорошего тона - недалеко и вперёд, обычно для выхода из нескольких циклов.
@1234567qwerification
@1234567qwerification 4 месяца назад
А язык Perl написал лингвист, поэтому он ещё ближе к человеческому. И для выхода из вложенного цикла к break добавляется имя метки, которой помечен тот цикл, из которого выходить :)
@Mercury13kiev
@Mercury13kiev 4 месяца назад
@@1234567qwerification Выход из цикла по метке - это классное дело! Жаль, такого нет в Си с крестами.
@1234567qwerification
@1234567qwerification 4 месяца назад
@@Mercury13kiev может, добавят ещё :) (Туда уже такого надобавляли...)
@TheSnos15
@TheSnos15 26 дней назад
любой программист, а не блогер или выпукник курсов, прекрасно знает, что из цикла можно выйти в отличие от мап/редюс/фильтр/вок
@user-lf1ez2ln7h
@user-lf1ez2ln7h 4 месяца назад
мемолог видео - прекрасен
@user-tq2we2fp9t
@user-tq2we2fp9t 4 месяца назад
Братан хорош, топ контент, ДАВАЙ ЕЩЕ!!!!!
@Swyateg
@Swyateg 2 месяца назад
ГоуТу - это для меня кэшбек в детство, с ним я познакомился в Синкляр Бейсике...
@gitarre_spielen
@gitarre_spielen 4 месяца назад
Про второй итог: изпользуя map, filter и т.п., опираемся на самописные функции через def F(...) или функции сторонних библиотек.
@qwertyqwerty2854
@qwertyqwerty2854 4 месяца назад
Дейкстра, а не Дийкстра
@user-xs4ws1zp1e
@user-xs4ws1zp1e 4 месяца назад
Так, блэть, Я не понял. А куда потерялся НаЩ ЛюБиМеВщЫй "foreach" под обложкой "for"?!?!?!
@ispite
@ispite 4 месяца назад
он же пометил forin (foreach)
@user-rs7gv4fy7e
@user-rs7gv4fy7e 4 месяца назад
У пхпшников инфаркт жопы) Наш любимый забыли)
@SilentPrayerCG
@SilentPrayerCG 4 месяца назад
Он превратился в какой-то for in.
@KZVlad1
@KZVlad1 4 месяца назад
@@user-rs7gv4fy7e почему именно пхп? он не только там
@mr.e.a.8967
@mr.e.a.8967 4 месяца назад
А еще for of забыли, атата😢
@vasilevsky_a
@vasilevsky_a 4 месяца назад
5:57 Автор обкакунькался, вот тебе фор свифтовский, просто синтансис другой for i in 0..
@vasilevsky_a
@vasilevsky_a 4 месяца назад
(Да, я знаю что по сути идет проход по Range: Sequence интов, и это ближе к проходу по массиву чем к счетчику по семантике, но факт в том что конструкция есть и очень часто используется) просто разработчики языка не стали разделять фор на два типа, как forin и forof в джсе
@sleepyNovember_project
@sleepyNovember_project 4 месяца назад
Раньше в си плюсах можно было похоже писать, не знаю как с таким сейчас: for each (obj i in coll){} Сейчас актуален и работет такой синтаксис, например для перебора всей коллекции for (auto i : coll){} Так, к слову
@OlegTar
@OlegTar 4 месяца назад
только в сишном форе, я всё что угодно могу запихать в фор, хоть вызов функции: for (func1();func2(); func3())
@smag9095
@smag9095 7 дней назад
Смотрел пока не понял, пришлось посмотреть 574 раз.
@user-zx1ct5eg2w
@user-zx1ct5eg2w 4 месяца назад
Ты ещё забыл про отдельное чудо языка Rust: цикл loop. Это короче замена while true, чтобы избежать проверки истинность этого самого true, сделали цикл вообще без проверки, тупо бесконечный. И кстати разворачивается он в ассемблере именно в безусловные переходы.
@lolkek.supergut
@lolkek.supergut 4 месяца назад
А как правильно - одновременно или одновременно?
@user-ws3ql9gw7g
@user-ws3ql9gw7g 4 месяца назад
одновременно
@user-ik4ch7wl3l
@user-ik4ch7wl3l 4 месяца назад
у программистов правильно будет - паралелльно
@Zaborovnik
@Zaborovnik 4 месяца назад
Истина в любимом нами машинном языке, процессор имеет только функции перехода, которые могут быть либо безусловные, либо зависящие от статуса флажков последней операции, взаимодействующей с флагами. С их помощью реализуются как циклы, так и ветвления. Если мы говорим о первых, циклы можно реализовать как раз таки тремя способами, причем третий является разновидностью двух последних. 1) DO - пишется метка, потом исполняется «тело цикла», в котором существует команда, изменяющая состояние флажков, потом идёт команда перехода, зависящая от состояния последних (например, флаг нуля - результат функции вернул слово из нулей), выполнение условия заставит программу выполняться с метки, пока условие не будет нарушено, что позволит машине перейти на следующую строчку кода 2) WHILE - создается начальная метка, далее - команда условного перехода, ведущая на метку за телом цикла. Если условие не выполняется, машина будет выполнять следующий за командой перехода код, пока не дойдёт до метки безусловного перехода к начальной метке. 3) FOR - предварительно до первых двух блоков выделяется переменная, которой присваивается значение требуемого количества циклов, далее в теле цикла в конце мы пишем команду вычитания с изменением флажков, именно результат этой команды будет определять, как себя переведёт команда условного перехода. - Приблизительно так, если есть неточности, прошу в комментарии.
@user-bi4eo3ys1f
@user-bi4eo3ys1f 4 месяца назад
Вообще-то в машинном языке ещё есть вызовы подпрограмм и возвраты из них. А также вычисляемые косвенные переходы и косвенные вызовы подпрограмм. То есть возможен оператор case, не содержащий проверки условий, а одной командой переходящий на вариант исполнения ветки.
@sky1nax
@sky1nax 4 месяца назад
в расте из за особенностей удаления переменных чаще используется loop { ..break}
@user-tr8xi3ik3c
@user-tr8xi3ik3c 2 месяца назад
Golang использует во всех случаях только for
@Ais_Hunt
@Ais_Hunt 4 месяца назад
Люблю Я эти видосы от экстрим код, холивар ради холивара ))) Для больших и сложных коллекций методы расширения LINQ, для всего остального for и while, ну и do while для одаренных умом))) 🤡🤡🤡 Нужно мне как-то было обработать большой и длинный запрос для апи, который растягивался в несколько промежуточных, так вот там был единственный раз, когда мне пришлось заюзать do while. З.ы. Братан, хорош, давай, давай вперед! Контент в кайф, можно ещё? Вообще красавчик!
@Dmittry
@Dmittry 4 месяца назад
От того, что что-то используется редко, оно не становится "для одарённых умом".
@user-iw1ty8sk1v
@user-iw1ty8sk1v 4 месяца назад
Линк всегда был отличным способом положить золотой зион в сотку по всем ядрам. Эт да. Вопрос вообще целесообразности присирать в язык программирования общего назначения семантику реляционных СУБД в приниципе бесполезно обсуждать. Мое мнение - это еще хуже уровень гейства чем текущий из всех щелей ORM.
@user-gs5ku1et3n
@user-gs5ku1et3n 4 месяца назад
Вообще есть три способа выполнить переход: 1. jmp 2. call/ret 3. Прерывания
@nouai
@nouai 4 месяца назад
так и до r-value l-value дойти можно...
@sergeyshevelev4842
@sergeyshevelev4842 4 месяца назад
Мое мнение while использовать рискованно. Объибешься с условием получишь лупу (ровно такая же опа с until). For, forin более конкретные и отказоустойчивые. Кстати почему-то обошли строной foreach.
@aleksandrKR
@aleksandrKR 4 месяца назад
Прикольно. Пожалуй с этого видоса немногг начну погруженние в прграммирование. Не собираюсь становится прогером, каким либо, но для простой автоматизации какой то повседневки хорошо бы знать и понимать.
@argonpraim8974
@argonpraim8974 4 месяца назад
Прикол цикла while как ранее сказали ее потенциальная бесконечность выполнения до ошибки, а у for данный лимит по факту задан, есть 1 вариант его хакнуть, но очень высок шанс нарваться на ошибку.
@johntrucena4947
@johntrucena4947 4 месяца назад
for можно тоже сделать бесконечным вообще сам for довольно гибкий цикл, с ним можно работать вообще как угодно единственное, он без костылей ду вайл не заменит
@glek3197
@glek3197 4 месяца назад
Братан хорош давай вперед контент в кайф
@PersonalSmile69
@PersonalSmile69 4 месяца назад
я так понимаю курс по пограммированию от ЭкстримПанков уже начался, верно?
@Golyb_q
@Golyb_q 4 месяца назад
Что-то я не догнал с чего это "do-while" не нужон. Если замену while на for я еще могу как-то оправдать, мол это ``` for( ; /*условние*/ ; ) { // тело } ``` и это ``` while(/*условние*/) { // тело } ``` по сути одно и то же, то do-while будет просто не удобно реализовывать через for. Например такой код ``` do{ // попросить юзера ввести "5" }while(/*проверить ввел ли он 5*/) ``` Это можно сделать и через for конечно, но тогда так или иначе мы сделаем проверку условия перед тем как сделать первую итерацию цикла. Так же не очень понял как и зачем заменять for на while, ибо в таком случаи ``` int i = 0; while(i < 10) { // тело i++; } ``` переменная i будет доступна и вне цикла, при этом ее инициализацию в цикл не запихать - условие не пройдет
@user-bi4eo3ys1f
@user-bi4eo3ys1f 4 месяца назад
А если всю эту конструкцию засунуть в ещё одни фигурные скобки?
@Golyb_q
@Golyb_q 4 месяца назад
@@user-bi4eo3ys1f это сработает, область видимости ограничится) однако по мойму легче все же будет юзать for когда нужен for, а do-while когда нужен do-while)
Далее
아이스크림으로 체감되는 요즘 물가
00:16
Who has won ?? 😀 #shortvideo #lizzyisaeva
00:24
Просмотров 2,1 млн
Все Фронтендеры - СВЕРХЛЮДИ
8:15
Ты должен писать плохой код
10:41
Как удержаться в АйТи
8:18
Просмотров 98 тыс.
Игровой Комп с Авито за 4500р
1:00
Так ли Хорош Founders Edition RTX 4080 ?
13:00
ИГРОВОВЫЙ НОУТ ASUS ЗА 57 тысяч
25:33