Архивы: по дате | по разделам | по авторам

Куда научному работнику податься?

Архив
автор : МИХАИЛ ГОЛУБ    13.01.1997

Понятие "наука" стало в двадцатом веке синонимом слова "прогресс". Это, к сожалению, не относится к выбору аппаратных и программных средств компьютеризации научных исследований. В силу обсто-ятельств и вопреки здравому смыслу время сделало этот выбор за нас, а часто работает "правило левой руки": закрыв меню, смотрят на цену. Но, как говорили древние: `Tempora mutantur et nos mutamur in illis'. Есть много проблем, начиная от стандартизации формата документов и кончая имитационными пакетами и языками программирования. Internet, ставший законодателем мод де-факто, диктует свои правила "компьютерного хорошего тона". Обсуждая это, автору не хотелось бы в рамках этой статьи давать конкретные советы: материал дис-кус-си-онный.


   Зачем об этом писать?
   В выборе средств наука в значительной степени консервативна. Это связано и с предпочтением испытанным средствам, и с определенной косностью, определяемой схоластичностью академических (в самом широком смысле) коллективов.

   Не секрет, что во-первых, уровень оснащения многих лабораторий вычислительной техникой весьма низок, а пользовательская квалификация, мягко говоря, недостаточна. Если и удается что-то приобрести на деньги с гранта, так это экспериментальное оборудование, которое съедает почти все, что не не идет на зарплату. До сих пор народ пользуется текстовым процессором ChiWriter и задает вопросы типа: "В каком редакторе у Вас набран этот файл? В Нортоне или Ворде?" Эта фраза не кажется Вам странной? Она отражает этакий средний уровень понимания компьютеризации среди наших м.н.с., н.с., с.н.с., в.н.с., доц., преп., проф. и проч. Пользователи часто считают единственным типом компьютера ПК, и межплатформенный обмен для них - пустой звук. А ведь IBM-совместимый ПК в мировой науке не доминирует!

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

   Мне, например, не известна ни одна программа, позволяющая хорошо автоматизировать аппроксимацию. Не только строить ее, а именно свести к минимуму или исключить вмешательство пользователя в процесс работы в самом общем случае. Для слабо меняющихся (в пределах порядка) гладких с малым разбросом данных это не актуально. Мне же все время попадаются "плохие" данные. Мне посчастливилось встретиться с широко известным в Москве человеком - Владимиром Устиновичем Сидыгановым - автором знаменитой карты Москвы. Он подарил мне, более не развиваемую им (продажа на-учным учреждениям не окупит затрат), программу адаптивной ап-про-кси-ма-ции, которая по замыслу автора должна была "угадывать" закон по экс-перимен-таль-ным точкам. Действительно, несимметричный хроматографический пик уда-ва-лось хорошо описать деформированной гауссианой.

   Не так просто открыть эти нюансы широкому пользователю. Именно это и побудило меня, человека прошедшего почти через все типы ЭВМ, взяться за перо.

   Сразу предложу "декомпозицию" этой задачи: применение компьютера в научных исследованиях кроме автоматизации эксперимента сводится к:
   1) редактированию;
   2) графическое редактированию и построению графиков;
   3) расчетам;
   4) выбору компьютера и комплектующих;
   5) поиску информации.

   Пункт (5), как ни парадоксально, очень объемен и пересекается с предыдущими. Краткому обзору остальных пунктов и посвящено последующее изложение. Завершает обзор знакомство с научной издательской системой TeX (читается "тэх").

   Набор текстов.
   Редактирование текстов - одна из самых часто решаемых на ПК задач. Это хорошо, если Вы - гуманитарий и любой текстовый процессор или редактор Вам подойдет. Еще лучше, если у Вас есть Word for Windows. А что делать, если Вы - математик, физик или химик и Ваш документ изобилует формулами, таблицами, схемами и графиками? Многие ответят: Word + EquationEditor (или MathType) + ChemWin + PaintBrush. Казалось бы: нет про-блемы.

   На самом деле это не совсем так: актуален вопрос о переносимости и обмене.

   Предположим, Вам посчастливилось, не сходя с рабочего места, работать в сети Internet (в отечественной науке, как ни странно, это почти роскошь). Вы нашли интересующую Вас статью, а она в формате TeX, а иллюстрации к ней - в PostScript? Бьюсь об заклад, что процентов 90 научных работников вряд ли поняло, о чем этот абзац.

   Вы хотите послать свою работу коллеге за рубеж по электронной почте. Вы ее написали по-английски, без букв национальных алфавитов (се-ми-би-то-вы-ми символами), но хотели бы вставить иллюстрации. Как быть? Снабдить письмо UU-encoded вставками? А если у него только MIME? А если он "не переваривает" Ваш графический формат?

   Самое сокровенное: Вы пишите заявку в РФФИ (фонд поддержки фундаментальных исследований) и в правилах видите, что никакого Word'а с Лексиконом не потерпят. А Вам нужно написать пару формул. Читаете: "до-пус-ка-ет-ся нотация системы TeX". Кстати, требования РФФИ оставляют желать лучшего: они во многом противоречивы и неоднозначны, в частности, TeX допускает по крайней мере три стандартных формата с су-щест-вен-но различным представлением формул. Успокаивает то, что те, кто верстают в TeX, разберутся.

   Другая проблема: некий научный журнал требует посылки ему дискеты с текстом в формате WinWord, а у Вас PC/AT...

   Перечисленное выше знатокам покажется надуманным. Должен Вас огорчить: все взято из жизни. В 1995 году один аспирант рассказывал мне, как он экспортировал текст из ChiWriter, вставлял его в WinWord, а затем вручную вставлял формулы на 286... Ему это требовалось для отправки в редакцию, а другой машины у него не было. С РФФИ пришлось "забавляться" и в этом году. Тексты в формате TeX в Internet часто сопровождает вычислительные программы как документация.

   Споры "товарищей ученых" о том, в чем набирать статьи, "до хрипоты, до драки" носят неконструктивный характер диалога фанатиков.

   Существует и здравый подход: "мне нужно набирать тексты с формулами, рисунков у меня мало, черчу я как Бог, у меня 286-я, ChiWriter, все приходится печатать, то есть - устраивает". Конечно, прагматизм и экономия мышления и времени - хорошие аргументы, но "давайте уменьшим наши потребности, и всем будет смешно".

   Несколько лет назад один очень уважаемый мной человек на вопрос, почему в компьютерном классе стоят Роботроны (PC/XT), ответил, что у студентов нет более сложных задач, чтобы поставить более производительную технику. Согласны? А вот Вам контрпример: если у Вас есть калькулятор, то станете ли Вы приводить выражение к виду, удобному для логарифмирования? Конечно нет! Ведь это было нужно только при счете на линейке. И еще один камень в этот огород. На международной конференции ALT'92 в Зеленограде мне довелось обсуждать вопрос о решении задач Стефана применительно к кристаллизации с милой дамой из Минска. Выяснилось, что она и ее сотрудники специально сильно загрубляли модель, только для того, чтобы в течение разумного времени она считалась на "слабом" ПК. Мое мнение: сложные задачи ставятся так, чтобы быть адекватными технике, а простых задач сейчас почти нет.

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

   Фонд Сороса не принимает документы в формате TeX, чем очень злил одно время математиков. При том, что Word во многом удобнее и не надо много запоминать, думаю, что скорость набора текста для TeX существенно выше при сравнительно небольшом опыте пользователя, а качество документов у TeX гарантированное (это, правда, почему-то во внимание не принимают). Переносимость TeX почти такая же как переносимость языков C и FORTRAN-77. Существует даже стандартная транслитерационная система для ки-рил-лицы, разработанная в... Вашингтоне! Причем, она входит в стандартную поставку TeX для DOS и UNIX. Документы TeX значительно компактнее, а сам TeX распространяется свободно для некоммерческого применения.

   Мне известен случай, когда немолодой исследователь после двух месяцев работы с WinWord, чертыхаясь, поехал в CyrTUG (ассоциация пользователей TeX в России) и теперь все пишет в LaTeX. Замечу, что осваивал последний он с нуля.

   Речь не идет о том, кто лучше: профессор Дональд Кнут (изобретатель TeX) или бизнесмен Билл Гейтс, каждое средство служит своим целям.

   Для набора ASCII файлов лучше иметь редактор, по уровню соответствующий MultiEdit, хотя набрать формы для РФФИ можно и в Norton Editor.

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

   Картинки.
   Картинки бывают трех сортов: графики, схемы и фотографии.

   Честно говоря, ни с PhotoShop, ни с Corel Draw! я никогда не работал. Наверное, для создания иллюстраций (схем и фотографических вставок) они превосходны. Возможность работать с различными форматами как растровыми, так и векторными, импортируемыми текстовыми процессорами и из-да-тель-ски-ми системами - это большое преимущество.

   Для построения графиков существует огромное количество средств: MathCAD, MatLab, Mathematica, GNUPlot, Graphmatica, SigmaPlot и т.п. Признавая удобство и мощь каждого инструмента, замечу, что ни одна программа не позволяет получить график в таком виде, в каком Вы желаете. Может быть это желание - просто блажь? Тем не менее, в России существуют неплохие традиции по оформлению графиков, так почему каждый отдельно взятый заморский производитель должен навязывать свой стиль? Под рисунком в документах следуют подписи. Буду признателен, если кто-то назовет хотя бы одну программу, в которой картинка (любого типа) логически связывается с подрисуночной подписью, то есть расшифровка типов линий, номеров кривых, переменных, параметров или прочий текст вроде "Фото нашей лаборатории, 1996" будут автоматически сопровождать вставку или печать этой картинки.

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

   Мне однажды представилась возможность "вытаскивать" информацию из документов MCAD for DOS. Было бы лучше, чтобы их автор использовал функцию чтения текстового файла в MCAD, но он об этом не знал...

   Какой язык программирования выбрать? И нужно ли это?

   Мне кажется, что вовсе не обязательно всем научным сотрудникам становиться программистами, но не всякий, кто пишет программы - программист. Основы программирования нужны всем, кто занимается компьютером. Некоторые любят кивать на Запад, там, мол, все это давно было освоено, кругом компьютеры... Помню во времена застоя при Брежневе к нам в школу приезжала делегация из ФРГ перенимать опыт преподавания программирования. В последствии понимание основ сильно помогало освоению всего остального и сразу давало понять, что есть редакторы, компиляторы и операционные системы с командами, а не только NC.

   Для небольших расчетов лучше использовать пакеты типа MathCAD, MatLab, Mathematica или язык программирования BASIC. Мне наиболее удобен MatLab, так как в нем простой и чрезвычайно компактный макроязык. BASIC всегда входит в поставку DOS.

   Программисты такие языки как Pascal и BASIC обычно всерьез не воспринимают: для решения сложных задач они, действительно, не годятся из-за внутренних ограничений. FORTRAN считают анахронизмом, но он не сдается: огромный объем вычислительного софта, такого как NAG, IMSL, LSOD, AUTO написаны на FORTRANе и не имеют аналогов на C, по крайней мере распространенных. Так что если Вы работаете на C, то Вам понадобится конвертор типа FORC или F2C. Более того, существует компилятор FORTRAN-90, хотя некоторые считают технологию его реализации несовершенной.

   При выборе среды программирования следует обращать внимание на производительность (компилятор, интерпретатор), наличие библиотек прикладных программ (кстати, существуют целые "поэмы" на BASIC, качество последних невысокое, но достаточное для многих приложений). Графику поддерживают на сегодняшний день все языки. Литературы так же достаточно.

   С программированием сложнее, чем с использованием программ: здесь не запишешь последовательность нажатий клавиш или команд. Научиться писать программы можно самостоятельно по книгам, а вот программировать...

   Человеку, пишущему программы, понятнее как редактировать скрипт-файлы коммуникационных программ, макро редакторов, файлы инициализации (скажем, WIN.INI), у него (или нее) нет священного страха и трепета перед фирменными продуктами в смысле возможности их глубокого освоения и настройки, становятся понятны такие приятные мелочи как PCL, ESC/P2 и PostScript.

   "Железный" марш.
   Предположим, что все программные проблемы у Вас решены. Теперь нужно разобраться с техникой. Хорошо, если в лаборатории есть системный инженер, который знает какой нужен компьютер, какой модем, какой принтер... Обычно, такого человека рядом нет. Есть пользователи, более квалифицированные, чем Вы, которые могут быть заняты, или Вас не осень удобно обращаться к ним за помощью. Ну да, не обязан исследователь быть сборщиком компьютеров, но подключить принтер, вставить плату расширения нужно уметь так же как наладить измерительную аппаратуру или собственную установку. Часто ученые справляются с техникой на порядок сложнее, чем персоналка, которую боятся даже открыть.

   Многие не отдают себе отчета в том, что soft и hard должны быть согласованы. Какой смысл в девяти-иголочном принтере, если у Вас Windows, не использующая его предельного разрешения и, следовательно, не дающая возможности получить представительный документ? Предположим, у Вас есть хорошо печатающая программа для DOS или UNIX. В этом случае Ваш Epson-FX или LX или аналогичный принтер будет печатать очень медленно, так что стоит ли тратить время и деньги на его приобретение?

   Мне справедливо возразят, что денег нет, а техника закупается централизовано, и что перепадет... На решение о приобретении и распределении техники иногда удается влиять. Деньги от грантов можно использовать и самому. Это, конечно, не наличные (пришел, выбрал, купил), но за то Вам и карты в руки: никто Вам не указ.

   Лазерный принтер хорош: и качество печати высокое, и PostScript поддерживает, и скорость печати достаточная, но дорог. Его проблема в том, что вырвавшись из орбиты постоянно "висящих" ЕС или неповоротливых СМ, наши пользователи решили сменить "коммуналку" на "персоналку", а что бывают сети и серверы знают "избранные". Наша необузданная независимость мешает нам жить. Собраться бы всей лабораторией или отделом и сделать локальную сеть с сервером печати (пусть это тоже будет ПК), прицепить к нему пару принтеров для черновой и чистовой печати. Можно и терминалы поставить вместо ПК, только предварительно оценить производительность, цену и текущие затраты.

   Любители свободы могут купить недорогой струйный принтер: качество 24 иголок, скорость приемлемая, цена не страшная, а главное - не шумит.

   Нужен ли модем? Это зависит от того, есть ли у Вас другой выход в мир или нет. В МГУ, например, есть оптический кабель. Зачем тем, кто к нему подключен и имеет высокоскоростной доступ к Internet, дополнительное устройство, уступающее на порядки по скорости?

   Кое-что про TeX.
   Как уже было сказано, TeX распространяется бесплатно, и, возможно, Вы найдете его в соседней лаборатории. Можете поискать его в Internet. На всякий случай: www.ams.com - адрес Американского математического общества в Internet, а точнее в WWW. Есть и почтовый адрес АМС в Санта Барбаре, США. Там он точно должен быть. Добыть кириллический TeX можно в Москва в CyrTUG cyrtug@mir.msk.su или НПО "Информатика и компьютеры" vitex@ector.msk.su или в г. Протвино в АО RDTeX. Доступны их адреса и телефоны.

   По TeX вышло несколько книг на русском языке, среди них "Все про TeX" Дональда Кнута ("The TeXbook" - библия TeX; кто-то из читателей, наверное, помнит "Искусство программирования для ЭВМ" того же автора), "Великолепный TeX" ("The joy of TeX") Майкла Спивака, "Набор и верстка в LaTeX" М.М.Львовского. Желающие легко отыщут ксерокопии англоязычных изданий, для практических целей очень хороша "Introduction to TeX" (Jost Krieger, Norbert Schwarz) как для понимания основ, так и для сложных манипуляций с текстом.

   В МГУ целая серия пособий по математике издается в TeX. Создатель первой в России понятной всем книги по компьютеру В.Э.Фигурнов подготовил оригинал-макет книги "Анализ данных на компьютере" Ю.Н.Тюрина и А.А.Макарова с использованием TeX. И это еще не полный список. В связи с этим очень сложно сказать про него что-то, не цитируя.

   TeX был рожден на IBM mainframe в семидесятых годах как многошрифтовая издательская система для набора научных статей и верстки журналов. В настоящее время TeX является непременным программным средством для UNIX и реализован для всех платформ (компьютеров и операционных систем). TeX способен использовать все ресурсы Вашей машины, но работает (причем сносно!) даже на PC/XT. Документ TeX может быть отправлен по электронной почте без перекодирования. В СНГ русские при передачи электронных сообщений буквы кодируют автоматически, а за границу Вы отправите английский текст или любой другой со стандартным для TeX указанием акцентов или в уже упомянутой транслитерационной кодировке кириллицы.

   Вы поехали на стажировку в Европу или Америку. Там Вам предоставили компьютер типа DEC AXP-3000, а Вы, не устанавливая ничего дополнительного, способны набрать и распечатать русский текст! А теперь попробуйте то же с Word!

   Для набора текста достаточно иметь любой текстовый редактор. Документ TeX - это ASCII-файл. Никакого форматирования не нужно. Это облегчает внесение изменений. Документ TeX допускает комментарии. Абзацы отделяются пустой строкой. Несколько пробелов считаются одним. То же касается пустых строк. TeX понимает все мыслимые комбинации специальных символов конца строки: CR, LF, CR+LF, которые эквивалентны пробелу. TeX выравнивает и подбирает шрифты для выделений и формул самостоятельно. Указание шрифтов в документе и увеличение их количества, разрешения и размера не представляют сложности. Об этом заботится METAFONT - программа генерации шрифтов.

   TeX автоматически переносит слова, делает это довольно хорошо и позволяет гибко влиять на переносы. Он умеет даже переносить такой кошмар как backen -> bak-ken!

   TeX основан на командных последовательностях, начинающихся с обратного разреза (\). Можно изменить весь документ, переопределив в его начале команды. Например, Вы набрали заголовки капителью и сцентровали (формат AmS-TeX) с помощью команд \head и \endhead. Теперь Вам нужно их прижать влево. Вы переопределяете эти команды как
\def\head{\begingroup\noindent\bf} % Обратите внимание на мнемонику
\def\endhead{\par\endgroup} % команд! % - символ комментария.
   и они становятся прижатыми влево, а шрифт становится жирным. У Вас встречается длинный повторяющийся фрагмент формулы, вы его определяете как команду с коротким именем, которое и используете, например
\def\REL{\frac{1}{1-(\frac{v}{c}^2)}} % релятивистский коэффициент

   Вы уверены, что, избежав опечатки один раз при определении \REL, вы о нее гарантированы.

   TeX автоматически сменит шрифт и его размер в зависимости от того как вы ввели формулу: в строке $...$, или как вынесенную $$...$$.

   TeX не просто формирует абзацы и страницы, он оптимизирует "плохость" (badness). Он не допустит жидких или сжатых строк и ограничит количество последовательных переносов. Страница будет выровнена не только справа и слева, но и сверху и снизу. Автоматически выполняется кернирование, учитывается курсивная поправка и размер пробела при пунктуации. Дефис и два типа тире (dash, N-dash, M-dash) определяются как один, два и три минуса подряд. Это Вам не Alt-Ctrl-Minus в Word!

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

   Результатом обработки Вашего TeX-файла будет DvI-файл, то есть некоторая двоичная (не текстовая) форма, не зависящая от устройства и платформы. DvI так же переносим, как TeX! Драйверы для просмотра, печати и преобразования DvI к другим стандартным форматам позволяют получить высокое качество даже на матричных принтерах!

   При просмотре DvI-файла Вы видите именно то, что будет напечатано.

   Оперирует TeX с физическими размерами: миллиметрами, сантиметрами, дюймами и еще несколькими полиграфическими единицами измерения.

   Существует четыре основных формата (то есть предопределенных систем команд): plain, LaTeX, AmS-TeX, AmS-LaTeX. Наиболее универсальным в смысле применения является LaTeX. Для набора большого количества формул удобнее AmS-TeX, а для сочетания мощи обоих - AmS-LaTeX. Plain - это основа, созданная Дональдом Кнутом. Часто документация к расчетным программам, свободно распространяемым через Internet, бывает именно в этом формате.

   Если присланный Вам документ содержит некие экзотические шрифты, то их имена обязательно будут иметь известный смысл, например, cmr10 означает Computer Modern Roman 10 points - десятипунктовый романскиий шрифт семейства Компьютер Модерн. Если в документе указан myfontbx9, то опуская "myfont", ясно что это Bold Extended 9pt, то есть девятипунктовый жирный шрифт. Его можно смело заменить на cmbx9.

   К недостаткам TeX принято относить то, что он не WYSYWIG. Это не недостаток, это - особенность. Она дает возможность интенсифицировать набор текста, а тот объем работы, который производится при форматировании вряд ли может выполняться с очень высокой скоростью при введении информации. LaTeX для Windows - Scientific Word - сознательно не сделан WY-SY-WIG: важна логика документа, а не его внешний вид. Scientific Word скрывает от глаз только специальные символы и стандартные команды LaTeX. Жаль, что я не видел русифицируемого Scientific Word. Серьезная проблема с TeX - импорт графических файлов, причем не потому, что это трудно сделать, а потому, что он нестандартизирован. Есть два фактических стандарта: германский emTeX с импортом растровых картинок (bitmaps) и TeX с импортом PostScript. Scientific Word и TeX для UNIX относятся к последним.

   TeX вовсе не так неизвестен, как могло бы показаться. У меня есть программа MicroSpell 1987 года, понимающая и TeX и ChiWriter. GNUPLOT для Windows как и для UNIX позволяет записать график в формате для TeX. Знаменитый Equation Editor, прилагаемый к WinWord есть не что иное, как упрощенный MathType, который экспортирует формулы и в WinWord, и в TeX.

   Проблема выбора заключается в том, чем Вы готовы жертвовать и ради чего.

   Комплексный подход решает все.
   Идеальным вариантом (надеюсь, он станет реальным) является централизованный подход. Перефразируя Михаила Задорнова, я не понимаю, почему у руководства институтов нет желания единым образом обеспечить рабочие места сотрудников вычислительной техникой? Наверное, по той же причине, что нет сил и желания удерживать молодых ученых, впрочем как и остальных. Руководству, тем не менее, нужно поддерживать свой образ перед лицом мировой научной общественности, это рождает уверенность в необратимости компьютерной перестройки... Необходимо совместными усилиями придти к пониманию того, какие компьютеры и программы необходимы и для каких целей.



© ООО "Компьютерра-Онлайн", 1997-2024
При цитировании и использовании любых материалов ссылка на "Компьютерру" обязательна.