Софтпанорама 1992, No. 3 (27) *** NEWS ***   Составитель: Н.Н. БЕЗРУКОВ
************************************************************************

                 ╔═════════════════════════════════════╗
                 ║  П А Н О Р А М А   Н О В О С Т Е Й  ║
                 ╚═════════════════════════════════════╝

************* DR DOS 6.0 - первые впечатления обнадеживают **************

     Большинство тех, кто  поставил DR DOS  6.0 сразу понимают,  что это
безусловно более передовая операционная система, чем MS DOS 5.0.  Лучшее
управление памятью - можно выгружать резиденты в high memory на  AT/286.
Архивирующий дисковый  драйвер SuperStore,  который хотя  и уступает  по
сжатию, да и в целом Stacker, однако проще в установке и несколько быст-
рее. Доступ к файлам фактически ускоряется! Защита паролями файлов ката-
логов и дисков. Более быстрая дисковая подсистема, более удачная  реали-
зация переключения между задачами (возможна выгрузка в EMS, а не  только
на диск, скорость переключения выше), лучшие утилиты и т.д. и т.п.
     Конечно, наиболее важным преимуществом является существенно  лучшая
совместимость  с  Novell  Netware.  Это конечно неслучайно: приобретение
Digital Research фирмой Novell делает для разработчиков DR DOS доступной
информацию, отсутствующую у специалистов Microsoft. С учетом  охлаждения
отношений IBM и Microsoft и наличия соглашения о взаимном маркетинге ме-
жду IBM и Novell у DR DOS появляются реальные шансы стать серьезным кон-
курентом MS DOS.
     Конечно есть и недостатки. Например запуск на архивированном  диске
Norton Speed Disk  превращает свободные сектора  в сбойные, что  впрочем
легко исправляется вручную.  Некоторые программы используют  особенности
MS DOS 5.0 отсутствующие в DR DOS 6.0 (например Adinf, Stacker). Конечно
же, есть и ошибки.
     В целом, эту операционную  систему безусловно стоит попробовать  и,
если используемые Вами пакеты ведут себя на ней нормально, то есть смысл
предпочесть ее MS DOS 5.0.
                                                                   Б.Н.Н.


******* Microsoft C/C++ v7.00 - первый компилятор, реализующий **********
*********************** исключительные ситуации *************************

     Всем, кто долго работал на PL/1,  а затем перешел на Си страдали  и
страдают от отсутствия ряда  очень полезных и весьма  эффективных конст-
рукций. К их числу прежде всего относится работа с прерываниями, органи-
зация ввода-вывода,  работа со  строками, рудиментарная  многозадачность
(какая слабая она не была).
     Что бы не говорил Эдгар Дейкстра и другие адепты "религиозного под-
хода к программированию" про PL/1,  этот язык для своего времени  был не
только уникально мощным, но и весьма передовым с точки зрения  семантики
своих конструкций. Неуклюжий синтаксис не в  счет, ведь не  в синтаксисе
дело - это просто косметика. Неудачное решение с преобразованием  любого
типа в любой прискорбно, но как показала практика не так опасно, как это
пытались изобразить адепты Паскаля. История доказала, что фактически это
был первый и долгое время единственный язык в котором действительно  был
реализован аппарат  обработки исключительных  ситуаций -   аппарат затем
заимствованный в Аде, повлиявший  на Модулу и вошедший,  в модернизиро-
ванном виде, в C++ 3.0. Конечно сложность и неортогональность  конструк-
ций PL/1,  размер языка,  да и  уровень технологии "компиляторостроения"
того времени не позволил его реализовать его эффективно. Ну а волна мик-
рокомпьютеров вообще  "смыла с  поверхности", хотя  для большинства тех,
кто много лет  проработал на PL/1,  это представляется исторической  не-
справедливостью.
     Поэтому появления  в MS  DOS первого  компилятора C++, реализующего
обработку исключительных ситуаций является весьма значительным событием,
безусловно  наиболее  важными  из  известий  последнего месяца. Учитывая
весьма высокое качество кода компиляторов с языка С фирмы Микрософт  это
означает, что Борланду спать нельзя - иначе у него могут запросто  оття-
пать значительный сегмент рынка.
     Ниже следует статья перепечатанная из SU.SOFTW FIDO (Forwarded by Max
Mikheenkov (2:5020/150)).
==========================================================================
From: jonas@udac.uu.se (Jonas Fogelberg)
Subject: Re: Microsoft C/C++ v7.00 - Any news?
Summary: MS C/C++ v7.0
Keywords: Microsoft

In article <kqidarINNkle@matt.ksu.ksu.edu> jbraun@matt.ksu.ksu.edu (James S
Braun) writes:

>I just scanned 497 articles in this group looking for any news about
>Microsoft C/C++ v7.0  and came up blank.

>I've seen ads in magazines for 2 months now, apparently it is shipping...
>or is it?

>Jim Braun
>Kansas State University
>jim@gizmo.umb.ksu.edu

Jim, this is a article I posted about a week ago:

I just attended the Microsoft C/C++ 7.0 product release seminar in Stockholm.
Here's the story:

1. Best C++ 2.1 compliance around
2. Templates and Exception handling
3. Microsoft Foundation Classes (MFC)
4. Pre-compiled headers and types
5. P-code optimization option
6. Object aware browser
7. CodeView support for C++ and P-code
8. 32-bit development tools for Windows
9. No OS/2 2.0 support

Comments:

1. Best C++ 2.1 compliance around.
Seems true, except MSC/C++ does not implement declaration of functions in
local classes (if I remeber correctly). MSC/C++ passed all tests on C++ 2.1
compliance (according to some test institute) and in comparison BC++ 3.0
failed on 28 tests (we don't know how many test there were in total though).
Unrestricted inlining (automatically or explicitly) possible. The code
generated by the C++ compiler is generally not slower than comparable C code.
MS calls this the C++ 2.1 reference compiler, and they claim it is the best
C++ compiler around currently.

2. Templates and Exception handling.
These are implemented in a separate library (if I am correct) and conform to
the C++ 3.0 draft syntax.

3. Microsoft Foundation Classes (MFC).
These are divided into two groups - general and Windows specific. The
general classes include identification of objects, persistant objects, some
simple datastructures (arrays, lists and dictionaries), diagnostic support
etc. The Windows classes includes the Win API, 16- and 32-bit Win support
etc. A total of about 60 classes. Full source code included. Can be
recompiled with any C++ 2.1 compliant compiler, which is currently none,
expect for MSC/C++ 7.0 :-). Lots of examples included also.

4. Pre-compiled headers and types.
Results in faster turnaround ("more time with your family", as the MS
spokesman put it...)

5. P-code optimization.
Selectable on module or function level. Means 40-50% smaller executables,
but with up to 5 times overhead. But since this optimization is intended for
your UI-code, it really won't affect performance. Choose P-code wisely...
BTW, Excel has about 70% P-code according to the MS spokesman.

6. Object aware browser.
An extension of the PWB 1.0  & C 6.0 browser to support classes. Quite nice,
but a bit slow perhaps.

7. CodeView support for C++ and P-code.
Well...naturally.

8. 32-bit development tools for Windows.
The first disappointment of the day...MSC/C++ 7.0 and PWB 2.0 is still in
DOS! But, it integrates much better with Windows through a WX-server (don't
ask me more about that...). The compiler though, is written in 32-bit code
mostly, as well as for the other tools (PWB, RC-compiler, linker etc). A
Windows hosted PWB will be available this year hopefully. Visual C++ - they
are thinking about it...Also, a Win32s library(?) will be available soon, as
a bridge between Win 3.x and Win NT.

9. No OS/2 2.0 support.
Well my friends, what did you expect...However, support for OS/2 1.x is
still supported through MSC 6.0 (great!). But all of you OS/2 2.0 fans should
not give up all hope. The spokesman said, if OS/2 2.0 is a HUGE success, they
will reconsider perhaps...

Other stuff:

The documentation wheighs about 12 kg (about 30 pounds), which is about 2 kg
more than BC++ 3.0 :-). A total of 11 books, 5000 pages and full on-line
documentation.

When it comes to speed and size of applications, MSC/C++ 7.0 & MFC beats
BC++ 3.0 & OWL in almost all cases.

When it comes to turnaround (compiling & linking) MSC/C++ 7.0 beats BC++ 3.0
again. BC++ 3.0 is slightly faster creating pre-compiled headers though.

Source Profiler now included. Seems to be _very_ capable.

Well, as you might have guessed bu now, the whole environment is much faster
(PWB and CVW loads much faster than before also), so it seems like MS has
done their homework well...

The product will be available within 2 weeks according to Microsoft Sweden.

Jonas

--
Just my own personal humble opinions...
Jonas Fogelberg, UDAC (Uppsala University Computing Centre), Sweden.
EMAIL: jonas.fogelberg@udac.uu.se. PHONE: +46 18187878. FAX: +46 18187770.

                                 * * *

*** Staker 2.0 - последняя надежда владельцев "стандартных" AT/286, ****
******* но не безинтересен и для счастливчиков, имеющих AT/386 *********

     Владельцы стандартных AT/286 с 40M винчестером сейчас чувствуют се-
бя все более и более неуютно. Ощущение "А поезд уходит и его не вернуть"
их, безусловно, не обманывает. Тем не менее какие-то возможности "немно-
го обмануть судьбу" у них остаются и Staker 2.0 явился в этом смысле на-
стоящим подарком для всех программистов бывшего СССР.
     Автор настоятельно рекомендует всем, кому не хватает дисковой памя-
ти попробовать этот новый  драйвер, но предупреждает, что  без предвари-
тельного архивирования информации на "стакируемых" дисках кому-то  может
и не повезти (пока таких случаев, к счастью, не наблюдалось), хотя  мно-
гие из моих  знакомых - "рисковые  ребята" - стакировали  свои диски "по
живому", надеясь на то, что "авось пронесет".
     Программа устанавливается достаточно просто и не требует, чтобы че-
ловек тратил целый день на освоение инсталляции. Прекрасно работает с MS
DOS 5.0. При правильном  использовании позволяет увеличить полезную  ем-
кость 40 мегабайтного диска примерно  на 10M, а если очень  постараться,
то выигрыш может достигнуть и 20M.
     Конечно бесплатного ужина не бывает и какие-то проблемы  возникают.
Например, автор отмечал какие-то непонятные зависания при  одновременной
работе со стакируемым диском и флоппиком. Похоже скорость работы меньше,
чем у SuperStore  из DR DOS  6.0, однако степень  сжатия вроде выше.  Но
проанализировать их как следует под отладчиком времени не было,  поэтому
может здесь дело и не в Stacker.
     Разумеется "пихать все подряд" на обслуживаемый Stacker диск смыс-
ла нет. Программы, сжатие Pklite или аналогами лучше оставить на обычном
диске. Диск С "стакировать" не рекомендуется. Выгоднее всего "слить"  на
него программы типа  ME, WORD, TC,  FOXPRO и другие  пакеты, для которых
использование Pklite или его аналогов невозможно или неэффективно. Ну  и
конечно тексты и базы данных, включая *.NG сам бог велел хранить на ста-
кируемых дисках, хотя опять таки, если что случиться, то "нечего на бога
пенять, коли рожа крива".
     Например, если разметить 44 M диск на разделы 4, 12, 12 и 12 M, и в
последних двух разделах установить Stacker, то при разумном отборе "кан-
дидатов на сжатие"  можно достигнуть коэффициента сжатия 2-2.3.  Правда
неясно нужно ли это и может эффективнее иметь средний коэффициент в рай-
оне 1.7.
     Проведенные предварительные эксперименты показали, что скорость до-
ступа к диску уменьшается незначительно. Требует примерно 40K  оператив-
ной  памяти.  Допускает  загрузку  в "хаймем" (loadhi.sys ...stacker.com
...), так что это не слишком критично. Совместим с Vidram и его аналога-
ми.
     При наличии  EMS, Stacker  занимает в  оперативной памяти  половину
указанного пространства и грузить  в верхнюю память его,  вообще говоря,
не обязательно (кстати, неясно как влияет загрузка на скорость его рабо-
ты).
     Появление Stacker 2.0 является более мощным методом экономии диско-
вого пространства, чем уменьшение размера кластера и тем самым уменьшает
привлекательность  использования  специальных  дисковых  драйверов  типа
SpeedStore. Кроме того, это еще один аргумент в пользу того, что не сто-
ит делать на  40M винчестерах больше  четырех разделов. Ну  а кто "само-
определил" винчестер на слишком  маленькие кусочки, теперь может  только
об этом пожалеть.
     Ввиду важности Stacker именно в наших условиях, когда парк машин  в
значительной мере состоит из устаревших XT и AT целесообразно проведения
его тщательного тестирования. В частности необходимо понять:
     - влияние на  stacker программных и  аппаратных сбоев, в  частности
появления дополнительных сбойных кластеров, зацикленных каталогов и дру-
гих распространенных сбоев;
     - ньансы использования утилит Нортона с обслуживаемыми Stacker дис-
ками;
     - оптимальный подбор параметров при конфигурировании (в частности
максимального коэффициента сжатия (кстати, непонятно, на что он,  собст-
венно, влияет));
     - зависит ли занимаемая им  память и скорость работы от  количества
обслуживаемых им дисков и если зависит, то как ?
     - какова оптимальная первоначальная разметка диска перед  использо-
ванием Stacker 2.0  (может лучше задать  8 секторов на  кластер или даже
более - все равно на диске будет всего один файл - стакеровский диск) ?
     Одним из возможных путей организации соответствующего  исследования
является выделение  некоторой суммы  для финансирования  соответствующих
исследований из нашего  фонда и этот  вопрос целесообразно поставить  на
голосование и решить на мартовском семинаре.
                                                                  Б.Н.Н.
                                 * * *

****** Pkzip 2.0 бета  бьет Arj 2.30 по большинству показателей ********

    Как эксперименты автора, так  и эксперименты о которых  сообщалось в
Fido показывают, что бета версия архиватора Pkzip, публикуемая в  данном
выпуске как ZIP 1.93a заметно превосходит Arj по скорости, обладая сопо-
ставимым качеством упаковки. Автор прикидывал данный выпуск бюллетеня  с
помощью ZIPa и лишь немного ошибся при определении окончательного разме-
ра данного выпуска.
     Правда проблема возникает с SHEZ, который выдает при UNZIP параметр
-x в командной  строке. Новый UNZIP  не понимает ключа  -x. В результате
вместо распакованного  файла на  экране мелькает  заставка PKUNZIP. Про-
стейший выход - реконфигурировать SHEZ, задав вSHEZCFG имя UNZIP  вместо
PKUNZIP и создать BAT-файл UNZIP.BAT вида

PKUNZIP %2 %3 %4 %5

    Ниже приводятся некоторые данные тестирования:
    1. Диpектоpия с EXE'никами и COM'ами, размеp 1,674,621 байт
(данные Ухолкина).
      Аpхиватоp     Вpемя паковки     Размеp аpхива.
      ZIP 1.93a     1 мин 42 сек        1,007,098
      ZIP 1.10      1 мин 57 сек        1,057,855
      ARJ 2.22      2 мин 43 сек        1,009,573
      LHA 2.12      2 мин 59 сек        1,016,456

    2. Пакуется диpектоpия с  текстовыми файлами, размеp 1,674,621  байт
(данные Ухолкина).

      Аpхиватоp     Вpемя паковки     Размеp аpхива.
      ZIP 1.93a     1 мин 38 сек        669,532
      ZIP 1.10      2 мин 50 сек        799,875
      ARJ 2.22      2 мин 54 сек        675,087
      LHA 2.12      3 мин 19 сек        693,318

*********************** Данные Cepгeя Якoвлeва *************************

    Уcлoвия тecтиpoвaния: IBM  PC/AT 286 16MHz,  HD 42M ST250R.  Hикaкиx
кeшeй. Этo  был пpocтo  .bat фaйл,  зaтeм eгo  peзyльтaты были cвeдeны в
тaбличкy. Bpeмя - пo cиcтeмнoмy тaймepy.
    B кaчecтвe  pyccкoгo тeкcтa  иcпoльзoвaлacь cpaвнитeльнo  cлyчaйнaя
cвaлкa из мaлeнькиx и бoльшиx  фaйлoв в aльтepнaтивнoй кoдиpoвкe -  866
кoдoвaя тaблицa. Пpoгpaммы - paбoчaя диpeктopия BWAVE.  Paзapxивиpoвaниe
1.02 вepcии нe  пpoвepялocь пo пpичинe  oтcyтcтвия фaйлa pkunzip  вepcии
1.02 нa мoeй cиcтeмe.

 Archivator  Russian text       Programms (BWAVE)  English only text
             Pyccкий тeкcт      Пpoгpaммы (BWAVE)  лaт тeкcт (IMAIL.DOC)
             pak  unpak  file     pak  unpak  file   pak  unpak  file
            time. time.  size    time. time.  size  time. time.  size
 Apxивaтop  Bpeмя Bpeмя Paзмep  Bpeмя Bpeмя Paзмep  Bpeмя Bpeмя Paзмep
            yпaк. pacп. фaйлa   yпaк. pacп. фaйлa   yпaк. pacп. фaйлa

 LHA 2.12   00:50 00:42 145383  00:53 00:30 202518  00:28 00:10 62653
 ZIP 1.93a  00:24 00:39 148096  00:31 00:23 199024  00:16 00:07 58788
 ZIP 1.02   00:26       169397  00:38       220249  00:24       63856
 ARJ 2.00   00:55 00:44 145863  00:50 00:30 200229  00:25 00:10 59829
 ARC 3.61   00:18 00:34 167021  00:18 00:23 282691  00:08 00:07 81560

 Best -->   ARC   ARC   LHA     ARC   Z1.93 Z1.93   ARC   Z1.93 Z1.93

    Из этoй тaблицы мы видим,  чтo: LHA нaибoлee эффeктивeн для  pyccкиx
тeкcтoв,  нo мeдлeнeн.  Taк  чтo  им  лyчшe вceгo дoлгoвpeмeннo xpaнить
тeкcты. ARJ  имeeт нaиxyдшиe  пapaмeтpы вo  вcex cлyчaяx  и пpocит oчeнь
мнoгo пaмяти:  Mы нe  cмoгли зaпycтить  eгo в  250K пoд Дecквью. ARJ0.15
cpaвнивaлcя c 2.00 paньшe. Eдинcтвeннoe, чeм oн интepeceн -  Multivolume
option.  ARC  -  caмый  быcтpый,   нo  ZIP1.93  имeeт  тaкoe  жe   вpeмя
paзapxивиpoвaния. Я дyмaю, пpимeнeниe дaннoгo apxивaтopa нepaзyмнo.
    Итaк, я бы peкoмeндoвaл ZIP 1.93 в кaчecтвe ocнoвнoгo apxивaтopa.


*************** 16 мегагерцовые AT/386sx уходят в тень *******************

    Цены на 20 мегагерцовые AT/386sx упали до уровня $1700-1800 за  кон-
фигурацию с 4M памяти и винчестером 120M. Это примерно столько же,  ско-
лько фирма Summit просит с советских покупателей за стандартную AT.  По-
этому AT/386sx-20 стали на Западе "стандартной AT" образца 1992 г.
    Большинство современных  пакетов плохо идет на стандартных компьюте-
рах с более низкой тактовой частотой и памятью, меньше 4M. Поэтому запа-
дные пользователи и фирмы изготовители переключились за этот класс машин
как базисный в современных условиях. Многие изготовители прекратили  вы-
пуск  компьютеров   более   низкого  класса   (Zeos,   Dell,  Northgate,
Fastmicro).
    Среди лучших машин этого  класса следует отметить Gateway  386sx/20c
($1895 за стандартную конфигурацию  + $50 за каждый дополнительный мега-
байт), Micro Express ME 386sx/sl/20 ($1764) и Eltech Model 2200 ($1899).
Впрочем безымянные клоны не намного хуже и намного дешевле. Автор встре-
чал в январских журналах цену $1259 за AST Bravo 386SX/20.
                                                                 Б.Н.Н.
 


