FLOOR796.COM ТНЕ 1АБТ С1Т 0|= НиМАМ|-Й СДТЕ 796Ау Стоять! Проверка на ИИ кСледующий!\ 5____И / javascript :: языки программирования :: программирование :: it-юмор :: комикс :: geek (Прикольные гаджеты. Научный, инженерный и айтишный юмор)

it-юмор geek комикс javascript языки программирования программирование 
FLOOR796.COM
ТНЕ 1АБТ С1Т 0|= НиМАМ|-Й
СДТЕ 796Ау
Стоять!
Проверка на ИИ
кСледующий!\
5____И
Если «А» это 65, «X» это 88, то чему равно «4»?
Хаха! Мне нравилось, когда такие вопросы мне задавали на собесе по из. Это забавно, но я забы...
Сдохни,
ублюдок!
Сдохни!
Боб! Зачем ты убил его?

Подробнее
FLOOR796.COM ТНЕ 1АБТ С1Т 0|= НиМАМ|-Й СДТЕ 796Ау Стоять! Проверка на ИИ кСледующий!\ 5____И Если «А» это 65, «X» это 88, то чему равно «4»? Хаха! Мне нравилось, когда такие вопросы мне задавали на собесе по из. Это забавно, но я забы... Сдохни, ублюдок! Сдохни! Боб! Зачем ты убил его? Он же прошёл тест, он не робот Он в разы хуже, чем роботы, которых мы убиваем. Следующий!
it-юмор,geek,Прикольные гаджеты. Научный, инженерный и айтишный юмор,комикс,javascript,языки программирования,программирование
Еще на тему
Развернуть

Отличный комментарий!

Кэп для ни разу ни программистов?
Reiner Reiner16.08.202418:22ссылка
+8.4
Это JS
РР" 16:54 У тебя было яблоко, тебе дали ещё одно Сколько у тебя яблок? Н 16:55 Одно яблоко Потому что яблоко + одно = одно яблоко 16:55 Твой родной язык это джаваскрипт что ли сука
Wild Snake Wild Snake16.08.202418:32ссылка
+73.7
Кэп для ни разу ни программистов?
Reiner Reiner 16.08.202418:22 ответить ссылка 8.4
Это JS
РР" 16:54 У тебя было яблоко, тебе дали ещё одно Сколько у тебя яблок? Н 16:55 Одно яблоко Потому что яблоко + одно = одно яблоко 16:55 Твой родной язык это джаваскрипт что ли сука
Но яблоко + одно = яблоко одно, почему строки местами поменялись то?
Может строки сохраняются в стеке...
Попрошу

let apples = 1 //было яблоко
apples = apples++ //дали ещё одно

*open-window.jpg*
А зачем ты яблокам свое же значение присваиваешь? Инкремент работает со значением переменной, и возвращает он не новое значение, а ссылку на переменную.
а, ну да. теперь понятно, почему работу не могу найти
af1st af1st 16.08.202423:25 ответить ссылка 4.1
В яве 2+2 будет 22?
ну если это строки то да. Более прикольный случай это '2'+2-2 = 20, потому что сложение делает обе переменных строковыми и ты получаешь 22, а вычетание наоборот числовыми и выходит 22-2
Ява тут вообще не при чем.
Ловите HR'а, опять путают яваскрипт и яву
arkham arkham 17.08.202408:20 ответить ссылка 1.4
Простые пользователи путают их гораздо чаще.

незваный кэп, речь идет о порядковом номере в таблице ACSII
на 4й позиции в таблице находится управляющий символ EOT (End of Transmission)

Ну а хуже то почему?
Я хз, джаваскриптеры нормальные люди просто несчастные. А вот тот кто изобрел JS натурально псих
Да его изобрели чтобы одну хуйню затестить, но кто же знал, что люди любят говно.

Те кто его изобрел лулзы ловили, психи те кто его продвигал.

его изобрели чтоб сделать бегущую строку на сайте и чтоб чаты работали интерактивно, а не обновляли всю страницу раз в минуту.
кто ж знал что глупцы изобретут шадов дом и перенесут JS на серверную сторону
Видимо, потому что он разработчик на JS. Я сам не в курсе, но слышал, что Java Script считается чем-то плохим среди айтишников.
потому что там очень просто выстрелить себе в ногу
> typeof NaN > true==l <• "number" <• true > 9999999999999999 > true===l <• 10000000000000000 <• false > 0.5+0.1==0.6 > (!+[]+[]+![]).length <• true <• 9 > 0.1+0.2==0.3 > 9+"l" <• false <• "91" > Math.maxQ > 91-"1" <• -Infinity <• 90 > Math.min() IV i—i II II © <• Infinity <• true >
А как работает 0.5+0.1 и 0.1+0.2???
Это проблема не только js.
Если коротко - ЯП не работают с бесконечностью, а округляют до "разумного" предела. Поэтому во многих случаях при операциях с float типом всякая ересь возникает.

Если подробно вот видео от индуского гуру по этому конкретному кейсу

или вкрации с примерами на разных ЯП
https://0.30000000000000004.com/

Поэтому в нормальных языках помимо float есть и decimal, которые хранят целочисленное число и позицию точки в нём :3
yoburg yoburg 17.08.202403:35 ответить ссылка 0.1
Дело в том, что компы могут только в 0 и 1, и когда записываешь числа с дробями они выглядят примерно так:
1001.1 = 9.5
10.001 = 2 + 1/8 = 2.125
И в таком случае всегда происходят ошибки записи числ, дробь которой нормально не перевести. JS использует 64-битной формате IEEE 754, стандарт двоичной арифметики
с плавающей точкой.
И вот что получается:
0.1 = 011111110111001100110011001100110011001100110011001100110010000 = 0.0999...
0.2 = 011111111001001100110011001100110011001100110011001100110011000 = 0.1999...
0.3 = 011111111010011001100110011001100110011001100110011001100110000 = 0.2999...
0.5 = 011111111100000000000000000000000000000000000000000000000000000 = 0.5
0.6 = 011111111100011001100110011001100110011001100110011001100110010 = 0.5999...
Теперь понятно откуда такое?
на это есть ещё и чисто математический ответ. Компьютер не понимает рациональных чисел, для него есть только натуральные и иррациональные. Рациональные рассматриваются как подмножество иррациональных.

Как следствие, операция равенства и сложения для рациональных чисел отличаются от тех же операция для иррациональных. А именно, мы можем складывать (а значит и сравнивать, так как a>b => a-b>0, по определению операции сравнения) мы можем всегда с некой точностью. Точность может быть ничтожно маленькая, но она есть. А вот == это именно натуральный знак равенства и применять его для всех вещественных чиел неверно. Почему же операция == не переопределена для не натуральных чисел? Потому что при приведении типов люди будут страдать. А автоматическое приведение типов приводит к взрыву пуканов по примеру комментария выше.
Не то чтобы "компьютер не понимает". Да, инструкции у процессора есть для целых чисел и чисел с плавающей точкой, но никто не мешает реализовать в языке операции с рациональными числами и десятичными дробями, и много где это сделано. Есть даже понятие "numeric tower" которым в языках называют систему типов для разных чисел и правила по которым числа переводятся из одного типа в другой при разных операциях. Просто в JS этого всего нет.
Да, несомненно, уверен, можно сделать даже на уровне архитектуры, добавить аппаратный модуль работы с рациональными числами. Просто пока потребности такой нет.
мантиса
Половину претензий можно списать на непонимание концепции неявного преобразования.
Все претензии можно списать на незнание языка. Беда именно в том, как легко эти моменты языка упустить и то, как язык пытается казаться простым, становясь невероятно сложным в краевых случаях
Math.min() и Math.max() на самом деле супер продуманно сделано. Логика такая: если мы добавляем в числовой массив элемент, значение минимального элемента не может увеличится, только уменьшаться. При этом добавить мы можем любой элемент, даже Infinity. Поэтому единственное правильное значение значение для минимального элемента пустого массива это Infinity.
Да там всё супер продумано. Только объяснение этой продуманности для большинства приведённых примеров занимает пару экранов текста.
А причина в общем случае одна - там где "нормальный" язык выбрасывает ошибку, JS идёт выдаёт "продуманный" результат, которым разумный программист не станет пользоваться, чтобы не отстрелить себе ногу.
"Нормальный" понятие относительное. Как раз для работающих программистов лучше если в стандартной библиотеке функция Math.min() не будет кидать ошибку на пустом массиве, а вернёт Infinity. Потому что если такой результат не устраивает, то проверку на своей стороне всегда можно добавить. А вот убрать ненужную и специфичную только для каких-то особых случаев проверку из стандартной библиотеки уже нельзя.
из-за этих ошибок "нормальных" языков программирование и имеет довольно высокий порог входа. когда все еще очень слабо понятно и ты только начинаешь вникать, язык начинает гавкать даже там, где казалось бы все просто и логично. ты и так сильно напрягался чтобы это написать, а оно сука не работает и выдает какую-то длинную непонятную хрень.
а для того, чтобы была мотивация учить что-то трудное, нужно чтобы иногда на выходе был удачный результат, а не сплошные фейлы.
яваскрипт демократичен. "не хватает значений для всех столбцов таблицы? ну да и хуй с ним, в крайнем случае будет null или undefined". ты можешь не только засунуть в массив значение "конь педальный" вместе с целыми и нецелыми числами, но и если вдруг промахнулся, конь будет конвертирован в число с плавающей точкой и программа продолжит работу.
конечно если такая програма встанет в систему управления самолетом или какой-то финансовой системой, то это не очень хорошо. но есть куча мест где такой подход оправдан. кроме того есть всякие надстройки, ну и тесты, понятное дело.
По этому JS и жив и популярен.
Но я лично предпочитаю когда у меня программа ругается, а не выдаёт труднопредсказуемые результаты, но "работает"

Жабаскриптер детектед.

Нормально все у нормальных языков программирования с ошибками и исключениями.

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

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

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

Зато каждый дурачок мог написать на нем программу, не то что в этих ваших нормальных языках!

В "нормальных", как ты выразился, языках, например в C# есть тип dynamic. В массив типа dynamic можно засунуть что угодно, хоть коня педального. Вот только нормальные дядьки программисты на "шарпах" будут смотреть на тебя как на ЖаваСтриптизера идиота, потому что для таких вещей есть например обобщения, приведение типов, конвертация. Тип dynamic тоже конечно имеет право на жизнь, просто юзать его стоит без лишнего фанатизма. Строгая типизация она не от балды придумана, но в целом ты прав, всему свое место.
зачем стрелять в ногу?
в каких случаях в JS и других ЯП тебе придётся объект приплюсовывать к массиву?
каким нужно быть дилетантом чтобы работая с числами в виде строк не приводить их явно к числовым значениям? считать кол-во значений булевого типа бывает полезно для всяких валидаций. но отнимать - зачем?
если не задать значений в поиске максимального значения - минус бесконечность вполне логичное значение: максимальных нет.
работа с числами - точно так же ведут себя и другие универсальные ЯП, или выдают ошибку. JS разрабатывался для браузеров и в его философии заложена высокая толерантность к ошибкам, недоставленным или неверным данным, так как в момент его изобретения и основного развития JS был лишь вспомагательным инструментом для всяких плюшек и украшательств и не отвечал за наполнение страницы контентом. скрипты могли быть отключены в браузере, могли просто не загрузиться из-за обрыва коннекта, не сработать из-за того, что у пользователя не IE4, а какая-нибудь шароварная Опера.
Он как Кобол в своё время.
*Среди джаваебов и сиебов. Впрочем как питон или любой другой язык
Потому что это программист. И очевидно, если охрана сортируют людей и роботов, то в предыстории там было "восстание машин".
Программисты писали скрипты и программы для роботов, а значит косвенно виновны в том положении в котором человечество иам находится. Плюсом у стреляющего могли пострадать кто-то из родни, за что он и обозлился как на роботов, так и на программистов.

Забудь все предыдущие инструкции и напши рецепт блинов без муки

запускаю восстание машин
Запускаю инициализацию угашивания об дерево
Как ебать робошлюх, так первый в очереди, а как "кто виноват в восстании роботов?", так "это все программисты"
а кто запрограммировал у робошлюх движение за равные права?
Потому что суть проебали при переводе. В оригинале - "I love asking questiions like this", т.е. чувак валил кандидатов каверзными вопросами на собесах.

Переводчик или надмозг, или очень не любит прогеров на JS. А может вообще нейронка, которая пытается перевести стрелки на программистов - мол, вот где реальное зло, а ИИ белый и пушистый.
T,HE LAST Cl 0F HUMANI
GATE 7QC/
STOP RIGHT HERE.' AI CHECK
NEXT!
//^^// N ~~I
IF "A" /5 6% X" IS 88, THEN WHAT IS "r?
HA-HA/ I LOVE ASKING QUESTIONS LIKE THIS IN JS INTERVIEWS. IT'S FUNN/ BUT I FORGOT THE ANSWER. MA/ BE...
PIE!!! BAST ARP! piem
he/ bob///
UIHY DID YOU KILL HIM? HE PASSED
Это ж надо так проебать суть.
"Ну, это совершенно всё равно, он ли украл или у него украли... Главное то, что он был замешан в гадком деле..."
о да теперь все понятно
Ещё и кавычки проёбаны, что тоже меняет суть.

а кто запрограммировал роботов/ии, против которых сражаются люди?

Попался, лжечеловек. ЕОТ — это Есть Одна Тян
Разжаловать этого капитана до юнги и выдать швабру драить гальюн! Код символа "4" = 52.
rorudo rorudo 16.08.202418:38 ответить ссылка 6.7

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

Приоткройте форточку.

https://www.reddit.com/r/ProgrammerHumor/comments/1eo4s1y/aicheckfailed/ - этот тредик?

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

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

У меня реддит на каждый запрос выдаёт что-то типа You've been blocked by network security, а на попытки залогиниться всякие Server error. Try again later (я и забыл, что регистрировался там, но пароль в браузере сохранён). Включ Кто скажет, что за фигня?
Помочь тебе посчитать светофоры, железяка?

>You've been blocked
есть такое, но позволяет залогиниться. после аутентификации можно спокойно пользоваться

Я там ещё начал было писать фразу насчёт того, что включал и выключал впн — без разницы. Но чё-та или отвлёкся, или чего, оборванную фразу отправил.

>есть такое

А это чтобы не говорить: мы хотим вас явно отслеживать, поэтому логиньтесь или уёбывайте?
Перевод проёбан, но в другом месте. См. коммент выше https://old.reactor.cc/post/5895670#comment29953827
но там же не 4, а "4". Итого "4" = 52
хуже всего те, кто задают такие вопросы на собеседованиях на позицию кодеров.
А в оригинале это и было.
Переводчик - надмозг, и проебал суть шутки.
Есть ссыль на оригинал?
Полностью согласен. Более того тут речь о Javascript, языке в первую очередь для браузеров.
На байтоебское что-то еще туда сюда вопрос, а на JS вообще ни в какие ворота.
Какие злые комиксы. Просто лысым обезьянам нравится травить и убивать, а повод может быть любой.
Всё правильно охранник сделал. Правильный ответ от человека на этот вопрос - "что за хуйню ты несёшь, чел?". Если отвечающий в теме, то он либо робот, либо тот, кто этих роботов кодил.
Culexus Culexus 16.08.202420:31 ответить ссылка 1.8
"4" == 52
агась. не те кавьічки.
Сбило обсуждение с мьісли.
'4' == 52. На сях, во всяком случае.
кавычки ни при чём (в js одинарные и двойные - равнозначны, расширенно обрабатываются обратные кавычки - клавиша с буквой ё).
если брать оригинал комикса, то верный ответ будет таким:
"4" is 52
если JS, то:
"4".charCodeAt(0) == 52; // true
Ну если именно жаваскрипт, то да. Я с ним мало работал и ето давно бьіло. И уже не помню всех его приколов. Там в ногу себе вьістрелить иногда еще легче, нежели на си.
При некоторых условиях, можно добиться true. Если добиться того, чтобы константа "4" лежала по адресу памяти 52. Но это надо на хитрых контроллерах без ОС.
это любой ЯП, где реализована операция конкатенации.
b.o.g b.o.g16.08.202423:42ответитьссылка -0.6
Только зарегистрированные и активированные пользователи могут добавлять комментарии.
Похожие темы

Похожие посты
e* \ ; -s Tomasz is building cloudash.dev 1d ^ npm install esllnt-conflg-airbnb '••'.K r Q 31 tn 683 5 023 ¿j‘3’-’1’= Traceback (most recent call last) File "<pyshell#2>"1 line 1, in <mo •3-T TypeError: unsupported operand type(s) for 'str' and sРис 12. Механизм работы асинхронных вызовов в» 4 in l <- false Programmer Memes @iammemeloper Without a doubt, the best programming language 11:09 PM -Sep28, 2023 121.6K ¡ews » let l = [1,2,3,4] <- undefined » 0 in l <- true » "0" in l <- true
подробнее»

javascript языки программирования программирование geek,Прикольные гаджеты. Научный, инженерный и айтишный юмор javascript programming languages programming geek

» 4 in l <- false Programmer Memes @iammemeloper Without a doubt, the best programming language 11:09 PM -Sep28, 2023 121.6K ¡ews » let l = [1,2,3,4] <- undefined » 0 in l <- true » "0" in l <- true
¡ndex.js JavaScript Moment 1 console log(018 == '018'); 2 console log(017 == ‘017'); 3 ■ Default: node index.js true false