N 23
23.12.1999
До
2000 года осталось ... совсем немного. Надеюсь, что вы уже
проверили свои системы на Y2K. Сочувствую программистам
в банках, т.к. им, похоже, придется на Новый Год сидеть
на работе. А разве можно такой праздник не отмечать?
Кстати, я считаю, что праздновать стоит именно начало 2000
года. Ну какая разница, что новое тысячелетие начнется в
2001-ом году? Хотя появляется повод сильно отпраздновать
аж 2 раза - первый раз за круглую дату, а через год - за
первый год второго тысячелетия.
Обычно перед концом года принято подводить
итоги, отдавать долги, и тому подобное. Попробую подытожить
1990-1999 года:
Если помните, именно Borland провозгласила
90-ые годами объектно-ориентированного программирования.
Особо упертые "процедурники", правда, сопротивлялись
чуть ли не до 1995-го года. В любом случае после появления
Delphi им некуда было деваться - хочешь не хочешь, а TForm
все-таки класс :-).
Появление Windows вызвало ажиотаж среди средств
программирования, и в определенный момент многие были уверены,
что вот-вот появятся средства создания приложений, в которых
программировать будет вообще не нужно, или очень легко.
Средства создания приложений на 4GL росли как грибы (кстати,
это началось еще для DOS). Но, увы и ах, пользователи не
очень активно бросались на "амбразуру" создания
приложений. Кроме того, появились новые технологии, в которых
разобраться можно было только программисту. Действительно,
посмотрите хотя бы на Delphi 5. Это же просто невозможно
- быть специалистом (т.е. знать все тонкости) одновременно
по разработке приложений БД, DCOM, CORBA, multi-tier, Internet
(CGI, ISAPI, NSAPI, Baikonur и т.п.), отчетов, графики,
созданию компонент... Показателем является, например, количество
книг по Delphi - все они хоть чем-то, но отличаются, и их
(по моим скромным подсчетам) около 40. Если из них выкинуть
одинаковые темы (например, работу со средой), то получится
книг 10-15. Вы можете себе позволить изучить 10 книг?
Развитие Internet за эти годы имеет слабое
отношение к ООП. Ну разве что Java, к которой у меня отношение
двойственное. Кроссплатформенный ОО-язык - это хорошо, но
вот Internet-приложения на Java в основном это ... тот же
самый Client/Server.
А как Вы знаете, "годы" клиент-серверной архитектуры
почти завершились с широким развитием Internet (и явно,
и косвенно). Вместо клиент-сервера теперь трехуровневка,
multi-tier.
Трехуровневка, собственно, развилась в двух направлениях.
Одно это, понятно, Internet (браузер+web-сервер+приложения+сервер
БД), а другое - CORBA и DCOM. DCOM до сих пор склоняют,
однако у Inprise он достаточно мощно поддерживается во всех
продуктах. А вот за CORBA были настоящие битвы. Достаточно
упоминания о том, что Visigenic был успешно куплен Borland-ом.
Настольные СУБД постепенно умирают. Об этом
свидетельствует и избавление Inprise от Paradox и dBase
(Paradox продан в Corel, а dBase выделен в отдельную компанию),
и замена MS Access на MS SQL 7.0, и превращение MS FoxPro
в среду для разработки клиент-серверных приложений, и т.д.,
и т.п.
Сервера баз данных начали поддерживать объектно-реляционные
расширения. Если интересуетесь, что там вообще и кто что
поддерживает, то посмотрите статью "Воплощение
идей SQL-99 в ведущих объектно-реляционных серверах баз
данных" в свежем номере Открытых Систем.
Вообще сервера баз данных развиваются медленно,
не так быстро как средства разработки. Достаточно вспомнить,
что IB версии 4.0 был выпущен в 1994-ом году. 6 лет от 4-ой
до 6-ой версии - не очень быстро, согласитесь. Но с другой
стороны, IB изначально был высокотехнологичным сервером,
и как раз в самой 4.0 нововведений было хоть отбавляй. Их,
в принципе, хватило практически на 4-5 лет. Если взять характеристики
из документа, и сравнить с тем,
что ставят на первое место другие производители сейчас,
то ... как минимум гарантировано приятное удивление.
Кроме действительно технологических нововведений бывают
еще и маркетинговые акции. Это когда нечто преподносится
совсем не тем, чем оно является на самом деле. Например:
- Push-технологии (доставка информации клиенту) на самом
деле - типичный Pull. Т.е. когда клиент вытягивает с сервера
данные, рекламу, и т.п. Push - это когда сервер передает
данные клиенту. Например, события (EventAlerters) в IB.
Разумеется, IB клиентам рекламу через EventAlert-ы не
присылает. Пример приведен лишь для понимания различия
в словах Pull и Push.
- Внедрение Java в сервера баз данных. То ли я тупой
стал на старости лет, то ли действительно сие "нововведение"
- никчемная вещь. Никак не могу понять, зачем это нужно.
Единственное оправдание, которое нахожу - переносимость
дополнительного серверного кода, если сервер БД также
является переносимым. Если иметь в виду манипуляцию данными,
то она существует в двух вариантах - на клиентской стороне,
и на серверной. С точки зрения надежности и архитектуры
сервера (т.е. того, как сервер обрабатывает данные с использованием
процедур и триггеров) Java просто не имеет права присутствовать
"внутри" сервера. Ну разве что если кто-то реализует
язык Java прямо на уровне сервера, без всяких там JVM
и прочего.
В данном случае самое место Java - клиентский слой или
промежуточный слой, что впрочем, относится и к другим
языкам программирования. Хотя, может быть, мое мнение
обусловлено неким недоверием к Java? Посмотрим.
- И последнее "новшество" - "Internet-ready
RDBMS". По-моему не более чем маркетинговый ход.
Надо в Интернете публиковать данные? Берем любой Web-сервер,
любой инструмент для работы с интерфейсом к Web и интерфейсом
к БД, любую РСУБД - и вперед. Если взять за основу Delphi,
то получается, что и DBF - очень даже Internet-ready.
Уфф. Это только по верхам. Вообще, веселенькое
было десятилетие. А если к этому еще прибавить события,
которые происходили и происходят у нас в стране... "Чтобы
тебе жить во время перемен" - знаете такую фразу? Но
согласитесь, без всего вышеперечисленного было бы просто
скучно жить. Не так ли?
Приношу извинения компании Inprise за наветы на документацию
в электронном виде к IB 5.6.
Никаких ошибок с отсутствием содержания там нет. Очевидно,
либо при установке у меня произошла какая-то ошибка, либо
первоначально попался битый дистрибутив.
Кстати, список мест, откуда можно взять 5.6 for Windows,
расширился.
Огромная просьба к
тем, кто ходит на этот сайт через Bookmarks - замените ссылку
www.demo.ru/interbase/index.htm на http://www.ibase.ru. Старая
ссылка весьма мешает сбору статистики.
Судя по статистике, выдаваемой HitBix, в "Архив"
почему-то не очень ходят. А зря. Там много чего интересного
было написано.
В listserver-е mers.com некоторые пользователи попросили
ввести в IB 7.0 новую возможность - передавать и получать
Blob-ы в хранимых процедурах. На вопрос, откуда такое пожелание,
ответом была ссылка на документацию, где якобы не разрешается
передача blob через входные-выходные параметры процедур.
Лично я был жутко удивлен, т.к. о таком "запрещении"
не слышал, и начиная с 4.2 активно использую передачу blob
в процедуры и обратно. Причем работает это все без вопросов
и в 5.0, 5.1, 5.5, 5.6. Нельзя даже сказать, чтобы я просто
проверял работоспособность - процедуры с передачей и приемом
blob были использованы во многих проектах, которые нормально
работают и по сей день.
Так что если вы не пробовали передавать blob в процедуры
- попробуйте. Вдруг заработает? :-)
Новые файлы.
IBSysMaster
вроде исправился, и вообще, кроме него там же появились
еще два инструмента - IBDesigner и IBQuery. Лучше всего
сразу заходить в корень сайта - www.hvsd.de.
Вышел IBAdmin 2.0.1.209.
Напомню, что версия 2 - условно бесплатная, так что ее возможности
смотрите сами, т.к. у меня срок trial кончился :-). Версия
1 - бесплатная, и до сих пор доступна там же, где и версия
2.
GrantManager сменил место жительства, и располагается теперь
на www.grantmanager.agava.ru.
Обновился FIBPlus2. В смысле,
я впервые об этом пишу на сайте, а по списку рассылки уведомление
уже разослал. Так что если вы читали об этом в почте, то
этот файл - то же самое.
На этом я с вами
в 1999 году прощаюсь. Поздравляю всех с прошедшим днем зимнего
солнцестояния, и с наступающим Новым Годом! Желаю успехов
и счастья в новом году. До встречи в 2000-ом!
HitBox
с 18 июня 1999 года |
Rambler
с 27 декабря 1998 года
|
|