Ох уж этот sterr

Отличие stderr от stdout изначально задумывалось в том, чтобы как ни перенаправляй выходной поток, ошибки всегда вылезут на экран. Это работало в однозадачной MS-DOS, это работает и сейчас в простых скриптах.
Однако сейчас особенность sterr стала его же собственной проблемой. Во первых, с целью незагромождения оконного интерфейса, часто скрипты запускаются в скрытом окне. У WSHShell.run даже есть специальная опция, позволяющая это сделать. Во вторых скрипты часто запускаются по какому-либо событию (по расписанию или сигналу по сети) в отдельном консольном окне, которое сразу после окончания работы закрываются.
Хоть какая-либо попытка перенаправить выходной поток скрипта в какой-нибудь файл-журнал оборачивается крахом.
Последнее мое столкновение с данной проблемой была с РНР. Казалось бы в РНР есть функция set_error_handler, позволяющая все сообщения об ошибках выводить через echo в stdout. Но кто бы мог подумать, что разработчики библиотеки для работы с COM проигнорируют наличие этой функции и все сообщения об ошибках будут все равно выдавать в sterr.

Так что мое мнение: stderr – анахронизм, по крайней мере в Windows

Опубликовано в Дизайн. 1 комментарий »

Что мне не хватает в императивных языках

Очень не люблю серию вложенных условий в друг друга:

if(условие1)
{
	if(условие2)
	{
		if(условие3)
		{
			if(условие4) ...
		{
	}
}

Получаем быстрорастущую пирамиду в бок в которой уже сложно отследить, где начинается один блок, а где второй. Моя мечта, чтобы можно было писать так:

if(условие1)
{
	if(!условие2) breakif;
	if(!условие3) breakif;
	if(!условие4) breakif;
	...
}
Опубликовано в Дизайн. Комментарии (4) »

Когда приложения масштабируются

На первой фирме, на которой я работал, мы занимались автоматизацией бюджетных учебных учреждений. В их учёте есть такой нюанс, что они как правило финансируются и из бюджета и за счёт студентов-контрактников. И разделение это очень значимое: строго регламентировано за что с какого источника платить можно. Казалось бы третьего источника денег быть не может. Но наш руководитель заставлял нас писать систему так чтобы она работала нормально и пятью источниками финансирования. Это усложняло и без того запутанные участки кода, увеличивало время работы программы, но когда спустя 3 года министерство финансов прислало деньги и заставило их учитывать отдельно, оказалось что делалось это не зря. Прочтите эту запись до конца »

Опубликовано в Дизайн. Комментарии (2) »

Почему новая ОС априори хорошая

На блоге Алены видел ссылку на новую ОС Syllable. Повеселил на сайте раздел Актуальность проекта.

[+] Самобытность. Syllable не отягощена грузом обратной совместимости с драйверами и приложениями.

Что самое смешное, что таким преимуществом обладает любая новая ОС. Исходя из этого любая ОС-старожил автоматически обладает недостатком: она отягощена грузом обратной совместимости с драйверами и приложениями. Прочтите эту запись до конца »

Опубликовано в Дизайн. 1 комментарий »