Вышел ya-api-direct 0.2.6

Как оказалось, от моего пробного gem-а ya-api-direct сделали 4 форка. В каждом добавилось что-то полезное.

Причём pull request сделал только один.

Сделал merge в проект и выпустил новую версию. Всего его скачало порядка 3000 человек. Кто все эти люди — для меня загадка.

Как C и Perl захватили планету

Почему C и Perl стали стандартами в своих областях и до сих пор на коне?

Дело, конечно, не только в синтаксисе и парадигме. И даже не в простоте. C, конечно, прост, это по-человечески записанный кроссплатформенный ассемблер. Но Perl совсем не прост, это многослойная обёртка вокруг парсера регулярных выражений.

Весь секрет — в нечестных преимуществах.

Компиляторы C были под все платформы и бесплатно. А какой-нибудь Pas­cal был разный и платный.

Perl изначально создавался для работы с текстом, парсинга, преобразования и т.п. А протокол HTTP целиком текстовый. Вот и писались ранние скрипты на Perl-е.

Потом появился PHP, где были те же регулярки, но c привычными классами и он был тупо проще в освоении. И о Perl для веба стало неудобно говорить. Такое же логичное развитие Perl, как C++ — для C. И как Java — для C++.

А потом появился Python, паттерн MVC дал Ruby on Rails и всё стало как сейчас. Наконец, желание писать даже на сервере знакомым синтаксисом породило Node­JS.

Провал всех без исключения “функциональных решений” немножечко предсказуем — потому что нет области, где они были бы нужны и на голову превзошли конкурентов. Go выстрелил, потому что добавил в чистый C всё, чего там не хватало. Scala — потому что это лаконичная Java. Swift — потому что Mac.

 

Пишем Ruby gem для Yandex Direct API

Очень хотелось изучить Ruby получше, а рабочего проекта не было. И я попробовал написать gem для работы с Yan­dex Direct API.

Причин было несколько. Среди них: Yan­dex Direct API очень типичен для Яндекса и современных REST-сервисов вообще. Если разобраться и преодолеть типичные ошибки, то можно легко и быстро написать аналоги для прочих API Яндекса (и не только). И ещё: у всех аналогов, которые мне удалось найти, были проблемы с поддержкой версий Директа: одни были заточены под 4, другие под новую 5, и поддержке units я нигде не нашёл.

И вот на Хабре вышла моя статья — Пишем Ruby gem для Yan­dex Direct API.