Сохранен 84
https://2ch.hk/b/res/321115859.html
Прошлые домены не функционирует! Используйте адрес ARHIVACH.VC.
24 декабря 2023 г. Архивач восстановлен после серьёзной аварии. К сожалению, значительная часть сохранённых изображений и видео была потеряна. Подробности случившегося. Мы призываем всех неравнодушных помочь нам с восстановлением утраченного контента!

имаджинируйте просто какой-то рандом делает на коленке за 10 дней дсл говноязык на отъебись, главное

 Аноним 11/06/25 Срд 12:24:20 #1 №321115859 
image.png
имаджинируйте просто какой-то рандом делает на коленке за 10 дней дсл говноязык на отъебись, главное чтобы быстрее. и это становится стандартом вебговна за 30 лет, и каждый макакен дрочит на хуйню на пике как на святую мантру.
Аноним 11/06/25 Срд 12:28:21 #2 №321115992 
>>321115859 (OP)
А могли бы просто как обычно дрочить свой анус дальше без кодинга
Аноним 11/06/25 Срд 12:31:16 #3 №321116064 
>>321115859 (OP)
>0.5+0.1==0.6
>true
>0.1+0.2==0.3
>false
Но ведь они оба должны быть false, т.к. числа с плавающей точкой на строгое равенство проверять не имеет смысла.
Аноним 11/06/25 Срд 12:35:53 #4 №321116184 
>>321116064
Что скажет на это питон?
Аноним 11/06/25 Срд 12:36:09 #5 №321116192 
image.png
>>321115992
могли бы подумать, а не срать говном за 10 дней. но тогда были тяжёлые времена, микрософт и прочий копроскам надо было быстро делать что-то вот и сделали.
Аноним 11/06/25 Срд 12:37:27 #6 №321116232 
>>321116064
>проверять не имеет смысла
Почему не имеет? На ноль вполне можно проверять. Ноль во флоате всегда должен быть нулем.
Если над флоатом не проводилось операций, то тоже можно сравнивать.
Аноним 11/06/25 Срд 12:41:57 #7 №321116375 
>>321116232
>На ноль вполне можно проверять. Ноль во флоате всегда должен быть нулем.
На ноль-то можно, т.к. для него зарезервирована особое значение, которое всегда одинаково. Для всех других чисел с палвающей точкой будет меняться плотность в зависимости от величины, машинный эпсилон, все дела. Если нужно строго сравнить два флоата, то выбираем нужную точность (n знаков после запятой), умножаем оба числа на 10^n, отсекаем все оставшееся после запятой и сравниваем инты. А прямое сравнение флоатов (где в каждом языке и компиляторе свои тараканы) - гиблое дело, лучше не ебать себе мозг и сразу приучиться делать как я написал выше.
Аноним 11/06/25 Срд 12:46:39 #8 №321116558 
>>321116184
тоже самое и скажет это стандарты, анон выше всё верно объяснил
>9 + "1" = "91"
конкатенируем строку всё ок
>91 - "1" = 90
минус может быть только математической операцией, поэтому приводит к числу
>[] == 0
пустой массив приводится к пустой строке, затем к 0
Аноним 11/06/25 Срд 12:48:26 #9 №321116625 
>>321115859 (OP)

10 лет работаю фронтом. Да, язык говно, но он собственно изначально разрабатывался под другие нужды. Примерно до 2010-2015 годов никто приложения на JS не писал почти, JS использовался по минимуму, какую-то хуйню на страничке анимировать, аякс запрос отправить и т.д. Потом уже требования поменялись, на нем начали пытаться делать полноценные приложения и собственно тогда и всплыли все детские болячки, но легаси и нежелание переучиваться сделали свое дело, поэтому и начали под JS писать всякие костыли типа TS которые позволяют обойти уебищность языка из коробки. Справедливости ради, то что на скрине изображено хоть и является правдой, но если ты нормально пишешь код, то ты с этим практически никогда не столкнешься. Никто в здравом уме не складывает массивы с объектами и не вычитывает булевые значения друг из друга. Хотя конечно понимать почему то или иное так работает надо.
Аноним 11/06/25 Срд 12:49:03 #10 №321116644 
>>321115859 (OP)
Что не так на пике? Давай конкретику
Аноним 11/06/25 Срд 12:49:58 #11 №321116668 
>>321115859 (OP)
и какой результат ты ожидаешь от typeof NaN или Math.max()?
ошибка десятичного представления есть в каждом первом языке и вообще это стандарт
пикча хуита для джунов-вкатунов
Аноним 11/06/25 Срд 12:50:30 #12 №321116693 
>>321115859 (OP)
Ты на приведение типов порвался, вкатунец?
Аноним 11/06/25 Срд 13:00:52 #13 №321117073 
>>321115859 (OP)
По математике с плавающей точкой есть спека IEEE754, по приведению типов есть спека в документе ECMA262. Кто ж тебе виноват, что ты долбоёб и не умеешь читать?
Аноним 11/06/25 Срд 13:02:37 #14 №321117132 
>>321115859 (OP)
То что ты не понял язык, не значит что он плохой.
sage[mailto:sage] Аноним 11/06/25 Срд 13:04:29 #15 №321117181 
image
>>321116693
Ты считаешь это приемлемым поведением, долбоеб малолетний?
[mailto:Sage] Аноним 11/06/25 Срд 13:04:30 #16 №321117183 
Ожидаемо, ни одного ответа по существу от ОПа. ОП просто создал байтящий тред чтобы потролить. Скорее всего он безработный долбоеб, который толком ни одного языка не знает
Аноним 11/06/25 Срд 13:05:04 #17 №321117210 
>>321115859 (OP)
В чем прикол сложение массива с объектом и вычисление длины суммы массивов с воск. Знаком?
Аноним 11/06/25 Срд 13:07:09 #18 №321117270 
>>321117181
а как должно быть пидор?
[mailto:Sage] Аноним 11/06/25 Срд 13:07:35 #19 №321117283 
>>321117181
Естественно. В джаваскрипте оператор "+" обозначает как сложение так и конкатенации строк в зависимости от операндов. В первом случае, поскольку один из операндов строка, используется операция конкатенации и выполняется автоматическое приведение операндов к строкам. Во втором случае, по скольку оператор "-" обозначает только вычитание , то есть математическую операцию, операнды приводятся к числу. Все предельно логично.
sage[mailto:sage] Аноним 11/06/25 Срд 13:07:41 #20 №321117288 
>>321116668
Не знаю, что за нан, но от
> Math.max()
ожидаю IllegalArgumentException хотя бы.
Аноним 11/06/25 Срд 13:08:01 #21 №321117294 
>>321117181

Для языка с динамической типизацией - да.
Аноним 11/06/25 Срд 13:09:15 #22 №321117337 
>>321117181
"+" перегружен и выдаёт результат в зависимости от порядка операндов, просто ты тупая хуйня неосилившая основные концепции кодинга
Аноним 11/06/25 Срд 13:09:23 #23 №321117342 
>>321117294
>динамической типизацией
странно в луа сделано нормально, может дело не в динамической типизации.
sage[mailto:sage] Аноним 11/06/25 Срд 13:12:58 #24 №321117460 
>>321117283
В таком случае стоит задаться вопросом: почему "строковый" плюс имеет больший приоритет, чем "числовой"?
Аноним 11/06/25 Срд 13:16:50 #25 №321117606 
return Object[_0x5ae400(0x30b) + '\x73'](_0x140242[_0x5ae400(0x2fd)]((_0x193e11, _0x21fcfd) => {
const _0x3d1586 = _0x5ae400;
let _0x359471 = _0x4e47b9[_0x3d1586(0x289)][_0x21fcfd];
return _0x193e11[_0x3d1586(0_0x326379._0xb8bdef)] && (_0x359471 = _0x193e11[_0x3d1586(0_0x326379._0xb8bdef)](_0x359471)), [_0x193e11['\x69\x64'], _0x359471];
}));
странно, в других языках не припомню такую ебанутую обфускацию.
для справки, тк в жс все объекты это хэштаблицы, то можно писать такую ебаниснитку, те сначала по всему файлы собирается строка объекта, потом строка метода, потом строки аргументов.
Аноним 11/06/25 Срд 13:17:41 #26 №321117632 
>>321117460
хуй знает зачем задаваться таким вопросом, если это базовые алгоритмы работы языка
[mailto:Sage] Аноним 11/06/25 Срд 13:23:11 #27 №321117808 
>>321117460
Иначе могли бы вылезать непредсказуемые nan , если строковой операнд не приводится к числу. Плюс паттерн "My number is " + number очень часто юзается. Пришлось бы везде руками к стрингу приводить. Это нормально что язык с динамической типизацией берет за дефолт самый распространенный юз кейс.
sage[mailto:sage] Аноним 11/06/25 Срд 13:25:16 #28 №321117876 
>>321117808
Было бы логично определять по первому операнду.
sage[mailto:sage] Аноним 11/06/25 Срд 13:26:19 #29 №321117915 
>>321117876
Было бы логично определять по первому операнду, а он по умолчанию в стринг гонит. Это хуйня какая-то.
Аноним 11/06/25 Срд 13:29:12 #30 №321118021 
>>321117183
>>321117270
>>321117283
>>321117337
>>321117632
>>321117808
вы не поняли? все эти "правила" есть только потому что это говно запили за 10 дней на коленке. могло бы быть иначе, но решили не ломать совместимость.
приведение типов не должно быть неявным.
говорю вам, в луа такой хуйни нет, при том, что луа имеет ту же реализацию в плане объектов-хэштаблиц.
Аноним 11/06/25 Срд 13:32:11 #31 №321118117 
174963743385577071.jpg
>>321115859 (OP)
Вебмакаки не программисты
Аноним 11/06/25 Срд 13:32:37 #32 №321118129 
>>321118021
Ну так пиши на луа, хули ты доебался до стандарта отрасли?
Аноним 11/06/25 Срд 13:39:27 #33 №321118365 
thumb.jpg
>>321115859 (OP)
Хм, а автор прав. Можно ждать когда соевый дебил просто создать своё подобие питона и бегать говорить что ИМЕННО ЕГО ЯЗЫК удобней чем любой другой.
Аноним 11/06/25 Срд 13:39:56 #34 №321118387 
Screenshot20250611133037.jpg
zadornov3.jpg
Screenshot20250611133631.jpg
Screenshot20250611133933.jpg
>>321115859 (OP)
>Унарный плюс (+) преобразует массив [] в число. Пустой массив преобразуется в 0.
>Пустой массив [] в логическом контексте считается true
Это типа нормально? Они считают, что так и должно быть?

Это не говоря о том, что значение + массив это всегда считается как строка + строка. С хуя ли? Почему?
sage[mailto:sage] Аноним 11/06/25 Срд 13:43:24 #35 №321118538 
>>321115859 (OP)
додикам навалили сладенького, чтобы не писать трёхэтажные методы, но додики привыкли жрать говно вот и бухтят
sage[mailto:sage] Аноним 11/06/25 Срд 13:44:07 #36 №321118564 
sage
sage[mailto:sage] Аноним 11/06/25 Срд 13:44:32 #37 №321118585 
sage
[mailto:Sage] Аноним 11/06/25 Срд 14:23:22 #38 №321120102 
>>321118387
А во что ты лично бы его преобразовывал?
Аноним 11/06/25 Срд 14:30:31 #39 №321120394 
>>321120102
Ни во что бля, ошибку кидать, не надо писать неявный дерьмокод сука. Нужна конвертация, задай её явно, пидарас ты ебливый
Аноним 11/06/25 Срд 14:38:07 #40 №321120741 
>>321115859 (OP)
Объясните, почему 0.1 + 0.2 != 0.3, у них же одинаковая точность.
[mailto:Sage] Аноним 11/06/25 Срд 14:39:56 #41 №321120826 
>>321120394
Понятно. Ты не понимаешь что такое динамический язык
Аноним 11/06/25 Срд 14:43:50 #42 №321120995 
>>321116625
Фронты объективно все без исключения дебилы, дегенераты и пидоры
Аноним 11/06/25 Срд 14:44:34 #43 №321121044 
>>321120826
Я понимаю, что это говно и полотнища текста от самых разных людей о том какой джс кал только подтверждает моё понимание.
Это во-первых.
Во-вторых. Ну динамический и что дальше, "пришёл" тебе некоторый объект и его нужно сравнивить с другим. Нахуя ты начинаешь его неявно конвертировать к некому общему знаменателю? Ты долбоёб? Вопрос риторический. Кидай ошибку, если у них типы в рантайме не совпадают. Всё нахуй.
Чтобы не спотыкаться о рантайм ошибки, добавь в свой динамический каловый выблядский язык статический анализатор, который подсветит такое сравнение и скажет что ты пидарас.
Аноним 11/06/25 Срд 14:52:27 #44 №321121384 
>>321120102
Оставил бы логическое преобразование, чтобы писать if a. В число нахуй надо. Строка + число нахуй надо. Строка + массив нахуй надо. Число + массив нахуй надо. Булевая хуйня + число / строка / массив, можно вторую часть приводить к булевому типу, и дальше работать с ним (+ считается за или, * считается за и)
Аноним 11/06/25 Срд 14:54:51 #45 №321121467 
>>321120741
Потому что данные хранятся в бинарном виде. И конечная дробь в десятичной системе не всегда конечная дробь в двоичной. Отсюда возникает потеря точности при округлении. И сравнение не проходит. И это часть стандарта IEEE 754, а не особенность js.
Аноним 11/06/25 Срд 14:55:12 #46 №321121478 
>>321121384
Хотя и это хуёвая практика. Вот если прямо напишут true or array, тогда array можно приводить. А true + array это хуйня говна
>динамический язык
Нахуй не надо
Аноним 11/06/25 Срд 14:57:02 #47 №321121550 
Ебать, да, одна и та же хуйня приводится к 0 и true, а челы это защищают по причине "это же динамический язык". 0 и true у них, блядь, и заебись
Аноним 11/06/25 Срд 15:01:59 #48 №321121739 
Алсо, питон тоже динамический язык, но там такой хуйни нет
Аноним 11/06/25 Срд 15:05:00 #49 №321121852 
>>321121550
Где 0 к true приводится? 0 это false, как и в плюсах.
Аноним 11/06/25 Срд 15:05:45 #50 №321121887 
>>321121852
[] приводится к true в одном месте, и к 0 — в другом
Аноним 11/06/25 Срд 15:08:21 #51 №321121995 
>>321118387
>Задорнов.jpg
Потому что язык СПЕЦИАЛЬНО создавался для них. Он специально такой. Это идея языка — чтобы каждый долбаёб мог добавить себе примитивный скрипт на страничку, и чтобы оно как-то работало
Аноним 11/06/25 Срд 15:08:37 #52 №321122006 
>>321121887
Где [] к true приводится?
Аноним 11/06/25 Срд 15:10:36 #53 №321122090 
>>321120394
>ошибку кидать
Чтобы отображение всего сайта наебнулась из-за одной кривой анимации.
Аноним 11/06/25 Срд 15:10:55 #54 №321122110 
>>321122006
В конце, там где ![]
![] это !true то есть false
Аноним 11/06/25 Срд 15:12:13 #55 №321122163 
image.png
image.png
image.png
>>321116064
Аноним 11/06/25 Срд 15:22:53 #56 №321122632 
>>321122090
Боль говнокодеров с динамическим калом.
Обмазывайтесь аналайзерами и тестами, чтобы не наебнулось.
Роллбек апдейта, че вам зря девопсов нарожали
[mailto:Sage] Аноним 11/06/25 Срд 15:35:52 #57 №321123115 
>>321120394
>Ни во что бля, ошибку кидать,
Не понял. А почему ты забираешь у меня возможность сложить число с массивом или объектом?
[mailto:Sage] Аноним 11/06/25 Срд 15:37:20 #58 №321123174 
17483729819950.jpg
>>321121044
>Статический анализатор
>В динамический язык
В голос
[mailto:Sage] Аноним 11/06/25 Срд 15:38:15 #59 №321123218 
>>321121384
>Число + массив нахуй надо
Потому что ты так решил? Если тебе не надо, не значит, что никому не надо
Аноним 11/06/25 Срд 15:40:29 #60 №321123326 
>>321115859 (OP)
Тащемта Айх хотел запилить scheme-подобный язык, но кабанидзе ему скозал что сейчас можно java, так и вышло вот это.

Алсо вся эта хуйня с пикрила в ирл никак не нужна, так как майки подвезли типизацию.
Аноним 11/06/25 Срд 15:41:44 #61 №321123373 
>>321122632
>>321122090
>>321123115
Вы только вдумайтесь в эту логику, в эту гнилую философию: "лучше пусть что-то там тихонько отработает криво, зато всё остальное будет работать"
Сегодня [] превратился в 0 в безобидной анимации. Завтра он попадёт в финансовый расчёт, в секьюрность или в отправку критичных данных. И ты не получишь ошибку. Ты получишь непредсказуемый, трудноуловимый баг, который всплывёт через месяц в совершенно другой части системы. Можно ли такое представить в медицинском оборудовании? В авионике? В банковском софте? Нет. Я не говорю, что там всё идеально и никогда не бывает ошибок. Но их очевидно меньше, чем в системе, в которой на базовом уровне разрешается "тихонько криво отработать и остальное не сломать".
Поэтому собственно и удел джсговна это морду нарисовать. Но, к сожалению, очень больные на голову люди, которые тщательно пытаются свой недуг скрыть, тянут этот пиздец в бекенд и это проблема человечества.

>>321123174
Этот вообще расписался в слабоумии, ну или просто залётный гайкокрут, тогда ладно.
Аноним 11/06/25 Срд 15:42:46 #62 №321123427 
>>321117283
>Все предельно логично.
Логично приводить по левому операнду.
Аноним 11/06/25 Срд 15:42:52 #63 №321123431 
>>321123218
Двачую. Даун предлагает динамический язык переделать в не динамический. Ну так возьми любой другой не динамический язык и пиши на нем. Какие проблемы
Аноним 11/06/25 Срд 15:44:39 #64 №321123506 
>>321121384
>Строка + число нахуй надо
Чтобы не терять время на ручное преобразование и лишний код.
Аноним 11/06/25 Срд 15:45:00 #65 №321123522 
>>321123431
>Ну так возьми любой другой не динамический язык и пиши на нем. Какие проблемы
Проблемы в техническом долге, который создали миллионы джс макак по всему миру и продолжают его наращивать каждую секунду. А так же они очень не хотят терять свои пригретые места, так что будут всеми правдами и неправдами защищать своё болото.
Аноним 11/06/25 Срд 15:45:30 #66 №321123553 
Шутка старая как сам жаваскрипт:

- что будет, если в JS умножить массив на дату?
- сразу же уволят
Аноним 11/06/25 Срд 15:46:09 #67 №321123580 
>>321123373
>тихонько отработает криво,
Что криво, еблан? Ты объясни нахуя бросать исключение при сложении объекта и числа, если это может быть частью логики заложенной в программе? Это только для долбоебов совсем незнакомых с языком это поведение "неявное".
[mailto:Sage] Аноним 11/06/25 Срд 15:47:05 #68 №321123630 
>>321123373
>Этот вообще расписался в слабоумии
Сразу видно дебила который никогда не писал статический анализатор , но горазд кукарекать
Аноним 11/06/25 Срд 15:48:48 #69 №321123692 
>>321123373
Какой в пизду отчет, жс для анимации кнопочек.
Аноним 11/06/25 Срд 15:48:49 #70 №321123693 
Сам в шоке, ну воля случая
Аноним 11/06/25 Срд 15:49:45 #71 №321123737 
>>321123630
>JSLint is a static code analysis tool used in software development for checking if JavaScript source code complies with coding rules.
Аноним 11/06/25 Срд 15:50:29 #72 №321123767 
>>321123692
>Но, к сожалению, очень больные на голову люди, которые тщательно пытаются свой недуг скрыть, тянут этот пиздец в бекенд и это проблема человечества.
Тяжело читать больше пары строчек, понимаю.
[mailto:Sage] Аноним 11/06/25 Срд 15:52:44 #73 №321123866 
>>321123737
Какой же ты тупой. Просто пиздец. Ну давай напиши правило которое запретит мне складывать массив с числом. Даже в тс я смогу это сделать.
Аноним 11/06/25 Срд 15:54:21 #74 №321123930 
Автор жса-то причём отпахал 7 лет в хуйне которая графикой занимается, там надо крепеньким быть и с базой т.е. мужик серьёзный, но всё равно понятно что языки должны компьютер саентисты проектировать, чтобы проблемы решались на основе теорбазы какой-то а не по мере их появления, иначе получится убогая дрисня как приведение типов в жаваскрипте
[mailto:Sage] Аноним 11/06/25 Срд 15:54:50 #75 №321123953 
Сначала кукарекали что жс медленный. Когда жс догнал по производительности C , начали выдумывать что динамичность языка это якобы плохо. Что с этими дибилами не так?
Аноним 11/06/25 Срд 15:56:43 #76 №321124027 
>>321123953
>жс догнал по производительности C
Можно уточнить что конкретно ты вкладываешь в это понятие, бенчмарк какой-то?
Аноним 11/06/25 Срд 15:58:15 #77 №321124090 
image
>>321123953
>динамическая хуйня со сборкой мусора догнала с
вы верите? я верю
Аноним 11/06/25 Срд 16:03:19 #78 №321124322 
тр.png
16805647307920.png
16805647307921.png
16863874803640.png
Позволь мне рассказать историю о зарождении легенды, которая началась 3000 лет назад. В то время я был там - залетный свидетель этого знаменательного события.

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

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

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

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

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

Однако, со временем по всему интернету начали ходить слухи о древнем маге, который иногда посещает треды и карает тех, кто не знает сути, тех, кто не жаждет знания. И так появилась легенда.
Аноним 11/06/25 Срд 16:03:39 #79 №321124334 
16863874803962.mp4
>>321124322
Аноним 11/06/25 Срд 16:03:59 #80 №321124349 
>>321123866
Делать мне нехуй для этого кала затычки писать чтобы доказать говноеду что он говноед.
Концептуально, такой анализатор все ситуации не покроет, иначе это будет по сути написанием языка со статической типизацией. Простые кейсы можно покрыть, литералы, присваивания в рамках текущего скоупа.
Но ты высрал, что статический анализатор в принципе невозможен для динамического языка. Это не так, выше уже написал пример.
Аноним 11/06/25 Срд 16:06:39 #81 №321124448 
>>321123930
Какие в пень саентисты, тогда была война браузеров и нетшкафу надо было обыграть майков (которые уже собирались впихнуть в осла свой БЕЙСИК) за 10 (десять) дней.
[mailto:Sage] Аноним 11/06/25 Срд 16:27:29 #82 №321125280 
>>321124349
>Чтобы не спотыкаться о рантайм ошибки, добавь в свой динамический каловый выблядский язык статический анализатор, который подсветит такое сравнение и скажет что ты пидарас
Я тебе написал что статический анализатор для этого кейса невозможен, по причине динамичности языка. Но ты щас начинаешь что то верещать про простые кейсы.
[mailto:Sage] Аноним 11/06/25 Срд 16:29:00 #83 №321125341 
>>321124027
Любой алгоритм возьми, обход дерева какого нибудь я ебу и проверь
[mailto:Sage] Аноним 11/06/25 Срд 16:31:18 #84 №321125436 
>>321124322
>Прокси
Вотета да прям магия
comments powered by Disqus

Отзывы и предложения