Рецензирование статьи JavaScript

править

В последнее время улучшал эту статью. До этого она была несколько неполной. При улучшении ориентировался на избранные и хорошие статьи о языках программирования (Python, Ruby, Tcl). Старался проиллюстрировать статью примерами, поскольку нарисовать изображение для меня сложнее. Интересует любая информация, которая позволит сделать статью лучше или понять, в чём её главные проблемы, на чём в первую очередь сосредоточить усилия по улучшению. В частности, есть такие вопросы:

  1. Каких изображений всё же не хватает в статье? Если у языка нет логотипа, что им будет являться? Название?
  2. О чём не написано из важного?
  3. Не слишком ли раздут раздел Ядро? Улучшит ли воспринимаемость статьи перенос информации из раздела в головную статью?
  4. Нужны ли таблицы в том виде, в котором они присутствуют в статье? Как их можно улучшить?
  5. Не противоречит ли ВП:НТЗ приведённая цитата Крокфорда в начале раздела Литература? Не следует ли ограничиться нейтральным суждением о недостатке качества литературы на тему JavaScript с приведением ссылки на статью?
  6. Не слишком ли кратко написаны разделы Объектная модель документа и Объектная модель браузера?
  7. Будет ли улучшением переделка раздела Версии на манер версии англовики?
  8. Как можно улучшить раздел Примечания, какой класс источников разумно выделить в отдельный подраздел?
  9. В статье несколько раз проскальзывают упоминания позиций и высказываний авторитетных в мире JavaScript исследователей (Крокфорд, Флэнаган, Стефанов). В принципе, их книги есть в списке литературы и каждое упоминание также снабжено ссылкой. Однако, судя по отзывам, их упоминание в тексте статьи глаз режет, поэтому нужно что-то делать. Какое решение лучше: убрать фамилии, переделав фразы в более размытые (приводимые ссылки позволяют читателям уточнить информацию); при первом упоминании каждой из фамилий сделать небольшое пояснение о том, что за человек упоминается (если так, то в виде комментария или краткой фразой в тексте?); составить небольшой раздел об известных в мире JavaScript людях, ограничив его упоминаемыми в статье людьми, чтоб не слишком большим был (подраздел раздела История?).

--Plest 09:20, 2 ноября 2009 (UTC)[ответить]

Дополнение. На этом форуме люди откликнулись на призыв помочь и стали вычитывать статью. Уже сейчас довольно полезных замечаний по сути текста накидано. Исправляю потихоньку. --Plest 17:54, 6 ноября 2009 (UTC)[ответить]
Ещё одна ветка тематического форума с замечаниями по статье. --Plest 21:14, 28 ноября 2009 (UTC)[ответить]

1. ИМХО название, поскольку оно является товарной маркой.

  Сделано --Plest 09:06, 5 ноября 2009 (UTC)[ответить]
Если у языка нет логотипа, то логотипа у языка нет и являться им ничего не будет. --Anton Khorev 19:35, 5 ноября 2009 (UTC)[ответить]
Поле logo в карточке языка программирования предназачено для логотипа. У JavaScript логотипа нет, а значит поле logo должно быть незаполненным. Имеющаяся сейчас там ссылка на изображение не соотвествует действительности и вводит читателей в заблуждение. Azakhark 10:31, 29 ноября 2009 (UTC)[ответить]
  Исправлено --Plest 11:04, 29 ноября 2009 (UTC)[ответить]

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

Да, тонкий момент. Жду ещё отзывов с мыслями по этому и 6 пунктам. Как вариант напрашивается урезание раздела до абзаца с перенесением всего остального в статью ECMAScript, что выглядит логичным и способствует однообразности вида всех трёх подразделов, но тогда раздел о семантике и синтаксисе будет совсем уж куцым, а в отношении языков программирования важность такого раздела не представляет сомнений. Перенос в статью об ECMAScript части подразделов с оставлением другой части в статье о JavaScript выглядит неестественным. Возможно, кто-то может привести пример удачного разделения статьи, важная часть которой являет собой пример другой статьи? --Plest 14:07, 5 ноября 2009 (UTC)[ответить]
  Сделано. Информация, относящаяся к ECMAScript, вынесена в соответствующую статью. --Plest 21:14, 28 ноября 2009 (UTC)[ответить]

6. В сравнении с "ядром" - слишком.
PS - в первый раз оставляю коммент в разделе обсуждения, возможно, что-то делаю не так.JB 05:59, 5 ноября 2009 (UTC)[ответить]

Ага - не подписались :-) И еще строки хорошо бы разбивать, они только в исходном тексте так нормально выглядели. Partyzan XXI 05:29, 5 ноября 2009 (UTC)[ответить]
Спасибо, исправилась. ;-) JB 06:00, 5 ноября 2009 (UTC)[ответить]
Не слишком, так как частью языка они не являются. --Anton Khorev 19:35, 5 ноября 2009 (UTC)[ответить]
Искал критику Закаса в плане терминологической точности. Найти ничего не удалось. А с этим делением на три части картина весьма стройная получается. То что DOM многограннее будет призвана дать понять головная статья. --Plest 21:50, 5 ноября 2009 (UTC)[ответить]
Частично   Сделано. Про DOM в качестве языконезависимого интерфейса дополнил в разделе о структуре языка. --Plest 01:39, 6 ноября 2009 (UTC)[ответить]
Подразделы 'Объектная модель браузера' и 'Объектная модель документа' не имеют никакого отношения к семантике и синтаксису JavaScript, поэтому им не место в разделе 'Семантика и синтаксис'. Azakhark 23:02, 27 ноября 2009 (UTC)[ответить]
О их отношении к семантике и синтаксису JavaScript можно прочитать в разделе 'Структура языка'. --Plest 21:14, 28 ноября 2009 (UTC)[ответить]
Раздел 'Структура языка' не соотвествует действительности. Дело в том, что в книге Zakas N. Professional JavaScript for Web Developers, приведенной в ссылках, очевидно речь идет о структуре т.н. Client-side JavaScript, а не самого JavaScript.Azakhark 09:50, 29 ноября 2009 (UTC)[ответить]
Ну, тут-то как раз можно не гадать. Речь о JavaScript. Вот фрагмент книги:

Zakas N. Professional JavaScript for Web Developers:

Реализации JavaScript Несмотря на то, что JavaScript и ECMAScript зачастую используются как синонимы, JavaScript представляет из себя больше, чем то, что определено в ECMA-262. На самом деле, полная реализация JavaScript состоит из следующих трёх различных частей ...:

  • Ядро (ECMAScript)
  • Объектная модель документа (DOM)
  • Объектная модель браузера (BOM)

--Plest 09:06, 30 ноября 2009 (UTC)[ответить]

Эта книга рассказывает о применении JavaScript в вебе, поэтому скорее всего автор намеренно привел такую структуру, чтобы не увязнуть в технических деталях. Привидите пожалуйста примеры первичных источников подтверждающих такую структуру JavaScript. Azakhark 12:29, 30 ноября 2009 (UTC)[ответить]
Вообще говоря, классификация в первичных источниках — редкое явление. Обычно её выработка — удел источников вторичных. Авторитетные источники — книга Закаса и книга Коха («ppk on JavaScript»). --Plest 13:26, 30 ноября 2009 (UTC)[ответить]
Причем здесь классификация? Речь идет о структуре языка программирования. Первичные источники четко отделяют JavaScript от DOM и BOM. Azakhark 13:39, 30 ноября 2009 (UTC)[ответить]
Более того, DOM это API, не зависящий от языка программирования и поддерживаемый W3C. А BOM это объектная модель браузера, которая в общем случае специфична для конкретного браузера. Azakhark 12:29, 30 ноября 2009 (UTC)[ответить]
Упоминание о том, что согласно спецификации DOM языконезависим, в статье есть (раздел Структура языка). А тут весьма показательная цитата Брендана о DOM и JS. --Plest 13:26, 30 ноября 2009 (UTC)[ответить]
Процитируйте, пожалуйста, здесь. Azakhark 14:02, 30 ноября 2009 (UTC)[ответить]
"Inventing toolkits and extension systems on top of JS is cool. I hoped that would happen, because during Netscape 2 and 3 days I was under great pressure to minimize JS-the-language, implement JS-the-DOM" --Plest 14:19, 30 ноября 2009 (UTC)[ответить]
Наличие упоминания о том, что DOM языконезависим сути дела не меняет т.к. DOM не является частью языка, а статья преподносит его как часть. Azakhark 13:58, 30 ноября 2009 (UTC)[ответить]
Если вы настаиваете на такой структуре языка, то объясните, пожалуйста, почему указанные в статье реализации, например, SpederMonkey, не содержат в себе ни BOM, ни DOM? Azakhark 13:58, 30 ноября 2009 (UTC)[ответить]
Не настаиваю. Нахожу, что имеет место факт сопоставления такой структуры языку в авторитетных источниках. Которые и привожу. --Plest 14:19, 30 ноября 2009 (UTC)[ответить]
  • "Существенной особенностью JavaScript является то, что им не владеет какая-либо компания или организация" - как и, например, Си или Scheme.
По ссылке Резиг называет C#, PHP, Perl, Python, Java. --Plest 21:50, 5 ноября 2009 (UTC)[ответить]
Видимо, он перечисляет языки, используемые в веб-разработке, и говорит, что из них только javascript обладает данной особенностью. --Anton Khorev 16:56, 8 ноября 2009 (UTC)[ответить]
  Сделано Вариант. Изменил фразу, добавил в примечание список языков. --Plest 08:49, 9 ноября 2009 (UTC)[ответить]
  • Популярность: "Дуглас Крокфорд утверждает, что лидирующую позицию JavaScript занял в связи с (...)" = Дуглас Крокфорд утверждает, что JavaScript занял лидирующую позицию, потому что лидирующей позицией он считает (...).
--Anton Khorev 21:12, 5 ноября 2009 (UTC)[ответить]
А он в своей статье априорно называет язык самым популярным, рассуждая на тему важности языков. Что некоторые важны из-за того, что концепции из них перекочевали во многие языки программирования и тем самым это явилось вехой в развитии языков программирования. Другие важны из-за того, что собирают вокруг себя большое число пользователей. И в этом смысле, по Крокфорду, JavaScript относится ко второй группе языков. То что насчёт лидирующей позиции он несколько загибает — раздел о популярности есть с цифрами и ссылками --Plest 21:50, 5 ноября 2009 (UTC)[ответить]
По цифрам и ссылкам:
  • Если указывается позиция языка, значит есть определённое множество языков. Тогда, например, что такое "язык программирования SQL"?
Не нашёл о критериях выбора языков для сравнения. Однако AutoHotkey, например, включен не был из-за своей нишевости. И ещё там же есть дискуссии о ряде языков и о том, что языками не является (ASP тот же). --Plest 08:49, 9 ноября 2009 (UTC)[ответить]
Какой смысл для читателя статьи имеет фраза "JavaScript находится на 9 месте"? --Anton Khorev 16:00, 9 ноября 2009 (UTC)[ответить]
Насколько я понимаю, tiobe и langpop — самые известные ресурсы, «меряющие» популярность языков программирования и вообще говоря, АИ они или не АИ — тот ещё вопрос (в связи с этим: может быть, вообще эти данные убрать? однако, судя по всему, они более соответствуют действительности, чем оценка Крокфорда). Наверняка в разделе было бы лучше привести данные исследований, опубликованных в IEEE'шном журнале (а ещё лучше в Science) или в материалах одной из конференций, проводимых тем же IEEE. Однако таких данных у меня нет. Есть tiobe и langpop. Наверняка было бы более информативным приведении первой десятки языков по каждому параметру, но, на мой взгляд, в этом случае, добавилось бы слишком много данных, не относящихся к теме статьи. В приведённой фразе мне видится тот смысл, что имеются восемь сущностей, опережающих JavaScript по данному параметру по данной версии. Если у читателя возникнет интерес к тому, чему JavaScript уступает, а что опережает, он кликнет на сноску и прояснит для себя этот момент. --Plest 16:38, 9 ноября 2009 (UTC)[ответить]
  • Какие веса используются при составлении взвешенной оценки?
  Сделано Единицы. Внёс уточнение в текст. --Plest 08:49, 9 ноября 2009 (UTC)[ответить]
Обязательно называть что-либо взвешенным, если веса равны единице? --Anton Khorev 16:00, 9 ноября 2009 (UTC)[ответить]
  Спасибо Переобозвал как суммарная оценка. По-моему, это вполне отражает действительность. К тому же какая разница, нормализована оценка или нет, если она не представлена в численном виде, а используется только для сравнения с аналогичными оценками. --Plest 16:38, 9 ноября 2009 (UTC)[ответить]
--Anton Khorev 19:51, 8 ноября 2009 (UTC)[ответить]
  • таблица "Типы инструкций":
    • Кому нужен столбец "Оригинальное название"?
Тем, кто за подробностями в отношении какого-то момента полезет в книги? --Plest 08:23, 11 ноября 2009 (UTC)[ответить]
    • Почему завершающим точкам с запятыми нужен отдельный столбец? Можно их включить в "краткие сведения"? Один раз это сделано, в случае с пустой инструкцией.
Для удобства. Чтобы сразу было видно, где не нужно ставить точку с запятой. Краткие сведения — по-моему, чуть запутаннее раздел, чтобы без особой нужды в него вчитываться. Вынесенные отдельно точки с запятой позволяют прояснять языковые требования в отношении них без особых усилий. --Plest 08:23, 11 ноября 2009 (UTC)[ответить]
--Anton Khorev 16:42, 9 ноября 2009 (UTC)[ответить]
  • разбиение статьи на несколько:
    • JavaScript не ограничивается созданием сценариев для веб-страниц, а значительная часть статьи посвящена именно этому. Поэтому предлагаю вынести использование JavaScript в вебе в отдельную статью. Azakhark 00:42, 28 ноября 2009 (UTC)[ответить]
  • Не путаю. JavaScript встраиваемый язык общего назначения и об этом говорится в статье (прочтите, например, вводную часть или раздел 'Применение') Azakhark 13:48, 28 ноября 2009 (UTC)[ответить]
  • Если предлагается сделать аналог en:Client-side JavaScript — оно не слишком энциклопедично, по-моему. А аккуратное выдирание всего что относится к использованию в браузере — трудоёмкая операция, способная искалечить статью. Мне кажется, не стоит это делать хотя бы потому, что веб — основной удел JavaScript сейчас и такой же перекос можно наблюдать в источниках. --Plest 21:14, 28 ноября 2009 (UTC)[ответить]
  • Как раз наоборот, в английской вики подход более правильный. Попробую объяснить почему. Изначально JavaScript создавался как язык сценариев для веб-браузера, но сейчас этот язык можно встроить в любое приложение. Наиболее известное применение JavaScript по-прежнему сценарии для веб-браузера. Поэтому очень часто, когда говорят о JavaScript, на самом деле, имеют в виду JavaScript + BOM + DOM. В английском языке, когда необходимо четко показать о чем идет речь, используют термины: Core JavaScript для самого JavaScript, Client-side JavaScript - для связки JavaScript + BOM + DOM, Server-side JavaScript - для связки JavaScript + объектная модель веб-сервера. Рекомендую также ознакомиться: 1) с документацией по JavaScript на сайте Mozilla [2] 2) David Flanagan. JavaScript: The Definitive Guide. Изд-во O'Reilly.Azakhark 09:41, 29 ноября 2009 (UTC)[ответить]
  • Логика в этом есть. Флэнаган в «Подробном руководстве», действительно, такую линию проводит. Считаю разумным описать эту позицию в статье со ссылками на источники. И, кстати, в этой связи вычищение всего, что относится к основному применению JavaScript из статьи тем более вредно, поскольку потенциально может привести к ответвлению мнений. --Plest 09:39, 30 ноября 2009 (UTC)[ответить]
  • Первичные источники (документация от Mozilla) подтверждают, что JavaScript существует отдельно от DOM и BOM, поэтому ни о каком ответвлении мнений не может быть и речи. Данная статья посвящена языку JavaScript, а применение JavaScript в вебе это вполне самостоятельное явление. Azakhark 13:31, 30 ноября 2009 (UTC)[ответить]
  • "Выдирание всего что относится к использованию в браузере" статье пойдет только на пользу т.к. данная статья посвящена самому языку JavaScript, а не его использованию в вебе. На первом месте должны стоять качество и достоверность информации, а не трудоемкость. Azakhark 10:02, 29 ноября 2009 (UTC)[ответить]
  • Касаясь вопроса об уделе JavaScript, я бы сказал что веб это наиболее широко известное применение JavaScript. Сфера реального применения языка очень и очень широка на сегодняшний день. Azakhark 10:06, 29 ноября 2009 (UTC)[ответить]
  • Касаясь вопроса о перекосе в источниках, отмечу что документация по JavaScript от компании Mozilla является первичным источником. Azakhark 10:09, 29 ноября 2009 (UTC)[ответить]