Поскольку JavaScript подвергается серьезной атаке со стороны Google, среди прочего, это видео с докладом Дугласа Крокфорда на конференции разработчиков HTML5 2011 является своевременным и важным.
Поскольку JavaScript подвергается серьезной атаке со стороны Google, среди прочего, это конкретное видео является своевременным и важным — но, возможно, не по тем причинам, которых вы могли ожидать.
Это видео с конференции разработчиков HTML5 2011 года с докладом Дугласа Крокфорда под названием «Стиль программирования JavaScript и ваш мозг».
После некоторых смутных философских размышлений настоящая суть выступления начинается примерно через 5 минут с обсуждения того, почему у JavaScript есть плохие части и как JSLint поможет вам использовать только хорошие части. Затем следует обсуждение того, что составляет хороший стиль в JavaScript. В этом случае стиль — это не эстетика и самовыражение, а то, как писать код, не подверженный ошибкам.
Главный тезис:
«Если есть функция языка, которая иногда вызывает проблемы, и если она может быть заменена другой функцией, более надежной, то всегда используйте более надежную функцию».
Если вы согласны с этой идеей, то следующий очевидный шаг — используйте JSLint для обеспечения выполнения этих замен.
Ни одна из идей не нова, особенно если вы читали его книгу JavaScript the Good Parts.
Даже если вы не просматриваете все видео целиком, просмотрите в конце сеанс вопросов и ответов (примерно через 31 минуту), чтобы узнать о языках, которые компилируются в JavaScript, почему JavaScript хорош и что Крокфорд думает о JSHint, разветвленном инструмент качества кода.
Довольно много разговоров идет об идеях, применимых к любому языку, и со многими общими моментами не поспоришь. Однако вы можете оспорить некоторые рекомендации, но если вы все же попытаетесь подумать об общих целях, прежде чем принимать окончательное решение.
Я должен признать, что аргументы сформулированы так убедительно, что я передумал использовать конкретную конструкцию, которую я давно решил, что она безопасна, если вы ее понимаете.
Итак, в конце концов, является ли JavaScript плохим языком?
Его преступления, похоже, представляют собой несколько небрежных и потенциально подверженных ошибкам конструкций, которых очень легко избежать.
Неужели это все, что не так с JavaScript?
Суть в том, что проблема с JavaScript незначительна, если вы принимаете ее на собственных условиях. С другой стороны, если вы действительно хотите, чтобы это был объектно-ориентированный язык на основе классов со всеми вытекающими отсюда опасностями — да, у JavaScript есть действительно большая проблема. Но можно сказать, что JavaScript — это не Java.