scoon: (tarakan)
2009-05-31 11:07 pm
Entry tags:

Дурная голова ногам покоя не дает

Занесло меня в странное место (меня вообще регулярно заносит в странные места -- дурная наследственность и не менее дурное влияние окружающей среды). Читаю и плачу. Как страшно жить...

Нет, встречаются вменяемые и невероятно терпеливые люди. Но и такого уровня титулованного идиотизма я не видел давно. Отвык...
scoon: (droid)
2009-05-26 07:01 pm
Entry tags:

История языков программирования

Немного неточная и не совсем полная история языков программирования. Обязательно к прочтению.

Одна небольшая цитата:
1987 - Larry Wall falls asleep and hits Larry Wall's forehead on the keyboard. Upon waking Larry Wall decides that the string of characters on Larry Wall's monitor isn't random but an example program in a programming language that God wants His prophet, Larry Wall, to design. Perl is born.
scoon: (droid)
2008-09-18 01:49 pm

Требования, собирайтесь!

Добрый человек Фаулер написал любопытную заметку о сборе требований. При переходе от водопада к agile-методикам разработки мы уходим от практики предварительного сбора требований и начинаем воспринимать как нормальный процесс поступление новых требований на поздних фазах разработки. Но при этом мы все равно собираем информацию о том, что пользователи думают, что им нужно. Почему бы помимо этого не анализировать реальную статистику использования живого продукта, благо в agile-разработке он возникает весьма рано. Собирать статистику и по ней определять, где и что нуждается в дополнениях и изменениях.

Идея представляется мне разумной...
scoon: (Default)
2008-07-25 04:07 pm
Entry tags:

Java RTL

Я осознал, что мое отношение к Java RTL (и, соответственно, к ее разработчикам) хорошо выражает следующая фраза "из Effective Java":
Unfortunately, the Java platform libraries do not make heavy use of this idiom, but it is highly recommended.
Причем, неважно, о какой именно идиоме идет речь в данном случае -- она такая не одна. :)
scoon: (droid)
2008-07-25 02:41 pm
Entry tags:

Groovy

Пару недель назад вернулся к экспериментам с Groovy. И чем дальше -- тем больше он мне нравится. В том числе -- достаточно развитыми воззможностями по созданию своих языковых конструкций.

Пример: достаточно часто в адгоритме видны несколько параллельных невзаимодействующих веток. В Occam, к примеру, это описывается конструкцией PAR. В Java это легко реализуется через FutureTask, но необходимвя обвязка снижает читаемость алгоритма.

Прелесть Groovy в том, что обвязку легко спрятать. Read more... )
scoon: (droid)
2008-07-24 04:10 pm
Entry tags:

Math.abs

Будет полезно для тех, кто сможет это запустить.
1 public class Test {
2 
3   public static void main (String[] args) {
4     int a = Integer.MIN_VALUE;
5     System.out.println((Math.abs(a) >= 0) ? "Ok" : "Java RTL implemented by complete idiots");
6   }
7 
8 }
9 
P.S. Это я второе издание "Effective Java" читаю. Читаю и временами плачу...
scoon: (droid)
2008-07-05 11:23 am
Entry tags:

Ada 2005

Читаю Ada 2005 Rationale: The Language, The Standard Libraries.

Синтаксис приближается к распространенным ОО-языкам, но очень неспешно. Появилось по крайней мере одно прямое заимствование из Java (интерфейсы и их использование при множественном наследовании).

P.S. Непонятно только, зачем мне это... :)
scoon: (droid)
2008-05-24 01:34 am
Entry tags:

A Possible Future of Software Development

Продолжаю смотреть googletechtalks. Честно говоря, "A Possible Future of Software Development" -- излишне громкое название для данного доклада. Но посмотреть стоит -- не смотря на то, что автор смешал в кучу мух и котлеты, а в презентации сделал почти все мыслимые ошибки. Где-то с 20-й минуты было интересно. Ну и пара вопросов в обсуждении.
Read more... )
scoon: (droid)
2008-05-22 11:17 pm
Entry tags:

Java closures

Отпуск мне нравится. Дошли руки посмотреть давно отложенные материалы: Neal Gafter рассказывает про весьма разумный подход к реализации замыканий в Java.
Read more... )
scoon: (Default)
2008-02-29 06:48 pm
Entry tags:

Should not happen

С утра отлаживаем взаимодействие с некоторой оперсорсной хреновиной. Разбавив ее логгингом и стектрейсами вычислили место, где она падает. Непосредственно перед местом падения стоит комментарий, начинающийся словами "should not happen".

Как говорится, "поскольку до этого места все равно никто не дочитает, сердечник трансформатора будем делать из дерева".
scoon: (Default)
2008-02-05 10:51 pm
Entry tags:

Scratch: первая сессия

Показал дочери Scratch. Read more... )
scoon: (droid)
2008-02-03 04:38 am
Entry tags:

Scratch it!

Попалось на глаза упоминание о Scratch. Оглядевшись вокруг увидел, что появилось неожидано много материалов, касающихся его.

И меня это беспокоит. Поскольку пиар не соответствует уровню этого пока еще сырого продукта. Характерный пример:
При этом обратим внимание, что графические эффекты там сравнимы с фотошопом, плавность движения и управляемость - с флеш.
Ссылку на источник не даю. Поскольку так мог написать только человек, который невовремя зафанател от Scratch, но не видел ближе пяти метров ни фотошоп, ни флэш. К примеру, я сегодня сознательно воздержался от того, чтобы показывать scratch дочери. Она работает в фотошопе что-то около трех лет и я опасаюсь, что может стошнить на клавиатуру от вида scratch'евого графредактора. Так что придется заранее заготовить спрайты -- а уж потом показывать среду. Флэш она с пары метров видела, так что про плавность и управляемость я тоже говорить не буду, чтобы не ронять свой авторитет.

Но дам ребенку попробовать, непременно дам.
scoon: (Default)
2008-01-21 03:06 pm
Entry tags:

Mythical Agile Shortcuts

Добрая статья повествует о типичных граблях, на которые наступают при небрежном внедрении agile-стиля разработки: Mythical Agile Shortcuts.
scoon: (droid)
2007-12-26 02:21 pm

Refactoring is a Necessary Waste

Добрая заметка: Refactoring is a Necessary Waste:
By seeing Refactoring as a necessary waste, then a developer will minimize refactoring; that is only refactor code that no longer meets the requirements of the user. This means, when you are coding away and you see a method in the class you are modifying that "smell's bad" but has no direct connection to the requirement you are working on, you leave it alone.
Здравый смысл в этом есть...
scoon: (droid)
2007-09-28 01:07 pm
Entry tags:

Исключительный код

Читаю код и плачу:
} catch (Exception e) {
  System.out.println(...текст поскипан по определенным соображениям...);
  return "-1";
}
Серверное приложение. Mission critical.
scoon: (droid)
2007-09-19 02:42 pm
Entry tags:

Тактика

Очень добрая статья о программировании: tactics, tactics, tactics.
Tactics, in chess, are present in every single game, just as coding is present in all software projects. Tactics are what makes or breaks most games of chess, just as coding is what makes or breaks most software projects. Gambling on a chess game? Put your money on the tactical whiz who has never studied openings over the master of the English opening -- even in an English game! In the same way: hire people who can read, write and talk about code over those with sloppy code and really deep knowledge of J2EE.
scoon: (droid)
2007-09-14 03:38 pm
Entry tags:

Thread Local: A Convenient Abomination

Добрый человек предает анафеме ThreadLocal-объекты: " Thread Local: A Convenient Abomination".

Логично, не правда ли?
scoon: (droid)
2007-09-06 12:48 pm
Entry tags:

Позитивный взгляд на Code Review

Весьма рекомендую короткую и добрую статью "Learning from Code Reviews". Просто одна цитата для примера:
It’s important for you, a developer, to realise that code reviews aren’t for discussing your bad code. See it more are an effort to increase the level of quality in the entire code.
Это радикально отличается от распространенного подхода "прочитай код и аргументированно докажи кодеру, что он дебил"...