The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Эксперимент по разработке частей ядра Linux на языке Rust"
Отправлено freehck, 06-Июн-17 14:23 
Ну вот и выросло новое поколение JS-ников. Ладно, объясню на пальцах, что ли. Мне-то всё равно, но Вам полезно. :)

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

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

Отдельная песня -- это гремучая сместь нестрогой типизации с неявным приведением типов. Очень легко представить себе функцию, которая выдирает число из какого-нибудь элемента DOM, а возвращаемое значение null использует в качестве маркера, чтобы обозначить, что элемент DOM не найден. В этом случае неявное приведение типа сыграет очень злую шутку. А ведь такое запросто случится: заложится как-то один программист, что этот элемент всегда присутствует, опустит проверку на null. Через год он будет модифицировать другой участок кода и элемент пропадёт. И начнутся удивительные по своей природе баги. И такое происходит сплошь и рядом. Не надо думать, что вы-то особенные, что вы-то все-все-все проверки напишете. Наступит час, когда вы будете уставшими, или (что гораздо чаще) дедлайн на носу будет. И вы ошибётесь. А дебаг этой проблемы превратится в сущий ад.

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

Вы -- новое поколение JS-ников. Вам кажется, что всё вышеописанное -- нормально. Но для программистов из других областей всё это выглядит как шутка юмора такая.
Вы -- новое поколение JS-ников. Вам стоит посмотреть вокруг, и понять, что чуток самокритики вам не повредит. Вот Vkni ниже совершенно верно замечает в #115: "кругозор от Эдиты Пьехи до ..."

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру