Главная Случайная страница


Полезное:

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


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Hack — язык программирования нового поколения от Facebook





 

Инженеры Facebook Брайан О'Салливан, Жильен Верлаге и Алок Менгражани потратили несколько лет на разработку языка программирования, который был бы не похож на все остальные.

 

С помощью других специалистов соцсети им удалось разработать новое средство для быстрого создания сложных сайтов и другого софта, при этом сохраняя четкую организацию самого программного кода — не многие языки программирования могут этим похвастать. Получившийся язык получил название Hack, и сейчас почти весь Facebook работает именно на нем, обслуживая более 1.2 миллиардов людей по всему земному шару.

 

«Мы можем с полной уверенностью утверждать, что Hack прошел через такое жесткое тестирование в боевых условиях, какое только можно себе представить», — говорит О'Салливан, который является ветераном индустрии, работавшим в таких культовых компаниях, как Sun Microsystems и Lined Lab и долгое время игравший значительную роль в развитии языка программирования Haskell.

 

Hack был представлен публике на этой неделе и сразу же стал свободным, чтобы любой человек в мире мог не только воспользоваться им, но и помочь сделать этот инструмент лучше.

 

В мире существует целая куча языков программирования, и постоянно появляются новые — этим никого не удивить, а энтузиазма подобные релизы обычно вызывают немного. Но в случае Hack ситуация несколько иная, и эксперты довольно благосклонно отзываются об этом проекте. Например, гуру программирования Дэвид Поллак говорит о нем так:

Если его сделал Брайан О'Салливан, то для того, чтобы получить возможность использования этого языка, я бы прошел по горячим углям.

Начало

 

Когда Марк Цукерберг начал работать над Facebook в конце 2003 года — это время отлично описано в фильме «Социальная сеть» — он использовал PHP, который был, да и до сих пор остается, популярным средством разработки веб-приложений, позволяющим быстро создавать и перестраивать программные продукты.

 

Это так называемый динамический язык программирования — с его помощью можно определять типы данных «на лету», и как только вы напишете кусок кода, его можно сразу запустить и увидеть результат, поскольку компиляция также происходит мгновенно.

 

Следующие 10 лет Цукерберг и его команда продолжали делать сайт с помощью PHP. Это вполне вписывалось в философию программирования Цукерберга ("The Hacker Way"). Однако со временем все яснее стали проступать ограничения PHP — в частности, для того, чтобы Facebook работал на PHP, требовалось куда больше серверов, чем при использовании других языков программирования.

 

Для проектов определенного размера больше подходят языки со статической типизацией вроде Java, в котором необходимо вдумчиво определять все типы переменных. С помощью таких программных средств вы не можете двигаться очень быстро, поскольку перед запуском кода его нужно компилировать, но и для работы продуктов, созданных с их помощью, требуется меньше ресурсов (тех же серверов). Управлять ими гораздо легче.

 

В прошлом году после брейншторма, устроенного тремя ведущими инженерами, Facebook удалось решить серверные проблемы с помощью запуска сего PHP-кода на новом софте под названием HHVM (Hip Hop Virtual Machine). Это позволило сократить количество серверов, необходимых для функционирования соцсети. Теперь, с помощью Hack, О'Салливану и его команде удалось решить и другую проблему, облегчив поддержку кода и выявление ошибок.

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

Новый PHP

 

В этом контексте Hack легко воспринять в качестве улучшенной версии PHP. Он тоже работает на HHVM, но позволяет программистам использовать как динамическую, так и статическую типизацию. Это называется "постепенной типизацией" (gradual typing), и до сегодняшнего момента ее можно было встретить скорее в научных трудах. По словам О'Салливана, Facebook является первой компанией, попытавшейся реализовать постепенную типизацию в "реальном, активно использующемся в продакшене" языке программирования.

 

Все это позволило Facebook заменить код на PHP кодом на Hack, систему, основанную на динамической типизации — на нечто более современное.

Вы можете легко маневрировать между статическими и динамическими типами данных — можете начать с динамического кода, а затем постепенно добавлять больше статического, извлекая преимущества каждого подхода.

 

По словам О'Салливана, с помощью Hack, компания может создавать более точный код, а разработчики смогут сразу понимать, что делает тот или иной участок кода, при его ревью. Что важно, Hack позволяет добиться всех этих преимуществ без потери скорости: это достигается за счет отсутствия компиляции, как в других статических языках.

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

 

Разработчик и фаундер компании Forumatic Нильс Адерманн уже успел поработать с Hack и весьма положительно о нем отзывается. Инженеры PocketRent Джеймс Миллер и Саймон Уэлш также с этим согласны. По их словам, ближе всего к Hack находится статический язык Haskell, который может исполнять код относительно быстро. Но Hack, конечно, пошел куда дальше.

 

Адерман говорит, что Hack станет очень привлекательным вариантом для тех, кто сейчас использует PHP.

Иронично, но главный его плюс в том, что он почти и не отличается от PHP.

 

Многие проекты смогут постепенно заменить свой код на код Hack, но, по его мнению, и те разработчики, что никогда не использовали PHP, могут заинтересоваться новым языком.

 

Несмотря на то, что PHP является самым широко использующимся в вебе языком, в некоторых областях он непопулярен из-за неконсистентности. Эти проблемы решены в Hack, что делает его привлекательным вариантом для пользователей других языков программирования.

 

Но, конечно, главной рекомендацией новому языку является тот факт, что он уже используется в Facebook — а это, на секундочку, самая популярная соцсеть в мире. Не каждый день новый язык начинает свой пусть с такой солидной строчкой в резюме. Некоторые, впрочем, задаются вопросом, а может ли вообще Hack претендовать на звание "нового" языка, ведь, во многом, это просто улучшенная версия PHP. Где же проходит эта линия между "улучшением" и чем-то совершенно новым?

 

"Это", - говорит О'Салливан, - "отличная тема для спора вечерком под виски".

 

Источник: http://siliconrus.com/2014/03/facebook-hack-language

23 марта 2014 в 11:25 от Александра Лашкова

 

Официальный сайт http://hacklang.org

 

 
 

Команда Facebook выложила в открытый доступ язык Hack

 

Новый язык Hack является прямым потомком PHP, основанным на его синтаксисе. Hack создан специально для виртуальной машины HHVM (Hip Hop Virtual Machine). Команда Facebook полностью перевела разработку на новый язык и называет эту миграцию большим успехом. Однако Facebook не отказывается от поддержки PHP и планирует доработать поддержку PHP5 в HHVM.

Подробная документация по языку доступна здесь http://docs.hhvm.com/manual/en/hacklangref.php (на английском языке).

 

Пример кода

 

<?hh

class MyClass {

public function alpha(): int {

return 1;

}

 

public function beta(): string {

return 'hi test';

}

}

 

function f(MyClass $my_inst): string {

// Fix me!

return $my_inst->alpha();

}

 

Возможности нового языка

 

Основной особенностью Hack стала реализация статической типизации. Это потребовало отключения некоторых возможностей языка, таких как переменная в переменной $$ и функция extract (неявное создание переменных в таблице символов из массива).

Также было внедрено множество фичей из современных языков программирования: обобщенное программирование, псевдонимы типов, обнуляемые типы и ограничения на параметры типов, коллекции, лямбды, а также проверка возвращаемых типов и типов параметров во время выполнения.

Типы проверяются специальным сервером (сервисом, демоном), который следит за изменением файлов исходного кода на диске.

Каким образом оповещается программист, пока не ясно, но вместе с Hack в комплекте идет несколько инструментов.

 

Спасибо, Facebook, возможно это то, чего так долго не хватало PHP!

 

Источник: http://habrahabr.ru/post/216727/

 

Вобщем, на этом пока всё. Заказывай новую книгу серии “Секреты Фейсбук 2014” прямо сейчас [email protected]

 

Бонус:

 

IFRAME APPS http://www.iframe-apps.com

 

 


 

 

Приложения. Нарезка новой TimeLine (актуальна на 28 июня 2014 года)

 

 

 
 

 

 

 
 

 


 

 


 

 
 

 

 

 
 

 

 


 

 


 


 

Date: 2015-07-27; view: 781; Нарушение авторских прав; Помощь в написании работы --> СЮДА...



mydocx.ru - 2015-2024 year. (0.005 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию