7 причин не любить Javascript!




Ссылка для регистрации – https://wep.wf/suufq7

Для тех кто хотел разобраться в JavaScript, появилась отличная возможность сделать это. Онлайн школа Glo Academy запускает бесплатный воркшоп. На котором за 4 дня ты напишешь свой аналог сайта Кинопоиск на чистом JS.

Воркшоп пройдет в формате онлайн-уроков с домашними заданиями.

Статья http://2ality.com/2012/04/number-encoding.html
Презентация: https://slides.com/dimarozhkov/whyihatejs

Я программирую только на джаваскрипте вот уже 4 года, до этого использовал его как и любой фул стек разработчик. В этом видео я собрал все самые болевые точки Javascript, которые взрывали мне мозг.

Поддержи канал! https://seniorsoftwarevlogger.com/support/
Рекомендую 👍 https://seniorsoftwarevlogger.com/recommend/
Телеграм: https://t.me/seniorsoftwarevlogger
Инстаграм: https://instagram.com/seniorsoftwarevlogger

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

#ityoutubersru

Original source


20 responses to “7 причин не любить Javascript!”

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

    (Если мой каммент наберет много лайков я сделаю видео ответ по каждому пункту)

    1. С числами хотелось бы реальный пример, где эта проблема проявляется, 99.99% в этом проблемы нет. [Ну ОК]
    2. Мутация объектов – это не проблема, это фундаментальная особенность языка, и очень важная! Если бы объекты копировались, как бы мы их меняли? Это передача ссылки. Получи массив с сервера, сделай ему filter и у тебя все скопируется, сделай forEach и ты будешь получать копию элемента… это был бы провал… Сам подумай! Хочешь копировать копируй сам, тогда, когда это нужно, есть масса техник. [Отсутствие знаний]
    3. typeof никто не использует, почему про toString.call(…) умолчал? [Отсутствие знаний и опыта]
    4. Прототипы были в JS с самого начала, при чем тут Prototype.JS? И в чем проблема с самой концепцией?) Короче из текста не понятно, в чем проблема, и почему кто-то, что-то сломает… [Вброс и профанация]
    5. Это называется Monkey-Patching, это очень крутая особенность языка, которая открывает возможности для полифилов и в целом для современных фреймворков. JS это динамический язык, это определяющая особенность, если тебя это пугает пиши на C++ [Отсутствие понимания]
    6. Прототипы были всегда! Классы – это сахар поверх прототипов, но классы более ограничены в своей концепции, добавили их для снижения порога входа [Отсутствие понимания]
    7. Во всех интерпретируемых языках есть "прыжки")) и работает это нормально быстро! [Вброс и профанация]
    8. Сетевые вызовы не блокируют код, где ты это увидел? Они от природы асинхронные и ты вешаешь колл-бэк, что за бред? (sync режим в XHR уже лет 5 как deprecated) [Отсутствие понимания]
    9. Callback Hell результат тупости программиста, твой пример смешной и тебя могут на работу не взять с таким примером, будь осторожен! Тем более async/await есть, это вообще модная тема, которую даже в C++ добавляют (корутины называется). [Вброс и профанация, отсутствие понимания и опыта]
    10. Promise.all существует, почему не сказал? [Отсутствие знаний]
    11. Зачем контролировать платформу в Браузере?? В node есть пакет OS, там тебе все что хочешь, и платформа, и кол-во ядер. [Отсутствие знаний]
    12. В чем проблема с Babel, тебя его не заставляет никто юзать, пиши pure JS, как делают нормальные ребята из world class apps сегмента. [Вброс и профанация]
    13. 0-stage пропоузалы тащат в продакшн только дебилы, как это относится к языку!? [Вброс и профанация]
    14. Из бабеля не выпиливают 0-stage штуки, они идут как плагины и живут отдельной жизнью! [Вброс и профанация]
    15. В JS import/export прижился только у TS-фагов и Babel-др#$%очеров, нормальные ребята не испытывают проблем с require. [Вброс и профанация]

    Друзья, пожалуйста, у нас в ИТ сегменте и так проблема с толковыми ребятами, а такие блогеры еще больше ее усугубляют, Пожалуйста, проверяйте все сами и задавайте вопросы!

  2. 1) "0.1 + 0.2 = 0.30000000000000004". В C# тоже такое есть, это прикол процессора а не языков программирования. И по моему это даже хорошо, что JS не делает лишней работы по округлению, так больше производительность.
    2) Про NaN не понял в чем проблема. NaN означает неопределенное число, любое число. И я думаю все проблемы с ним возникают из-за того что люди не понимают смысла этого значения. "любое число" не равно "любому числу", и поэтому NaN === NaN будет всегда возвращать false.
    3) "Объект переданный в функцию может быть изменен" Это особенность не JS, а всех не функциональных языков: C++, C#, Java, …
    "Необходимо постоянно копировать объекты…" – это проблема архитектуры и не понимания языка и его возможностей.
    4) "Сложность с определением типа данных". Не такая уж и сложность, скорее легкое неудобство, которое решается набором функций хелперов. Когда пишешь сложные программы такие мелочи не напрягают совсем.
    5) "Низкая производительность глубокого наследования". Согласен что здесь есть потери в производительности, но они не такие уж и большие. Кроме того v8 развивается и исправляет такие недостатки.
    6) "JavaScript однопоточный", и слава богу. Это значит, что ни одному разработчику не придется заниматься отладкой многопоточных приложений, разрешением взаимных блокировок и прочим. Ну и переключение между потоками и создание потоков отнимает у процессора дополнительное время. Решение с WebWorker на мой взгяд очень хорошее для создания многопоточных приложений на JS.
    7) "последовательные await работают последовательно", так как и должны работать, так же и в C# работают. Для одновременности (для одновременной загрузки данных например) нужно использовать Promise.all(…)
    8) "проблема кроссбраузерности и кроссплатформенности" решается тестами с использованием такихъ решений как karma или intern js + selenoid. Минус только в том что с этим нужно дополнительно разбираться и настраивать. Но тем не менее по части кроссплатформенности JS все равно обходит все другие подобные решения.
    9) "изменения в браузере ломают код программы и приходится переписывать". Да это нужно учитывать заранее и продумывать архитектуру приложения.
    10) "проблемы с babel", следуй только принятым стандартам языка и проблем не будет. Смысл в babel только в том чтобы программист всегда мог писать на самой свежей версии языка не заботясь о кроссбраузерности.
    11) "может писать на другом языке который транслируется в JS". Можем, но проблема производительности будет всегда и для всех языков, и поэтому намного лучше писать приложения на чистом JS и понимать как он быстро работают отдельные его элементы, чем дополнительно еще думать о том как другой язык скомпилируется в JS.

  3. Чувак специально сделал горящий заголовок "Ненавижу Javascript", чтобы у js-дрочеров загорелись пердаки. Судя по коментам ему это удалось.

  4. Пссс парень, 0.1 + 0.2 и в других языках грешит (https://0.30000000000000004.com), на собеседованиях любимый вопрос, требующий разъяснения
    Передача ссылки неудобно?! оО что здесь происходит. и т.д. и т.п.
    Походу, это намеренно бомбёжное видео и как обрадовался пареньку в первом коменте, который музыкант и скорее всего друг или еще кто. цццц, пареньков на лайки решил развести и мозги их бренные обшмонать. Ццццц стоило того?
    синьор, блин

  5. Я только собираюсь учить JS и ничего в нем не смыслю, но почитав коментарии понял, что программирование бывает веселее всяких там кинокомедий. Особенно добил комент про жонглирование хуями. Ржу в голос и вытираю слезы 🙂

  6. Поэтому берем пайтон и пишем на пайтоне то что хотели написать на джаваскрипте =))

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

  7. Автор видео сделал выводы из гавнопроектов, которые видел и гавнокодеров, которые пишут свой язык и не обновляют ноду. Дети, не смотрите!!!

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

  9. Видео из разряда, зачем учить язык если можно просто раскритиковать сказав что все говно. Получается что и учить не нужно. Что-то вроде подхода сам дурак. В общем проблемы притянуты за уши. Ребятки учите JS если решились и не "портите" себе мозг подобного рода видео.

Leave a Reply