SlideShare une entreprise Scribd logo
1  sur  9
Télécharger pour lire hors ligne
Perl система сборки с
                         нативным DSL

                            YAPC::RU::2010




среда, 16 июня 2010 г.
Что это такое
                    • Сборка приложения на основе файла
                         зависимостей. (примеры: make &&
                         Makefile, ant + xml-config)
                    • «Нативный DSL» означает лишь то, что
                         языком описания правил является язык
                         реализации. (пример: программа rake в
                         ruby)


среда, 16 июня 2010 г.
Почему нативный
                              DSL
                    •    просто в использовании.

                    •    легко вносить изменения/расширять (не надо
                         переписывать грамматики и проще изменять
                         логику)

                    •    прямое использование библиотек языка (для
                         Perl - это весь CPAN!)

                    •    Хорошая статья на эту тему М. Фаулера: http://
                         martinfowler.com/articles/rake.html



среда, 16 июня 2010 г.
Почему появилась такая идея

                    •     "такая корова нужна самому" Хочу сборку для
                          своего проекта и не хочу make. :)

                    •     "мода" "воровать" из других языков их
                          прикольные фичи. (Хороший пример – plack.)

                    •     "вклад в коммьюнити". Надеюсь, что пригодится
                          не только мне.

                    •     "гордость и предубеждение" Мой первый open
                          source.

                    •                         «Пусть расцветают сто
                          цветов, пусть соперничают сто школ» 
                          (император Цинь Шихуан).
среда, 16 июня 2010 г.
Системы сборки в
                          других языках
                    • ruby – rake
                    • php – pake (Surprise!!! :)
                    • python – Scons, Waf
                    • java, c#, .Net – (n)ant внешний xmlish DSL)
                    • http://www.scons.org/wiki/
                         SconsVsOtherBuildTools


среда, 16 июня 2010 г.
в Perl много всего

                    • Makepp (Makefile) - make на perl
                    • pake (Pakefile) - почти то что нужно :)
                    • Shipwright
                    • Module::Install, MakeMaker, Builder & etc

среда, 16 июня 2010 г.
Нравится в pake (Perl)

                    • простой
                    • можно использовать
                    • код есть на github


среда, 16 июня 2010 г.
Не нравится
                    •    название :) (php-исты «сперли», && http://
                         www.urbandictionary.com/define.php?term=pake on Hawaii:
                         Person who is frugal. ... used as a sort of ethnic slur in Hawaii to
                         describe a Chinese person)

                    •    нет свежего кода с 3 Jan 2009 

                    •    нет общего способа писать расширения. (На cpan ничего нет
                         для pake). (ant таски)

                    •    неинформативные сообщения об ошибках (используется do
                         для выполнения Pakefile)

                    •    Не выкатывается из CPAN под Mac OS X :)



среда, 16 июня 2010 г.
Цель лайтинга

                    • Обратная связь
                    • Возможно интересно кому-то еще
                    • Помощь (код, идеи)


среда, 16 июня 2010 г.

Contenu connexe

Similaire à Present yapc2010

Alexandr Serbul "The Rust language for a high-load network service - a quick ...
Alexandr Serbul "The Rust language for a high-load network service - a quick ...Alexandr Serbul "The Rust language for a high-load network service - a quick ...
Alexandr Serbul "The Rust language for a high-load network service - a quick ...Fwdays
 
Как сделать контрибут в Ruby on Rails
Как сделать контрибут в Ruby on RailsКак сделать контрибут в Ruby on Rails
Как сделать контрибут в Ruby on RailsАлександр Ежов
 
Golang в действии: Как нам удается писать highload приложение на (не?)подходя...
Golang в действии: Как нам удается писать highload приложение на (не?)подходя...Golang в действии: Как нам удается писать highload приложение на (не?)подходя...
Golang в действии: Как нам удается писать highload приложение на (не?)подходя...Daniel Podolsky
 
Rust - GDG DevFest Siberia 2016
Rust - GDG DevFest Siberia 2016Rust - GDG DevFest Siberia 2016
Rust - GDG DevFest Siberia 2016Nikita Baksalyar
 
SECON'2016. Бартунов Олег, Карьера в Open Source
SECON'2016. Бартунов Олег, Карьера в Open SourceSECON'2016. Бартунов Олег, Карьера в Open Source
SECON'2016. Бартунов Олег, Карьера в Open SourceSECON
 
Поддержка пользователей силами Community (Влад Животнев, Ubuntu Loco Team)
Поддержка пользователей силами Community (Влад Животнев, Ubuntu Loco Team)Поддержка пользователей силами Community (Влад Животнев, Ubuntu Loco Team)
Поддержка пользователей силами Community (Влад Животнев, Ubuntu Loco Team)PingWin Software
 
Введение в Python и Django
Введение в Python и DjangoВведение в Python и Django
Введение в Python и DjangoTaras Lyapun
 
Viacheslav Eremin about DOT NET (rus lang)
Viacheslav Eremin about DOT NET (rus lang)Viacheslav Eremin about DOT NET (rus lang)
Viacheslav Eremin about DOT NET (rus lang)Viacheslav Eremin
 
Go в продакшене Яндекса: отчёт после года использования — Вячеслав Бахмутов
Go в продакшене Яндекса: отчёт после года использования — Вячеслав БахмутовGo в продакшене Яндекса: отчёт после года использования — Вячеслав Бахмутов
Go в продакшене Яндекса: отчёт после года использования — Вячеслав БахмутовYandex
 
Алексей Туля - А нужен ли вам erlang?
Алексей Туля - А нужен ли вам erlang?Алексей Туля - А нужен ли вам erlang?
Алексей Туля - А нужен ли вам erlang?Minsk Linux User Group
 
Александр Гладыш — Lua
Александр Гладыш — LuaАлександр Гладыш — Lua
Александр Гладыш — LuaYury Yurevich
 
Rust - GDG DevFest 2016 Nizhny Novgorod
Rust - GDG DevFest 2016 Nizhny NovgorodRust - GDG DevFest 2016 Nizhny Novgorod
Rust - GDG DevFest 2016 Nizhny NovgorodNikita Baksalyar
 
Лев Валкин — Кое-что про Erlang
Лев Валкин — Кое-что про ErlangЛев Валкин — Кое-что про Erlang
Лев Валкин — Кое-что про ErlangYury Yurevich
 
Erlang and OCaml Experience at Echo
Erlang and OCaml Experience at EchoErlang and OCaml Experience at Echo
Erlang and OCaml Experience at EchoLev Walkin
 
Демонизированный PHP - before it was cool
Демонизированный PHP - before it was coolДемонизированный PHP - before it was cool
Демонизированный PHP - before it was coolAndrey Tokarchuk
 
Tech Talks @NSU: Back to the Future: Функциональное программирование вчера и ...
Tech Talks @NSU: Back to the Future: Функциональное программирование вчера и ...Tech Talks @NSU: Back to the Future: Функциональное программирование вчера и ...
Tech Talks @NSU: Back to the Future: Функциональное программирование вчера и ...Tech Talks @NSU
 

Similaire à Present yapc2010 (20)

Alexandr Serbul "The Rust language for a high-load network service - a quick ...
Alexandr Serbul "The Rust language for a high-load network service - a quick ...Alexandr Serbul "The Rust language for a high-load network service - a quick ...
Alexandr Serbul "The Rust language for a high-load network service - a quick ...
 
Golang
GolangGolang
Golang
 
ОПК № 1 – Вводная
ОПК № 1 – ВводнаяОПК № 1 – Вводная
ОПК № 1 – Вводная
 
Как сделать контрибут в Ruby on Rails
Как сделать контрибут в Ruby on RailsКак сделать контрибут в Ruby on Rails
Как сделать контрибут в Ruby on Rails
 
Migrate!
Migrate!Migrate!
Migrate!
 
Golang в действии: Как нам удается писать highload приложение на (не?)подходя...
Golang в действии: Как нам удается писать highload приложение на (не?)подходя...Golang в действии: Как нам удается писать highload приложение на (не?)подходя...
Golang в действии: Как нам удается писать highload приложение на (не?)подходя...
 
Rust - GDG DevFest Siberia 2016
Rust - GDG DevFest Siberia 2016Rust - GDG DevFest Siberia 2016
Rust - GDG DevFest Siberia 2016
 
SECON'2016. Бартунов Олег, Карьера в Open Source
SECON'2016. Бартунов Олег, Карьера в Open SourceSECON'2016. Бартунов Олег, Карьера в Open Source
SECON'2016. Бартунов Олег, Карьера в Open Source
 
Поддержка пользователей силами Community (Влад Животнев, Ubuntu Loco Team)
Поддержка пользователей силами Community (Влад Животнев, Ubuntu Loco Team)Поддержка пользователей силами Community (Влад Животнев, Ubuntu Loco Team)
Поддержка пользователей силами Community (Влад Животнев, Ubuntu Loco Team)
 
Введение в Python и Django
Введение в Python и DjangoВведение в Python и Django
Введение в Python и Django
 
Viacheslav Eremin about DOT NET (rus lang)
Viacheslav Eremin about DOT NET (rus lang)Viacheslav Eremin about DOT NET (rus lang)
Viacheslav Eremin about DOT NET (rus lang)
 
Invisible
InvisibleInvisible
Invisible
 
Go в продакшене Яндекса: отчёт после года использования — Вячеслав Бахмутов
Go в продакшене Яндекса: отчёт после года использования — Вячеслав БахмутовGo в продакшене Яндекса: отчёт после года использования — Вячеслав Бахмутов
Go в продакшене Яндекса: отчёт после года использования — Вячеслав Бахмутов
 
Алексей Туля - А нужен ли вам erlang?
Алексей Туля - А нужен ли вам erlang?Алексей Туля - А нужен ли вам erlang?
Алексей Туля - А нужен ли вам erlang?
 
Александр Гладыш — Lua
Александр Гладыш — LuaАлександр Гладыш — Lua
Александр Гладыш — Lua
 
Rust - GDG DevFest 2016 Nizhny Novgorod
Rust - GDG DevFest 2016 Nizhny NovgorodRust - GDG DevFest 2016 Nizhny Novgorod
Rust - GDG DevFest 2016 Nizhny Novgorod
 
Лев Валкин — Кое-что про Erlang
Лев Валкин — Кое-что про ErlangЛев Валкин — Кое-что про Erlang
Лев Валкин — Кое-что про Erlang
 
Erlang and OCaml Experience at Echo
Erlang and OCaml Experience at EchoErlang and OCaml Experience at Echo
Erlang and OCaml Experience at Echo
 
Демонизированный PHP - before it was cool
Демонизированный PHP - before it was coolДемонизированный PHP - before it was cool
Демонизированный PHP - before it was cool
 
Tech Talks @NSU: Back to the Future: Функциональное программирование вчера и ...
Tech Talks @NSU: Back to the Future: Функциональное программирование вчера и ...Tech Talks @NSU: Back to the Future: Функциональное программирование вчера и ...
Tech Talks @NSU: Back to the Future: Функциональное программирование вчера и ...
 

Present yapc2010

  • 1. Perl система сборки с нативным DSL YAPC::RU::2010 среда, 16 июня 2010 г.
  • 2. Что это такое • Сборка приложения на основе файла зависимостей. (примеры: make && Makefile, ant + xml-config) • «Нативный DSL» означает лишь то, что языком описания правил является язык реализации. (пример: программа rake в ruby) среда, 16 июня 2010 г.
  • 3. Почему нативный DSL • просто в использовании. • легко вносить изменения/расширять (не надо переписывать грамматики и проще изменять логику) • прямое использование библиотек языка (для Perl - это весь CPAN!) • Хорошая статья на эту тему М. Фаулера: http:// martinfowler.com/articles/rake.html среда, 16 июня 2010 г.
  • 4. Почему появилась такая идея • "такая корова нужна самому" Хочу сборку для своего проекта и не хочу make. :) • "мода" "воровать" из других языков их прикольные фичи. (Хороший пример – plack.) • "вклад в коммьюнити". Надеюсь, что пригодится не только мне. • "гордость и предубеждение" Мой первый open source. • «Пусть расцветают сто цветов, пусть соперничают сто школ»  (император Цинь Шихуан). среда, 16 июня 2010 г.
  • 5. Системы сборки в других языках • ruby – rake • php – pake (Surprise!!! :) • python – Scons, Waf • java, c#, .Net – (n)ant внешний xmlish DSL) • http://www.scons.org/wiki/ SconsVsOtherBuildTools среда, 16 июня 2010 г.
  • 6. в Perl много всего • Makepp (Makefile) - make на perl • pake (Pakefile) - почти то что нужно :) • Shipwright • Module::Install, MakeMaker, Builder & etc среда, 16 июня 2010 г.
  • 7. Нравится в pake (Perl) • простой • можно использовать • код есть на github среда, 16 июня 2010 г.
  • 8. Не нравится • название :) (php-исты «сперли», && http:// www.urbandictionary.com/define.php?term=pake on Hawaii: Person who is frugal. ... used as a sort of ethnic slur in Hawaii to describe a Chinese person) • нет свежего кода с 3 Jan 2009  • нет общего способа писать расширения. (На cpan ничего нет для pake). (ant таски) • неинформативные сообщения об ошибках (используется do для выполнения Pakefile) • Не выкатывается из CPAN под Mac OS X :) среда, 16 июня 2010 г.
  • 9. Цель лайтинга • Обратная связь • Возможно интересно кому-то еще • Помощь (код, идеи) среда, 16 июня 2010 г.