scoon: (droid)
2007-01-30 06:20 pm
Entry tags:

PHP for z/OS

Добрые ребята из IBM сделали то, чего (вероятно) ждало все прогрессивное человечество: они портировали PHP 5.1.2 под z/OS. Я даже не знаю -- плакать или сменяться.
scoon: (droid)
2007-01-19 04:12 pm
Entry tags:

SCRUM в картинках

Попалась на глаза забавная подборка комиксов про SCRUM (про курицу и свинью, разумеется, там тоже есть).
scoon: (Default)
2007-01-17 05:18 pm
Entry tags:

Implementing a scripting language with Antlr

Довольно добрая статья начального уровня про использование Antlr:
  1. Lexer
  2. Parser
  3. Tree walker
scoon: (Default)
2007-01-17 04:59 pm
Entry tags:

Fortress

Наткнулся на довольно интересный отзыв о языке Fortress:

It's very impressive --- no surprise since Guy Steele is deeply involved. There are a several important ideas:
  • Major syntax and Unicode work to make it possible to write code in mathematical notation
  • Traits-based object system
  • A units type system for scalars (e.g., "x := 10 kg/s")
  • Very powerful generics, with static value parameters as well as type parameters, and very free usage of "where" constraints
  • Explicit component programming mode
  • Various kinds of built-in parallelism, in particular, "for" loop iterations run in parallel by default
  • Inter-thread communication via "atomic" blocks, not locks, reduction operators, and the ability to use explicitly spawned threads as futures
(См. полный текст)

Посмотреть на Fortress вблизи у меня, что называется, "руки не доходят". И, учитывая нагрузку, в ближайшее время не дойдут. Но мануал я в очередной раз скачал... :)
scoon: (droid)
2006-12-04 02:40 pm
Entry tags:

Возрождение командной строки

Вопреки всем прогнозам командная строка, похоже, не только не умирает, но обретает новую жизнь. Новую жизнь в том плане, что впервые за 10 лет я вижу новую -- для меня, по крайней мере -- фичу в обработке командной строки.

Суть: вместо того, чтобы тупо ругаться на неверную команду, парсер сообщает, какие похожие варианты ему известны. Например:
asadmin jdbc
Ответ системы:
CLI001 Invalid Command, jdbc.
Closest matched command(s):
    create-jdbc-connection-pool
    create-jdbc-resource
    delete-jdbc-connection-pool
    delete-jdbc-resource
    list-jdbc-connection-pools
    list-jdbc-resources
Use "help" command for a list of valid commands.
...а для совсем крутых -- возможность использовать регулярные выражения:
asadmin "^create.*resource$"
Мне искренне стыдно, что не я это придумал.

P.S. Примеры запросов и ответов системы цитируются по Finding CLI commands in GlassFish is now easier and better...
scoon: (droid)
2006-11-30 12:39 pm
Entry tags:

Квантовые баги

"Heisenbug, Bohrbug, Mandelbug, Schroedinbug". Читать и наслаждаться.

Мне особенно погравился Schroedinbug. В этом году я наблюдал его дважды. :)
scoon: (tarakan)
2006-11-18 03:32 pm
Entry tags:

Time flies

Прочитал на Lambda the Ultimate, что The MIT is going to change its curriculum structure that was famous for teaching Scheme in introductory courses [...] The difference is that programming will be done in Python and not Scheme. Как страшно жить. Вот уж от MIT я этого не ожидал. И уж совсем дико для меня то, что инициатор -- Harold Abelson. Или это я с перепугу буквы читаю не в ту сторону?

Все ж таки вера в то, что где-то кого-то учат правильно, определенно помогала жить. С другой стороны, тот факт, что Scheme хотят менять не на Visual Basic, в какой-то степени радует. Как говаривал Друпи, "я счастлив, ура"...
scoon: (tarakan)
2006-11-08 01:10 pm
Entry tags:

Эффект тринадцатого удара

Продолжаю читать "Pro C# 2005 and the .NET 2.0 Platform, Third Edition"

Эффект тринадцатого удара все таки жжахнул. Читаю (курсив -- мой):
The final aspect of nullable types to be aware of is that they can make use of the C# 2005–specific ?? operator. This operator allows you to assign a value to a nullable type if the retrieved value is in fact null.
И приводится пример, показывающий, что автор не очепятался, а имел в виду именно это:
int? myData = dr.GetIntFromDatabase() ?? 100;
Однако такое применение -- для присваивание nullable-переменной -- вообще лишено смысла. Ей можно присвоить значение и без этого изыска. Оператор ?? добавлен для строго противоположной цели: присвоить значение обычной -- не-nullable -- переменной. Т.е.
int myData = dr.GetIntFromDatabase() ?? 100;
Так что книжку эту действительно нужно читать с большой осторожностью. И уж точно не могу порекомендовать ее в качестве учебника...
scoon: (droid)
2006-11-07 06:51 pm
Entry tags:

ColdFusion? Smith!

На улице тех, кто пишет под ColdFusion, наступил праздник: у них появилась фревая портабельная реализация: Smith. Вспоминается старая картинки из "Физики продолжают шутить": на фоне лунного пейзажа сидят два космонавта. И фраза: "Вот мы и здесь. Ну и что?" ...
scoon: (tarakan)
2006-11-07 05:58 pm
Entry tags:

Private/Protected

Это просто удивительно, до чего расхожим является заблуждение о том, как работают маркеры private/protected.

Read more... )
scoon: (droid)
2006-11-03 03:02 pm
Entry tags:

Lisp is just plain ugly

Читал и плакал:
The Buddha is wise, terse, and serious.
The Buddha is fat, hairy and jovial.
Both of these statements are true.
Lisp, by contrast, is just plain ugly.
scoon: (droid)
2006-11-03 12:19 pm

И опять Eiffel

Добрые люди говорят, что пришло время опять взглянуть на Eiffel. В принципе, они правы -- язык замечательный и особенно радует то, что EiffelStudio переходит в GPL.

Вот только что скажет начальство, если я всерьез предложу очередной проект реализовать на Eiffel'е? Правильно: спросят, где я найду программистов, которые имеют опыт разработки на этом языке. И, соответственно, вместо строительства Эйфелевой Вавилонской башни мы опять будем писать на Java, C# или C++.

Ну разве что дома поиграться...
scoon: (Default)
2006-11-03 11:35 am
Entry tags:

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

Меня часто забавляет то, как люди, столкнувшись с проблемой, пытаются заглушить ее внешние проявления вместо того, чтобы устранять причины.
Read more... )
scoon: (droid)
2006-10-24 01:06 pm
Entry tags:

ru.php

Почитал фидошую ru.php. Как страшно жить...
scoon: (droid)
2006-10-24 11:19 am
Entry tags:

There is no substitute for language elegance

Цитирую "Why OOP Alone in Java is Not Enough":
There are ways of making OOP smart, we have been talking about fluent interfaces, OO design patterns, AOP and higher level of abstractions similar to those of DSLs. But the real word is *productivity* and the language needs to make your user elegantly productive.
scoon: (Default)
2006-10-04 03:25 pm
Entry tags:

Functional Programming For The Rest of Us

Добрая статья о принципах функционального программирования: "Functional Programming For The Rest of Us". Есть недостатки (к примеру, автор непонятно почему ненавидит шаблоны проектирования), но в целом весьма мило.

Цитата:
Actually, Erlang systems are not scalable and reliable. Java systems are. Erlang systems are simply rock solid.
scoon: (tarakan)
2006-09-02 10:45 pm
Entry tags:

Эта страшная локаль

Понятно, что во всем виноват Гейтс. Это его винды приучили всех к тому, что сделать локализацию -- раз плюнуть.

Нет, понятно, что переводить все тексты на другой язык -- муторно и дорого. Не каждый решится. Но вот всякие разделители, форматы даты и времени -- это как бы халява. А ну-ка, винды, что у нас тут стоит форматом даты? dd/mm/yy? Вот так и нарисуем.

А что у нас за валюта? Рубли? Вот и славненько, вот рубли и нарису... Стоп. Граждане, я же гоню. В сутках у нас 24 часа. Что в Германии, что в Японии. А в январе 31 день. Даже в России.

Но валюта, простите, немного разная. Если у меня в базе хранится 100 чего-то, то по меньшей мере опрометчиво тупо приписывать к этой сотне "USD" или "руб." только потому, что стоит такая локаль.

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

Когда VB и Delphi семимильными шагами пошли в народ, такое поведение программ было широко распространено. Сейчас здравый смысл все чаще берет верх и все больший процент разработчиков осознает, что не нужно тупо приписывать к сумме обозначение валюты по текущей локали. Чаще -- не значит "всегда". Характерный пример: решил я себе принтер прикупить. И пошел на сайт HP и запустил визард для подбора принтера.

Локально-валютное безумие от HP

ДА! Я хочу струйный принтер от HP за 150 рублей. Дайте два. Не глядя.

P.S. "Россия-русский" -- это тоже пять. Очень хорошая трава.
scoon: (droid)
2006-08-24 02:07 am
Entry tags:

А слабО запрячь коня в безлошадную повозку?

Иногда людям хочется странного:
Built on SWTSwing, "Eclipse on Swing" is a project to run Eclipse using Swing widgets exclusively.
Как говорится, спешите видеть...
scoon: (tarakan)
2006-07-28 10:17 am
Entry tags:

Java, JIT и .NET

По следам вчерашней беседы о Java, JIT и .NET с одним хорошим человеком:

Однажды добрые люди сделали замечательный трехколесный велосипед. Яркий, легкий, красивый и безопасный. От 3 до 7 лет.

дальше много грязи о двух хороших технологиях )