Софтпанорама 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 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. Б.Н.Н.