(495) 925-0049, ITShop интернет-магазин 229-0436, Учебный Центр 925-0049
  Главная страница Карта сайта Контакты
Поиск
Вход
Регистрация
Рассылки сайта
 
 
 
 
 

Злые языки нашептали или Кому мешает Javascript?

Источник: i-business
Евгений Золотов

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

Речь пойдёт о новом языке программирования, известном среди отцов-разработчиков как Dash, а в прессе как Dart. Первое имя фигурирует в тексте письма, просочившемся из лаборатории, где идут последние приготовления к публичной презентации языка, и скорее всего является кодовым, рабочим. Второе используют журналисты, позаимствовавшие его из плана октябрьской конференции GOTO, где и должен быть представлен продукт. Впрочем, разгоревшийся скандал связан не с именем, а с предназначением нового языка и его авторством.

Dart - скриптовый язык программирования, напоминающий по своей структуре Javascript и, как и он, нацеленный в первую очередь на веб-разработки. Но если создатели Javascript имели весьма смутное представление о будущем своего детища, авторы Dart проектировали его, зная, где он будет применяться и как.

Не углубляясь в технические подробности, можно сказать, что программы на Dart будут встраиваться в веб-странички и исполняться в браузерах, исполняться чрезвычайно быстро и эффективно. И уж поверьте, это не просто слова: среди авторов нового языка числятся создатели Java и суперскоростного Javascript-движка V8, который встроен в браузер Chrome. А трудятся они в компании, которая разработала и эксплуатирует, возможно, самый сложный комплекс Javascript-программ в мире. В Google.

Чтобы не запутаться в упоминаниях Java, стоит обратиться к истории. Прежде всего: собственно Java к языкам программирования Javascript и Dart прямого отношения не имеет. Просто в 1995, когда в недрах корпорации Netscape Communications был на скорую руку (говорят, всего за десять дней) разработан примитивный скриптовый язык, способный встраиваться в веб-страницы и управлять их элементами, для него, естественно, понадобилось название.

Формальным разработчиком Javascript считается Netscape, но на самом деле у этого популярного языка есть конкретный автор: Брэндан Эйч. Не обращайте внимания на пиратский костюм: легендарный программер, занимающий сегодня пост технического директора Mozilla Corp., просто дурачится. Когда ему пеняют на острые углы Javascript, Эйч отвечает кратко: если бы я не подсуетился, мир точно получил бы что-нибудь намного худшее.

Рабочее "Mocha" было заменено на "LiveScript", а потом, благодаря хорошим отношениям с Sun Microsystems (где родилась Java), появилась возможность заменить "LiveScript" солидным "Javascript". Новый язык немедленно встроили в - тогда самый популярный - веб-браузер Netscape Navigator, и отчасти благодаря популярности браузера, отчасти благодаря имени, навевающему ассоциации со знаменитой Java, бывший Mocha стремительно пошёл в гору.

Во второй половине 90-х Javascript стал одним из двух кирпичиков, с помощью которых была выстроена так называемая Веб 2.0. Странички, отображаемые браузерами, больше не были статичными - они стали похожи на самостоятельные приложения. И хоть термин AJAX, обозначающий используемые для этого технологии был предложен лишь в 2005, ссылается он на разработки 90-х: буква J в этой аббревиатуре означает как раз Javascript. Сегодня Javascript является важнейшим связующим звеном в комплексе HTML5, который вырос на идеях AJAX.

За стремительный взлёт Javascript cтоит благодарить и Netscape, которая почти сразу сделала свой проект открытым. Уже через год компания подала заявку на промышленный стандарт (в Европейскую ассоциацию компьютерных производителей, ECMA) - и заявка была удовлетворена. Взяв Javascript за основу, ECMA сформулировала спецификации скриптового языка программирования ECMAScript.

В доработке этих спецификаций с тех пор участвуют многие ИТ-гиганты, и они же используют их как эталон для собственных диалектов, так или иначе расширяющих базовый набор команд. Здесь и JScript от Microsoft, и чистый ECMAScript от Opera, ActionScript от Adobe, и конечно сам Javascript, используемый не только наследницей Netscape, Mozilla Foundation, но и многими другими (Google, Apple и т.д.). Согласно независимой статистике, Javascrtipt остаётся самым популярным членом своего семейства и единственный из него входит в первую десятку самых используемых языков программирования в мире.

Недостатки слепленного наспех проекта стали проявляться, когда планета уже плотно "сидела" на Javascript-игле. AJAX и HTML5 подразумевают написание чрезвычайно сложных Javascript-программ. Неудивительно, что скорость исполнения однажды превратилась в головную боль. Этот изъян удалось в значительной степени компенсировать за счёт разработки новых, оптимизированных Javascript-движков (вроде Google V8, компилирующего программу в машинный код).

Хуже обстоят дела с примитивностью самого языка. Несколько упрощая, можно сказать, что несовершенство Javascript вынуждает веб-программистов строить неадекватно сложные, трудно переносимые между платформами, далёкие от идеала в смысле производительности программные конструкции. С увеличением числа популярных альтернативных платформ (iOS, Android, кто следующий?) проблема становится только острее.

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

Поэтому избрали другой путь. ECMAScript подвергнется значительной модификации, но изменения будут носить эволюционный, не революционный характер (инициатива получила название Harmony - англ. гармония, что отражает её компромиссную суть). Решит ли это озвученные выше проблемы? Мнения расходятся, но скорее всего - лишь отчасти.

Коллектив разработчиков Dart замечателен сам по себе - и сам по себе может служить гарантом качества ещё не представленного продукта. Среди авторов, в частности, Гилад Брача, сыгравший немаловажную роль в судьбе Java.

 И вот здесь случается неожиданный поворот. На прошлой неделе из недр Google (бывшей, кстати, в числе сторонников компромиссного варианта Harmony) утекает письмо, датированное осенью 2010 и содержащее подробные сведения о разрабатывающемся в компании новом языке программирования Dart. Который, написан, что называется, "с нуля", похож на Javascript, но лишён его недостатков, и в течение буквально шести лет должен вытеснить предшественника. Попросту, Google, ещё недавно выступавшая против резких перемен, вдруг передумала и решила устроить революцию.

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

Сегодня, решая на чём написать новое приложение для мобильных устройств (смартфоны, планшетки), разработчики выбирают между HTML5 и родной для данного устройства девелоперской средой. Dart избавит от мук выбора: он будет одинаково эффективен как для скриптовых программ в веб-страничках, так и для полноценных программ. Экспериментировать Google есть на чём: Dart будет включён в Chrome и Android.

Но если инициатива так хороша, почему же тогда три из каждых четырёх публикаций, посвящённых Dart за последние несколько дней, пропитаны скепсисом и даже злобой? Дело в том, что поисковый гигант в очередной раз решил устроить революцию в одиночку, ни с кем не посовещавшись.

Dart создаётся по уже отработанной схеме: идея проекта, его ранняя имплементация, выпуск и первые шаги в реальном мире контролируются единолично Google. Когда (и если) проект находит отклик у публики, к нему допускают сторонних разработчиков. Таким образом, формально проект считается открытым, хоть по факту его хозяином остаётся породившая его компания. Самый громкий пример - Android (см. "Открытость и свобода Android"), но аналогично Google действует и в других областях. Вспомните продвигаемые ею протокол SPDY (ускоренный HTTP) или фотоформат WebP (улучшенный JPG).

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

Даже если критики Google правы лишь наполовину, к ним стоит прислушаться. Google уже доказала свои уникальные способности в качестве разработчика инновационных мобильных и веб-решений. Она контролирует Android, который станет (или уже стал) самой популярной платформой для недокомпьютерных устройств. Она контролирует Chrome, входящий в список самых популярных браузеров. Заручившись такой поддержкой, Dart имеет ненулевые шансы стать самым популярным языком программирования вообще, потеснив с первого места Java.

Да, в варианте от Google - Android+Chrome+SPDY+WebP+Dart - глобальная сеть наверняка будет быстрей и удобней. Одно плохо: с мечтой о свободной, независимой Веб придётся распрощаться.



 Распечатать »
 Правила публикации »
  Написать редактору 
 Рекомендовать » Дата публикации: 21.09.2011 
 

Магазин программного обеспечения   WWW.ITSHOP.RU
SmartBear Collaborator - Concurrent User License (Includes 1 Year Maintenance)
Stimulsoft Reports.Ultimate Single License Includes one year subscription, source code
SmartBear QAComplete Concurrent User Subscription License - On Premise (1 Year Subscription)
SAP CRYSTAL Server 2013 WIN INTL 5 CAL License
The BAT! Home Upgrade- 1 компьютер
 
Другие предложения...
 
Курсы обучения   WWW.ITSHOP.RU
 
Другие предложения...
 
Магазин сертификационных экзаменов   WWW.ITSHOP.RU
 
Другие предложения...
 
3D Принтеры | 3D Печать   WWW.ITSHOP.RU
 
Другие предложения...
 
Новости по теме
 
Рассылки Subscribe.ru
Информационные технологии: CASE, RAD, ERP, OLAP
Безопасность компьютерных сетей и защита информации
CASE-технологии
Программирование на Microsoft Access
СУБД Oracle "с нуля"
Утиль - лучший бесплатный софт для Windows
Adobe Photoshop: алхимия дизайна
 
Статьи по теме
 
Новинки каталога Download
 
Исходники
 
Документация
 
 



    
rambler's top100 Rambler's Top100