А какой твой родной язык?

А какой твой родной язык?

IT-юмор

5.6K постов52.5K подписчик

Добавить пост

Правила сообщества

Не публикуем посты:
1) с большим количеством мата
2) с просьбами о помощи
3) не относящиеся к IT-юмору

Вы смотрите срез комментариев. Показать все
2
Автор поста оценил этот комментарий
Она говорила "два по сорок, это два сорок
раскрыть ветку (6)
1
Автор поста оценил этот комментарий
Нет, говорила как написал, ещё и с акцентом. Может и не хотела обсчитывать, но звучало прикольно.
раскрыть ветку (5)
1
Автор поста оценил этот комментарий

Это похоже что с какого-то анекдота или фильма

Пересекался с одним директором по работе и у него любимая присказка была: сорок, сорок это рубль сорок

раскрыть ветку (4)
8
Автор поста оценил этот комментарий

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

раскрыть ветку (3)
1
Автор поста оценил этот комментарий

Не боись, пройдёт, главное не увлекаться

Автор поста оценил этот комментарий

У меня так со словом «пылесос»

раскрыть ветку (1)
Автор поста оценил этот комментарий

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

6
Автор поста оценил этот комментарий

ненене!
будет 9$9$

раскрыть ветку (7)
3
Автор поста оценил этот комментарий

"9 баксов 9 баксов"

раскрыть ветку (4)
6
Автор поста оценил этот комментарий
Но 20 баксов это 20 баксов
раскрыть ветку (3)
Автор поста оценил этот комментарий

"Я не гей.."

раскрыть ветку (2)
1
Автор поста оценил этот комментарий
Предпросмотр
Автор поста оценил этот комментарий
Иллюстрация к комментарию
ещё комментарии
4
Автор поста оценил этот комментарий

Ну и мразь же ты, отвратительно!

1
Автор поста оценил этот комментарий

Мне кажется, как минимум один из этих учебников стоит не 9, а '9' баксов. Можно ли вычесть из его стоимости 0 баксов, пожалуйста?

1
Автор поста оценил этот комментарий
Ты сделал мой день
1
DELETED
Автор поста оценил этот комментарий

Лео пьёт в твою честь. жпг.

2
Автор поста оценил этот комментарий
Предпросмотр
YouTube9:12
Автор поста оценил этот комментарий
Я тоже очень хочу пост про Яву. Лёгкое обучение. Вы хоть попробуйте разок))
Автор поста оценил этот комментарий

Ору!

Автор поста оценил этот комментарий
Будет сдача со 100$? Вот вам 1 доллар, 0 долларов и ещё 0 долларов
Автор поста оценил этот комментарий
За 2 или за 11?
Автор поста оценил этот комментарий

а можно мои 10 рублей превратить в 1000000000?

Автор поста оценил этот комментарий

а вы точно математик?

Автор поста оценил этот комментарий

Вы пробел забыли между девятками поставить )

Автор поста оценил этот комментарий

Хыыы) хорошие бухгалтеры получается тоже в некотором роде программисты)

49
Автор поста оценил этот комментарий
JavaScript !== Java
раскрыть ветку (36)
12
Автор поста оценил этот комментарий
Не равно равно?
раскрыть ветку (35)
31
Автор поста оценил этот комментарий
Строго не равно
12
Автор поста оценил этот комментарий

*зануда мод он*
не равно без преобразования типов
'1' != 1 // false
'1' !== 1 // true
*зануда мод офф*

раскрыть ветку (5)
Автор поста оценил этот комментарий

Минуту. Если мы не меняем тип с строки на число, то почему первое - false? Строка не равно число. в чем проблема? Или только второе без преобразования?

раскрыть ветку (1)
1
Автор поста оценил этот комментарий

в первом случае идет приведение типов и единица-строка равна единице-числу, по этому false (условие проверки "не равно")

Автор поста оценил этот комментарий

Благодаря Neronayron я понял, почему.
Но лучше б не было этого приведения типов.

раскрыть ветку (2)
1
Автор поста оценил этот комментарий
Тогда вам не JavaScript, а TypeScript нужен.
раскрыть ветку (1)
3
Автор поста оценил этот комментарий

Блядь, нет. Не хочу ловить баги два раза.

Автор поста оценил этот комментарий
восклицательный знак равно равно))
ещё комментарии
10
Автор поста оценил этот комментарий
В Java строгая типизация, там такая наркомания не пройдет
5
Автор поста оценил этот комментарий
А при чем тут Java?
раскрыть ветку (4)
5
Автор поста оценил этот комментарий

Java + Script = JavaScript

раскрыть ветку (3)
5
Автор поста оценил этот комментарий
JS никакого отношения к Java не имеет
раскрыть ветку (2)
5
Автор поста оценил этот комментарий

Ты ещё скажи, что JS никакого отношения к Script не имеет

раскрыть ветку (1)
Автор поста оценил этот комментарий
Нет, ты сам только что это сказал
5
Автор поста оценил этот комментарий

Вы смотрите он вам учебник по java вместо javascript и подсунет

ещё комментарии
ещё комментарии
2
Автор поста оценил этот комментарий
Извинись. Учебник по JavaScript!
2
Автор поста оценил этот комментарий

Так ведь всё итак понятно.

Если стоит плюсик, то JS всеми силами пытается представить следующий элемент как строку. Если стоит минус, то наоборот, всеми силами пытается представить следующий элемент как тип данных, который можно вычитать.

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

раскрыть ветку (15)
2
DELETED
Автор поста оценил этот комментарий
Жалко, что математических знаков мало, а так можно было бы на каждый свою логику написать
раскрыть ветку (14)
5
Автор поста оценил этот комментарий

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

раскрыть ветку (11)
6
DELETED
Автор поста оценил этот комментарий
Неконсистентная логика ведёт к проблемам, если ты каждый мат знак обрабатываешь по разному, ещё и в зависимости от типа объектов с которыми ведёшь операции - это просто паутина выборов
Автор поста оценил этот комментарий
Логика работы операторов не должна зависеть от операндов!

Яблоко + яблоко = 2 яблока
машина + машина = null //потому что машина не круглая и не съедобная.
раскрыть ветку (9)
2
Автор поста оценил этот комментарий

С какого перепугу не должна? Ещё как должна зависеть от типа операнда!

Допустим с числами все ясно (конкретно в случае оператора +)

1 + 2 = 3

А со строковыми типами + обычно их конкатенирует

'ab' + 'bc' = 'abbc'

А в некоторых ЯП (тот же С++) для своих типов можно операторы перегрузить.

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

Например, сложение:

Мнимые к мнимым, действительные к действительным!

1+2i + 1+2i = 2+4i


Еще как должна логика зависеть, просто оператор должен быть определён для типа, с которым ты его используешь.

Почему на 0 делить нельзя? Потому что в пространстве чисел операция деления конкретно в случае деления на 0 не определена.

раскрыть ветку (8)
1
Автор поста оценил этот комментарий
Потому что это усложняет программирование.
Представь, что стоимость проезда на метро каждый день показывалась бы в новой системе счисления, основание которой - минимальный простой множитель ближайшего простого числа, образованного перемножением всех чисел месяца до текущего.

Да, логика есть и вполне детерменированная.

Удобно?
раскрыть ветку (7)
1
Автор поста оценил этот комментарий

Про метро очень плохой пример плохо написанной логики, который не опровергает всего того, что я написал выше.

По твоей логике и на 0 делить можно в арифметике.

Как комплексными числами оперировать? А векторами? А пользовательские типы данных?

Ты не можешь по одной логике складывать и числа, и строки.

Возможность определять операторы не усложняет - даёт больше свободы. Просто пользуйся с умом.

раскрыть ветку (3)
Автор поста оценил этот комментарий
Для этого нужны РАЗНЫЕ операторы для РАЗНЫХ данных с РАЗНОЙ логикой

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

Это от безысходности
раскрыть ветку (2)
Автор поста оценил этот комментарий

Чивооо блять?. жпг

раскрыть ветку (2)
Автор поста оценил этот комментарий
Логика есть, зависит от операнда. что не так?
раскрыть ветку (1)
Автор поста оценил этот комментарий

на каждый свою логику написать

В некоторых языках можно:

> creation of programmer-defined operators (e.g. Prolog, Seed7, F#, OCaml, Haskell).

https://en.wikipedia.org/wiki/Operator_(computer_programming...

раскрыть ветку (1)
DELETED
Автор поста оценил этот комментарий
Ну от функциональщины подсознательно ждёшь такой дряни от жабаскрипта - нет
Автор поста оценил этот комментарий
Java и Java Script совершенно разные вещи. Просто на будущее, чтобы однажды вдруг не было из-за этого недопониманий
Автор поста оценил этот комментарий
И я!!
Автор поста оценил этот комментарий

При чем тут Java, если речь по JS?

Автор поста оценил этот комментарий
При чем здесь джава?
Автор поста оценил этот комментарий
Почему по Java?
Автор поста оценил этот комментарий

Java и JavaScript разные вещи)

Автор поста оценил этот комментарий
https://learn.javascript.ru/
Наслаждайтесь. Это практически самый актуальный и самый толковый учебный материал по JavaScript на текущий момент.
Автор поста оценил этот комментарий

Так тебе java нужна или всё-таки js?

Автор поста оценил этот комментарий
На 5 золотых...
DELETED
Автор поста оценил этот комментарий

"на все деньги.." но потом купил пирожок и снова копить

Автор поста оценил этот комментарий
Безумству храбрых поём мы песню.
152
Автор поста оценил этот комментарий

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

раскрыть ветку (94)
81
Автор поста оценил этот комментарий

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

раскрыть ветку (69)
7
Автор поста оценил этот комментарий

Это не имеет отношения к динамической типизации, неявное приведение типов - признак слабой типизации (хотя антагониста ты назвал правильно - строгая/сильная типизация), бывают языки как со статической и слабой типизацией (С), так и с динамической и строгой (Python)

7
Автор поста оценил этот комментарий

Та норм язык, просто я не понимаю зачем вообще там эта фича

раскрыть ветку (22)
24
Автор поста оценил этот комментарий
Это риторический вопрос? Если да, я все равно выебнусь) Потому что исторически JS был языком для простеньких скриптов, при его создании его хотели сделать как можно проще, без строгой типизации. Чтобы минимизировать ситуации, когда при ошибке не запускается вообще ничего
раскрыть ветку (19)
13
Автор поста оценил этот комментарий
Ну так самое простое, и очевидное - это вторую переменную приводить к типу первой. И не будет путаницы. Что первое - тот тип и используем. Это очевидно, логично, и интуитивно понятно. Зачем выдумывать разное поведение?
'5' - 2 = '5-2'
5 - '2' = 3
'5' + 3 = '53'
5 + '3' = 8
раскрыть ветку (17)
22
Автор поста оценил этот комментарий

Самое логичное — падать, если операция неоднозначна.

ещё комментарии
15
Автор поста оценил этот комментарий
Я конечно прошу прощения, но ‘5’ - 2 = ‘5-2’ ни разу не очевидно, не логично и не интуитивно понятно. Почему минус стал строкой, почему в таком случае + не стал строкой, а вышло ‘53’, вместо ‘5+3’.

Используя этот пример у кого-то будут такие вопросы и всё вернётся к тому с чего начали.

Вычитание работает так как и должно работать приводя операнды к одному типу (числу).

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

почему '5' - 2 это '5-2', а '5' + 3 не '5+3'? Уж впихивать знак - так впихивать, натягивать сову на глобус - так натягивать.


А сколько будет 5 + ' яблок' у вас?

3
Автор поста оценил этот комментарий

'5' - 2 = '5-2'

Нелогичнее этого может быть только

define true = false

Автор поста оценил этот комментарий

Попрошу внимания, но первое выражение там вовсе не '5' - 2, а '5' + - 2. Это абсолютно разные вещи (с точки зрения javascript, конечно). В первом случае, так как минус является оператором вычитания он преобразует 5 к числу, и производит вычитание 2 из 5, получает 3. Во втором случае есть уже два оператора - плюс и минус. Плюс является оператором конкатенации, а минус уже работает не как оператор вычитания, а как изменение знака у числа 2 (причем неважно, дали ли вы ему строчку '2' или число 2, он все равно преобразует в число). Только что сама проверила, что все так и работает.

Иллюстрация к комментарию
1
Автор поста оценил этот комментарий

Ну так всё верно, идеально работает язык. Первое: в JS нет строгой типизации потому что JS изначально не язык программирования, а связующее звено между элементами HTML+CSS в форме яваобразного языка программирования. То, что JS уже можно использовать даже для десктопных и мобильных приложений - следствие его распространенности и адаптации, как следствие, под другие платформы и задачи.


Математические функции приводят строку к числовому значению


Если первым идёт строка она не конвертируется и яваскрипт видит выражение формата "строка" + "число". Т.к. строка с числом не складывается математически он просто конвертирует число в строку и складывает строки.


Если строка идёт второй, математические функции конвертируют её в число и яваскрипт получает два числа. после чего успешно их складывает или вычитает, что тут непонятного?


Язык прекрасен в своей простоте. Математические функция пытается привести значение к числу изначально, если не получается оставляет строку.


Равно же это знак присваивания, а не математическое "равно".

1
Автор поста оценил этот комментарий

Потому что исторически

Потому что был спроектирован из говна и палок в кратчайшие сроки.

Вот и получилось то, что получилось.

3
Автор поста оценил этот комментарий
Иллюстрация к комментарию
раскрыть ветку (1)
Автор поста оценил этот комментарий
-Зачем тебе это?
-'ну' + 'надо'
5
Автор поста оценил этот комментарий

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

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


Вот где тут логика?

Вопрос риторический, ее нет.

раскрыть ветку (44)
7
Автор поста оценил этот комментарий

Выбор не рандомный. Он вполне себе конкретный и, по своему, логичный. Да, непривычно что оно само додумывает за тебя, но вообще это дело привычки.

раскрыть ветку (25)
2
Автор поста оценил этот комментарий
а почему бы просто не складывать ASCII коды символов?
Смотри как просто и логично:
1+2= c
раскрыть ветку (2)
Автор поста оценил этот комментарий
Тогда уж не аски а утф=)
Основная проблема, из-за которой столько непоняток, в том что конкатенация и сложение в языке обозначаются одним символом. Поменять конкатенация на & и 3/4 подобных шуток можно в утиль списывать
раскрыть ветку (1)
Автор поста оценил этот комментарий
амперсанл занят
предлагаю оператор такой:
a ][ b
3
Автор поста оценил этот комментарий

по своему, логичный

Я понимаю, что это слово тебе не знакомо, поэтому держи https://ru.wikipedia.org/wiki/%D0%9B%D0%BE%D0%B3%D0%B8%D0%BA...


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


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

раскрыть ветку (21)
4
Автор поста оценил этот комментарий

Если ты не понимаешь почему в одном случае так, а в другом иначе это говорит только об ущербности твоего ума, а не об отсутствии логики.


Некоторым конечно проще вызубрить, чем понять почему.

раскрыть ветку (20)
2
Автор поста оценил этот комментарий

Я прекрасно понимаю, почему это так.
потому, что тот кто создавал этот язык так написал XD

Только это не наделяет функции "ну так получилось" логикой. Это именно "ну вот так получилось".


но в итоге тут нет ни логики, ни правильности

2
Автор поста оценил этот комментарий

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

раскрыть ветку (18)
Автор поста оценил этот комментарий

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

раскрыть ветку (12)
Автор поста оценил этот комментарий

Я так понимаю, вы все выражения пишите только с константами, переменными совсем не пользуетесь? Функции не пишите? С сервера данные не запрашиваете? Тогда да - шанс наткнуться на такую ошибку исчезающе мал.

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

Про обработку ошибок, видимо, уточнять даже смысла нет?

раскрыть ветку (11)
Автор поста оценил этот комментарий
Иллюстрация к комментарию
1
Автор поста оценил этот комментарий

Я и не говорил что это правильно. Да, такие вот неочевидные вещи это наследие "сделанного за 10 дней языка". Просто их проявление надо учитывать при написании кода, и можно либо понять логику по которой они будут проявляться, либо тупо заучить (либо не писать на JS).

раскрыть ветку (3)
Автор поста оценил этот комментарий

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

раскрыть ветку (2)
5
Автор поста оценил этот комментарий

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


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

раскрыть ветку (1)
Автор поста оценил этот комментарий
2
Автор поста оценил этот комментарий

Зачем вы вычитаете число из строки? Зачем пытаетесь складывать строки? У вас справка есть?

раскрыть ветку (8)
1
Автор поста оценил этот комментарий

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


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

раскрыть ветку (6)
1
Автор поста оценил этот комментарий

Т.е. один не добавил в свой код приведение типов, второй вызывает этот код с любой херней которая ему попадется - а не нормальным считается js? :)

раскрыть ветку (5)
Автор поста оценил этот комментарий

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

раскрыть ветку (4)
Автор поста оценил этот комментарий

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

раскрыть ветку (3)
Автор поста оценил этот комментарий

Офигеть, а языки в курсе этой своей задачи?

Внезапно да? Я понимаю, конечно, что после js это сложно представить.

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

Нихрена себе вы загнули - а кто будет проверять что хотя-бы опечаток нет, если исключить "компиляторов/интерпретаторов"? Если брать близкий к js язык - то, например, typescript. Уже одно то, что можно указывать ограничения типов позволяет транслятору проверять корректность вызова функций. А уж если есть поддержка в среде разработки - то там и автодополнение будет корректным (т.е. показывать именно то, что гарантированно доступно в текущем контексте, а не список всего и вся).


И да, если захотите рассказать что "И в js такое возможно", то рассказывайте о чистом js, без сторонних инструментов на связанных с языком, вроде jsdoc, jslint и прочих костылей.

раскрыть ветку (2)
Автор поста оценил этот комментарий

Да, есть. В школе выдали вместо аттестата. Еще идиотские вопросы будут?

Автор поста оценил этот комментарий

int + string

Как ты предлагаешь джаваскрипту понять что ты хочешь сделать сложить или конкатенировать. Написать парсер мыслей? Другое дело сходство этих операторов, но это отдельный вопрос

1
Автор поста оценил этот комментарий

Да все логично. В первом случае операция сложения строки и числа не определена, ок, тогда попытаемся привести их к одному типу, первый операнд - это строка, есть ли операция сложения строк? Есть. Можем ли мы второй операнд привести к строке? Можем. Хорошо, тогда приводим второй операнд к строке и выполняем сложение. Второй случай - операция вычитания числа из строки не определена, ок, тогда пытаемся привести их к одному типу, первый операнд строка, но у строк тоже нет операции вычитания, ок, что там со вторым операндом? Число, числа можно вычитать. Можем ли мы привести первый операнд к числу? Можем, ок, тогда приводим к числу и вычитаем. Третий случай, складываем строку с минус строкой, ну сначала выполняется операция отрицания по порядку, а потом сложения. Ок, выполняем отрицание. Стоп, для строк отрицание не определено, а для кого определено? Для чисел, ну тогда приводим к числу и выполняем отрицание. Дальше выполняем сложение строки и числа, опа, опять операция не определена, ну тогда приводим их к одному типу, первый операнд - строка, можем ли мы сложить строки? Да. Можем ли мы второй операнд привести к строке? Да. Ок, тогда приводим второй операнд к строке и складываем их

раскрыть ветку (5)
3
Автор поста оценил этот комментарий

И что логичного в описанном тобой заученном алгоритме?)

Вопрос риторический) Ничего.
Это весьма костыльный алгоритм без капли логики.

раскрыть ветку (4)
1
Автор поста оценил этот комментарий

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

Если не согласны - то какой более простой и логичный алгоритм Вы бы предложили для неявного приведения типов?

раскрыть ветку (3)
Автор поста оценил этот комментарий

Сколько людей не знакомы с понятием "логика", оказывается)


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


Я не собираюсь ничего придумывать. Зачем это, какой в этом смысл?
Самое логичное при возникновении ошибки писать "ошибка". Вот, что логично.
А действовать согласно алгоритму написанному просто шоб было - это костыли. И никакой логики.

раскрыть ветку (2)
Автор поста оценил этот комментарий

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

Автор поста оценил этот комментарий

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

25
Автор поста оценил этот комментарий

А потом у вас сайт ломается, потому что бэк строку вместо числа прислал.

раскрыть ветку (4)
21
Автор поста оценил этот комментарий
Иллюстрация к комментарию
5
Автор поста оценил этот комментарий

Лучше пусть дичь показывает :) тесты никто не отменял :)

1
Автор поста оценил этот комментарий

Если все нормально делать - ничего не ломается. Можно к тому же преобразование на входе или на выходе поставить, но проще изначально делать нормально.

1
Автор поста оценил этот комментарий

..потому, что на беке - такой жабосракер под нодой сидит.

4
Автор поста оценил этот комментарий

Не, ну можно конечно написать что в "нормальных языках" компиляторы написаны для дебилов которые пытаются из строк числа вычитать и как бы об этом неплохо было бы предупредить т.е. как бы до компиляции таки следует следить за типизацией - в JS за этим тоже нужно следить, либо сразу писать те типы которые ожидаются если код имеет критических момент к этому. Удобно\не удобно ... На заднем сидении "Оки" неудобно сексом заниматься, но если очень хочется ...

6
Автор поста оценил этот комментарий
В нормальных языках если из строчки будешь вычитать число, компилятор/интерпретатор посмотрит на того, кто это написал, как на дебила
Как на писателя JavaScript же.
6
Автор поста оценил этот комментарий

Ф нямяних яфихах мюмюмю. В типизированных ты хотел сказать? А на js не гони, посмотрел бы я на тебя как ты на коленке сайтец "по-быстрому" написал на плюсах каких-нибудь, ага

раскрыть ветку (13)
15
Автор поста оценил этот комментарий

Отсутствие альтернативы не меняет того факта, что многие решения в js как минимум спорные.

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

Ну а на счет сайта на плюсах. бэк энд легко, а фронтэнд только если найдете поддерживающий его браузер :)

раскрыть ветку (7)
Автор поста оценил этот комментарий

Сайт - фронтенд. Веб-приложение - фронт + бек. Я говорил вполне конкретно: проблематично писать фронт, юзая не js.

Вообще языки придумывались конкретно под работу с определенными данными. JS отлично работает с DOM. Есть что-то удобнее, чем JS для работы с DOM? - вот в чём был посыл

Автор поста оценил этот комментарий

в случае с питоном программа просто не выполнится, в случае с JS при ошибке остановится выполнение любых скриптов на странице

раскрыть ветку (5)
Автор поста оценил этот комментарий

Почему не выполнится? Кто тебе такую глупость сказал?

раскрыть ветку (2)
Автор поста оценил этот комментарий

А почему оно должно выполниться?

раскрыть ветку (1)
1
Автор поста оценил этот комментарий

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

Автор поста оценил этот комментарий

Почему любых? Кто тебе такую глупость сказал?

раскрыть ветку (1)
Автор поста оценил этот комментарий

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

Автор поста оценил этот комментарий

Есть транспиляция номальных языков в js, есть Blazor, который позволяет пользовательскую логику сайта делать на C#. Ещё жив GWT, который позволяет то же самое на Java.

Автор поста оценил этот комментарий

Как нехер ссать. Поспорим?

раскрыть ветку (1)
Автор поста оценил этот комментарий

Это означает "нелегко", а не "невозможно", о чем спорить-то? Что тебе будет легко? Ну ок, кому-то может и будет легко юзать не js(ts) для скриптинга сайта, но явному большинству всё-таки удобнее (проще) юзать js. Ну это так, чисто по статистике, которая врёт и вообще

ещё комментарии
Автор поста оценил этот комментарий

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

Автор поста оценил этот комментарий

ААга, а прибавлять можно :)

Автор поста оценил этот комментарий

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

30
DELETED
Автор поста оценил этот комментарий

Да смысл то в этом есть. Можно и велосипед с квадратными колесами использовать в узкоспециализированной задаче, но блин, JS стал единственным стандартом целой индустрии.

Иллюстрация к комментарию
раскрыть ветку (12)
11
Автор поста оценил этот комментарий

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

раскрыть ветку (4)
8
DELETED
Автор поста оценил этот комментарий

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

Но когда фронтенд становится тежелым, с кучей логики на нем, да еще потом на NodeJS делают бекенд - это буквально на том велике с квадратными колесами идут на велогонку, какого черта? Это же тупо.

раскрыть ветку (3)
2
Автор поста оценил этот комментарий

А может просто взять typescript + nestjs + eslint, проблема с типами резко исчезает.

раскрыть ветку (1)
8
Автор поста оценил этот комментарий

а потом открываешь код и видишь:

let a:any = 3;
let b:any = 'qqq';
let c: any = [];
.....
c = a + b

1
Автор поста оценил этот комментарий

Можешь мне не объяснять, я писал SPA

Автор поста оценил этот комментарий

Ну пиши на тайпскрипт, хуле.

Не обязательно писать на js, можно в него компилировать же.

раскрыть ветку (6)
5
DELETED
Автор поста оценил этот комментарий

Это называется "костыли". В теории я могу и под питон джаваскриптовый интерпретатор найти, но это извращение.

С нетерпением жду когда WebAssembly или еще что такое даст писать на нормальных языках.

раскрыть ветку (5)
1
Автор поста оценил этот комментарий

Не костыли.

JavaScript на удивление мощный язык, но не особо developer-friendly за счёт некоторых неочевидностей. И раз уж так вышло, что именно этот язык понимают все необходимые устройства, то не обязательно писать на нём, можно использовать его как псевдо-байткоды.


А аналогии с палками и прочей хернёй вообще не к месту, так можно про любой язык сказать. Все они чем-то жертвуют: или читабельностью (C++), или компактностью (Java), или ещё чем-нибудь.

раскрыть ветку (1)
1
DELETED
Автор поста оценил этот комментарий

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

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

Автор поста оценил этот комментарий

А почему костыли и причем тут интерпретатор?

раскрыть ветку (2)
DELETED
Автор поста оценил этот комментарий

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

раскрыть ветку (1)
Автор поста оценил этот комментарий

Артугментировано.

6
Автор поста оценил этот комментарий

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

6
Автор поста оценил этот комментарий

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

4
Автор поста оценил этот комментарий
А если сделать '5'- '-2', он их сложит?
раскрыть ветку (5)
2
Автор поста оценил этот комментарий

Да.

1
Автор поста оценил этот комментарий

!+[]

Автор поста оценил этот комментарий

Разумеется

раскрыть ветку (2)
1
Автор поста оценил этот комментарий
То есть наконец-то будет 7?
раскрыть ветку (1)
3
Автор поста оценил этот комментарий

Угу.
Вычесть из строки строку нельзя, приводим к числам, 5 минус минус 2 равно 7

19
Автор поста оценил этот комментарий

В общем-то это нихрена не логично, и внезапно уже не одну спецификацию js противоречит сам себе.

Я просто оставлю это здесь

Предпросмотр
YouTube32:46
раскрыть ветку (23)
23
Автор поста оценил этот комментарий

На вас уже нервов не хватает. Ну я не спорю, найдутся дауны которые будут такую ахинею писать в реальном коде, а не рофлов ради. А что делать то? Уже не первый год кричат, что джаваскрипт маст дай, да даже не первое десятилетие по моему. Но он - сама неотвратимая реальность. Можете плеваться желчью а можете писать нормальный код. Хуйню можно написать и на Java. И шедевры я встречал на JavaScript.

раскрыть ветку (11)
5
DELETED
Автор поста оценил этот комментарий

Проблема то в том, что ты не пишешь в коде такое напрямую. Ты используешь язык, ожидаешь логичности, а потом -1 < Number.MIN_VALUE вдруг true.

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

7
Автор поста оценил этот комментарий

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

раскрыть ветку (4)
3
Автор поста оценил этот комментарий

А что помешает писать на старом стандарте? Или, может быть, запретить это все на уровне браузера, чтобы половина сайтов в сети перестала работать? Стандартов в JS и так хренова туча, уже путаешься в них. Есть и такие, где это запрещено.

Автор поста оценил этот комментарий

Или использовать Typescript с полным покрытием типов, и тогда такие моменты будут опознаваться на этапе написания кода.

1
Автор поста оценил этот комментарий

понятие "Обратная совместимость" вам о чем-нибудь говорит?

раскрыть ветку (1)
Автор поста оценил этот комментарий

Переползать помаленьку.

Автор поста оценил этот комментарий

Но он же действительно дохнет. Webassembly потихоньку его того... во всяком случае на поприще Web UI. На сервер сайде он write-only. А где ещё?

раскрыть ветку (4)
3
Автор поста оценил этот комментарий

Главное чтобы не получилось как в том комиксе. У нас есть 999 разных стандартов, хватит это терпеть, нам надо придумать единый универсальный стандарт. Теперь у нас есть 1000 разных стандартов.

раскрыть ветку (2)
Автор поста оценил этот комментарий

Именно так и получится, конечно же.

Автор поста оценил этот комментарий

Это точно!

1
Автор поста оценил этот комментарий

Нет, не того. ВАСМ заточен под другие вещи. Он не сможет полностью вытеснить джс из бразуеров.

3
Автор поста оценил этот комментарий

О человек решил показать свою некомпетентность. Не знает о стандарте IEEE 754 который используется во многих языках. Человек не понимает что функция max как и во всех других языках требует аргументы для вычисления максимум. Даже не смог понять простые правила приведения типов и теперь удивляется. Есть конечно неочевидные моменты в js но в этом видео я вижу только 1 момент, остально просто некомпетентность и нежелание хотя бы первую страницу доков прочитать.

раскрыть ветку (10)
2
Автор поста оценил этот комментарий

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

раскрыть ветку (2)
1
Автор поста оценил этот комментарий

Факт в том приведение крайне просто работает и выбирая язык с динамической типизацией стоит потратить 5 минут времени и узнать как это работает. В видео просто какой то незнание, так и хочется автору скинуть https://0.30000000000000004.com/. Плохой дизайн это скорее про typeof null === object, NaN, неиспользование null в стандартных методах, lastIndex в regexp, и тд, чем про приведение типов которое вполне предсказуемо работает.

раскрыть ветку (1)
Автор поста оценил этот комментарий

Приведение типов — это такой мемчик, надо же над чем-то потешаться. =)

А проблем там действительно гораздо больше. И приведение типов не самое серьезное, хотя и забавное.

3
Автор поста оценил этот комментарий

1. Этот стандарт разработан для языков со статической типизацией

2. Попытка привести скрестить слона с бегемотом, как бы обречена на провал.

3. Проводить разбор выражения слева направо, на ходу меняя тип операции (пример про суммирование и вычитание строковых и целочисленных) это вообще 5.

раскрыть ветку (6)
Автор поста оценил этот комментарий

1. Уверены? https://0.30000000000000004.com/ ничем не подтвержденные слова.

2. = 1.

3. В любую сторону придется менять тип, вы же понимаете что такое динамическая типизация?

раскрыть ветку (5)
Автор поста оценил этот комментарий

Падажжи, я тебе явно написал, "строковые" с "целочисленными". Куда ты полез?

Вот я о чём:

3 + 1

4

"3" + 1

"31"

a = "3" +1

"31"

a = 0

0

a = "3" +1

"31"

раскрыть ветку (4)
1
Автор поста оценил этот комментарий

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


p.s. Все еще жду пруф про насчет IEEE 754.

раскрыть ветку (3)
Автор поста оценил этот комментарий

Вот так просто все работает.


Почему тогда, после строчки а=0, js перебил тип приёмника? почему выражение справа от = не было приведено к numeric? Именно из-за этой херни весьма простые и логичные действия в js превращаются в поеботу вроде а=x*1+y*1-z*1


Пруф на что? На то что в языках с динамической типизацией нет разницы между [signed|unsigned][int|float]?

раскрыть ветку (2)
1
Автор поста оценил этот комментарий
1. Этот стандарт разработан для языков со статической типизацией

Вот этот пруф.

раскрыть ветку (1)
Автор поста оценил этот комментарий

На то что в языках с динамической типизацией нет разницы между [signed|unsigned][int|float]?

2
Автор поста оценил этот комментарий

всего-то стоило конкатенацию через точку реализовать вместо плюса

2
Автор поста оценил этот комментарий

Блят, наконец-то я это понял спустя три года, как мем увидел. Спасибо тебе, милчеловек.


Учу С++ и тупо не могу с приведением типов справится. :(

раскрыть ветку (7)
3
Автор поста оценил этот комментарий

C++ всё равно логичнее яваскрипта и питона

раскрыть ветку (1)
2
Автор поста оценил этот комментарий
Конечно , язык на котором кармак вселенную написал , априори лучший и самый быстрый.
1
Автор поста оценил этот комментарий

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

Автор поста оценил этот комментарий

Поясни, почему в случае вычитания из строки он строку приводит в число, а в случае сложения — число в строку?

раскрыть ветку (3)
1
Автор поста оценил этот комментарий
Потому что сложение и конкатенация строк происходит с применением одного оператора '+', поэтому интерпретатору не всегда ясно, что вы хотите сделать. С минусом все проще, это только вычитание.
раскрыть ветку (1)
Автор поста оценил этот комментарий

Спасибо, понял.

Автор поста оценил этот комментарий

Может, вопрос в иерархии типов?

1
Автор поста оценил этот комментарий

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

1
Автор поста оценил этот комментарий
Одинарная кавычка разве не символ?
1
Автор поста оценил этот комментарий

А почему нельзя запретить неявные касты?

2
Автор поста оценил этот комментарий

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

4
Автор поста оценил этот комментарий

Ну-ка разъясни логично, почему {x:2}+" "=='Object object'. а ['x']+" "=='x'? В ссаном JS логикой никогда не пахло, его на коленке делали и там куча документированных ошибок. Например, оператор typeof работает через жопу, null у него объект, а функция внезапно не объект. Что с this происходит лучше вообще не знать.

раскрыть ветку (5)
5
Автор поста оценил этот комментарий

Глядя на JS так и хочется сказать "fuck this shit", но я не очень уверен на что в данный момент ссылается this.

3
Автор поста оценил этот комментарий
Не совсем так
['x'] + " " == 'x' // false
['x'] + "" == 'x' // true
раскрыть ветку (1)
1
Автор поста оценил этот комментарий

Я вроде разобрался. Если приводить разные типы объектов ({}, [], Error, Date ) к строке, то там по цепочке прототипов берутся разные методы, отсюда и разный результат. Объект Date в строчном виде- текущая дата. А вот например new Error().toString()=='Error'

2
Автор поста оценил этот комментарий

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

В последние годы их активно решают, кстати (strict mode, например).


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


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

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

2
Автор поста оценил этот комментарий

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

Автор поста оценил этот комментарий

здравствуйте!) можно с вами связаться и узнать о жизни?

раскрыть ветку (1)
1
Автор поста оценил этот комментарий
Любым предпочитаемым способом. Но завтра. Что то я охренел сегодня от внимания к своей тихой и ползующей где то в темноте персоне.
DELETED
Автор поста оценил этот комментарий

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

Автор поста оценил этот комментарий
А всё потому что знак конкатинации равен плюсу... был бы другой знак, всё было гораздо прозоичнее.... но на то это и javaScript, чтоб плюсами строки соединять.
Автор поста оценил этот комментарий
Подписался
Автор поста оценил этот комментарий
Ебать, я столько лет знаю эту картинку но даже не думал нарваться на такое логичное объяснение. Я просто думал что джавасрипт чуть ли ни рандомно выбирает, как интерпретировать математические операции между строкой и числом.
Автор поста оценил этот комментарий
Ип@ть, это какой такой язык?
- "Эльфийский"!?
Автор поста оценил этот комментарий
Очень наглядно для тех кто не с Java, спасиб.
Автор поста оценил этот комментарий
Вот из-за такого неявного приведения потом искать баги будешь. Неявные. Неделю. Матерясь.
Автор поста оценил этот комментарий

Открыто новое божество! Мы будем тебе поклоняться, о, Величайший!

Автор поста оценил этот комментарий
True+true=2 )
Автор поста оценил этот комментарий
Сука, коммент лучше чем "первый нах" !!! Люто бешено плюсую!
Автор поста оценил этот комментарий
Знаете, я тут почитала пару ваших комментариев, очень затягивает.
можете ли посоветовать литературу, которая лично вам интересна, но и будет понятна такому зеленому сопляку, как я?
Неважно, какую тему затронет книга
раскрыть ветку (3)
Автор поста оценил этот комментарий

JavaScript the good parts

раскрыть ветку (2)
Автор поста оценил этот комментарий
То, что спобствует развитию мышления, логики, красочной речи, заставляет смотреть на вещи под иным углом.
раскрыть ветку (1)
1
Автор поста оценил этот комментарий

Ещё как способствует )

Автор поста оценил этот комментарий
Так что в '3' варианте?
Автор поста оценил этот комментарий
Если ты выпустишь книгу - я куплю.
Автор поста оценил этот комментарий
Чё, блин, все этот коммент кинулись скринить-то?
Автор поста оценил этот комментарий
а почему тогда все логично? если вычитаем, то приводим строку к числу, если складываем, то число приводим к строке. это наоборот нелогично
раскрыть ветку (2)
Автор поста оценил этот комментарий

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

раскрыть ветку (1)
Автор поста оценил этот комментарий
так, и поэтому это логично?
6
Автор поста оценил этот комментарий

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

Не говоря уже о тонне сборщиков-хуерщиков и просего шлака.

раскрыть ветку (7)
4
Автор поста оценил этот комментарий

Ну, сборщики сейчас везде, куда не плюнь. В том числе и у бэкэнда, на каком бы языке он не писался. Увы, но таковы новые правила игры, теперь ты уже не отделаешься одним тегом с подключением любимой библиотеки, собирай среду разработки, как взрослый мальчик, и пакуй все в бандл. И это тоже логично, технологии развиваются, библиотек немерянно, фронтэнд уже давно стал едва ли не сложнее и объемнее бэкэнда, а про SPA приложения я уже вообще молчу. Чтобы не сойти с ума от этого всего, придется признать, что webpack - твой друг, даже если в нем черт ногу сломит и нихуя документации внятной нет. И NodeJS - твой друг, хотя ты и не пишешь бэкэнд на дважаскрипте. И Babel твой друг, пиши на любой понравившейся надстройкой над JS, которая превратит его из залупы в идеальный язык со всеми плюшками и строгой типизацией, а он за тебя ее перегонит в es5 для динозавров

раскрыть ветку (6)
4
Автор поста оценил этот комментарий

Лол, для бека собрал контейнер в докере - все блеать. Ну если пишеш на компилируемом языке - еще и скопмилил.

А на фронте... ты размер папки node_modules видел? Зависимость на каждый чих. Что за код, нахуй он нужен - никто не знает.

Как это все работает - тоже никто не знает.

Фронтенд сейчас - полное неподдерживаемое черноящичное говно.

раскрыть ветку (5)
1
Автор поста оценил этот комментарий

С которым тебе придется жить. Да и какая разница, сколько весит node_modules? Это чисто служебный код. Да пусть он весит хоть половину гигабайта, кого это будет ебать если на выходе ты все равно получишь статику на килобайта 3-4?

ещё комментарии
Вы смотрите срез комментариев. Чтобы написать комментарий, перейдите к общему списку