Pull to refresh
32
0
Alexander@Scioner

User

Send message

Примеры использования языкоориентированного программирования

Reading time5 min
Reach and readers2K
Идея language oriented programming (LOP), состоит в том, что во время разработки программы, постоянно создаются миниязыки. Они могут как расширять основной язык разработки, так и быть отдельными языками. Лучшим языком для LOP является Common Lisp с его макросами, но здесь речь пойдёт не о нём. Примеры использования LOP с Common Lisp советую посмотреть в замечательной книге Peter Seibel Practical Common Lisp. Я считаю, что LOP один из самых простых и эффективных способов программирования. Мы описываем задачу и предметную область на самом подходящем для этого языке, а потом стараемся его реализовать.

Я разрабатываю браузерные игры на Ruby, поэтому часто использую LOP, как для расширения языка и встроенных DSL (Ruby позволяет делать это очень хорошо), так и для создания миниязыков связанных со сложной игровой механикой. В этой статье я рассмотрю простое расширение основного языка, встроенный мини-DSL и два не встроенных языка. Буду приводить примеры в близкой мне тематике, надеюсь они будут вполне понятны.

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

Делай добро

Reading time1 min
Reach and readers2.3K
Статью написал хабраюзер CrazyPit, но ему не хватает кармы для опубликования.

Каждому из нас приятно делать добро. Правда многие стесняются об этом думать.

У меня появилась идея, как владельцы высокопосещаемых ресурсов могут помочь людям, без особых затрат.

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

Delphi+PostgreSQL

Reading time2 min
Reach and readers28K
В одном из проектов понадобилось получить доступ к БД PostgreSQL из Delphi и, в частности, читать BLOB поля из этой БД. Разумеется, дабы не изобретать велосипед, решил поискать готовые компоненты. Нашлось два решения:

-бесплатное. ZeosLib.
-платное. PostgresDAC.

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

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

Information

Rating
Does not participate
Location
Пермь, Пермский край, Россия
Date of birth
Registered
Activity