LINUX.ORG.RU

Можно ли использовать JS во благо?

 , , ,


1

4

В последнее время стало модно ненавидеть Javascript, ибо он сплошная дыра в безопасности и вообще виновен во всех смертных грехах вебдизайна! Когда разгорается очередной холивар, то аргументы со стороны использующих в основном таковы- мобильность, динамичность и подстройка под пользователя. А аргументы противников- те же дыры в безопасности, потенциальное шпионство (фингерпринт) и навязывание рекламы.

В качестве аналогов предлагают обойтись «чем-нибудь еще», например питоном. Но действительно ли питон это полноценная замена Javascript? И безопасен ли он для сайтов?

Но гораздо интереснее вот что. Возможно ли использовать Javascript во благо? Не обязательно же всем быть моральными извращенцами и везде совать в сайты рекламные модули и фингерпринт? Можно же делать и полезные вещи с помощью JS. Или нельзя?

ЯС хейтят тролли и тупицы. Да, язык так себе, но это не повод для хейта.

Хейтят современный веб, потому что:

  • там злоупотребляют ЯС (как и ЦСС).
  • потому что он ориентирован на мобилки.
  • да и вообще сделан, очень часто, херово.
  • как и софт.

А причины везде одни и те же:

  • снижение требований к программистам
  • снижение возраста программистов
  • постоянная смена технологий (негода разбираться –> делают тяп ляп. В значительной степени следствие предыдущих 2 пунктов)
  • вообще то, о чём говорят умные люди: что мы сейчас живём во время, когда у людей наблюдается резкий спад в квалификации. Касается и программистов и других профессий.
anonymous
()

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

anonymous
()

Можно же делать и полезные вещи с помощью JS.

Определённо нет. Electron это просто исчадие ада. Привычка пихать этот JS во все щели, тащит отрасль на дно.

Artamudo ★★★★
()
Ответ на: комментарий от anonymous

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

shkolnik_2019
() автор топика

Нет никакой сплошной дыры в безопасности и ни в чём он не виновен. Не страдай фигнёй. Всё развивается своим чередом. Замена жаваскрипту наклёвывается ровно одна - wasm, но до полноценной замены ещё лет 10. Пока на практике браузеры нормально умеют только JS. Пайтон тут вообще не при делах. С фингерпринтом ты вообще всё в кучу смешал. Для того, чтобы фингерпринтить, часто достаточно одного твоего IP-адреса. Начинай хейтить IPv4 (и IPv6 как ещё более fingerprint-friendly замену, лол).

Legioner ★★★★★
()
Ответ на: комментарий от shkolnik_2019

Значит общий посыл такой - прочесть хорошую книгу по JS и использовать только нужные и полезные практики?

Я бы посоветовал не книжки, а начать делать какой-то проект для себя. Если есть вопрос - лезь на Stack Overflow (только не на его русский раздел), ответ прилетает быстро. Если сложный вопрос - назначай bounty.

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

Не слушай элитку. Они все тупые, хоть и «образованные.»

anonymous
()

Можно ли использовать JS во благо?

Нет, нельзя. /thread

anonymous
()
Ответ на: комментарий от Legioner

Начинай хейтить IPv4 (и IPv6 как ещё более fingerprint-friendly замену, лол).

А кто сказал, что я что-то хейчу? Я пытаюсь выяснить истину.

shkolnik_2019
() автор топика
Ответ на: комментарий от Artamudo

электрон

А что, до появления VS Code кто-то мешал подобный редктор написать на элиткоугодных Сях, Расте или Лиспе?

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

anonymous
()

Жаль нет однозначного ответа. Вроде и говорят, что если можно обойтись без JS, то надо обходиться, а вроде и до конца непонятно, как мой сервер (или пользователей) могут атаковать через JS на моем сайте.

Вот можно сделать формочку ввода пароля через html, а можно через JS. Как моему сайту могут навредить, если у меня будет JS-формочка ввода пароля, или еще какая-нибудь простая штука?

shkolnik_2019
() автор топика
Ответ на: комментарий от shkolnik_2019

Атаковать могут даже через CSS. Не ставь безопасность превыше здравого смысла. А то так можно начать и у девушек паспорт спрашивать.

anonymous
()
Ответ на: комментарий от anonymous

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

shkolnik_2019
() автор топика
Ответ на: комментарий от shkolnik_2019

Да я понимаю, но почему-то ни про один веб-язык нет таких споров и неоднозначности, как про JS.

Просто людям нужен повод поговорить, повод кого-то поругать. Ругают всё популярное. От PHP до С++ :-)

Быстродействие, минимализм,

Мне кстати очень нравится сайт https://news.ycombinator.com/.

anonymous
()
Ответ на: комментарий от shkolnik_2019

Значит общий посыл такой - прочесть хорошую книгу по JS и использовать только нужные и полезные практики?

Да нет же, дело не в самом js, а в том адском бульоне, что из себя представляют инструменты веб-разработки. Вот ты придешь на работу, а там всем насрать на лучшие практики, там потогонка и сто слоев баззвордов накручено потому что каждый год у менеджеров меняется «парадигма» (читай они узнают новый баззворд). И вот ты уже невольно умножаешь зло. Поэтому лучше держаться подальше от этого мирка, чтобы совесть была чиста.

anonymous
()
Ответ на: комментарий от anonymous

Ути-пути, опять менеджеры игрушку отняли и в горшок насрали? Те вещи, которые ты описыываешь, внедряют не менеджмеры, а всякие там тим лиды и другие программеры (только выше рангом чем рядовые).

anonymous
()
Ответ на: комментарий от anonymous

Согласен, тимлиды те еще пидарасы.

anonymous
()
Ответ на: комментарий от anonymous

С js вообще непонятно, ну язык как язык, не сильно отличается от пыхоплеяды. Но почему-то там дерьмовейшая экосистема, все эти пакеты из npm просто кошмарный треш. В коде, в организации проектов, в самом этом npm лютая содомия. Я не представляю как они поддерживают это все, кажется проще новый код написать (что и делается сплошь и рядом).

anonymous
()
Ответ на: комментарий от anonymous

И вот ты уже невольно умножаешь зло.

Не хочу умножать зло. Интересуюсь чисто для себя.

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

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

shkolnik_2019
() автор топика

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

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

Stanson ★★★★★
()
Ответ на: комментарий от anonymous

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

anonymous
()
Ответ на: комментарий от anonymous

А что, до появления VS Code кто-то мешал подобный редктор написать на элиткоугодных Сях, Расте или Лиспе?

Кстати, а почему некоторые прутся от этого лютейшего говнища под названием VSCode? Я тут ради прикола потыкал - ну дрянь же для каких-то школьников. Продолжатель традиций всех этих убогих допотопных IDE начиная со всяких борландов, MPLab’ов и пр включая MSVC, только тормознее. Зачем оно на линуксе - вообще не понятно, есть же qtcreator там и всё такоэ, для любителей IDE в стиле говна мамонта.

Впрочем, в общем-то стало понятно, откуда берётся нынешний говнософт. Вот такие вот прущиеся от всяких VSCode в этих VSCode его и пишут.

Stanson ★★★★★
()
Последнее исправление: Stanson (всего исправлений: 1)

Школьник тролль. JS хороший и гибкий язык, а хейтят всякие дятлы, кроме Си/Си++ и маргинальных Хаскелей ниче не осилившие. Дальнейшее развитие получил в виде TypeScript + Dart

menangen ★★★★★
()
Ответ на: комментарий от menangen

Прутся потому, что решает их проблемы. Простые проблемы. Просто решает

Хм. Логично. Какие проблемы, такой и инструмент. :)

Stanson ★★★★★
()
Ответ на: комментарий от menangen

Почти всё верно, вот только дальнейшее развитие JS получил когда Fabrice Bellard QuickJS написал. До этого у JS с размерами и тормознутостью существующих интерпретаторов было всё весьма печально. А теперь оно почти годное.

Stanson ★★★★★
()
Ответ на: комментарий от Stanson

До этого у JS с размерами и тормознутостью существующих интерпретаторов было всё весьма печально

QuickJS’у по скорости до современных js-engine как до луны раком. Ну, он никогда до них и не дойдет, как и tcc до полноценных компиляторов. Так что тормознутость тут ты вообще ни к чему написал. У QuickJS цель в размере, как у всех проектов Беллара

anonymous
()
Ответ на: комментарий от Stanson

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

menangen ★★★★★
()
Ответ на: комментарий от anonymous

QuickJS’у по скорости до современных js-engine как до луны раком.

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

У QuickJS цель в размере,

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

как у всех проектов Беллара

Проектов типа QEMU и ffmpeg? :)

Stanson ★★★★★
()
Последнее исправление: Stanson (всего исправлений: 1)
Ответ на: комментарий от anonymous

Не преувеличивай, не такой уж он и тормознутый, на уровне hermes, может, слегка медленней. А hermes медленнее v8 без jit на 20%. Так что, по грубой оценке, в среднем, движок quickjs на 50% медленнее v8 (без jit), а v8 быстрый только за счёт монструозного JIT, который и есть причина жора оперативки во всяких хромах

menangen ★★★★★
()
Последнее исправление: menangen (всего исправлений: 1)
Ответ на: комментарий от menangen

Вот только из всех один Bellard подумал об ужоре памяти и размере интерпретатора.

Надо срочно скрестить QuickJS с NetSurf’ом. :)

Stanson ★★★★★
()
Ответ на: комментарий от Stanson

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

anonymous
()
Ответ на: комментарий от menangen

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

anonymous
()
Ответ на: комментарий от anonymous

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

Абсолютно все браузеры. Именно так они и должны работать - открыл вкладку, запустился отдельный тред/процесс/контейнер со своим отдельным жабоинтерпретатором, быстренько запустилось, прожевало разрешённый юзером жабоскрипт, вкладку закрыли, все ресурсы немедленно освободились.

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

Stanson ★★★★★
()
Последнее исправление: Stanson (всего исправлений: 2)

Можно ли использовать JS во благо? можно. пока не поймают

anonymous
()
Ответ на: комментарий от Stanson

Ты что несешь такое. У меня даже текущая вкладка с 6Мb js в памяти открыта непрерывно уже четыре часа. Надо ли говорить тебе о таких вещах как youtube, например?

anonymous
()
Ответ на: комментарий от anonymous

Во всяких хромах есть диспетчер по которому можно отследить, сколько памяти отжирает непосредственно js и все его объекты.

Вот только они не показывают сколько отжирает сам движок JS c его JIT и прочая.

Stanson ★★★★★
()
Ответ на: комментарий от anonymous

У меня даже текущая вкладка с 6Мb js в памяти открыта непрерывно уже четыре часа.

Зачем это вообще открывать? Если там 6Mb js - то это однозначно лютейшее говнище.

Надо ли говорить тебе о таких вещах как youtube, например?

А зачем там вообще жабоскрипт? mpv + ytdl для кого сделали?

Stanson ★★★★★
()
Ответ на: комментарий от anonymous

Нет предела совершенству. И в замусоривании мозгов тех, кто пользуется сайтами. А js убог потому что не используется открытый код на Си или ассемблере. Единственное правильное применение js это пробивание регистраций своими скриптами и надо этим злоупотреблять во всю, чтобы недостатки перевесили интересы миллионов веб макак. Реклама - зло. Платное ПО - зло. Js - тоже зло. Потому что позволяет злоупотреблять. Чем не применут воспользоваться любые скоты, ограничивающие персональную свободу. Зло это слабость. И по возможности надо хотя бы переходить на LibreJS.

anonymous
()
Ответ на: комментарий от anonymous

С чего ты это взял?

Берём хромофокс. Смотрим сколько сожрало в top’е например. Открываем страничку с жабоскриптом. Смотрим сколько теперь сожрало. Считаем разницу нумер 1.

Берём NetSurf. Смотрим сколько сожрало. Открываем ту же страничку. Смотри сколько теперь сожрало. Считаем разницу нумер 2.

Сравниваем разницы нумер 1 и нумер 2. Видим, что хромофокс на страничку ужирает на много-много мегабайт больше чем NetSurf. Разница между хромофоксом и NetSurf’ом только в наличии и отсутствии жабоскриптового движка.

Вывод - хромофоксы нагло врут про ужор памяти жабоскриптом.

Stanson ★★★★★
()
Ответ на: комментарий от Stanson

Зачем это вообще открывать? Если там 6Mb js - то это однозначно лютейшее говнище.

Что это, друг. Текущая вкладка - следи за руками - это вкладка этого треда на лоре.

Что ты забыл на лютейшем говнище, и зачем ты его открываешь.

anonymous
()
Ответ на: комментарий от Stanson

А зачем там вообще жабоскрипт? mpv + ytdl для кого сделали?

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

не говоря о том, что сегодня все клиен-серверное взаимодействие в вебе. и весь энтерпрайз с его crm’ами прожект менеджментами, и вообще всем взаимодействие работает через веб, и непосредственно с помощью js.

anonymous
()
Ответ на: комментарий от anonymous

Что это, друг. Текущая вкладка - следи за руками - это вкладка этого треда на лоре.

Да неужели. У меня как-то дело ограничивается 450kb включая контент.

Что ты забыл на лютейшем говнище, и зачем ты его открываешь.

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

Stanson ★★★★★
()
Ответ на: комментарий от Stanson

450kb включая контент.

С Вами ясно.

anonymous
()
Ответ на: комментарий от anonymous

Даже продолжать не хочу.

А что так? держать ютуб открытым часами и правда идиотизм?

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

Тут что, форум обывателей?

не говоря о том, что сегодня все клиен-серверное взаимодействие в вебе. и весь энтерпрайз с его crm’ами прожект менеджментами, и вообще всем взаимодействие работает через веб, и непосредственно с помощью js.

Да неужели? Вот я - энтерпрайз. В соседней вкладке открыта как раз EspoCRM с проджект менеджментами, складом, контрагентами и пр., до мегабайта общий объём контента со скриптами даже не дотягивает, сама написана на похапе, при этом летает как реактивный самолёт в отличии от всяких убогих битриксов. Ещё в другой соседней вкладке открыт ERP/биллинг провайдерский, там вообще жабоскриптов несколько килобайт (это включая телеграмо-вацапо-подобный внутренний чат), и написано всё опять же на похапе.

Может просто не пользоваться всяким говном с 6Мб JS?

Stanson ★★★★★
()
Последнее исправление: Stanson (всего исправлений: 1)

Причем тут js и уязвимости?

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

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

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

anonymous
()
Ответ на: комментарий от anonymous

Ну а где же обещанный js на 6Мб?

Если меряться этими попугаями, то в говнофоксе они тоже до 6Мб никак не дотягивают.

1.15 MB (01.32%) ++ js-zone(0x7faf188d6000)

Правда эти циферки на 10 надо умножать, будет больше похоже на правду.

ЗЫ: может у тебя просто гуглозонды всякие местные не забанены?

Stanson ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.