1. JavaScript / Говнокод #27445

    +6

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    [■,■,■,■].map(■→●) ⇒ [●,●,●,●]
    [■,●,■,▲].filter(■→true) ⇒ [■,■]
    [■,●,■,▲].find(●→true) ⇒ ●
    [■,●,■,▲].findIndex(●→true) ⇒ 1
    [■,●,■,▲].fill(●) ⇒ [●,●,●,●]
    [■,●,■,▲].some(●→true) ⇒ true
    [■,●,■,▲].every(●→true) ⇒ false

    https://twitter.com/rauschma/status/1398668839177568259

    Немного визуализации для демонстрирования работы с массивами

    Запостил: groser, 30 Мая 2021

    Комментарии (244) RSS

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

        З.Ы. А то этот код выглядит как приём у окулиста, без очков всё сливается.
        Ответить
      • > отсылкой к "Идиократии"
        поясните мысль

        скорее отсылка вот к этому
        https://images-na.ssl-images-amazon.com/images/I/81ea8gCdTiL._AC_SL1500_.jpg

        кстати, Безансон купил MGM, теперь ждем черномазых Джемса Бонда и Джона Шафта
        Ответить
        • https://www.youtube.com/watch?v=fJIjoE27F-Q
          Ответить
          • I just took a test for a temporary work agency and I swear that "bucket" question was on it. I had to actually read the question again to ensure that I wasn't hallucinating.

            эти кубики - не игрушка, а стандартный тест для тугосерь в Мурике
            Ответить
            • Задание номер пять: изобразите умственно отсталого.

              А что за bucket question? (судя по read, это не тест с ведерком, а текстовый вопрос)
              Ответить
              • > что за bucket question

                У тебя есть ведро на 5 литров и ведро на 10 литров. Сколько вёдер у тебя?

                Чел в том фрагменте с ютуба как раз на него отвечает.
                Ответить
                • (спасибо, а то я без наушников, смотрел без звука)

                  Возможно, простейший тест на абстрактное мышление. "Ну... У меня дома одно ведро и три в сарае, и еще одно во дворе, но прохудилось, теперь только выкинуть... четыре, считай. Но только пятилитровых нет у меня, это ж для детей, а детей у меня нет." Кстати, вполне себе возможный ответ крестьянина из глубинки или дикаря (реальный пример с ходу не найти, но слышал о таком).
                  Ну и культурный контекст - любой, кто учился в школе, знает, что такое задача, распознает не задумываясь и начинает решать. (вплоть до xkcd nerd sniping) И это далеко не очевидно - например, вопрос о двух стульях рассматривать в подобных понятиях будет стремно, чуешь, братан?
                  Ответить
                • > 5 литров и ведро на 10 литров
                  2 и 5 галлонов, соответственно
                  ох уж эти перевратчики...
                  Ответить
        • А может это отсылка к https://www.helloworld.ru/texts/comp/other/oop/pg078.gif

          (из https://www.helloworld.ru/texts/comp/other/oop/ch02.htm )
          Ответить
          • как же я сейчас заголосил с тамошних рубрик!

            Базы данных
            ▸ MySQL
            ▸ SQL

            а художника так не упомянули в выходных данных
            пикча совсем не подходит, поскольку это - жабий скрип, где ■ % ● == 15
            Ответить
      • Современные программисты на высокоуровневых языках обычно плохо умеют читать. С ними лучше иконочками общаться

        И видеоуроками
        Ответить
        • Хех, а мне наоборот проще прочитать доку чем слушать пиздежь чуваков на 10+ минут.
          Ответить
          • Ты не современный программист и не понимаешь трендов. Фу таким быть!
            Ответить
            • Ну реально. Показывают кокие-то картинки, путаются в своих же терминах и через каждые пять слов "umh". В то время как в какой-нибудь RFC-шке все четко и по делу расписано. Или в той же оракловской документации к Джаве, MDN по JS-у и пр.

              Боюсь, что такими темпами культура ТЗ вообще умрет и будем вот по таким видосам делать программы. А потом удивляться, хуле условная Жира жрет полгигабайта ОЗУ и при этом еще грузит двухядерный 2 ГГц проц на треть, хуле у юзера в интерфейсе бабки криво считаются после третьей итерации правок и пр.
              Ответить
              • > по таким видосам делать программы

                По портянкам говна из чатика уже делают. Привет, slack... Так что до видосиков с совещаний уже недалеко.
                Ответить
                • > По портянкам говна из чатика уже делают.

                  Хех. У нас по каким-то таким портянкам и составляется половина ТЗ самими разработчиками (всеми, кроме зеленых джунов разве что).
                  Ответить
          • Кстати, а чем "слушать пиздеж чуваков на 10+ минут в условном ютубе" лучше каких-нибудь ИРЛ лекций в ВУЗе?


            Иными словами, почему лекции в ВУЗе не хейтятся ровно с той же силой, как и всякие ютуб-видеоуроки? Только из-за разного профессионального уровня того, кто там что-то пиздит?
            Ответить
            • В лекциях всё-таки хоть какая-то структура и последовательность есть. В отличие от.
              Ответить
              • >хоть какая-то структура и последовательность

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

                  А с видео вечная проблема как найти нужный фрагмент. Даже если хорошо всё сделано и маркеры разделов есть.
                  Ответить
            • 1. Из-за профессионального уровня тех, кто някает, да. Очень многие "учителя" с Ютуба — это ротоняки, которые открыли для себя %technology_name% три д-ня нязад и теперь пишут по ней видеоуроки.
              2. Из-за профессионяльного уров-ня тех, кто уроки создаёт.
              3. Из-за того, как имення читаются лекции/видеоуроки. Правильня прочитать даже заранее няписанное так, чтобы слушатели поняли — весьма сложный скилл, отсутствие которого ведёт к эээканью, мхатовским паузам, прыжкам по темам, спутанной речи и общей сложности в восприятии.
              4. Из-за того, что лекции спроектированы так, чтобы слушатели поняли предмет полно и последовательня, в то время как среднестатистический видеоурок от индуса — это обычный бег по верхам с пропуском "нянужной" теории.
              Ответить
              • Ну так это уже проблема в непрофессионализме тех, кто делает типичные "уроки" на Ютубе. Если такой непрофессионал будет писать свои говноуроки в виде текста, вряд ли будет сильно лучше.
                Ответить
                • Если бы да кабы, но факт остаётся фактом: видеоуроки ня Ютубе в большинстве случаев делаются и читаются полуграмотными индусами, в то время как большинство лекций в вузах — как минимум делаются более-менее компетентными людьми.

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

                          а ваще это ваше сравнение текстбука с лекциями - полное говно
                          Ответить
                        • Обоснуй. Для приготовления нормального видео нужен сценарий и много дублей. Т.е. сценарий — это уже конспект по сути.
                          Ответить
                          • > unboxing ротоеба на youtube
                            > сценарий и много дублей
                            выбери что-то одно!
                            Ответить
                            • Выбрать фон, поставить свет, Поэкспериментировать с похожей коробкой, выбрать удачные ракурсы с видом вглубь коробки, подготовить вступление, выучить его, прорепетировать, подобрать места, куда из коробки будешь всё выкладывать, чтобы было всё видно красиво и не похоже на кучу говна. Проверить всё, чтобы камеры не захватили нестиранные трусы на фоне.

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

                              Анбоксинг — это просто.
                              Ответить
                            • Мы вроде говорили про обучающие видео, при чём здесь unboxing?
                              Ответить
                              • А как ещё учиться открывать коробки?
                                Ответить
                                • Получить PhD в unboxing'е за 14000$ за семестр.
                                  Ответить
                              • как будто среднее ротоебское обучающее видео сильно отличается

                                ЕМНИП из нормальных на ютуп выкладывают Khan Academy, это для сравнения, Курсера и Стэнфорд у себя держат, так что на ротоёбской платформе качество соответствует
                                Ответить
                                • > Khan Academy

                                  - Star Wars кокойто
                                  Ответить
                                  • Да нет, там Khan другое значит

                                    https://www.youtube.com/watch?v=DAr7KaxzfpA

                                    ps: обратите внимание как пишется "ч" у немцев: "Dsch"
                                    Ответить
                          • моя позиция что проще из хорошего видео сделать хороший текст чем из хорошего текста хорошее видео
                            Ответить
                            • Из хорошего видео текст сделать очень сложно (возьми, например, видео 3blue1brown, там весь смысл в визуализации). Если из видео легко сделать текст, оно не нужно.
                              Ответить
                              • Я смотрю на Ютубе видеолекции. Видеолекции очень нужны, получить из них расшифровку несложно, да и конспекты публикуются пож видео обычно
                                Ответить
                              • > Если из видео легко сделать текст, оно не нужно.

                                This.

                                Если в видео просто что-то читают вслух конспект и щёлкают слайды, то зачем оно?

                                Видео нужно для тех тем, где без видео ну никак не получается что-то продемонстрировать. И вот их в текст ужать не получится, там видеоматериал -- это неотъемлемая часть ролика.
                                Ответить
                                • >там видеоматериал -- это неотъемлемая часть ролика.

                                  Например, в видео "засыпаем шары орбиз в унитаз и смотрим что выйдет"?
                                  Ответить
                                  • > засыпаем шары орбиз в унитаз и смотрим что выйдет

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

                                    Вот в этих случаях я двумя руками за видео, потому что оно привносит что-то новое, невыразимое в тексте.

                                    А если картавый индус тупо сидит и набирает текст в IDE или листает слайды -- ну зачем эта порнография, я и сама могу их почитать.
                                    Ответить
                                    • я не знаю с чем ты споришь

                                      еще раз повторю мою позицию: с хорошего видео сделать хороший текст легче чем с хорошего текста хорошее видео

                                      вы тут какие-то ахуительные истории рассказываете про научпоп, про индусов каких-то

                                      ясен хуй что сценарий Терминатора несет меньше информации чем кинолента Терминатора. Я говорю про то что написать сценарий Терминатора имея киноленту проще чем снять киноленту из сценария
                                      Ответить
                                      • Сделай хороший годный текст с хорошего годного немого кино.

                                        Сделай годный текст с хорошего видео, где показывается принцип работы разных видов механических замков и нет ни единого слова (кроме подписей названий отдельных частей).
                                        Ответить
                                        • Ну ебать есть же книги с немыми героями наверное, а видео с замками можно раскадровать на схемы
                                          Ответить
                                          • > видео с замками можно раскадровать на схемы
                                            Хуйня получится, там смысл именно в динамике и взаимодействие частей.

                                            Смысл в том, что сделать Х из качественного У ≠ сделать качественный Х. Если хороший годный текст зачитать на камеру получится хуйня по сравнению с текстом. Если записать, что происходит в хорошем годном видео, получится хуйня, по сравнению с видео.
                                            Это разные носители. В них информацию нужно подавать по-разному.

                                            Если бы ты свою позицию описал как "с хорошего видео сделать хороший текст легче чем с хорошего текста хорошее видео", я бы согласился.
                                            Ответить
                                            • >Если записать, что происходит в хорошем годном видео, получится хуйня, по сравнению с видео.

                                              да я вообще не понял с чего ты взял что я утверждал что текст получится таким же пиздатым как видео, как ты вообще сравнить текст с видео собрался-то?
                                              Ответить
                  • > вместо того, чтобы проскроллить статью и за пять минут няйти то, что нужня, приходится полчаса слушать заикающегося дебила
                    Ещё часто бывает, что просто нет возможности смотреть видео со звуком, а статью можно прочитать в любых условиях.
                    Ответить
              • > 1. Из-за профессионального уровня тех, кто някает, да. Очень многие "учителя" с Ютуба — это ротоняки, которые открыли для себя %technology_name% три д-ня нязад и теперь пишут по ней видеоуроки.

                Если отойти от чего-либо фундаментального (вроде ма-те-ма-ти-ки), то редкий лектор из «вуза» сможет донести что-то лучше, чем это сделает очередной ротоняк, поскольку ротоняк хотя бы сам делал своё видео. Тётенька предпенсионного возраста (21+ лет) из вуза же читает что-то, что она не до конца понимает, с листочка, который кто-то замарал ещё при царе горохе, поэтому и на интерактивность лекции рассчитывать на стоит.

                > 2. Из-за профессионяльного уров-ня тех, кто уроки создаёт.

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

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

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

                > 4. Из-за того, что лекции спроектированы так, чтобы слушатели поняли предмет полно и последовательня, в то время как среднестатистический видеоурок от индуса — это обычный бег по верхам с пропуском "нянужной" теории.

                Всё так. Оно и логично: видео на Ютубе – это гайды «как сделать Х, используя Y», а лекции – полноценный разбор темы. С другой стороны, как видео на Ютубе, так и лекции бывают разные: ...
                Ответить
                • Хакеры, крекеры, спамы, куки — медиавирус 2004 года рождения. Происхождение неизвестно. Представляет собой диктофонную запись лекции по информатике преподавателя Таганрогского государственного радиотехнического университета. К слову, именно того, в котором учился небезызвестный Сергей Юрьевич Соколов.

                  Транскрипт:

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


                  Как вам такая лекция?
                  Ответить
                • > С другой стороны, как видео на Ютубе, так и лекции бывают разные: ...

                  Я тебе больше скажу, Ǝx : ЯвляетсяЛекцией(x) Λ ЯвляетсяВидеоНаЮтубе(x)
                  Ответить
                  • Proof.
                    Ответить
                    • No more subgoals.
                      Ответить
                      • Какой чит )))

                        ... but there are non-instantiated existential variables?

                        Тут надо было привести реальный пример (exists "https://..."), затем split'нуть конъюнкцию и доказать каждое из её утверждений для этого x.
                        Ответить
                        • ну для начала формализовать предикаты, чего я делать не хочу, потому что ты можешь приебаться к интерактивности объекта Лекция в виде метода ЗАДАТЬ ВОПРОС, что в случае с более простым предикатом ЯвляетсяВидеоНаЮтубе совершенно не гарантировано.
                          Ответить
                        • Всё, мне можно ня покой.
                          Ответить
                    • https://youtu.be/PARloe1mPkc
                      Ответить
                • > то редкий лектор из «вуза» сможет донести что-то лучше, чем это сделает очередной ротоняк

                  Очень сильно зависит от уровня вуза и ротоняка. Чем ближе к земле, то допустимее ротоняк.

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

        Программист не обязан знать "буквы". Он же не лингвист.
        Ответить
        • И тем не менее программирование больше задействует языковое мышление, чем пространственное.
          Ответить
    • Переписал на powershell:
      function fake {
        [CmdletBinding()]
        [Alias('●','■','▲')]
        param()
        $MyInvocation.InvocationName
      }
      
      @(■;■;■;■) | % { ● } # ●;●;●;●
      @(■;●;■;▲) -eq (■) # ■;■
      [Array]::Find(@(■;●;■;▲), { $_ -eq (●) }) # ●
      @(■;●;■;▲).IndexOf((●)) # 1
      @(■;●;■;▲) | % { ● } # ●;●;●;●
      [Array]::Exists(@(■;●;■;▲), { $_ -eq (●) }) # True
      [Array]::TrueForAll(@(■;●;■;▲), { $_ -eq (●) }) # False
      Ответить
      • Они ещё и разноцветные!
        Ответить
        • Все goatse подсветило.
          Ответить
          • Кстати, q() это же что-то из перла?
            Ответить
            • Тут нет никакого q(), это дело подсветки, не рассчитанной на повершелл.
              Это стандартные операторы сравнения, почти как в линуксовом test: -eq, -lt, -le, .. — ==, <, <=, ..
              Ответить
            • "q" в перле это вместо кавычек, если они есть в строке)

              тут проверка на равенство, типа
              PS C:\> Get-ChildItem C:\Windows\  | Where-Object {$_.Name -eq "System32"}

              Или более по харекрски (см Get-Alias, о котором ниже писал гроссер

              PS C:\> ls C:\Windows\  | ? {$_.Name -eq "System32"}
              Ответить
              • > это дело подсветки

                Ну да, мне как раз про подсветку было интересно, почему она подсветила эти q().
                Ответить
      • мама дорогая)

        это массив --> @()
        это блок кода (а-ля лямбда)-- > { $_}
        а "%" это алиас для For-Each что ли?

        Надо научиться пользоваться алиасами а PS. Я обычно полные имена cmdлетов пишу
        Ответить
        • @() – Array, {} – CodeBlock, @{} – HashTable

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

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

          Ими легко начать пользоваться, узнав о них по команде Get-Alias. Всего два из них используют небуквенный символ: % -> ForEach-Object, ? -> Where-Object. Остальные, в основном, складываются из первых заглавных букв командлета: ac -> Add-Content, fl -> Format-List и т.д.
          Ответить
    • Поэтому я и не уважаю программистов, появившихся после 2015-го года. Сплошь дауны, которые только значки и понимают.
      Ответить
      • не уважаю программистов, родившихся после 2015-го года
        Ответить
        • Архаму Ом Талсания всего 6 лет.

          Второклассник Архам Ом Талсания из индийского города Ахмедабад официально признан самым молодым программистом в мире.


          (он в 4 года в школу пошел или в пять?)
          Ответить
          • Зачем программисту школа? Он же не ма-те-ма-тик.
            Ответить
            • одноклассниц за косички дергать
              Ответить
            • Чтобы подтвердить свой статус Архам прошел курс обучения на языке программирования Python и успешно сдал сертификационный экзамен Microsoft (sic!).

              Мальчик отметил, что интерес к программированию ему привил отец. «Мой отец научил меня программированию. Я начал использовать планшеты, когда мне было два года. В три года я приобрел гаджеты с iOS и Windows«, − рассказал он.

              Архам начал писать небольшие игры и с ним связались представители Книги рекордов Гиннеса, попросив отправить примеры работ (sic!!)

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

              Программист за работой

              https://pbs.twimg.com/media/EmadroaVgAAnETG?format=jpg&name=large
              Ответить
              • > успешно сдал сертификационный экзамен Microsoft
                sfc /scannow
                Ответить
    • хз, в качестве шпаргалки подойдет. А то я все время забываю, filter или where, findIndex или index_of, some или any...

      Тут скорее интересно, что такое → и как она работает (ну, если забыть, что это псевдокод). Чему равно
      [■,●,■,▲].map(■→●)
      или
      [■,●,■,▲].filter(■→false) ⇒ [■,■]
      ?
      Ответить
      • (x == ■) ? ● : x, видимо?
        Ответить
        • ☆ => ☆ == ■ ? ● : ☆
          Ответить
          • [■,●,■,▲].map(☆ => ☆ == ■ ? ● : ☆) ⇒ [●,●,●,▲]
            [■,●,■,▲].filter(☆ => ☆ == ■ ? false : ☆) ⇒ [●,▲]

            Хм, и правда. Здорово.

            Полезный оператор, почему у нас такого нет.
            Ответить
            • Да потому что это частный случай очень простой лямбды, который и в вербозном варианте выглядит коротко и ясно. На все операторов не напасешься.
              Ответить
          • Хотя
            [■,●,■,▲].filter(☆ => ☆ == ■ ? true : ☆) ⇒ [■,●,■,▲]

            Ну и да, визуально еще может быть, а вот проговаривать про себя "если звездочка это квадратик" неудобно, с буквами проще.

            Алсо, ■●■▲ или ★●■▲?
            Ответить
            • > проговаривать про себя

              Ну математики же как-то читают свои ∀ да ∃... Вот и ты читай ☆ как "текущий элемент". Дело привычки, ничем не хуже икса.
              Ответить
              • Тем более что во многих реализациях лямбды там _ специально чтобы подчеркнуть что это место, куда происходит подмена.

                Как прочитать
                _ ->_ + 2

                _ -> _.add(2)

                ?

                Все понятно!
                Ответить
                • Это скорее фишка перла... В функциональщине _ обычно мусорная переменная, которую не почитаешь.
                  Ответить
                  • В коко тоже "_" принято называть то, что не нужно (и где-то еще, в lua что ли)

                    А вот в Perl и в PS это вполне себе
                    Ответить
                    • Ну это иногда даже не столько соглашение, сколько специальный синтаксис для "анонимной" переменной.

                      Т.е. _, _ = 42, "100500" не помрёт от несовпадения типов.
                      Ответить
                      • Ты про окамл какой-нить?

                        В котлине так же:
                        fun doAll(): Pair<Int, Int> //....
                        
                        val (_, a) = doAll()

                        теперь "a" это переменная типа "int", а первая половинка пары ушла в унитаз. Обращаться к "_" нельзя
                        Ответить
                  • В скала это порезали из Перла
                    Ответить
                    • подтверждаю. Язык богов!
                      perl -e "print join ', ', grep {$_ % 15 == 0}  map {$_ * 10} qw/1 2 3 4 5 10 100 150 100500/"
                      Ответить
                      • Видел когда-нибудь интерфейс синтезатора АНС?
                        Ответить
                        • А почему ты спрашиваешь?
                          Ответить
                          • Да не на то сообщение просто ответил. Ты же писал про "как вам такой интерфейс"
                            Ответить
            • > ■●■▲ или ★●■▲?

              Ну там же не просто так ☆ выбрана а не ★... Не путай значения и переменные.
              Ответить
            • ■→●
              ::=
              ☆ => ☆ == ■ ? ● : 
                (● is bool ? !● : ☆)
              Ответить
    • знаете что такое marble diagrams, кстати?
      Ответить
    • Кстати есть такая короткая игра с кубиками и мапами https://david-peter.de/cube-composer/
      Ответить
    • Программированию теперь учат уже с детского сада что ли?
      Ответить
      • Ну да, вон индусы уже в 6 лет игрухи для мобил пишут, сертификацию майкрософта проходят...

        Кодить раньше чем ходить.
        Ответить
      • У нас в городе детей учили бейсику с шести лет
        Ответить
        • Дейкстра бы заплакал.
          Ответить
          • Старина Дейкстра не дожил до обучения пхп:)

            Правда под конец жизни он увидал, как студентов учат джаве, охуел, и завещал вообще отобрать у первокурсиников компьютер, и учить их чуть ли не лиспу на бумажечке
            Ответить
            • А это хорошо. Lisp приучает явно структурировать программы.
              Ответить
              • > Lisp приучает явно структурировать программы.

                Здесь должна быть шутка про гомоиконы.
                Ответить
              • каким образом?
                Ответить
                • Не будешь структурировать -- потонешь в скобочках.
                  Ответить
                • Программа на Лиспе по своей сути - вычисление некого выражения. Это заставляет явно указывать из какого X надо получить Y. А не связал хрен пойми как функции/процедуры/классы через десяток глобалов etc. как в Джаве/Питоне/ЖС/etc. , а потом бы безрезультатно гадал почему не работает кусок программы и он вообще сломал предыдущие (а еще так скозали на Stackoverflow, должно роботать жи!). Арифметические выражения - это на самом деле более простая математическая модель, чем процессы с сайд-эффектами.

                  После Лиспа (как аналог - математика уровня физмат школы, немного физики) уже можно переходить на ассемблер, потом на близкие к ОС высокоуровневые языки типа Си, потом уже на прикладнюшню типа Джавы, ЖС etc. Если мы хотим вырастить generic software engineer конечно, а не кодера со знанием Спринга/Реакта/PHP/пр. в кратчайшие сроки
                  Ответить
                  • >вырастить generic software engineer
                    >не кодера со знанием Спринга/Реакта/PHP/пр.

                    дед, оденься, 2021 год на дворе
                    Ответить
                    • А вот FAANG-ам как раз нужны больше первые инженеры. Поэтому на собесах и дают алгоритмические задачи (пока самая эффективная проверка в рамках собеса на владение основами CS помимо system design).
                      Ответить
                      • > FAANG
                        > на собесах и дают алгоритмические задачи

                        Ага... а потом они хуячат на go копипасту, потому что "мы боимся пугать наших программистов метушнёй".
                        Ответить
                        • Скорее MBA-шники гонят "пилить быстрее лишьбыроботало". На go метапрограммы отлаживать сложнее чем на языках с поддержкой метушни (т.к. используется в этом случае сторонний шаблонизатор для кода - нет нативного тулчейна для макросни/темплейтов как Расте, C++ и пр.).
                          Ответить
                          • > нет нативного тулчейна для макросни/темплейтов как C++
                            Справедливости ради, отлаживать забористую метушню ня C++ — такое себе за-ня-тие. Особення когда все три компилятора выдают совершення разные результаты.
                            Ответить
                            • > Особення когда все три компилятора выдают совершення разные результаты.

                              Т.е. в крестометушне есть UB? Или разные компиляторы крестов поддерживают говностандарт слегка по-разному (в одном поддерживается X но не поддерживается Y, в другом поддерживается Y но не поддерживается X), и надо писать на таком сабсете, чтобы и тот и тот компилятор это прохавал?
                              Ответить
                              • Когда как. В Visual Studio, няпример, традиционно крайне хреновое соответствие стандарту, так что код, который в ней нярмальня компилируется, может быть ill-formed и ня gcc/clang выдавать ошибки (как раз нядавня обсуждали, что в VS в большинстве случаев ня требуется typename писать, няпример). UB имення в метушне чаще всего возникают, по моим ощущениям, от криво няписанных перегрузок, когда один компилятор думает, что перегрузка X "наиболее жизнеспособня", а другой компилятор считает, что таковых больше одной — то, про что ты статью в #27443 кидал.
                                Няподдерживаемые фичи в метушне у меня встречаются редко — но я просто пишу ня С++17, его уже все вменяемые компиляторы поддерживают. Со всякими этими концептами, няверное, будет посложнее.
                                Ответить
                                • > Со всякими этими концептами, няверное, будет посложнее.

                                  С другой стороны, у концептов градус безумия пониже, чем у классической метушни. Так что с ними проблем будет меньше, как мне кажется.
                                  Ответить
                                  • Да, концепты всё же используются по нязнячению, а не как SFINYAE.
                                    Ответить
                                    • > всё же используются по нязнячению

                                      Ничего, скоро найдётся какой-нибудь потомок Александреску и откроет новую эпоху метушни...
                                      Ответить
                            • >отлаживать забористую метушню ня C++ — такое себе за-ня-тие.

                              Это когда получаешь двести строк ошибок, и среди них жалобу на левый файл внутри SDK, который ты впервые видишь, а всё потому, что у переданного тобой объекта метод вернул const, а должен не const?
                              Ответить
                      • Реакт/Спринг/etc. могут через 5 лет уже морально устареть, а знания накопленные на алгоритмических задачах, разнообразных проектах остаются. И с этим проще перейти на новый язык/фреймворк/проект.
                        Ответить
                      • ты давно оффер в FAANG получил?
                        Ответить
                    • Действительно, нахрена софтвар инженеры в 2021?
                      Зачем писать операционные системы, компиляторы, статические анализаторы или профайлеры?

                      Можно просто взять вордпресс, И потечь
                      Ответить
                      • Хех, а некоторые знакомые фронтендеры пилят API-шки на Вордпрессе для мобильных приложух. Что получается, когда из трактора делают космический корабль - лучше не представлять...
                        Ответить
                      • > Зачем писать операционные системы, компиляторы, статические анализаторы или профайлеры?

                        Если я хочу писать оси - я учусь писать оси, если я хочу писать профайлеры - я учусь писать профайлеры

                        Советская система образования при которой я должен учить все сразу + научный коммунизм + летом в колхоз немного устарела

                        И надрочка на эту систему не делает меня инженером никак
                        Ответить
                        • Да, соглашусь, лучше быть узким специалистом, который идёт на помойку когда его фреймворк закопали. Лишние знания только мешают.
                          Ответить
                          • >который идёт на помойку когда его фреймворк закопали
                            Ну выучу еще один фреймворк¯\_(ツ)_/¯
                            Ответить
                          • Замечу, что POSIX API за ~20-30 лет мало в чем поменялся, и нихуя не устаревает. То же самое касается и языка C.

                            Можно ли считать "POSIX" фреймворком?
                            Ответить
                            • > нихуя не устаревает

                              Замечу, что прогрессивные языки, как "ПХП", "POSIX" из коробки не поддерживают, значит он не нужен.
                              Ответить
                            • Можно.

                              Чем более высокоуровнев фреймворк, тем более он чувствителен к моральному устареванию
                              Ответить
                        • З.Ы. Вот зачем совок ругаешь? При совке все подряд в вузы не лезли, в отличие от.

                          Кто хотел заниматься чем-то конкретным -- шел в пту и учил что-то конкретное (и не ныл, что это "не престижно").
                          Ответить
                          • схуяли? (а) военные кафедры (б) натурализация в городе

                            > пту и учил что-то конкретное (и не ныл, что это "не престижно"
                            и это тоже пиздеж

                            какой же броманд ватный...
                            Ответить
                          • я вроде уже высказывался но я мечтаю о времени когдв отменят призыв и закроют 80% вузов, совковых, не совковых - поебать
                            Ответить
                            • не отменят, во времена пика свободы это было всего лишь предвыборным обещанием
                              даже деноминации и доллара по 65 проще дождаться
                              Ответить
                            • может тебе ещё регистрацию по месту проживания отменить, либерал_дропаут?!
                              Ответить
                              • у меня нет прописки
                                Ответить
                                • ну заплатишь штраф потом, если шо
                                  Ответить
                                • А я ещё на учете в военкомате не состою.
                                  Ответить
                                  • ну сходи и встань, что ты как маленький
                                    Ответить
                                  • ещё или уже?
                                    Ответить
                                    • Ни то ни другое. Военкомат, у которого стоял на учёте, закрылся. Технически я обязан встать на учёт в другом военкомате, даже письмо пришло (не заказное, лол, то есть могу утверждать, что не было письма) но мне впадлу.
                                      Ответить
                                      • > Военкомат, у которого стоял на учёте, закрылся.

                                        - надеюсь, вместо него открыли офис ЕРАТа или Макдональдс
                                        Ответить
                                      • > обязан
                                        почётно обязан, не забывай
                                        Ответить
                          • Да тоже лезли, в общем-то, хотя в технические лезли реже.

                            Дебильное представление "корочка нужна" было еще и тогда в определенных кругах.

                            Просто ВУЗов было меньше. А теперь их стало жопой жуй, в некоторых можно вообще не учиться, вот народ туда и лезет.

                            Лучше бы их было мало, и крутых, пусть и платных.
                            Кто хочет делать сайты -- идет в профучилище, где учат делать сайты, и не ебет себе мозги всякими математиками
                            Ответить
                        • >Если я хочу

                          Это верно. Но к сожалению студент не всегда знает, что он хочет.

                          Да и зачем тогда вышка вообще? Есть же всякие курсы типа "PHP с нуля за месяц". Это и быстрее, и практики больше
                          Ответить
                          • вышка нужна чтобы ученые знали что уже придумали до них

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

                      Ой... я после бейсика на него перешла, считай что мой второй язык был... Что там страшного то? Ну строчек много, ну в железе немножко шарить надо.

                      Высокоуровневую метушню как раз сложнее осознать.
                      Ответить
                      • Бейсик это и есть "высокоуровневый императивный язык":)
                        Ответить
                        • > высокоуровневый

                          Лол. Там даже функций и локалок не было и номера строчек надо было писать... И вообще goto вместо структурного программирования.

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

                            PEEK и POKE были?
                            Ответить
                            • > знаком с GOTO

                              Возможно, поэтому асм после него и не воспринимался как что-то сложное.

                              Синтаксис немножко поменялся, а в остальном то же самое.
                              Ответить
                            • > PEEK и POKE были?

                              Конечно! Я через них список команд в памяти нашла и с регистрами видюхи PPU игралась (скроллить экран получилось)... Правда от POKE обычно всё висло нахуй.

                              Жаль, тогда по 6502 книжку найти не удалось.
                              Ответить
                              • охблядь, ты на клоне денди чтоли училось?
                                Ответить
                                • Угу. Вроде уже рассказывала...

                                  Пыталась ещё спаять комп на ВМ80 (aka i8080), но в 10 классе появился доступ к современным компам и настроение пропало... Зато потом эмулятор с дебаггером нахуячила чтобы в шахматы из журнала поиграться, лол. Можно фрагмент этого говнеца почитать в моём первом ГК.
                                  Ответить
                    • Смотря какой ассемблер взять. x86 - да, для обучения слишком громоздкий наверное. Если от Motorola 68k например то вполне норм. Простой императивный язык, никаких посторонних абстракций.
                      Ответить
                      • > x86

                        Да тоже норм, если в дебри не лезть. Основные инструкции довольно интуитивные, а в лютую системщину про пейджинг и защиту лезть никто не заставляет. Юзать 6250 оттенков SSE -- в общем-то тоже.
                        Ответить
                        • Ну тут опять такая проблема: если ты даешь студенту real mode, то там всё действительно просто и логично (и можно почувствовать железо, потому что ты как-бы работаешь с ним напрямую часто), можно четко ощущить, что память это абстракция, и как трактовать лежащие там данные -- дело программиста, итд

                          но у этого мало практического приминения

                          Если ты даешь ему 32 или 64, и при этом не рассказываешь про пейджинг, сегменты, таблицы страниц и прочую "системщину", то ты показываешь ему только часть этого прекрасного мира

                          Ну он будет тебе собирать строку, пхать её адрес в стек (або в регистр), и CALLить функции Win32API и срать ими в консоль
                          Ну и начерта ему асемблер?
                          Ответить
                          • > Ну и начерта ему асемблер?

                            Чтобы понять, как вся эта высокоуровневая хуйня работает под капотом... На самом деле, может быть и не надо на нём писать. А просто поразбирать примерчики с годболта. В конце-концов на практике асм обычно читают, а не пишут.
                            Ответить
                            • Он поймет, но только до уровня API операционки (хотя читать годболды и дебажиться без символов и правда сможет)

                              Просто мне например ковыряние с асмом реалмода дало еще и ощущение того, как софт соприкасается с железом.

                              Вот есть железка с регистрами, ты в них что-то писнул, она дернула прерывание.
                              И не важно: проц это или контроллер клавиатуры)

                              В итоге получилась в голове более цельная картина.
                              И есть подозрение, что от ковыряния в 64-х битном режиме такого эффекта не будет

                              Но может я опять пытаюсь выдать свой опыт за единственно верный
                              Ответить
                              • > как софт соприкасается с железом
                                > ты в них что-то писнул, она дернула прерывание

                                Ну такое на современном х86 очень сложно показать, соглашусь...

                                Лучше ардуинку какую-нибудь. И веселее и понятнее. Ну и железо не такое упоротое и странное, как у старых PC.

                                З.Ы. Сорян за нападение на священную корову, но от "архитектуры" PS/2 контроллера у меня реально жопа подгорает.
                                Ответить
                                • эт который 8042?

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

                                  но каких-то болей я не помню. А вот VGA это пиздец говно и хуня
                                  Ответить
                                  • Если я правильно понимаю, этот 8042 был маленьким микроконтроллером с прошивкой и всей хуйнёй. Именно поэтому общение с ним такое странное и неудобное.

                                    Сейчас он в embedded controller вырос, емнип.
                                    Ответить
                                    • Изначально он был отдельным контролллером для AT клавиатуры (был еще XT, но у него совсем другой API).

                                      Потом его увезли в чипсет.
                                      Потом завезли PS/2, а программный интерфейс сохранили.
                                      Потом стали тупо эмулировать его прошивкой (потому что физически там был USB HID) чтобы всякие XP не обсирались.

                                      То есть програмный API был выдуман тогда, когда он был реальной милипиздрической микрухой на плате времен 386

                                      Теперь на него всем похуй, кстати. Если твоя OS не понимает USB HID, то современная прошика ей помогать не будет
                                      Ответить
                                      • Про usb не совсем верно. На ноутах клавы и тачпады через что-то в духе i2c. И ps/2 там прям буквально до сих пор эмулируется чтобы семёрка и хр не охуели.

                                        Хотя с уходом семёрки его походу таки закопают.
                                        Ответить
                                        • Физически там может быть i2c кмк, но для софта они прекратили эмулировать 8042 (не могу сходу найти статью, но пару лет назад писали, что большинство прошивок перестаёт)

                                          Собссно, оно и не нужно, если твой ОС умеет говорить с xhci, а большинство уже умеет.

                                          Иными словами, прошивке проще представлять тачпат как USB HID, чем как 8042: всё равно на XP всем похуй, а начиная с висты они умеют USB
                                          Ответить
                                          • Если бы они его публиковали как hid, у меня бы жопа так не горела от всего этого дерьма...

                                            А эмуляция отключается если ось представляется acpi как win8+. По крайней мере так на моём ноуте было.

                                            З.Ы. HID я видела только на сюрфейсах, но там и понятно -- клава отрывается.

                                            З.З.Ы. Внешняя клава само собой hid, тут я не спорю.
                                            Ответить
                                            • ну да, прошивка проверяет "Windows 2012":)

                                              Я говорю про боль-мень современные ноуты
                                              Ответить
                                              • > современные ноуты

                                                Хуёво, криво, глючно но поддерживают. До сих пор. В основном уже только клаву.

                                                Повторюсь, если бы там был USB HID -- я бы от счастья прыгала.
                                                Ответить
                                • > З.Ы. Сорян за нападение на священную корову, но от "архитектуры" PS/2 контроллера у меня реально жопа подгорает.

                                  О, как раз нядавня няткнулась ня https://www.youtube.com/watch?v=7aXbh9VUB3U . Кстати, возвращаясь к нядавнему обсуждению, любопытно было бы посмотреть, как из этого видео можня сделать конспект.
                                  Ответить
                                  • > как из этого видео можня сделать конспект

                                    Да где-то была хорошая и очень лаконичная статейка по ps/2 (электрическая часть, протокол, команды и т.п.). Это, конечно, не так весело как мигающие светодиодики и мельтешащая перед экраном распечатка сканкодов, но намного практичнее...

                                    Я по ней клаву для osu и пилила.
                                    Ответить
                                    • >где-то
                                      вы не поверите
                                      https://wiki.osdev.org/%228042%22_PS/2_Controller
                                      Ответить
                                      • На осдеве вроде физика плохо описана.

                                        Та статья -- что-то из далёкого прошлого со схемками и осциллограммками в Аскином арте.
                                        Ответить
                                        • там есть ссылка на спеку с таймингами
                                          http://www.diakom.ru/el/elfirms/datashts/Smsc/42w11.pdf

                                          но я правда глубоко не влазил. У меня в книжке был описан програмный интерфейс 8042 тока, и я с ним возился
                                          Ответить
                                          • Кстати там и электрически хуйня... Из-за открытого коллектора и длинного кабеля просто ебейшие наводки между clock и data.

                                            Ну и хоть клава и задаёт частоту, но выше 30кГц не получилось оверклокнуть.
                                            Ответить
                                            • а зачем там высокая частота, если туда ничего кроме клавы и мышы не втыкают?
                                              Ответить
                                  • купите кто-нибудь у него мерч, разве не видите как руки дрожат?

                                    а потрошить кабель от эмки жаба задушила, кек
                                    Ответить
                          • херня, model medium для убучения не нужен
                            Ответить
                            • правильно, достаточно просто medium'а и reddit'а
                              Ответить
                  • не знаю, что мне может помешать объявить в лиспе "глобалы" и хрен знает как связать функции
                    Ответить
                    • > что мне может помешать

                      Тем более, что там это ещё и поощряется... Динамические глобалки, изменения в которых видны только вызываемым функциям -- это как раз оттуда.

                      Вроде ни один язык больше на такое не решился, пытаются играться в ООП и явную передачу аргументов.
                      Ответить
              • Я бы не сказал... Lisp — это такой ball of mud, из которого с помощью метушни можно вылепить что угодно. Деревянные языки вроде паскаля лучше к этому приучают.
                Ответить

    Добавить комментарий