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

Поділитися
Вставка
  • Опубліковано 1 лис 2024

КОМЕНТАРІ • 765

  • @ExtremeCode
    @ExtremeCode  8 місяців тому +11

    Братан, хорош, давай подпишись на наш Telegram канал, мы там байки и кулстори травим
    🖤 t.me/extremecode
    А для бустеров у нас есть эксклюзивный контент: boosty.to/extremecode

    • @LithiumDeuteride-6
      @LithiumDeuteride-6 8 місяців тому

      Реально, есть только cycle(){...} а какой цикл уже по контексту.
      cycle(a

    • @101picofarad
      @101picofarad 4 місяці тому

      В матлабе for используется для автоматического расщепления на параллельные потоки. Если прогер не пытается изобразить из фора вайл, то компилятор сам раскидает итератор по ядрам и соберет обратно в вектор ответа. А если прогер тупит, то ткнет его носом и скажет что этот кот он параллелить не будет по вот такой причине.

  • @ГенералАрмагеддон-о8х
    @ГенералАрмагеддон-о8х 8 місяців тому +1225

    Программирую 10 лет. Сегодня впервые узнал про циклы! Топ контент!

    • @user-qwc4yy3xs7d
      @user-qwc4yy3xs7d 8 місяців тому +124

      Вот они nocode программисты

    • @myriaxont
      @myriaxont 8 місяців тому +18

      Сразу видно - ФП-шник.

    • @АндрейКучма-д9ю
      @АндрейКучма-д9ю 8 місяців тому +10

      Ска... я завис. Не могу понять.. Хочу ли я это развидеть??

    • @ildar5552
      @ildar5552 8 місяців тому +131

      10 лет программирую на 1с. Сегодня впервые узнал, что есть ещё и другие языки программирования! Топ контент!

    • @Tdmmilestone
      @Tdmmilestone 8 місяців тому +5

      Какие еще циклы? 😳

  • @i-am-ultra
    @i-am-ultra 8 місяців тому +268

    Далее в программе: видео о ide, видео о переменных, видео о условных операторах

    • @bullinchik
      @bullinchik 8 місяців тому +8

      А видео о переменных уже есть, смотрите на канале

    • @i-am-ultra
      @i-am-ultra 8 місяців тому

      @@bullinchik программирование для маленьких и тупых вернулось, но в этот раз для ещё более маленьких и ещё более тупых

    • @whyyyyyyyyyyyyyyyyyyyyyyyyyyry
      @whyyyyyyyyyyyyyyyyyyyyyyyyyyry 8 місяців тому +3

      Скоро доберемся до списков... а там через кордан и в вывод/ввод данных и на свободу

    • @evgeniygorkaviy4690
      @evgeniygorkaviy4690 8 місяців тому +2

      О фишках Windows, о которых мы не знали.

    • @neveryirosold3958
      @neveryirosold3958 8 місяців тому

      ​@@bullinchik😅

  • @_aDeer_
    @_aDeer_ 8 місяців тому +315

    жду следующий видос про основу всего программирования - про комментарии в коде

    • @EvgenOl
      @EvgenOl 8 місяців тому +27

      Особенно про те, удаление которых крашит код :)

    • @BeDb_MeDb
      @BeDb_MeDb 8 місяців тому +3

      А че, еще и комментировать можно было?:-D

    • @juke_crusader
      @juke_crusader 8 місяців тому +10

      Уже пять лет жду видео о том, как компилировать мой код на пайтоне (я пишу в блокноте)

    • @evgeniygorkaviy4690
      @evgeniygorkaviy4690 8 місяців тому +1

      Комментарии - зло. Код надо документировать.

    • @kexforlecture
      @kexforlecture 8 місяців тому +1

      И про документирование кода!
      (summary)

  • @chuprikovs30
    @chuprikovs30 8 місяців тому +105

    Голосом Линдемана: "Do... Do While... Do While For..."

  • @tozpeak
    @tozpeak 8 місяців тому +280

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

    • @Sunr1sen2
      @Sunr1sen2 8 місяців тому +9

      С языка снял

    • @BeDb_MeDb
      @BeDb_MeDb 8 місяців тому +19

      К циклам я претензий не имею. Тот же repeat например и пр. А вот к их использованию, когда человек явно должен просто по всем элементам пройтись без создания нового списка измененных значений (привет люди которые считают, что map ровно такой же а то и быстрее forEach) они есть. Собственно, если это есть, значит кому-то оно было нужно и либо ты не столкнулся с местом где это нужно, либо не понимаешь/чувствуешь концепцию. Мы же сами заложники привычек. Неявно читаемую идею, что хватит вносить в языки на каждый чих оббертку - поддерживаю. Потом в таком лесу состаришься. В общем идей в видосе много, но тема сисек не раскрыта.

    • @evgeniygorkaviy4690
      @evgeniygorkaviy4690 8 місяців тому +3

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

    • @azhonoredground9855
      @azhonoredground9855 8 місяців тому +2

      Это прямо как с неявной типизацией через var. Вроде функционально тоже самое что и явная, а при проверке приходится после этого искать источник и во что он конвертируется

    • @hunterofthedemon
      @hunterofthedemon 8 місяців тому +1

      Здарова Свен ​@@Sunr1sen2

  • @ulysses.apokin
    @ulysses.apokin 8 місяців тому +65

    "Все держится на циклах"
    Haskell: 😮😮

    • @redofficiale
      @redofficiale 8 місяців тому

      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 7 місяців тому +2

      Топ 10 комерческих програм на хаскеле.

  • @merovingen4546
    @merovingen4546 8 місяців тому +48

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

    • @chakchaky8521
      @chakchaky8521 8 місяців тому

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

    • @ТеодеусМорисон
      @ТеодеусМорисон 8 місяців тому

      ​@@chakchaky8521машина использует goto. Цикл for/while вам даёт транслятор в псевдокод после дизассемблирования, чтобы читать было удобнее.

  • @extradip8587
    @extradip8587 8 місяців тому +152

    Вообще ни о чем видео, претензия к for и другим операторам просто идиотская: "давайте вместо простых и понятных операторов для определенных ситуаций всегда использовать один и тот же и костылями его приводить к тому, от чего мы отказались, чтобы ну это самое ну просто"; про goto тезиса никакого не увидел, просто упомянулся зачем-то; а "не используйте коллекции в качестве циклов" просто невероятная мысль. Ни развлекательный, ни познавательный и не контент. Мусор

    • @AlexandroLavichez
      @AlexandroLavichez 8 місяців тому +29

      Согласен, автор дегенерат

    • @rebrov_vyacheslav
      @rebrov_vyacheslav 8 місяців тому +27

      @@AlexandroLavichez скорее провокатор, вкидывая очевидную дичь, пытается накрутить комментов.. как видим даже чутка получается

    • @chakchaky8521
      @chakchaky8521 8 місяців тому +1

      Да, соглашусь тут... До гото докатился автор... Я с гото начинал... действительно полная дичь...но её уже нету лет так 20.

    • @Бальбулий
      @Бальбулий 8 місяців тому +8

      видос только для того чтобы вставить рекламу гайс вы шо не поняли?

    • @MrChelovek68
      @MrChelovek68 8 місяців тому +2

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

  • @iii8176
    @iii8176 8 місяців тому +43

    10 лет писал на двоичном коде, впервые узнал о циклах!! топ контент.

  • @michaelinuente92
    @michaelinuente92 8 місяців тому +57

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

    • @ЮраН-ь2к
      @ЮраН-ь2к 8 місяців тому +4

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

    • @michaelinuente92
      @michaelinuente92 8 місяців тому

      @@ЮраН-ь2к какой ещё "рисуемости"? :) тогда уже "диаграммности" :) и "читабельность" предполагает "исправляемость" :)

    • @michaelinuente92
      @michaelinuente92 8 місяців тому

      @@ЮраН-ь2к к слову о "диаграммости", во времена Рюрика действительно писали мега методы, кои монахи изображали в виде диаграмм.
      но после изобретения Калашникова за попытку написания сходных трактатов программист получает с вертушки в ухо.
      больше двух "if" - расстрел. поэтому диаграмм на методы не рисуют :)

  • @falser20
    @falser20 8 місяців тому +35

    Круто, теперь можно снять про переменные, ссылки и обязательно покуракерать, что в моем любимом петухончике нет констант

    • @TheTheMrkpyt
      @TheTheMrkpyt 8 місяців тому +1

      Возникает философский вопрос, а есть ли в C# константы, если в нём так развито мето программирование и рефлексия

    • @ankagris4689
      @ankagris4689 8 місяців тому

      Так есть видос про переменные

    • @falser20
      @falser20 8 місяців тому

      @@ankagris4689 там нет заглядывания внутрь до уровня регистров в ассемблере или работы с указателями как в C. А ведь это база

    • @КузькинДима
      @КузькинДима 8 місяців тому

      Можно сделать свой класс или стандартно через pip install

    • @qwertymangames1800
      @qwertymangames1800 8 місяців тому

      В петухончике нет классического цикла for, так как он работает по логике foreach ВСЕГДА. И соответственно бесконечного цикла на нём не сделать тоже.

  • @AIFT_Staff
    @AIFT_Staff 8 місяців тому +20

    о, спустя 6 часов после выхода видео переименовал его, до этого оно называлось "Кривая основа всех языков программирования"

    • @hollow.one.w
      @hollow.one.w 8 місяців тому

      Ну надо кликбейтить, это же ютуб

    • @ankagris4689
      @ankagris4689 8 місяців тому +1

      Этого никогда не было. Видео всегда называлось так

    • @hollow.one.w
      @hollow.one.w 8 місяців тому

      @@ankagris4689 ну и как теперь верить людям...

  • @fordin3726
    @fordin3726 8 місяців тому +55

    Братан, хорош, давай, давай вперед! Контент в кайф, можно ещё? Вообще красавчик!

    • @MrReadManiac
      @MrReadManiac 8 місяців тому +12

      Можно вот этого вот почаще?

    • @dandyhorsse
      @dandyhorsse 8 місяців тому +1

      Давайте, пока!

    • @anon_commentator
      @anon_commentator 8 місяців тому +4

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

  • @СергейКураев-в2з
    @СергейКураев-в2з 8 місяців тому +15

    Жаль автор не в курсе но на уровне железа цикл FOR реализуется командой LOOP, а While и прочее реализуется методом JMP (это аналог GOTO на ассемблере), тут я говорю про архитектуру х86, цикл FOR везде тащат из-за того что у него есть своя аппаратная реализация.

    • @gunsncodes6665
      @gunsncodes6665 4 місяці тому +3

      И что быстрее? Loop или jmp?

    • @СергейКураев-в2з
      @СергейКураев-в2з 4 місяці тому

      @@gunsncodes6665 команда loop за такт выполняет уменьшение счетчика на единицу, сравнение, и переход на нужный адрес кода, jmp выполнит только переход, вам нужен еще такт чтобы выполнить уменьшение счетчика и еще один чтобы выполнить сравнение, а еще что то подсказывает мне что конвейер будет быстрее работать с loop

    • @amogus6002
      @amogus6002 3 місяці тому

      @@gunsncodes6665 Гениально, задавать вопрос спустя четверть года

    • @ardni1
      @ardni1 3 місяці тому +1

      А что блин значит на уровне железа? Loop это ассемблер команда и есть. Да только for в нормальных яхыках (всех) никогда не детерминирует условие окончания как значение счетчика, там не всегда как бы счетчик, допускается любое условие. И поэтому реализовать такое можно только проверкой и прыжком

    • @СергейКураев-в2з
      @СергейКураев-в2з 3 місяці тому

      @@ardni1 значит то что процессор за так уменьшит значение счетчика, проведет сравнение с нулем и выполнит JMP, и как раз нормальные языки ориентированные на железо всегда приводят for к каноническому виду, когда счетчик начинается с N и заканчивается на 0, попутно перестраивая все индексы внутри цикла чтобы сохранить логику

  • @froller
    @froller 5 місяців тому +4

    За 25 лет в профессии я нашел только одно годное применение для goto: вываливаться из матрешки вложенных циклов куда-то поближе к return, чтобы по-бырому подчистить хвосты и вернуть наверх ошибку.
    Любой, считающий что следует использовать флаг ошибки и проверять его в десятке мест, может добровольно катапультироваться из окна.

  • @RusSaboteur
    @RusSaboteur 8 місяців тому +15

    Рекурсия где?! Где рекурсия я спрашиваю?! Функциональное программирование для кого изобрели, м?
    Все циклы можно реализовать рекурсией. Все циклы - синтаксичечкий сахар. Change my mind

    • @daiske2867
      @daiske2867 8 місяців тому +2

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

    • @RusSaboteur
      @RusSaboteur 8 місяців тому

      @@daiske2867 scala?

    • @СлавныйЛехаОбломов
      @СлавныйЛехаОбломов 8 місяців тому +5

      Все циклы можно реализовать переставляя поинтер на стеке, come on

    • @arhitutorials
      @arhitutorials 8 місяців тому

      Респект братан! Рекурсию то забыли бородатые синьоры)

    • @Senteggo
      @Senteggo 8 місяців тому +1

      Все функции в целом - синтаксический сахар. Change my mind

  • @progressive_agriculture
    @progressive_agriculture 8 місяців тому +11

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

    • @СлавныйЛехаОбломов
      @СлавныйЛехаОбломов 8 місяців тому

      В чем проблема современных ЯП? Если в python/js всё объект - это не проблема языка. А проблема того кто использует голый for для многомерных массивов в том же python

    • @progressive_agriculture
      @progressive_agriculture 8 місяців тому

      @@СлавныйЛехаОбломов а Вы с какой целью его применить собираетесь? Каждый инструмент хорош для своего дела. И Python без библиотек написанных на с/с++ ни чем ни лучше старого basic. А реализовать на с++ любые списки и коллекции - ни каких проблем.

    • @АлександрСоловьев-ю9ц2к
      @АлександрСоловьев-ю9ц2к 8 місяців тому

      @@СлавныйЛехаОбломов > Если в python/js всё объект - это не проблема языка
      Угу, проблема лишь в том что это проблема рантайма этого языка.

  • @zmirk
    @zmirk 8 місяців тому +11

    Да я с помощью GOTO 23 года назад первую игру написал на бэйсике... ээх, были времена.

    • @SilentPrayerCG
      @SilentPrayerCG 8 місяців тому +1

      Еще go sub был, но он уже забыт... (наверное, я хз на самом деле)

    • @ЮраН-ь2к
      @ЮраН-ь2к 8 місяців тому

      @@SilentPrayerCG Ну, это вызов подпрограмм в бейсике. Как в PL/1 CALL , или в фортране. Люди тогда ещё не догадывались, что вызывать подпрограммы можно просто по их имени, а не специальным оператором.

    • @SilentPrayerCG
      @SilentPrayerCG 8 місяців тому

      @@ЮраН-ь2к я знаю что это, я к тому что, не уверен остался ли этот рудемент в каких-то современных языках или нет. В vb его уже нет.

  • @EvgenOl
    @EvgenOl 8 місяців тому +6

    Ну коли три вида цикла не нужны, и ты предлагаешь оставить только 1, то пошли дальше. Давай уберём все! Ведь их легко заменяет goto. А потом и его отменим и пересядем все на ассемблер :)

    • @mokaakasia4636
      @mokaakasia4636 8 місяців тому +1

      Базу выдал. Предлагаю еще отметить конструкции try catch , if , вызов функций , так как они тоже по факту оболочка для goto. Ну ладно , нужны еще условные переходы типа jnz, но это не важно.

  • @xumpocmb-404
    @xumpocmb-404 4 місяці тому +1

    Братан, хорош, давай, давай вперед! Контент в кайф, можно ещё? Вообще красавчик!

  • @grifon187
    @grifon187 5 місяців тому +1

    -насколько идиотское видео вы хотите?
    -да

  • @uselessevgeny3726
    @uselessevgeny3726 8 місяців тому +8

    Братан, хорош, давай, давай вперед! Контент в кайф, можно ещё? Вообще красавчик! Можно вот этого вот почаще?

  • @herman2lv
    @herman2lv 8 місяців тому +9

    А куда скидывать деньги на лечение?

  • @komillermaster6821
    @komillermaster6821 8 місяців тому +4

    В питоне, for в привычном понимание не существует, он перебирает итерируемые объекты)

    • @SklerozRu
      @SklerozRu 8 місяців тому

      for each по сути

  • @KolyaUdav
    @KolyaUdav 8 місяців тому +2

    КАК ЛИД СКАЗАЛ, ТАК ДЕЛАТЬ И БУДЕМ, МЫ НА ИСПЫТАТЕЛЬНОМ СРОКЕ. НЕ ЕБИ ГОЛОВЫ

  • @aywanbr
    @aywanbr 8 місяців тому +5

    В golang только for, в котором прячется for и while. В erlang только рекурсия, тема которой требует отдельного видоса. Так что нужно больше контента

    • @Rezedent12
      @Rezedent12 8 місяців тому +1

      А ещё range для перебора коллекций.

  • @raztarg4adchadov914
    @raztarg4adchadov914 8 місяців тому +2

    Бро. Красавчик, ещё побольше такого контента. Благодарю за информацию!!!

  • @dolsha
    @dolsha 8 місяців тому +3

    Братан, хорош! Давай вперёд! Контент в кайф! Можно ещё? Ваще красавчик!

  • @НиколайМорозов-ы1э
    @НиколайМорозов-ы1э 8 місяців тому +4

    До этого видео использовал в коде только мотоциклы. Спасибо вам!

  • @WounderVaflel
    @WounderVaflel 8 місяців тому +13

    Ничего себе, это что, образовательный контент?!!

  • @ВладимирВоробьев-е6о
    @ВладимирВоробьев-е6о 8 місяців тому +23

    Сишный for был создан для компьютера с 8 килобайтами памяти. Это PDP-7 и UNIX. Памяти у Юникса было как обрывок чека в туалете, поэтому у for в языке C такой странный синтаксис.

    • @alexf3289
      @alexf3289 8 місяців тому +25

      Что в нём странного? О_о

    • @No0ne4ik
      @No0ne4ik 8 місяців тому +13

      Человек фигню написал, в C for самый нормальный, там явно указана инициализация переменной, изменение и проверка перехода.

    • @SilentPrayerCG
      @SilentPrayerCG 8 місяців тому

      Вот почему в спектумовском бейские тоже фор есть.. там-же тоже памяти ровно на стикер на котором размер трусов печатают.

    • @ulysses.apokin
      @ulysses.apokin 8 місяців тому

      @@No0ne4ik в чистом Си в for нельзя инициализировать переменную. Напоминаю, что присвоение и инициализация - это две абсолютно разные операции.

    • @ВладимирВоробьев-е6о
      @ВладимирВоробьев-е6о 8 місяців тому

      @@SilentPrayerCG В Спектруме памяти на порядок больше чем у UNIX. Одно ПЗУ Синклера в два раза больше чем вся оперативная память Юникса. Достаточно чтобы использовать человеческий оператор FOR, а не эту кастрированную замухрышку. Ну и как итог, сколько Синклеров продали? А на скольких компах Юникс поставили за то же время? 30 (тридцать штук).

  • @scad_
    @scad_ 7 місяців тому +1

    По поводу goto описано в "Чистая архитектура" Роберта Мартина. Не новость.
    Но я не могу сказать, что цикл while и for взаимозаменяемы. Автор же сам говорит, что в while не известно количество итерации, а в for известно. В этом и разница концептуального подхода. На том же python можно сделать просто while True и цикл будет крутится бесконечно

  • @-Sergey
    @-Sergey 8 місяців тому +3

    Ребята, которые "Братан, хорош, давай, давай, вперёд! Контент в кайф". Ну включите же голову, напишите что-нибудь от себя. Ну тоска же под каждым видео одинаковые комментарии читать.

    • @letburnit5017
      @letburnit5017 8 місяців тому +6

      Ребята, которые "Братан, хорош, давай, давай, вперёд! Контент в кайф". Ну включите же голову, напишите что-нибудь от себя. Ну тоска же под каждым видео одинаковые комментарии читать.

    • @Dyxacm
      @Dyxacm 8 місяців тому +2

      Ребята, которые "Братан, хорош, давай, давай, вперёд! Контент в кайф". Ну включите же голову, напишите что-нибудь от себя. Ну тоска же под каждым видео одинаковые комментарии читать.

    • @АлександрЛебедев-д7п6ю
      @АлександрЛебедев-д7п6ю 8 місяців тому

      Ребята, которые "Братан, хорош, давай, давай, вперёд! Контент в кайф". Ну включите же голову, напишите что-нибудь от себя. Ну тоска же под каждым видео одинаковые комментарии читать.

  • @nnnvrmnd
    @nnnvrmnd 8 місяців тому +5

    Братан, хорош! Давай давай вперед! Контент кайф, можно ещё? Вообще красавчик. Можно вот этого вот почаще? Давайте, пока!

  • @fahrenheit1863
    @fahrenheit1863 8 місяців тому +9

    Я вообще не программист, случайно увидел видос. Но разве под капотом у map, reduce и filter не цикл или goto - jmp? Еще вроде как можно зациклить код рекурсией, или это другое?
    А разве под капотом операторов for и while не используется тот самый goto - jmp?

    • @progressive_agriculture
      @progressive_agriculture 8 місяців тому +6

      Циклы - надстройка над ассемблером, или машинными кодами. Логика циклов языков высокого уровня в том, что у него фиксированный вход в начале и фиксированный выход в конце. Прервать breake можно, но все равно попадаешь в конец цикла. А эмуляция цикла через goto позволяет с любого места отправиться в любое, причем, хоть из середины одного "цикла" в середину другого "цикла". Использование for и while и отказ от goto позволяет избежать таких косяков. Чтоб не плодить ошибки.

    • @Senteggo
      @Senteggo 8 місяців тому +4

      понятное дело, что циклы под капотом у map, reduce и тд, и вероятно goto под капотом у циклов, к чему ты это написал? А про рекурсию - странно, что автор видео про нее не вспомнил

    • @shatalinator
      @shatalinator 8 місяців тому +2

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

    • @dmitrii-329d
      @dmitrii-329d 8 місяців тому

      В том же лиспе нет циклов, но есть хвостовая рекурсия, если мне не изменяет память

    • @РоманСмородов-л2в
      @РоманСмородов-л2в 8 місяців тому +2

      Рекурсия-зло, пару тысяч раз рекурсия сработает и бам: стекоферфлоу

  • @AndreyKauf
    @AndreyKauf 4 місяці тому

    Очень часто
    For-ом ты можешь за один проход сделать все преобразования, что тебе нужны, а map-reduce ом ты будешь два раза гонять.
    Это может быть быть не критично, если коллекция маленькая, но на больших уже будет заметно.
    Тут у нас получается трейдофф между элегантностью кода и его скоростью

  • @vovka_goodwin
    @vovka_goodwin 8 місяців тому +8

    В го вообще один цикл на все случаи жизни :D

  • @vanyasotnikoff6024
    @vanyasotnikoff6024 7 днів тому

    У меня есть предположение, что у была такая история: вместо опасного goto создали структурированный механизм циклов - while. Потом поняли, что в некоторых случаях удобно писать условие в конце - добавили do while. А еще поняли, что очень часто встречается специальный случай циклов, а именно - итерации по последовательностям. Добавили for. По ходу решили немного расширить возможности for... За все это время все привыкли к этой троице и это стало неким стандартом.

  • @dimankan
    @dimankan 8 місяців тому +3

    Фига себе. Я начал изучать си шарп 3 года назад по плейлистам для маленьких и тупых, думал что много уже чего увидел и прочитал, "repeat:" и "goto repeat", я ещё не видел. думаю надо как-нибудь использовать и взорвать кому-нибудь жёпку:)

    • @evgeniygorkaviy4690
      @evgeniygorkaviy4690 8 місяців тому +2

      Главное себе не взорвать такой миной.

    • @АлександрЛебедев-д7п6ю
      @АлександрЛебедев-д7п6ю 8 місяців тому

      Ну, если там, где ты работаешь, нормально поставлены процессы, то твой код обосрут на код ревью и просто просто отклонят пока не перепишешь. И скорее всего будут правы: самое удобное что можно на них сделать - быстрый выход из многоуровнегого цикла. Либо свою упоротую версию try-catch.
      Все остальное прекрасно заемняется условиями, циклами либо вынесением в отдельную функцию. А компилятор еще и оптимизаций докинет сверху.

  • @Константин-й5ы5б
    @Константин-й5ы5б 8 місяців тому +3

    Согласен со всем, кроме того, что сахар - плохо (в меня полетят камни, и да, я питонист).
    Ну в чем проблема двух вариаций вайла? Заботой о "новичках" можно пренебречь, к этому привыкнуть за 2-3 issue можно.
    Но это же очень круто, что можешь писать так, как хочешь (и вот не надо говорить, что питон кринж, у меня на js 6 микросервисов написано, на плюсах год работал, работаю хардкорно под unix'ом, а вторая работа - анализ yocto и biuldroot, так что я разного наелся за профессиональную жизнь)))
    Но вот в чем проблема сахара? Ну окей, новичку не понятны правила игры - учись и станут понятны. Но программисту, который не хочет драться с ЯП за организацию каких-то базовых приколов... Ну вот хочу писать фор, пишу, хочу писать вайл, пишу, хочу работать с множествами, фроузен множествами, словарями, списками, массивами, деревьями - я с помощью сахара это делаю по щелчку пальцев, как и множественные перегрузки и обилия самоподобных синтаксических конструкций. Просто как будто тема ради темы)))
    С логикой отказа от сахара или его сокращением можно опять перейти на ассемблер 😐

    • @ДмитрийРоманов-е1з
      @ДмитрийРоманов-е1з 8 місяців тому

      Чет мне кажется там про сахар так плохо не говорили.

    • @Константин-й5ы5б
      @Константин-й5ы5б 8 місяців тому

      @@ДмитрийРоманов-е1з ну как бы да, но я считал посыл из серии, что надо уходить от самоподобных конструкций и тд.
      Я немного обобщил пример 🙂

    • @ДмитрийРоманов-е1з
      @ДмитрийРоманов-е1з 8 місяців тому

      @@Константин-й5ы5бЭдак мы массивы на словари заменим ))

    • @user-vladislav7
      @user-vladislav7 8 місяців тому

      Раз уж вы питонист, можно вам задать вопрос, какого xepa у вас в языке list это не список, а динамический массив? Я просто ранее изучал С и С++ с ассемблером и когда недавно увидел list[2] на питоне удивился, что там оператор индексирования для списка используется. Начал гуглить и обнаружил, что в питоне это не список...

    • @Константин-й5ы5б
      @Константин-й5ы5б 8 місяців тому

      @@user-vladislav7 я бы не был так уверен, что это чистый динамический массив. Я интересовался этим вопросом минут 20 полгода назад и у меня сложилось впечатление (возможно я хотел, чтобы оно у меня такое сложилось 🙂), что там развернутый список на базе массивов, то есть элементом списка является массив грубо говоря, и эти массивы связаны в список, в котором и адресация индексная работает и в целом меньше приколов с аллокацией памяти, потому что для расширения достаточно просто слтнковать ещё один массив в конец, но супер не уверен, в этом, я не смог найти нормальную литературу по этому поводу. Буду рад, если поделитесь материалом, на базе какой структуры реализован list в python

  • @tohoto2183
    @tohoto2183 8 місяців тому +5

    Честно говоря так и не понял ,что хотели сказать ExtremeCode . Они имели ввиду циклы вообще или только определенного языка?

    • @MrCter
      @MrCter 8 місяців тому +26

      не стоит искать смысл там, где его нет ) главное - реклама есть

    • @OlegTar
      @OlegTar 8 місяців тому

      циклы вообще

    • @paztwel
      @paztwel 8 місяців тому

      Речь идёт про циклы при работе с массивами.
      Вообще это бред высосанный из пальца.

  • @CultureofSpeech
    @CultureofSpeech 4 місяці тому

    Чудесно звучит 🎉 а когда будет рассказ про критическое мышление ?

  • @Torn_Shoe
    @Torn_Shoe 8 місяців тому +2

    for нужно потому-что не всегда он должен начинаться с 0, может нам нужно выбрать что-то начиная с 1 элемента, а не с 0, поэтому не всегда его можно превратить просто в while (i < 5) как в примере

    • @two_choices
      @two_choices 8 місяців тому

      Ничего тебе не мешает сделать for(int i =1 ...) и цикл начнется с единицы

    • @Torn_Shoe
      @Torn_Shoe 8 місяців тому

      @@two_choices так я ж поэтому и говорю что нельзя все заменить на while как делает компилятор потому-что каждый цикл служит своей цели.

    • @Dmittry
      @Dmittry 8 місяців тому

      @@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 8 місяців тому

      ``У меня другой вопрос, как заменить do-while без костылей с дополнительной переменной isFirstRun?``
      а в чём проблемам собственно?

    • @Dmittry
      @Dmittry 8 місяців тому

      @@OlegTar А в чём проблема с do-while собственно? В ролике рассказывается, что три вида циклов нафиг не нужны и можно всё заменить одним. Вот у меня и вопрос, как заменить do-while без нагромождения костылей.

  • @НикитаБойков-ж2я
    @НикитаБойков-ж2я 8 місяців тому +1

    Коты забрали всё внимание, пришлось пересматривать)

  • @DeadnWoon
    @DeadnWoon 4 місяці тому

    Существует ещё, к примеру, loop (количество повторов).

  • @ДмитрийБутырин-ж9н
    @ДмитрийБутырин-ж9н 8 місяців тому

    Братан, хорош, давай, давай, вперёд! Контент в кайф, можно ещё? Вообще красавчик! Можно вот этого вот почаще?

  • @АлексейАнтонов-п7ц
    @АлексейАнтонов-п7ц 8 місяців тому

    Братан, хорош, давай, давай вперед! Контент в кайф, можно ещё? Вообще красавчег!

  • @AmpiroMax
    @AmpiroMax 3 місяці тому

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

  • @dv3148
    @dv3148 8 місяців тому +3

    Пустое это всё, суета. Займитесь делом

  • @alevyts3523
    @alevyts3523 3 місяці тому

    Для описания итеративного процесса не нужны специальные циклические конструкции вроде do, repeat, until, for и while. Если реализация языка поддерживает хвостовую рекурсию, то итерацию можно выразить с помощью обыкновенного механизма вызова функций, так что специальные циклические конструкции имеют смысл только как синтаксический сахар.

  • @Mercury13kiev
    @Mercury13kiev 8 місяців тому +2

    Циклы 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 8 місяців тому

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

    • @Mercury13kiev
      @Mercury13kiev 8 місяців тому +1

      @@1234567qwerification Выход из цикла по метке - это классное дело! Жаль, такого нет в Си с крестами.

    • @1234567qwerification
      @1234567qwerification 8 місяців тому

      @@Mercury13kiev может, добавят ещё :)
      (Туда уже такого надобавляли...)

  • @petrhelbin8183
    @petrhelbin8183 8 місяців тому +1

    я уже 5 минут смотрю как мышь крутится на проволоке на 0:47 и не могу сдвинуться дальше, я нашел свой цикл в этом видео

  • @vesh95
    @vesh95 5 місяців тому

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

  • @ДаняСолоди
    @ДаняСолоди 8 місяців тому +4

    В прологе вообще нет никаких циклов, там работает машина поиска с возвратом, довольно мощная штука

    • @chakchaky8521
      @chakchaky8521 8 місяців тому

      Безсмысленная дичь.

    • @ЮраН-ь2к
      @ЮраН-ь2к 8 місяців тому

      И очень медленная. Помнится, в начале 90-ых была игра "преферанс", написанная на прологе. Так иногда приходилось по 20 минут ждать очередного хода.

  • @rar24
    @rar24 8 місяців тому +33

    когда видос про энвелоуп

    • @ПашаИвлев
      @ПашаИвлев 8 місяців тому +1

      Комент в топ!!

    • @Никита-п1й8й
      @Никита-п1й8й 8 місяців тому +3

      Давно интересует эта тема, но в интернете никак не могу найти толкового гайда

  • @Debuffometh
    @Debuffometh 8 місяців тому +7

    Искала видео про месячные, а тут какой-то мужик втирает мне какую-то дичь про циклы 😮

    • @reteavstudio
      @reteavstudio 8 місяців тому

      Зато как втирает

    • @ЮраН-ь2к
      @ЮраН-ь2к 8 місяців тому

      А я пытался выяснить в интернете, сколько у кошки сисек. Оказалось, непросто сформировать правильный запрос.

  • @ЧеловексТопором
    @ЧеловексТопором 6 місяців тому +1

    Golang использует во всех случаях только for

  • @TheSnos15
    @TheSnos15 4 місяці тому +1

    любой программист, а не блогер или выпукник курсов, прекрасно знает, что из цикла можно выйти в отличие от мап/редюс/фильтр/вок

  • @Raspredval1337
    @Raspredval1337 8 місяців тому +8

    нам этот ваш цикул и совсем не нужон, даешь рекурсию 😎 🤡

    • @gameworld7650
      @gameworld7650 4 місяці тому

      И твой компутер взрывает ся 🎉🎉🎉

  • @_curtman
    @_curtman 8 місяців тому +4

    Я не понял, а о чём видос то?

    • @paztwel
      @paztwel 8 місяців тому

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

  • @ani_sci
    @ani_sci 4 місяці тому

    После изучения Ассемблера в колледже, для меня все ЯП высокого уровня довольно странные. Хотя Erlang тоже было интересно поизучать.

  • @No0ne4ik
    @No0ne4ik 8 місяців тому +1

    Вообще есть три способа выполнить переход: 1. jmp 2. call/ret 3. Прерывания

    • @nouai
      @nouai 8 місяців тому

      так и до r-value l-value дойти можно...

  • @qskyisover8153
    @qskyisover8153 4 місяці тому

    - Зачем наплодили аж 3 вида циклов?
    Тем временем Go:

  • @kalmanjudin1336
    @kalmanjudin1336 8 місяців тому +2

    Чел вставил рекламу и прочитал определения циклов😢. Класс!😮 А можно потом про базовые принципы ооп?😊 Спасибо!❤❤❤

    • @mn4840
      @mn4840 8 місяців тому +1

      ...и приправил всё это отборными мемчиками )

  • @2009Spread
    @2009Spread 8 місяців тому

    самое зачетное из видоса - это место рекламы :)

  • @AlexShataev
    @AlexShataev 8 місяців тому +4

    Минуточку! ✋Вы спецификацию циклов читали вообще или нет?

  • @ktoto4940
    @ktoto4940 5 місяців тому

    for позволяет использовать счетчик процессора вместо переменной, что повышает производельность.

  • @AwowerX
    @AwowerX 3 місяці тому

    В DarkBasicPro есть основной цикл Do-Loop. И если внутри (а это необходимо) использовать циклы while, do/while до игра будет лагать жёстко. Поэтому без for в DarkBasic нельзя заменить while и do/while. Специально написал комментарий чтобы постучать со дна, Basic самый лучший язык в мире.

  • @Golyb_q
    @Golyb_q 8 місяців тому +1

    Что-то я не догнал с чего это "do-while" не нужон. Если замену while на for я еще могу как-то оправдать, мол это
    ```
    for( ; /*условние*/ ; ) {
    // тело
    }
    ```
    и это
    ```
    while(/*условние*/) {
    // тело
    }
    ```
    по сути одно и то же, то do-while будет просто не удобно реализовывать через for. Например такой код
    ```
    do{
    // попросить юзера ввести "5"
    }while(/*проверить ввел ли он 5*/)
    ```
    Это можно сделать и через for конечно, но тогда так или иначе мы сделаем проверку условия перед тем как сделать первую итерацию цикла. Так же не очень понял как и зачем заменять for на while, ибо в таком случаи
    ```
    int i = 0;
    while(i < 10) {
    // тело
    i++;
    }
    ```
    переменная i будет доступна и вне цикла, при этом ее инициализацию в цикл не запихать - условие не пройдет

    • @ЮраН-ь2к
      @ЮраН-ь2к 8 місяців тому

      А если всю эту конструкцию засунуть в ещё одни фигурные скобки?

    • @Golyb_q
      @Golyb_q 8 місяців тому

      @@ЮраН-ь2к это сработает, область видимости ограничится) однако по мойму легче все же будет юзать for когда нужен for, а do-while когда нужен do-while)

  • @sweetcapitan5690
    @sweetcapitan5690 8 місяців тому +2

    А что насчет того, что в шарпах for и forEach имеют разную производительность? Про фп, в которых циклов нету by design, можно было бы хотя бы упомянуть. Про ииераторы тоже неэи слова не сказанно.

  • @Dmittry
    @Dmittry 8 місяців тому +1

    А можно подробнее, как do-while заменить for или while'ом? Без костылей с новой переменной isFirstRun.

    • @DeadnWoon
      @DeadnWoon 4 місяці тому

      Видимо, просто дублированием кода. Сначала просто текст, потом он же в теле цикла.

  • @Zaborovnik
    @Zaborovnik 8 місяців тому

    Истина в любимом нами машинном языке, процессор имеет только функции перехода, которые могут быть либо безусловные, либо зависящие от статуса флажков последней операции, взаимодействующей с флагами. С их помощью реализуются как циклы, так и ветвления. Если мы говорим о первых, циклы можно реализовать как раз таки тремя способами, причем третий является разновидностью двух последних.
    1) DO - пишется метка, потом исполняется «тело цикла», в котором существует команда, изменяющая состояние флажков, потом идёт команда перехода, зависящая от состояния последних (например, флаг нуля - результат функции вернул слово из нулей), выполнение условия заставит программу выполняться с метки, пока условие не будет нарушено, что позволит машине перейти на следующую строчку кода
    2) WHILE - создается начальная метка, далее - команда условного перехода, ведущая на метку за телом цикла. Если условие не выполняется, машина будет выполнять следующий за командой перехода код, пока не дойдёт до метки безусловного перехода к начальной метке.
    3) FOR - предварительно до первых двух блоков выделяется переменная, которой присваивается значение требуемого количества циклов, далее в теле цикла в конце мы пишем команду вычитания с изменением флажков, именно результат этой команды будет определять, как себя переведёт команда условного перехода.
    -
    Приблизительно так, если есть неточности, прошу в комментарии.

    • @ЮраН-ь2к
      @ЮраН-ь2к 8 місяців тому

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

  • @НикитаБычков-й3б
    @НикитаБычков-й3б 8 місяців тому

    Гоу: Братан, харош, давай-давай еще, контент вообще красавчик,
    Ту: давай пока 👋

  • @MIT-js9we
    @MIT-js9we 5 місяців тому

    «Как фортран программист без внуков»
    Я тоже слышал о девушках в легендах, говорят, они и вправду существуют.

  • @WewasAtamans
    @WewasAtamans 5 місяців тому

    forEach и вправду же тормознутее на хроме, или наконец пофиксили??

  • @АбуталифАкылбеков
    @АбуталифАкылбеков 8 місяців тому +2

    За фортан было обидно. Я ведь даже не женат

  • @КрутовойАндрей
    @КрутовойАндрей 8 місяців тому +5

    Так, блэть, Я не понял. А куда потерялся НаЩ ЛюБиМеВщЫй "foreach" под обложкой "for"?!?!?!

    • @ispite
      @ispite 8 місяців тому +1

      он же пометил forin (foreach)

    • @Павел-ч9к3е
      @Павел-ч9к3е 8 місяців тому

      У пхпшников инфаркт жопы) Наш любимый забыли)

    • @SilentPrayerCG
      @SilentPrayerCG 8 місяців тому

      Он превратился в какой-то for in.

    • @KZVlad1
      @KZVlad1 8 місяців тому

      @@Павел-ч9к3е почему именно пхп? он не только там

    • @mr.e.a.8967
      @mr.e.a.8967 8 місяців тому

      А еще for of забыли, атата😢

  • @sleepyNovember_project
    @sleepyNovember_project 8 місяців тому +1

    6:34 оно у тебя в документе исходника никуда не разворачивается, так что, да, докапываешься. Если так хочешь использовать один цикл для всего, используй

  • @glenstorm87
    @glenstorm87 8 місяців тому +3

    Расскажите пожалуйста про циклы в Хаскеле 👉👈😊

    • @surdeus
      @surdeus 8 місяців тому

      Готово

  • @Ais_Hunt
    @Ais_Hunt 8 місяців тому

    Люблю Я эти видосы от экстрим код, холивар ради холивара ))) Для больших и сложных коллекций методы расширения LINQ, для всего остального for и while, ну и do while для одаренных умом))) 🤡🤡🤡
    Нужно мне как-то было обработать большой и длинный запрос для апи, который растягивался в несколько промежуточных, так вот там был единственный раз, когда мне пришлось заюзать do while.
    З.ы. Братан, хорош, давай, давай вперед! Контент в кайф, можно ещё? Вообще красавчик!

    • @Dmittry
      @Dmittry 8 місяців тому

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

    • @АлександрСоловьев-ю9ц2к
      @АлександрСоловьев-ю9ц2к 8 місяців тому

      Линк всегда был отличным способом положить золотой зион в сотку по всем ядрам. Эт да.
      Вопрос вообще целесообразности присирать в язык программирования общего назначения семантику реляционных СУБД в приниципе бесполезно обсуждать.
      Мое мнение - это еще хуже уровень гейства чем текущий из всех щелей ORM.

  • @ЭдикИсаков-й6ж
    @ЭдикИсаков-й6ж 3 місяці тому

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

  • @yansurma2047
    @yansurma2047 8 місяців тому

    Братан, хорош, давай, давай, вперёд! Контент в кайф, можно ещё? Вообще красавчик!

  • @devilman_01
    @devilman_01 8 місяців тому

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

  • @lolkek.supergut
    @lolkek.supergut 8 місяців тому +1

    А как правильно - одновременно или одновременно?

  • @aleksandrKR
    @aleksandrKR 8 місяців тому

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

  • @Swyateg
    @Swyateg 6 місяців тому

    ГоуТу - это для меня кэшбек в детство, с ним я познакомился в Синкляр Бейсике...

  • @vitalybattalov1897
    @vitalybattalov1897 8 місяців тому

    Так насытился что аж захотелось пару кружочков пробежать и всё осмыслить. Спасибо ❤

  • @ЧувакИзКосмоса
    @ЧувакИзКосмоса 8 місяців тому

    Про второй итог: изпользуя map, filter и т.п., опираемся на самописные функции через def F(...) или функции сторонних библиотек.

  • @flokyfloky3404
    @flokyfloky3404 3 місяці тому

    Где можно примеры циклов ,для трени взять? Спссибо!

  • @igormenkaur8659
    @igormenkaur8659 8 місяців тому +1

    Последний в выборке "сначала новые"

  • @boomboxx427
    @boomboxx427 8 місяців тому

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

  • @КириллБелоусов-и6ю
    @КириллБелоусов-и6ю 8 місяців тому

    Ты ещё забыл про отдельное чудо языка Rust: цикл loop. Это короче замена while true, чтобы избежать проверки истинность этого самого true, сделали цикл вообще без проверки, тупо бесконечный. И кстати разворачивается он в ассемблере именно в безусловные переходы.

  • @user-mp7il3je9d
    @user-mp7il3je9d 3 місяці тому

    Цикл do while не может заменить два других (про то что они "взаимозаменяемы")

  • @Ruzakisan
    @Ruzakisan 8 місяців тому +66

    я поставлю Hyperfun на звонок если этот комментарий наберет 665 с половиной лайков

    • @comrade137
      @comrade137 8 місяців тому

      Можешь поставить так, только пальцы выпрашиваешь.

    • @SklerozRu
      @SklerozRu 8 місяців тому

      Саундтрек из Горбатой Горы поставь

  • @Youtube-pomoyka
    @Youtube-pomoyka 8 місяців тому

    В PHP также синтаксический сахар позволяет сократить 2-3 строки до одной. For так же, там удобней работать и отслеживать итерации

  • @stalker32041
    @stalker32041 3 місяці тому

    3:29, а я использую цикл for для чтения файлов... Только цикл for, без блока кода.
    ...
    long length = ftell(fptr);
    fseek(fptr, 0, SEEK_SET);
    char* buffer = calloc(length + 1, sizeof(char));
    for (char* ptr = buffer; !feof(fptr); *ptr++ = fgetc(fptr));
    buffer[length] = 0x00;

    • @SalatikInMyHead
      @SalatikInMyHead Місяць тому

      🤦🤦 fread(buffer, 1, length, file) 👍

  • @payrgames
    @payrgames 8 місяців тому +2

    Люблю for)0

  • @sergeyshevelev4842
    @sergeyshevelev4842 8 місяців тому

    Мое мнение while использовать рискованно. Объибешься с условием получишь лупу (ровно такая же опа с until). For, forin более конкретные и отказоустойчивые. Кстати почему-то обошли строной foreach.

  • @GerbekSergey
    @GerbekSergey 8 місяців тому +9

    Тема скоупов не раскрыта

    • @EvgeniyFadeev
      @EvgeniyFadeev 8 місяців тому

      но это и не тема циклов, в целом

    • @Spitzel42
      @Spitzel42 8 місяців тому +1

      @@EvgeniyFadeev ну да, когда for заменяют на while с переменной итерации перед телом цикла (как на 6:36)... А потом ищут баг два дня после таких видосиков)

    • @EvgeniyFadeev
      @EvgeniyFadeev 8 місяців тому

      @@Spitzel42 это, всего лишь, частный случай. Скоуп - гораздо более общее понятие и касается далеко не только циклов, а вообще любых единиц кода.

    • @GerbekSergey
      @GerbekSergey 8 місяців тому

      Вопросы видимости переменных, определенных в теле цикла, сломали мозг не одному начинающему прогеру@@EvgeniyFadeev