11.07.2015 Views

Выпуск 1 - Российский государственный профессионально ...

Выпуск 1 - Российский государственный профессионально ...

Выпуск 1 - Российский государственный профессионально ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

одним из апологетов старой школы UNIX-систем,во время его работы в Google было предложеноразработать язык программирования, которыйсмог бы заменить Си в привычной для последнегонише — системном программировании, с учетомвсех современных принципов разработки вычислительныхсистем, главный из которых — мультипроцессорностьи многопоточность, параллелизация.Пайк уже пытался осуществить подобное, являясьчленом команды по проектированию языков Alefв Plan 9 и Limbo в операционной системе Inferno(причиной низкой популярности обоих языков отчастиявляется низкая популярность их программныхплатформ), поэтому задача была для негосравнительно простой. В команде с Робертом былтакже Кен Томпсон, один из авторов Си, как никтодругой знающий недостатки своего детища. Новыйязык, названный Go, увидел свет в 2009 году и имелдействительно серьезные возможности обставитьСи. Однако этого не произошло. Одним из главныхвиновников этого является консервативностьпрактической информатики, вытекающая из большихобъемов уже существующего кода, которыйникому не хочется переписывать (а потом еще иотлаживать) заново и на новом языке. Посколькукакой-либо другой серьезной цели, кроме заменыСи в качестве языка для системного программирования,у Go не было, он завис в воздухе, и в настоящеевремя его положение не совсем ясно.Возможно, причиной низкой популярности Go являетсяи то, что область проектирования операционныхсистем и среднеуровневых языков пока не слишкомблизка Google (а в 2007 году это было для них вообщев новинку), и “первый блин вышел комом”. Какбы то ни было, компания сильно не расстроилась ипродолжила экспериментировать. Здесь мы уже подходимк объекту нашей статьи — языку Dart.Обновленный вебВ 2011 году Google решила сконцентрироватьсвои экспериментаторские силы на привычномдля себя поприще — веб-разработке. Как известнолюдям, знакомым с этой областью не понаслышке,ключевой технологией разработки клиентских (тоесть работающих на компьютерах конечных пользователей)веб-приложений является Javascript(JS), объектно-ориентированный язык программирования,в наше время ставший уже укоренившимсястандартом в создании сайтов, порталов идаже пользовательских веб-интерфейсов для операционныхсистем. Именно на него и его недостатки,которые трудно устранить с помощью простойэволюции языка: динамическую типизацию, прототипнуюобъектную модель, низкую производительность,как следствие двух предыдущих минусов,сложность поддержки и разработки большихпроектов, — обратили свое внимание инженеры изGoogle. Ими были предложены две стратегии дальнейшихдействий в этом направлении:• Harmony — стратегия с маленькими рисками,но и маленькой отдачей — продолжать работунад улучшением Javascript. Это просто и безопасно,однако даже в лучшем случае это займет годыи все равно в конце концов упрется в фундаментальныенедостатки JS. Собственно говоря, этостратегия не столько Google, сколько консорциумаJavascript.• Dash (то, что мы сейчас знаем как Dart) —стратегия с большими рисками и большой отдачей— разработать новый язык программирования,который был бы пропитан динамическим духомJavascript, но имел бы значительно улучшеннуюпроизводительность и обеспечивал бы легкостьуправления крупными проектами. В будущем — закрепитьDash (Dart) в качестве открытого стандартавеб-программирования и обеспечить поддержкунового языка со стороны браузеров, а также реализоватьего транслятор в Javascript для браузеров,таковой поддержки не имеющих. Это крайне сложнои рискованно, поскольку потребуется убедить вправомерности и необходимости такого решениямножество программистов.Попытка применения только одной из этих стратегийзаранее обречена на провал. Если следоватьпути “обновления Javascript”, то веб может зависнутьв устаревшем состоянии и оказаться неспособнымконкурировать с более инновационными,но зачастую менее открытыми технологиями. Приизолированном применении второго пути в безнадежноустаревшем состоянии может оказаться самJavascript, а новый язык при этом будет еще слишком“сырым”, что приведет к “смутным временам”веб-программирования.Единственным верным решением в данном случаеявляется развитие двух этих стратегий одновременно:новый язык будет создаваться, однако вкачестве страховки в то время, когда он будет ещеслишком слаб (или если он все же не оправдает возложенныхна него ожиданий), будет эволюционироватьстарый добрый Javascript.В заключение этого обзора предпосылок для появлениянового языка веб-программирования ярассмотрю также некоторые другие родственныетехнологии от Google:• JSPrime — попытка объединить Javascript иGoogle Web Toolkit в единую систему, пригоднуюдля разработки больших высоконагруженных вебприложений(технологий, являющихся приоритетнымидля Google). В настоящее время все разработчикиJSPrime входят в команду по созданию Dart,в который была перенесена часть уже сделанныхнаработок;• JS++ — множество улучшений и нововведенийдля Javascript, которые в настоящее время являютсячастью первой стратегии, Harmony;• Joy — система шаблонных и Model-View-Controllerфреймворков, которые будут построены поверхDart.39январь 2012 / ИНФорматика

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!