<<<предыдущий список следующий>>>

Это - копия документа, находившегося на http://dz.ru. Авторские права, если не указано иначе, принадлежат Дмитрию Завалишину и/или Евгении Завалишиной. Все изменения, внесенные мной, находятся в этой рамочке.Пожалуйста, прочитайте disclaimer.


21 июля 1998 года 

На http://amigaworld.cch.pmc.ru/cgi-bin/ms/morningstar открыт сервис, снижающий количество показов баннеров на новостных страницах. :-) Сервис позволяет выяснить, какие из интересующих вас страниц менялись с момента последней проверки. Предлагается в качестве способа чтения новостных сайтов типа нас. :-)

Если кто помнит, некоторое время тому назад я писал о языке "Киев", который является расширением Явы. С тех пор язык продвинулся изрядно, и на сегодня он являет собой нечто уникальное. В Яву, в частности, внесены Прологовские механизмы, что позволяет совмещать в одной программе традиционное процедурное и Прологовское предикатное программирование. Все это - в рамках объектно-ориентированной модели, что довершает картину и еще на шаг приближает программиста к шизофрении как профессиональному заболеванию. :-)

Сильно. В принципе, сразу после появления ОО встал вопрос "что дальше". Ни одна парадигма не всеобъемлюща и не окончательна. Что-то должно было последовать. Смешение в одном языке нескольких принципов программирования - достаточно очевидный шаг, но его еще надо сделать, мало просто предложить. В Киеве это сделано. Хорошо, плохо - не знаю. Не написав на нем сотни тысяч строк, этого, скорее всего, однозначно не понять. Но сам шаг радует и вызывает уважение.

Вообще как-то на Украине с языками в последнее время наблюдается необъяснимая активность. :-) То история с Паскаль-системой под полуось, которую украинский программист написал в одиночку, после чего его вывезли на запад в мгновение ока, то Яве вот хвоста накручивают по полной программе... Там ведь привнесением прологообразностей дело-то не кончилось, язык сильно накочегарен новостями. То есть, по большей части, старостями из других языков, но это уже не так важно.

Мне представляется, что достижение наукой новых горизонтов делится на три фазы. Первая - набирание критической массы частных, фрагментарных фактов, опытов, попыток, методик и т.п. Вторая - попытка слепить из них снежную бабу. То есть как-то, навскидку совместить фрагменты в картину. Третья - осмысление результатов лепки и кристаллизация концепций, с порождением на их основе чего-либо разумного, светлого и безграничного. :-)

"Киев" представляется классическим примером второй фазы. Эдакий оттяжный концептуальный бардак. :-) Если вы интересуетесь языками программирования - не пройдите мимо.

Я вчера, рассказывая про Xeon-овскую SMB, упомянул про I2C. Хотел остановиться чуть подробнее, да и так написал вчера много, надо и честь знать. :-)

Шина эта (I2C) родилась довольно давно и в ситуации достаточно любопытной. Дело было вот как. С появлением микропроцессорности, а точнее, с появлением дешевых массовых микропроцессоров и периферии для них стало совершенно очевидно, что управляющие системы в бытовой технике разумно строить как раз на базе этих самых микропроцессоров.

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

Гладко было на бумаге. При претворении в жизнь этой идеи возникла одна мерзкая проблема. Шина. Как-то вдруг выяснилось, что даже шина простенького Intel 8080, или его близкого аналога, Zilog Z80, состоит, в урезанном варианте, из 8 линий данных, 8 - адреса, и еще к ним несколько управляющих, смотря по ситуации от двух до 5-6.

И все это нужно подвести ко всякому нуждающемуся в управлении элементу схемы. Если это магнитофон - то, к примеру, к электронным регуляторам уровня записи и воспроизведения, переключателям режимов и датчикам, кнопкам передней панели и приемнику инфракрасного управления. А ведь все эти два десятка линий шины работают в двоичном коде, гонят высокочастотные сигналы и прет от этих линий помеха - хоть стальные стены ставь.

Беда одна, а не микропроцессоризация всей страны.

Нетрудно догадаться, что тут бы, как раз, в черном плаще с логотипом на пузе на сцену впрыгнуть шине I2C и всех спасти. Не буду делать вид, что так оно и было. У I2C - несколько братьев, и кто из них старше - нет у меня ни желания, ни причин выяснять.

А принцип - один. Берем, и делаем последовательную внутрисистемную шину - нечто типа Ethernet, но без зубодробительного кодирования, с более простой (зато более четкой) логикой арбитража и небольшой максимальной длиной шины.

Результат очень неплох. В случае с I2C шина состоит из двух линий. Тактовой (она обеспечивает синхронизацию) и линии данных. Которая, на самом деле, передает и адреса, и команды, и, конечно, данные. Для I2C выпускается вагон периферии, хотя, в основном, довольно специфического толка. Тут можно найти электронный регулятор тембра, сверхкрутой АЦП для телевизионных систем типа PIP (Picture In Picture), тот же инфракрасный приемник - в общем, компоненты, бытующие в пузе телевизора, усилителя или тюнера. А есть и вещи близкие и понятные - ППЗУ, порты всякие, контроллеры... шина оказалась удобной полезной во всех случаях, когда не нужна бешеная скорость.

А, несмотря на торопливость нашего века, они еще встречаются. :-)

Кстати о торопливости. Думая о судьбах музыки, и, в частности, MPEG-нутой музыки, я прихожу к неутешительным выводам.

Тиражирование музыки всегда было делом сложным. Требующим масштабного подхода. Сначала были пластинки. Пластинку дома не скопируешь. Потом были магнитофоны, которые портили всю малину, но их как-то резво свели на нет, наводнив мир сидюками. Которые дома тоже не попишешь в серьезных масштабах.

Все это позволяло владельцам копирайтов делать деньги на тиражировании музыки. Все это позволяло музыкантам зарабатывать на своей музыке. А звукозаписывающим компаниям - на музыкантах.

Теперь пришел третий мпег. Теперь я могу скачать с Интернета за вечер пару альбомов, слить их в карманный MPEG-проигрыватель и пойти гулять, слушая вполне качественную музыку, не боясь тряхнуть плейером, которому от тряски худо, и даже о батарейках не очень думая. И друг мой может передуть у меня понравившуюся мелодию в минуту, а не побежать за ней в магазин, потратив полдня. И так ничего и не купив, так как забыл название. :-)

И что-то не вижу я хороших способов борьбы с этой напастью. То есть грозить всем налево и направо судом можно, но чтобы проверить содержимое памяти моего плейера, нужно судебное постановление. А чтобы доказать, что я не сделал эту копию сам, купив диск и уничтожив его после копирования, вообще не знаю, что нужно.

В общем, прищучить слушателя - это вряд ли.

Поэтому, видится мне, есть вполне серьезная вероятность того, что пиратство начнет разваливать индустрию звукозаписи. Причем начнет с самых что ни на есть неудачных точек - наиболее удаленных от попсы. Цепочка проста. Мпег-проигрыватели, скачивание файлов по сети - прерогатива продвинутых. Они обычно далеки от попсы. Поэтому спрос на непопсовое в магазинах начнет падать первым. Оно резко станет неприбыльным. А значит - перестанет выходить большими тиражами. Малым тиражом не окупить студийных затрат, поэтому оно перестанет выходить вообще.

Такое ощущение, что грядет век самой попсушной попсы, и въедет он на горбу у MPEG Layer 3.

Правда, это не значит, что хорошая музыка умрет. Сначала помучается, пытаясь прожить на рекламе. Скачиваешь с Интернета эмпег, а в нем - рекламная вставка в паузе. Ты ее, знамо, вырезаешь. Скачиваешь следующий диск, а она (реклама) - в припеве.

Ужас.

Разработчики FreeBSD занялись проблемами морального характера. Пристало ли распространять исходные тексты операционной системы, в котороых встречаются непристойные выражения. Дискуссия, разгоревшаяся вокруг этого вопроса, затрагивает и лингвистические аспекты. Например, предложение заменить в комментариях 'fucked up' на 'broken' вызвало протест - замена, мол, неадекватна, смысл комментария искажается. Кстати, правомерная. Первое выражение означает, что нечто встало колом, скрючилось, дало дуба или, на худой конец, окочурилось. Но окочурилось исправимо. А broken... это что-то банально сломано. Совсем другое дело.

Фидошники сделали в Интернете сайт, хранящий архивы HUMOR.FILTERED. (В ФИДО очень любят слово "официальный". Этот сайт - тоже официальный. Там так и написано. А то вдруг кто подумает, что это просто люди взяли, и сделали доброе дело.)

К сожалению, хранит оный сайт сии архивы исключительно в форме squish-баз. Если вы не знаете, что это такое, то прочесть эти архивы без геморрою вам вряд ли светит. Увы.

А что такое HUMOR.FILTERED можно представить себе, прочтя сей пример, из оного фильтереда извлеченный:

   
From: Yuri Nesterenko, 2:5020/1402@fidonet
Subject: Библия
Area: 517.JET.FRAER'S.PVT

Hi All!


1 В начале было слово, и слово было 2 байта, а больше ничего не было.

2 И отделил Бог единицу от нуля, и увидел, что это хорошо.

3 И сказал Бог: да будут данные, и стало так.

4 И сказал Бог: да соберутся данные каждые в свое место, и создал дискеты, и винчестеры, и компакт-диски.

5 И сказал Бог: да будут компьютеры, чтобы было куда пихать дискеты, и винчестеры, и компакт-диски, и сотворил компьютеры, и нарек их хардом, и отделил хард от софта.

6 Софта же еще не было, но Бог быстро исправился, и создал программы большие и маленькие, и сказал им: плодитесь и размножайте, и заполняйте всю память.

7 Hо надоело Ему создавать программы самому, и сказал Бог: создадим программиста по образу и подобию нашему, и да владычествует над компьютерами, и над программами, и над данными. И создал Бог программиста, и поселил его в своем ВЦ, чтобы работал в нем. И повел Он программиста к дереву каталогов, и заповедал: из всякого каталога можешь запускать программы, только из каталога Windows не запускай, ибо маст дай.

8 И сказал Бог: не хорошо программисту быть одному, сотворим ему пользователя, соответственно ему. И взял Он у программиста кость, в коей не было мозга, и создал пользователя, и привел его к программисту; и нарек программист его юзером. И сидели они оба под голым ДОСом, и не стыдились.

9 Билл был хитрее всех зверей полевых. И сказал Билл юзеру: подлинно ли сказал Бог: не запускайте никакого софта? И сказал юзер: всякий софт мы можем запускать, и лишь из каталога Windows не можем, ибо маст дай. И сказал Билл юзеру: давайте спорить о вкусе устриц с теми, кто их ел! В день, когда запустите Windows, будете как боги, ибо одним кликом мышки сотворите что угодно. И увидел юзер, что винды приятны для глаз и вожделенны, потому что делают ненужным знание, и поставил их на свой компьютер; а затем сказал программисту, что это круто, и он тоже поставил.

0A И отправился программист искать свежие драйвера, и воззвал Бог к программисту и сказал ему: где ты? Программист сказал: ищу свежие драйвера, ибо нет их под голым ДОСом. И сказал Бог: кто тебе сказал про драйвера? Уж не запускал ли ты винды? Программист сказал: юзер, которого Ты мне дал, сказал, что отныне хочет программы только под винды, и я их поставил. И сказал Бог юзеру: что это ты сделал? Юзер сказал: Билл обольстил меня.

0B И сказал Бог Биллу: за то, что ты сделал, проклят ты пред всеми скотами и всеми зверями полевыми, и вражду положу между тобою и программистом: он будет ругать тебя нехорошими словами, а ты будешь продавать ему винды.

0C Юзеру сказал: умножу скорбь твою и истощу кошелек твой, и будешь пользоваться кривыми программами, и не сможешь прожить без программиста, и он будет господствовать над тобой.

0D Программисту же сказал: за то, что послушал юзера, прокляты компьютеры для тебя; глюки и вирусы произведут они тебе; со скорбью будешь вычищать их во дни работы твоей; в поте лица своего будешь отлаживать код свой.

0E И выслал Бог их из своего ВЦ, и поставил пароль на вход.

0F General protection fault

(C) YuN, 1998

YuN