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

    −1

    1. 1
    2. 2
    3. 3
    <script>
    if
    </script>

    Гавнокод

    Запостил: LorenzoTwin, 24 Июля 2020

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

    • быть или не быть
      Ответить
    • SyntaxError: missing ( before condition


      Говно всё-таки должно компилироваться.
      Ответить
      • Кстати, а язык дефолтится на жс?
        Ответить
        • Подтверждаю.
          Ответить
        • Есть другие варианты?
          Ответить
          • Конечно.
            В IE есть VBS, но можно инсталлировать любой скриптуоз

            А еще бывает
            <script type="text/babel">

            угадаешь, как работает?
            Ответить
            • > угадаешь, как работает?

              Скриптушня подхватывает, компилит в жс, и выполняет его?
              Ответить
              • да:)
                Тока транспилит.

                Пиши в последней версии языка от июня этово года, и запускай в хроме пятилетней давности
                Ответить
                • Почему же авторы сайтов так не делают, а требуют наличия у тебя «Хрома» сегодняшней или в лучшем случае вчерашней сборки?
                  Ответить
                  • Я не знаю. У нас в одном проекте используют babel, правда оффлвйново (в момент сборки статики), я так могу юзать всякую модную пиштуню, и не бояца, что оно сломается в IE 11
                    Ответить
                    • А что, всякую новомодную питушню можно сконвертить в старую?
                      Ответить
                      • Дык бабель вроде только сам язык сахарком посыпает. Реальные фичи браузера - это уже полифиллы и там дохуя косяков и ограничений.
                        Ответить
                        • Чесгря не ебу что такое бабель. Я думал это штука, которая конвертит новый жс (в который умеет новый браузер) в старый (в который умеют все браузеры). Не так?
                          Ответить
                          • Ну да, но она конвертит только сам жс. Т.е. всякие webgl да скруглённые рамочки у тебя от этого не отрастут на IE6.
                            Ответить
                            • То есть гость выше должен бояться, что случайно заюзает какую-нибудь функцию из Math, и всё сломается, а за синтаксис может не переживать?
                              Ответить
                              • Ну Math наверное завезут. Байтовые массивы тоже наверное сэмулируют через жопу с тормозами.

                                З.Ы. Хотя вот я не представляю где проходит граница между экмаскриптом и его браузерной реализацией. Входят ли туда вообще эти массивы?
                                Ответить
                                • Ты про ArrayBuffer ?

                                  Написино, что довольно давно могут
                                  https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer
                                  Ответить
                                  • Ну да. Я просто х.з. какие фичи в спеке языка, а какие в спеках веб-хуйни. Я жс вне веба очень мало юзал.

                                    З.Ы. Да и в вебе тоже мало.
                                    Ответить
                                    • Кажется, что в спеке языка всё, кроме Web API:
                                      https://developer.mozilla.org/en-US/docs/Web/API
                                      Ответить
                                      • > спеке языка
                                        > mozilla.org

                                        Почему так?
                                        Ответить
                                        • Это ссылка именно на webapi))
                                          Сам язык обписан тут
                                          https://www.ecma-international.org/publications/standards/Ecma-262.htm


                                          Кстати, WebAPI тоже можно читать тут
                                          https://www.w3.org/TR/FileAPI/

                                          На мозиле просто удобнее
                                          Ответить
                            • Скруглённые рамочки — это уже не забота JS, это забота CSS. Их, кстати, на IE6 можно эмулировать с помощью VML (предшественника SVG).
                              Ответить
                        • разумеется, Fileapi он тебе в IE6 не завезет, и webgl тоже.
                          Но он завезет модули ES6, стрелочные функции итд
                          Ответить
                          • Слабое утешение. Это как посыпать сахаром торт из говна.
                            Ответить
                            • Да не очень-то. Без FileAPI я могу прожить, а без модулей ES6 -- нет. И без стрелочек -- тоже..
                              Ответить
                              • А по-моему, наоборот. Без стрелочек прожить можно (можно транспилером перевести стрелочки в function), а вот без FileAPI у пользователя какая-нибудь возможность отвалится (например, редактировать картинки на клиентской стороне).
                                Ответить
                                • >можно транспилером перевести стрелочки в function

                                  Мы и говорим про Бабеля.
                                  Знаешь его? Не тот, который по Беню Крика, а который babel
                                  Ответить
            • В «IE» можно было установить поддержку любого языка через «ActiveX». Был даже экспериментальный «ActivePHP»/«PHPScript» (правда, он дальше версии 5.0 не ушёл).
              Ответить
              • Да, вроде бы любой Active Scripting езык работал: что в ASP Classic, что в WSH, что в IE.
                Ответить
            • Нахуй надо то, что работает только в ие. Разве что специальный софт.
              Ответить
              • Ну а вдруг ты опотный VBS программист, а JS не знаешь?
                Ответить
          • Ну не знаю, это ж веб. Там же принято какую-нибудь неочевидную хуйню стаивть по дефолту. Причём разную в разных браузерах.
            Ответить
        • В «HTML5» — да.

          До «HTML5» по факту было тоже (как было по стандарту, не знаю, нужно проверять).
          Ответить
          • Чуть раньше стандарта просто не существовало. Было реально батхертно. И даже когда WWC собрали, мелкософт, хоть в него и входила, но кровь пила и мужской половой хуй на стандарт ложила, так как думала, что АктивХэ победит и все его юзать станут.
            Ответить
    • О чём этот тред?
      Ответить
    • "не говнокод. легко поддерживать. проект сдан в срок." © ваша кузина Краткость
      Ответить
      • |Говнокод〉
        |Не говнокод〉
        Ответить
        • похоже на патерн матчинг в хаскеле
          Ответить
          • cпецом для фанатов функци-анальщины: в TypeScript есть пропозал затащить на это седло кортежи (tuples) - типа с кортежами седло перестанет быть седлом
            Ответить
        • жапаёт не жапаёт
          https://www.youtube.com/watch?v=1e0dIf_byOQ
          Ответить
    • На самом деле, даже Искусство - какая элегантная недосказанность. Вначале было Слово, и было оно два байта...
      Ответить
      • С тех пор процессоры из двухбайтовых стали восьмибайтовыми, а слово по-прежнему два байта
        зачем?
        Ответить
        • размер слова как бы зависит от разрядности проца, поэтому слово уже давно не два байта, но многабукаф :)
          два байта только на микроконтроллерах разве что остались...
          Ответить
          • Неа. В «x86» слово как было двухбайтным, так и осталось.

            4.1 FUNDAMENTAL DATA TYPES
            
            The fundamental data types are bytes, words, doublewords,
            quadwords, and double quadwords (see Figure 4-1).
            A byte is eight bits, a word is 2 bytes (16 bits),
            a doubleword is 4 bytes (32 bits), a quadword is 8 bytes (64 bits),
            and a double quadword is 16 bytes (128 bits).
            A subset of the IA-32 architecture instructions operates on these
            fundamental data types without any additional operand typing.

            Intel® 64 and IA-32 Architectures Software Developer’s Manual
            Ответить
            • Вот у меня жопа горит от этого.

              Глупо же, не?
              Ответить
              • А представь как бы она горела, если бы в реальном режиме слово было 16 бит, в защищённом 32 а в длинном 64 на одном и том же проце. Я думаю все бы просто перестали юзать слово word и писали бы какие-нибудь u16, u32 и u64.

                Поэтому выбрали меньшее зло и сохранили традицию.
                Ответить
                • Да и слава богу.

                  Я бы хотел в Win32API вместо "DWORD" видеть какой-нить "I32" или "4B"
                  Ответить
                  • Специально для тебя там есть DWORD32 и DWORD64.
                    Ответить
                    • A QWORD is a 64-bit unsigned integer.
                      A DWORD64 is a 64-bit unsigned integer.

                      ЗАЧЕМ?!!!
                      Ответить
                      • Ну не всем же 3.14здатые фреймворки для фронтенда строгать, кому-то и на железе по3.14дарасить хочется :)
                        Ответить
                        • Да я не против железа, зачем названия такие ебанутые?

                          Кстати, win32api это не всегда железо: я переодически вынужден трогать его на работе (потому что у нашего основного окружения -- java -- просто нет API для некоторых вещей), хотя железо мы и не трогаем
                          Ответить
                          • Вынь32какбыАПИ это щастье. Сочувствую
                            Ответить
                            • Оно не очень страшное, просто очень вербозное. Все эти прекрасные функции с двенадцатью аргументами, бОльшая часть из которых null -- это очень уныло бывает
                              Ответить
                      • Лучше спроси, зачем в макакоси поддержку 32-битных приложух выпилили насильники
                        Ответить
                        • Это нормальная политика яблока: оно не унижается перед девелоперами.

                          В какой-то момент сказали: классика превращается в десятку, карбон в кокоа, у кого код под классику -- тот пускай в эмуляторе лапу сосет.
                          И все погундели, и утерлись.

                          Потом сказали: PPC превращается в x86, а теперь в ARM.
                          Что-то не нравится? Идите на хуй.
                          Ответить
                          • Это нетолерантная нихуя по отношению к неграм политика такая
                            Ответить
                            • Во многих линуксах тоже выкинули 32х битные приложения, но им проще: они могут перекомпилироваться (если не завязались на размер указателя или кол конвеншены)
                              Ответить
                          • Рынок тоже перед яблоком особо не унижается, как было жалких семь процентов, так и осталось. И это при том, что МС на винду в потребительском плане уже давно забили болт.
                            Ответить
        • Это только на х86 так сложилось.

          А на других процах word'ом вполне могут называть что-нибудь другое. К примеру, на ARM'е слово 32-битное, а 16-битная половинка называется half word. Не было у них 16-битного наследия.
          Ответить
          • А на «PDP-10» слово было 36-битным, на байты вообще не делилось.
            Ответить
            • Зато отлично делилось на октеты триады или как их там правильно? Ну восьмиричные цифры короче.
              Ответить
              • Триады, конечно. Октеты это 256-ти ричные цифры;))

                Кстати, давайте придумаем такие цифры? Придется брать иероглифическое письмо?
                Ответить
                • Да вон любую китайскую плоскость бери, они там вплотную забиты иероглифами.

                  Кстати в том компрессоре, который Пи кидал, походу так и сделали.
                  Ответить
                  • Я за пределы двухбайтовых плоскостей не смотрел, я по-китайски не понимаю..
                    Европейцу будет тяжело с такой системой.

                    А вот взять обычный cp437 из IBM PC: там же 256 символов как раз. Рожица там, псевдографика, хуйня всякая с умляутами и диактрическими знаками..
                    Ответить
            • А еще на PDP-10 был няшный терминал
              Ответить
              • Как сейчас помню, да. Ох, мы тогда с Керниганом и Ричи зажигали в 1969-м.
                Ответить
                • Дык пдпишки ещё и сегодня кое-где в госструктурах стоят и пашут. Даже в самой технологичной в мире стране еще дофигища софта на перфокартах - поверь
                  Ответить
                  • Не поверь, а проверь! Ты что не здешний и новенький?
                    Ответить
                    • Я тут редко бываю, в последнее время с говнокодом туго стало - дефицит :) ну проверь, если получится :)
                      Ответить
                  • И удобная панель для дебага
                    https://en.wikipedia.org/wiki/PDP-10#/media/File:MF10-Panel.jpg
                    Ответить
                    • Всегда мечтал об аппаратном дебаге.
                      Ответить
                    • Обрати внимание: биты 36-битного буфера разбили на триады. В восьмеричную систему можно переводить в уме.

                      А вот адреса 17-битные.
                      Ответить
                      • P.S. Вот что «Вика» пишет про адреса: адреса были 18-битными, но в «user mode» (вероятно, это аналог 3-го кольца в терминах x86) 17 битов отводились под смещение, а 1 бит — под номер сегмента. Сегментированная память из целых джвух сегментов!
                        Ответить

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