Softpanorama, sept.1996; v.8.No.3(82a) *** FOREWORD *** Состав.Н.Н.Безруков =================== Copyright 1996, OOO Софтпанорама ======================= ---------------------------------------- # К О Л О Н К А Р Е Д А К Т О Р А # ---------------------------------------- Данные стремятся занять весь жесткий диск, а программы - всю оперативную память и мощность процессора (Одна из формулировок закона Паркинсона) Intranet это идея, чье время пришло Самая горячая область сегодня это создание Intranet. Это новое слово включает в использование приложений для Internet и TCP/IP в рамках локальной корпо- ративной сети(как правило Netware). Наиболее важными новыми возможностями Intranet является обеспечение возможности работы с корпоративными базами данных через WWW броушер и использование Java как нового языка разработки коммерческих приложений. Броушер типа Netscape представляет собой зачатки нового поколения операционных систем и его можно и нужно рассматривать как новый PC DOS. WWW сервер это сути mainframe на новом уровне развития техно- логии. Кстати, в качестве WWW сервера на мой взгляд исключительно перспек- тивно использование Domino (Lotus Notes 4.5) который сейчас имеется в бета версии(коммерческая версия ожидается в конце года). Поэтому этот выпуск является тематическим и посвящен WWW и HTML. В номере пу- бликуется ряд интересных программ типа Freeware. Среди них я хочу отметить Microsoft Internet Assistant for MS Word 7.0(выпуск B) и lynx - броушер, работающий в DOS в текстовом режиме, который позволяет просматривать HTML файлы даже на 286 компьютере(выпуск С). Исходный код этого броушера распро- страняется а рамках GNU лицензии и может служить образцом для разработки собственных продуктов. Также публикуется два броушера для Windows, которые могут послужить образцом для собственных разработок. Я настоятельно реко- мендую студентам, которые пробуют силы в программировании попробовать напи- сать что-нибудь типа броушера. В случае удачи это будет продукт по популяр- ности сопоставимый с Volkov Commander, в случае неудачи полученные знания не помешают. Если рассматривать нынешнюю ситуацию с позиции диалектики развития (я думаю что среди читателей бюллетеня еще немало таких, кому приходилось сдавать марксистко-ленинскую философию ;-), то видна аналогия Intranet с mainframe: базовая функциональность броушера сильно напоминает терминальный эмулятор типа IBM 3270 или DEC VT100 только на несравненно более высоком уровне раз- вития технологии: c цветом, графикой, более богатым ассортиментом штифтов и удобствами для пользователя. Понятно, что удаленный графический терминал это значительно более мощный инструмент распространения информации для ши- рокой аудитории, чем текстовый терминал, однако более широкий доступ и ус- тановка в произвольном месте ведет к тому, что проблема безопасности здесь стоит гораздо острее, чем для mainframe. Поэтому пока эти проблемы не реше- ны броушер оптимален в тех случаях, когда требования к безопасности пониже- ны (например в университетской среде или академический среде). В остальных случаях необходимо изолировать систему от Internet с помощью firewall, ко- торая сейчас стала непременным условием создания Intranet. Как я уже упоми- нал, броушеры сейчас развиваются в направлении превращения в виртуальную машину со своей операционной системой и встроенными языками программирова- ния из которых наиболее интересны Java и Netscape Javascript. Умелое применение HTML, особенно с расширениями, предлагаемыми Netscape кото- рый по сути сейчас стал стандартным WWW клиентом создают колоссальные воз- можности по распространению внутрифирменной информации и облегчению доступа к имеющейся информации, которая ранее была трудно доступна. CGI (common gateway interface) позволяет включать в такие документы достаточно сложные обработчики запросов и превратить броушер в консоль мощной информационно п- оисковой системы. Однако CGI работает через сервер и сервер посылает резуль- таты работы CGI-script обратно в броушер. В отличие от него Javascript ин- терпретируется непосредственно броушером и фрагменты на Javascript можно вставлять прямо в HTML-документы. Это создает колоссальные возможности по созданию приложений, поскольку позволяет генерировать HTML-документы с та- кими вставками. HTML становится тем, чем раньше был ANSII - универсальным методом кодировки документов. На современных компьютерах с мощными процессорами и гигабайтны- ми дисками, текстовых формат практически исчерпал свои возможности и во многих областях, включая составление электронных бюллетеней таких как Софт- панорама назрела проблема миграции на более гибкий и удобный формат, позво- ляющий представлять информацию более структурированно использовать ссылки на другие файлы, но в то же время не теряющий преимуществ простого тексто- вого формата. Даже исходные тексты программ хранить в текстовом формате сейчас не совсем удобно и лучшие редакторы выполняют лексический и ограни- ченный синтаксический анализ на лету, выделяя ключевые слова, операторы ти- па inlude, вызовы библиотечных программ и т.д. и т.п. Для статей и неслож- ных документов лидирующим кандидатом является HTML, и, я думаю, что к концу года Софтпанорама перейдет на этот формат. Неслучайно в выпуске С этого но- мера публикуется WWW броушер для DOS. Как я уже писал, при этом предпочти- тельнее использование английского, поскольку знание этого языка в техничес- ких областях таких как программирование сейчас безусловно является обяза- тельным. Поскольку количество подписчиков у бюллетеня сейчас невелико этот переход можно сделать практически безболезненно. Появился язык Java, который специально приспособлен для написания программ работающих в броушере. Java это язык, реализация которого архитектурно ней- тральна и не зависит от типа микропроцессора и операционной системы на ко- торой гоняются приложения. Своего рода клей позволяющих создавать достаточ- но сложные и в то же время независимые от архитектуры компьютера приложения для WWW. Идея проста и напоминает Forth и UCSD Pascal - на каждой архитек- туре имеется виртуальная машина исполняющая стандартные байт коды. Упрощен- ная версия Java под названием JavaScript встроена в Netscape и может испо- льзоваться при создании HTML документов через специальный тэг. Это делает Netscape броушером No.1 на рынке. M$ хотя и проснулся поздно, сильно засуе- тился и предпринял попытку "догнать и перегнать" в рекордно короткий срок выпустив Explore 3.0. Скоро выйдет "Visual J++" (как водится с какими ни- будь придуманными Microsoft расширениями - очередная попытка "задушить в объятиях"). Синтаксически Java очень близка к С++. Вместе с тем, Java значительно проще C++ поскольку Java включает автоматический сбор мусора. Кроме того из Java устранено понятие указателя, что с одной стороны несколько снизило мощность и гибкость языка, но вместе с тем и устранило источник тонких и трудно об- наруживаемых ошибок (много лет назад автор потратил более месяца на поиск ошибки в программе обработки двусвязных списков). Есть еще один простень- кий, но полезный нюанс: if (i = 3) ... в Java является некорректным оператором. Опять же подобного рода ошибки при работе на С и C++ достаточно часты и трудно обнаруживаемы. Я даже видел как некоторые программисты пытаются устранить такую возможность записывая в C этот оператор как if (3 == i) ;-). И, наконец, множественное наследование в стиле C++ заменено на понятие интерфейса заимствованное из Objective C (язык используемый в NextStep). Массивы и строки являются базовыми объектами в Java, что сразу вызвало мои симпатии, поскольку программировать на C, который не имеет встроенных опе- раций со строками после языка типа PL/1 неприятно (как я уже отмечал по по- воду этой особенности C и С++ это как раз тот случай, когда простота хуже воровства ;-(. Короче идея была создать язык который бы как VB не требовал длительного осво- ения, но который был бы достаточно мощен чтобы его можно было использовать вместо C++ в большинстве приложений. Т.е. своего рода SmallTalk с синтакси- сом C++. И похоже этого удалось добиться. Старт языка выглядит намного мощ- нее старта C++. Уже появилось колоссальное количество программ на Java, компилированных в байт коды (аплеты) которые используются для анимации стра- ниц WWW при просмотре с помощью Netscape или другого поддерживающего Java аплеты броушера. Возникает вопрос, насколько долговременен успех? Это не первый и не последний язык с такими характеристиками. Только время покажет, насколько Java "био- логически совместима" и сможет врасти в современную программистскую куль- туру; и насколько т.е. в какой мере это мода, а в какой требование дня. Правда есть три соображения по поводу того, что этот язык станет достаточно популярным и его пожалуй стоит начать изучать студентам старших курсов: - cумашедшая мощность процессоров современных PC делают концепцию интер- претируемого языка значительно более приемлемой для основной массы при- ложений. Достижения в теории трансляции привели к реализации трансляции "на лету", в процессе выполнения программы, что для важно для " процессо- роемких" и вычислительных задач, написанных на Java. - более высокий чем у C и С++ уровень машинной независимости, основанный на концепции виртуальной JAVA машины, устраняющий произвольность длины слов, типа их записи в память (big endian, small endian) и т.д. и т.п. По мере колоссальных технических преимуществ, это создает, по крайней мере теоретически, ряд новых коммерчески ценных возможностей, включая возможность продажи программ, позволяя коммерческим фирмам получать деньги за исполнение своих программ, а не за продажу лицензий к ним. По- скольку аплет загружается в броушер через WWW появляется теоретическая возможность писать программы, оплата за которые взимается за каждое ис- пользование. Например, если Вы написали программу решения кроссвордов, то вы можете не только продавать лицензии пользователям, а и получать прибыль от ее загрузки в броушер пользователями которым она нужна только раз или два. - Java рассматривается многими как попытка подорвать гегемонию Windows и Microsoft. Тем самым она имеет поддержку влиятельного анти микрософтовс- кого лагеря. Поскольку Java аплет исполняется внутри броушера на вирту- альной машине, она не нуждается в кривом Windows API. Java имеет AWT - abstract window toolkit, который реализует обобщенный независимый от ис- пользуемой OS интерфейс. Сейчас уже все понимают, что в результате по- литики Microsoft и массы преинсталляций существуют колоссальная инерция превращающая Windows в стандартную операционную систему для PC, в своего рода аналог 110 вольт, 60 герц принятых в штатах (правда можно надеяться, что Европа и здесь примет более технически прогрессивное решение подоб- но тому как наши деды пришли к использованию 220 вольт). Поскольку это нежелательно для многих влиятельных игроков на рынке компьютеров, выпус- кающих процессоры, отличные от Intel, Java получила их безоговорочную поддержку с первого дня своего существования. Да и предложена она фирмой SUN, которая предпочитает ставить UNIX на свои машины и негативно отно- сится к Windows NT. Неслучайно Microsoft так засуетился. Таким образом Intranet сейчас это сеть на базе Netware, плюс броушер плюс JAVA. Возможно плюс Lotus Notes: для крупных корпоративных пользователей использование Lotus Notes, которая после появления сентябрьской версии, поддерживающей Java будет очень перспективным благодаря наличию механизма репликации, делающий Notes по сути одним из лучших WWW серверов на рынке. Но это тема отдельной колонки. В заключение я хочу отметить, что наряду с колоссальными возможностями повы- шения производительности Intranet безусловно влечет и проблемы для фирм, особенно если локальный броушер имеет выход на внешние WWW сервера. В кор- поративных условиях нужен контроль доступа через firewall и анализ логов на предмет злоупотреблений свободой доступа. Оказывается, что WWW броушер на рабочем месте это не только очень удобная, но и довольно опасная штука. Со- трудники могут тратить непропорционально большое время на навигацию по Internet и уделять меньшее внимание чем прежде своим непосредственным обя- занностям. Часть "молодых дарований" оказывается чересчур восприимчивой к болезни которая на научном языка называется "Internet addiction disorder"(IAD) ;-). Поскольку мне приходилось встречаться с несколькими людьми похоже больными этой болезнью я рискну отметить, что она сильно на- поминает алкоголизм. Симптомы ранее наблюдавшиеся среди некоторых операто- ров станций FIDO позднее ставших фанатами Internet включают потерю контроля над собственной жизнью, "запойное" лазание по Internet по ночам, "похмель- ный синдром", социальную изоляцию, проблемы в семье, академические провалы, долги, проблемы на работе. Но это в общем-то издержки, неизбежные в большом деле. 10.09.96 С уважением Н.Безруков