?

Log in

Vladimir Shabanov
17 January 2014 @ 12:50 am
Написал в Ur/Web-овский mailing list про мой опыт с Ur/Web в BazQux Reader-е:

http://www.impredicative.com/pipermail/ur/2014-January/001608.html

(также запостил на Hacker News и r/Haskell)

А еще опубликовал Ur/Web-овскую часть исходников ридера:
https://github.com/bazqux/bazqux-urweb

Если есть какие-то вопросы, буду рад ответить.
 
 
Vladimir Shabanov
15 November 2013 @ 04:43 pm
Для тех, кто пропустил, Яндекс выложил видео докладов с MskHUG Fall 2013:
http://tech.yandex.ru/events/yagosti/mskhug-fall-2013/

Мой доклад про BazQux Reader, Haskell и Ur/Web:
http://tech.yandex.ru/events/yagosti/mskhug-fall-2013/talks/1376/
Определенно, надо избавляться от слова-паразита "там" ;)
 
 
Vladimir Shabanov
14 March 2013 @ 04:05 am
Обалдеть. Я конечно предполагал, что его закроют, но не думал, что уже 1-го июля.

Мой RSS ридер уже весьма неплох, попробуйте )
 
 
Vladimir Shabanov
В последнее время я стал достаточно плотно интересоваться маркетингом и бизнесом вообще и как-то дошел до такого понятия как бизнес-стратегия.

По большому счету, успешных бизнес-стратегий всего три:

  1. лидерство по издержкам (минимальная себестоимость и цены)

  2. дифференциация товаров ("think different", "не такой как все", т.е. отличие по качеству, уровню обслуживания, технологическому превосходству или высокой ценности для покупателей)

  3. фокус — обслуживание узких рыночных ниш.


Другие стратегии, или различные комбинации перечисленных, не работают. Т.е. нет смысла делать супер-продукт или нишевый продукт задешево, или делать нишевый продукт супер-крутым. Если, конечно, у вас нет магических артефактов типа "+$10M от инвестора" или "+24 часа в сутках". Более подробно можно посмотреть например здесь.

Оказалось, что с помощью анализа бизнес-стратегии можно также понять и спрогнозировать степень успешности языков программирования.

Поехали.

Erlang. Нишевый язык для телекомов и различных распределенных сетевых подсистем. Четкая бизнес стратегия и явный успех в этой нише. Но использование его для создания компиляторов или числодробильни вряд ли приведет вас к успеху.

PHP. Лидерство по издержкам. Как и со многими дешевыми продуктами, конечная цена поддержки и развития может оказаться выше (скупой платит дважды), но никак нельзя отрицать успешность PHP.

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

C был в свое время лидером по издержкам (дешевле, чем писать на ассемблере или писать кучу привязок к ОС), но с появлением "продуктов-заменителей" потихоньку становится нишевым языком (embedded, OS, runtime). Поскольку в некоторых нишах ничего, кроме Си нет, он явно будет в них успешным.

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

OCaml — помесь всех трех стратегий. Относительно дешевый вход (есть императивное программирование, точки с запятой, while/for, объекты, когда-то была сравнительно неплохая скорость работы), при этом different и, заодно, нишевый (все-таки создавался для разработки Coq). В итоге язык так и не стал успешным. Недостаточно дешевый и недостаточно different.

Haskell. Явно стратегия "think different". И явный успех. Самый популярный функциональный язык (как бы его создателям не хотелось обратного). Посмотрите объем mail list-а, hackage, число статей. Кому-то может показаться, что Erlang более популярен, но это вызвано его нишей, где проекты обычно достаточно масштабные и громкие, однако само число и объем этих проектов вряд ли дотянет даже до части hackage.

Хаскелл дорогой, как и многие "think different"-продукты. А известная фраза "avoid success at all costs" не дает сделать его дешевым (ведь смешивание стратегий приводит к провалу).

И самое интересное — продукты с данной стратегией не оставляют никого равнодушными. Их либо любят, либо ненавидят :)

Я долгое время не мог понять причину некоторых агрессивных атак на Хаскелл. Ну не понял человек хаскелл за полчаса — а зачем так кричать в жж-шечке? Не увидел каких-то явных для себя преимуществ — не используй, чего разглагольствовать? А, оказывается, это всего-лишь стандартная реакция на "think different". Теперь можно не удивляться )

Т.е. Haskell — это Apple среди языков программирования. Отсутствие изменяемого состояния — отсутствие USB на iPad. Побочные эффекты через монады — музыка через iTunes.

Сначала люди удивлялись/недоумевали/злились, что на iPad нет USB. А сейчас я ума не приложу, для чего он там может понадобиться. Думаю, то же самое произойдет в программировании с использованием переменных везде, где ни попадя.

Люди также злились, что какой-то геморрой с закачиванием mp3-шек. А теперь многие из покупающих музыку в iTunes возможно и не знают, что такое mp3. Думаю, будет неплохо, если в будущем программисты будут изначально знать, что за побочные эффекты надо платить (к тому же с iTunes, тьфу, монадами это так удобно ;).

Интересная получилась аналогия.

А что касается F#, Scala, Clojure и прочих "новых языков поверх существующей платформы". Я, кажется, понял, что мне в них не нравится: они пытаются одновременно быть и different и дешевыми (с легким входом). Они, конечно, привлекут к себе часть клиентов, но вряд ли смогут сделать такой же красивый дизайн как у Haskell, оставаясь при этом дешевыми (с легкой интеграцией с существующей платформой).

В общем, либо делайте дешево (мейнстрим с легким входом), либо по настоящему different (но понадобятся неординарные дизайнерские способности), либо для узкой ниши (только не совсем уж узкой). В любом другом случае успешный язык вам не создать.
 
 
Vladimir Shabanov
Как часто вы, читая RSS-подписки, переходите на страницу поста, чтобы посмотреть комментарии?

Дискуссии в комментариях нередко оказываются интереснее самого поста. Однако почти все современные RSS-читалки не уделяют комментариям никакого внимания.

Чтобы исправить эту ситуацию, я решил сделать свою читалку (с блекджеком и всем остальным ;)

BazQux Reader — RSS-читалка с комментариями.

Работает с блогами, имеющими rss-потоки для комментариев (т.е. wordpress, blogspot и многие другие). Поддерживает ЖЖ (с аватарками и тегами). И даже RSDN деревцем выводит ;)

Управляется с клавиатуры (нажмите 'h', чтобы посмотреть список клавиатурных сокращений), мышкой кликать тоже можно.

Умеет искать, группировать результат поиска по постам, выводит найденные комментарии деревом, а не плоским списком вперемежку.

15 подписок бесплатно, неограниченное число подписок $30 в год.

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

Попробуйте, вам понравится ;)

Всячески приветствую ваше мнение по поводу читалки.
 
 
 
Vladimir Shabanov
На ЖЖ я ничего писать не собираюсь (аккаунт создал, чтобы в комменты гадить).
Настоящий блог см. http://vshabanov-ru.blogspot.com.