<?xml version="1.0" encoding="utf-8"?>
<!-- If you are running a bot please visit this policy page outlining rules you must respect. http://www.livejournal.com/bots/ -->
<feed xmlns="http://www.w3.org/2005/Atom" xmlns:lj="http://www.livejournal.com">
  <id>urn:lj:livejournal.com:atom1:jkff</id>
  <title>Программирование</title>
  <subtitle>Программирование</subtitle>
  <author>
    <name>Программирование</name>
  </author>
  <link rel="alternate" type="text/html" href="http://jkff.livejournal.com/"/>
  <link rel="self" type="text/xml" href="http://jkff.livejournal.com/data/atom"/>
  <updated>2008-06-23T08:42:29Z</updated>
  <lj:journal userid="14580469" username="jkff" type="community"/>
  <link rel="service.feed" type="application/x.atom+xml" href="http://jkff.livejournal.com/data/atom" title="Программирование"/>
  <link rel="hub" href="http://pubsubhubbub.appspot.com/"/>
  <entry>
    <id>urn:lj:livejournal.com:atom1:jkff:2419</id>
    <link rel="alternate" type="text/html" href="http://jkff.livejournal.com/2419.html"/>
    <link rel="self" type="text/xml" href="http://jkff.livejournal.com/data/atom/?itemid=2419"/>
    <title>jkff @ 2008-06-23T12:40:00</title>
    <published>2008-06-23T08:42:29Z</published>
    <updated>2008-06-23T08:42:29Z</updated>
    <content type="html">Ааааааахренеть! 10 новых глав Real World Haskell!&lt;br /&gt;&lt;a href='http://www.realworldhaskell.org/blog/2008/06/22/ten-new-draft-chapters/' rel='nofollow'&gt;http://www.realworldhaskell.org/blog/2008/06/22/ten-new-draft-chapters/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;И еще один интересный пост:&lt;br /&gt;&lt;a href='http://syndicated.livejournal.com/comonad_reader/5377.html'&gt;http://syndicated.livejournal.com/comonad_reader/5377.html&lt;/a&gt;&lt;br /&gt;Про всякие -морфизмы: ката, ана, пара, зиго, гило и еще дюжину других.</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:jkff:2070</id>
    <link rel="alternate" type="text/html" href="http://jkff.livejournal.com/2070.html"/>
    <link rel="self" type="text/xml" href="http://jkff.livejournal.com/data/atom/?itemid=2070"/>
    <title>jkff @ 2008-06-19T09:37:00</title>
    <published>2008-06-19T05:41:06Z</published>
    <updated>2008-06-19T05:41:06Z</updated>
    <content type="html">Предлагаю отменить &lt;font color="#ffffff"&gt;нахуй&lt;/font&gt; в джаве нуллы или хотя бы добавить возможность ставить аннотации на generic type parameters.&lt;br /&gt;&lt;br /&gt;Кто-нибудь знает, как JIT относится к классам-холдерам  типа class X {String value;}? Инлайнит их при случае?</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:jkff:2035</id>
    <link rel="alternate" type="text/html" href="http://jkff.livejournal.com/2035.html"/>
    <link rel="self" type="text/xml" href="http://jkff.livejournal.com/data/atom/?itemid=2035"/>
    <title>jkff @ 2008-05-11T19:01:00</title>
    <published>2008-05-11T15:10:46Z</published>
    <updated>2008-05-11T15:10:46Z</updated>
    <content type="html">J2EE fucking suxx, и туториалы по нему - один хуже другого. &lt;br /&gt;&lt;br /&gt;Он, похоже, громоздок и неповоротлив, требует по десять конфигов на каждый чих и десятков тысяч человекочасов разработчиков IDE на то, чтобы это благородие хоть как-то можно было понимать и писать.&lt;br /&gt;&lt;br /&gt;Не нашел в инете ни одного туториала, который бы охватывал все жизненно важные темы на минимальном уровне - аутентификацию, persistence, jsp, и прочее.&lt;br /&gt;Все туториалы либо размером в 1542 страницы (официальный туториал), либо ничего толком не рассказывают, а только льют воду про то, какой J2EE классный фреймворк для построения распределенных транзацкионных десятислоеных клиент-серверных корпоративных интегрированных xml-платформ веб-приложений на основе EJB, JAAS, JPA, JNDI, JSF, JSP, JSQL, JWTF и JZOMG.&lt;br /&gt;&lt;br /&gt;Да - это все основано на впечатлениях от недоделанной до конца простейшей лабы. Так что, скорее всего, я во всем ошибаюсь и на самом деле J2EE - это небольшой легковесный веб-фреймворк с пологой кривой обучения.</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:jkff:1575</id>
    <link rel="alternate" type="text/html" href="http://jkff.livejournal.com/1575.html"/>
    <link rel="self" type="text/xml" href="http://jkff.livejournal.com/data/atom/?itemid=1575"/>
    <title>Однако</title>
    <published>2008-04-12T09:40:36Z</published>
    <updated>2008-04-12T09:40:36Z</updated>
    <content type="html">Код, который генерирует HotSpot VM.&lt;br /&gt;&lt;br /&gt;&lt;a href='http://weblogs.java.net/blog/kohsuke/archive/2008/03/deep_dive_into.html' rel='nofollow'&gt;http://weblogs.java.net/blog/kohsuke/archive/2008/03/deep_dive_into.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class='ljuser ljuser-name__navi_' lj:user='_navi_' style='white-space:nowrap'&gt;&lt;a href='http://users.livejournal.com/_navi_/profile'&gt;&lt;img src='http://l-stat.livejournal.com/img/userinfo.gif?v=92.2' alt='[info]' width='16' height='16' style='vertical-align: bottom; border: 0; padding-right: 1px;'/&gt;&lt;/a&gt;&lt;a href='http://users.livejournal.com/_navi_/'&gt;&lt;b&gt;_navi_&lt;/b&gt;&lt;/a&gt;&lt;/span&gt;, передавай коллегам мой феерический респект :)</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:jkff:1510</id>
    <link rel="alternate" type="text/html" href="http://jkff.livejournal.com/1510.html"/>
    <link rel="self" type="text/xml" href="http://jkff.livejournal.com/data/atom/?itemid=1510"/>
    <title>О функциональщине</title>
    <published>2008-04-09T06:16:38Z</published>
    <updated>2008-04-09T06:16:38Z</updated>
    <content type="html">До сих пор я долгое время придерживался мнения, что попытки писать в функциональном стиле на джаве, к примеру - обречены на провал, т.к. все будет засрано анонимными классами и истинное дао все равно не постигнется.&lt;br /&gt;&lt;br /&gt;Я изменил это мнение: написание одного средних размеров класса с дюжиной статических методов (комбинаторов) - очень простых, но засранных анонимными классами - и затем выражение всей существенной логики через них с помощью one-liners - это очень круто.&lt;br /&gt;&lt;br /&gt;Понятно что круто потому, что коротко, крайне читаемо и легко изменять - но ведь с этим приходят еще 2 бонуса:&lt;br /&gt; - Так же как и в, гм, других функциональных языках - ноль ошибок реализации, только концептуальные&lt;br /&gt; - Есть дебаггер - есть REPL. Можно ввести такой же one-liner в Inspect window. Это, братцы, силища исполинская.&lt;br /&gt;&lt;br /&gt;Минусы:&lt;br /&gt; - В дебаггере сложнее отследить, как именно происходит вычисление. Это компенсируется тем, что можно за секунды поиграть в Inspect window с другим вариантом алгоритма; мне собственно отслеживать step-by-step не пришлось вообще.&lt;br /&gt; - Наличие некрасивого класса с набором комбинаторов. Это уж увы; впрочем, назвать этот класс "сложным" или "трудно поддерживаемым" никак нельзя.&lt;br /&gt; - Возможно, производительность. Но это вообще мелочи.&lt;br /&gt;&lt;br /&gt;Конечно, это все имеет место только если задача такова, что удобно поддается декомпозиции в функциональном стиле - мне попалась именно такая.</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:jkff:1227</id>
    <link rel="alternate" type="text/html" href="http://jkff.livejournal.com/1227.html"/>
    <link rel="self" type="text/xml" href="http://jkff.livejournal.com/data/atom/?itemid=1227"/>
    <title>jkff @ 2008-04-03T11:02:00</title>
    <published>2008-04-03T07:09:47Z</published>
    <updated>2008-04-03T07:09:47Z</updated>
    <content type="html">Купил-таки в Москве книжку Вольфенагена "Комбинаторная логика в программировании" - очень интересное, хоть и специфическое чтиво.&lt;br /&gt;Интересное: я не был знаком с комбинаторной логикой на столь глубоком уровне и не представлял, что ее можно так гибко применять.&lt;br /&gt;Специфическое: полностью отсутствует вода, книжка состоит в основном из задач с подробными решениями; в аннотации написано, что "предварительная математическая подготовка" не требуется, однако, ни слова не сказав о теории категорий, аффтар провозглашает (примерно) "Оболочка Каруби - это категория, описывающая одинаковым образом типы и термы" и пускается в категориальные изыскания, доказательство того, что оболочка Каруби - это категория и т.п.&lt;br /&gt;Начинается "влоб", с нескольких десятков задач вида "выразите такой комбинатор через S и K" - без особенного пояснения, что такое S/K и зачем они нужны. В следующей же главе, впрочем, почти все эти задачи разбираются и дается общий способ преобразования лямбда-термов в базис SK.&lt;br /&gt;&lt;br /&gt;Мораль - определенно стоит прочитать целиком и решить все задачи. Время бы еще найти.&lt;br /&gt;&lt;br /&gt;Оболочка Каруби, похоже, очень интересна - но я пока в нее не до конца врубился.&lt;br /&gt;Дошел до суперкомбинаторов; похоже, дальше будет самое интересное.</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:jkff:987</id>
    <link rel="alternate" type="text/html" href="http://jkff.livejournal.com/987.html"/>
    <link rel="self" type="text/xml" href="http://jkff.livejournal.com/data/atom/?itemid=987"/>
    <title>jkff @ 2008-02-10T10:12:00</title>
    <published>2008-02-10T07:15:28Z</published>
    <updated>2008-02-10T07:15:28Z</updated>
    <content type="html">У Окасаки появился блог&lt;br /&gt;&lt;br /&gt;&lt;a href='http://okasaki.blogspot.com/' rel='nofollow'&gt;http://okasaki.blogspot.com/&lt;/a&gt;</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:jkff:540</id>
    <link rel="alternate" type="text/html" href="http://jkff.livejournal.com/540.html"/>
    <link rel="self" type="text/xml" href="http://jkff.livejournal.com/data/atom/?itemid=540"/>
    <title>Слабо?</title>
    <published>2008-01-17T06:30:16Z</published>
    <updated>2008-01-17T06:30:16Z</updated>
    <content type="html">Доказать или опровергнуть существование persistent purely functional hashtable/array с операциями за (хотя бы амортизированное) O(1) при любой последовательности операций.</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:jkff:458</id>
    <link rel="alternate" type="text/html" href="http://jkff.livejournal.com/458.html"/>
    <link rel="self" type="text/xml" href="http://jkff.livejournal.com/data/atom/?itemid=458"/>
    <title>jkff @ 2008-01-08T13:51:00</title>
    <published>2008-01-08T10:57:29Z</published>
    <updated>2008-01-08T10:57:29Z</updated>
    <content type="html">Вдогонку reader-writer lock на эрланге: еще потестил, он умеет открываться-закрываться 400 тысяч раз в секунду. Я тестил на простом случае: всего один читающий процесс, но он так устроен, что нет никаких причин, чтобы он работал медленнее при бОльшем числе процессов.&lt;br /&gt;&lt;br /&gt;Господа френды, что, на ваш взгляд, наиболее важно осветить в рассказе о некоем языке, и в каком порядке?&lt;br /&gt;По-моему:&lt;br /&gt;- Обзор главных свойств языка, вообще без упоминания синтаксиса&lt;br /&gt;- Краткий обзор синтаксиса на примере простой и понятной программы&lt;br /&gt;- Архитектура более сложной программы, но без подробностей реализации, только с несколькими характерными маленькими кусками кода&lt;br /&gt;- Кто этот язык как и для чего использует в real-world&lt;br /&gt;- Обзор имеющихся мощных библиотек и тулов для real-world задач&lt;br /&gt;- Результаты нескольких бенчмарков, выводы - что на нем работает хорошо, а что плохо&lt;br /&gt;- Peculiarities, исторические справки, литература</content>
  </entry>
</feed>

