Архив 06.2008

Виртуальные функции в С++ и производительность

Тема поста навеяна недавними постами на www.codeblogz.ru и в журнале Benoît Jacob. Benoît Jacob заявляет, что использование виртуальных функций приводит к трехкратным издержкам по производительности и предлагает технику, позволяющую избавиться от виртуальных функций, за счет использования шаблонов. Здесь я изложу некоторые свои соображения по этому вопросу.

Читать дальше »

Использование Groovy: Замыкания и динамические объекты

Я продолжаю цикл заметок о Groovy – динамическом языке программирования для платформы Java.

В этой заметке я расскажу о замыканиях в языке Groovy, а также об одном из их применений – динамических объектах.

Замыкания

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

В Java аналогами замыканий являются анонимные классы, однако, они имеют намного менее удобный для использования синтаксис и имеют некоторые ограничения (которые, конечно можно обойти, но… ).

Читать дальше »

Использование Groovy: Ranges, Lists, Maps

В этой и нескольких последующих заметках я расскажу о Groovy. Groovy - это динамический язык для платформы Java, позволяющий использовать в ява-проектах многие возможности таких языков, как Ruby, Python и Perl.

По сравнению с Java, Groovy имеет значительное число отличий, позволяющих писать во многих случаях более лаконичный и читабельный код:

Читать дальше »

StaticMatic: Статические сайты на Ruby

После программирования на Ruby on Rails быстро привыкаешь к этой платформе, и многим ее вкусностям. В частности, к часто используемым языкам разметки Haml и Sass.
Но иногда наступают моменты, когда надо сделать статический сайт из нескольких страничек, за которым нету никакой базы данных, да и серверной логики вообще.
Не хочется возвращаться к старым html и css. Но при этом и делать это на ROR неразумно.

Для таких случаев был создан фреймворк staticmatic, позволяющий на основе Haml+Sass+вкусностей на Ruby сгенерировать набор статичных веб-страниц, которые можно разместить на любом хостинге, без поддержки Ruby вообще.

Итак, как использовать staticmatic:

Читать дальше »