InfoCity
InfoCity - виртуальный город компьютерной документации
Реклама на сайте



Изготовление пружин Нижний Новгород. Где купить пружины в Нижнем spring.nov.ru.



Размещение сквозной ссылки

 

Прошлое и будущее


Барский О.Е.


На прошлой неделе мой почтовый ящик как всегда посещали рассылки. По поводу ряда из них мне и хочется написать и, тем самым, рискнуть заглянуть в "день грядущий", благо то, что я вижу "сегодня", было предопределено "вчера". Вот и попробуем слегка проанализировать то, что нам уготовано. "Меня гнетут смутные сомнения...", как говаривал управдом, удачно вписавшийся в роль Ивана Грозного в фильме "Иван Васильевич меняет профессию".

Во-первых. Фирма Интел объявила о том, что выпускает процессор Pentium 4. Как будет писаться четвёрка не знает никто, но доподлинно известно, что сам процессор будет работать с частотой 1.5 ГГц. Правда, никто и ничего не говорил о разрядности данного процессора, но вот "обрадовали" другим -- сам проц. будет представлен уже к концу _ЭТОГО_ года.

Возникающие вопросы. Во-первых, чем бы это такую "производительность" загрузить? Вообще-то, чем собираются? Во-вторых. А, собственно, куда так спешим? "К концу года" и ни днём позже... Странно всё это, господа.

Во-вторых. После того, как пришли рассылки, в которых освещались новинки от Microsoft, всё резко встало на свои места. Здесь надо заметить, что самой первой рассылкой на данную тему была рассылка от моего любимого журнала для "сисадминов" -- HackZone. Которая и побудила, собственно, написать данную статью. После анализа приведённой там информации.

Кроме рассылки от HackZone, пришла ещё и рассылка из недр русского филиала Microsoft. Ну, об "этом" я хочу написать слегка по-подробнее. В качестве небольшого "лирического отступления". Так сказать, "пользуясь случаем" и "высокой трибуной".

На данную рассылку я только недавно подписался и получилось так, что это сообщение было первым из полученных. Не знаю у кого и как, но у меня лично сложилось впечатление, что перед тем, как разрешать человеку сдавать сертификационные тесты Microsoft, необходимо проверить его знание языка. Т.е. у автора данной рассылки а это, судя по сообщению -- "Контактный адрес автора: alexb@ck.ukrtel.net Alexander I. Butenko, Microsoft MVP", явно не лады с русским. Оно, конечно, понятно -- "незалежна" Украина и всё такое... Но русский-то зачем коверкать? Цитирую: "Microsoft представила новый язкы программирования позиционируемый знаменитому Java от Sun Microsystems.". "Позиционируемый" может быть "на рынке", может быть "по отношению" к "чему-то" (реже -- "кому-то"). Но вот чтоб так... Или слово красивое и до невозможности умное выучили? А применять это самое слово грамотно кто будет?

Далее. Ещё одно замечание господину Бутенко. Знаете, милостивый государь, мы как-то все уже пережили выборы, к Доренко даже привыкли... Но это -- "в телевизоре". А в Сети-то зачем такой тон? По Вашей рассылочке получается что Oracle -- горемыки, что именно в мультиплатформенности Java -- её слабость... Как-то, право, читать это по меньшей мере странно. Очевидно, слегка одурев от "успехов" Microsoft'овцы решили всех и вся прогибать под себя?


На самом деле, в рассылке речь шла совсем о другом:

А также сенсационное разоблачение горемык из Oracle
Корпорация Oracle созналась в том, что она наняла частное детективное агентство для выявления союзников Microsoft. Oracle признает, что она уже год пытается проследить отношения между Microsoft и теми политическими и торговыми кругами, которые поддерживают Microsoft в антимонопольной борьбе с правительством. Для этого Oracle наняла частное детективное агентство Investigative Group International. Это произвело эффект разорвавшейся бомбы. Представитель Microsoft Марк Муррей (Mark Murray) заявил: "Oracle и всем ее сотрудникам должно быть сегодня стыдно и горько. Думаю, что доверие к Oracle очень сильно подорвано" Он также заметил, что подобное признание является неопровержимым доказательством того, что конкуренты направляли действия правительства во время антимонопольного разбирательства. Он также заявил: "Очевидно, что это такое событие, которое не может остаться без последствий, поэтому мы рассматриваем все свои возможности и очень пристально изучаем ситуацию. Это неопровержимое доказательство того, что конкуренты Microsoft финансировали и организовывали массивную кампанию PR и лоббирования против Microsoft, пытаясь незаслуженно испортить имидж компании и спровоцировать вмешательство правительства в благополучную отрасль со здоровой конкуренцией"


Правда, тут скромно умалчивается о том, что нанятые детективы все же кое-что да нарыли, и по поводу того, кому должно быть стыдно, существует по крайней мере две точки зрения :)

dl

Если фирмы Oracle, Microsoft и Sun Microsystems ведут меж собой какие-то войны, то мне-то, пользователю грешному об этом знать? У меня полно других задач, отличных от маркетинговых изысков и простого хамства представителей тех или иных фирм, меньшинств и т.д. и т.п. И, думается мне, я не одинок в своём стремлении получать _ИНФОРМАТИВНЫЕ_ рассылки, касающиеся _ТЕХНОЛОГИЧЕСКИХ_ новшеств в интересующей меня области, а не смотреть как Microsoft поливает грязью всех и вся. Хотя, данный полив "органическими удобрениями" весьма показателен. Я остановлюсь позже на этом моменте. А пока к делу.

Microsoft выпускает в 2001 году новую версию своей ОС. Под кодовым названием Whistler. Б.Г. где-то там выступа и заверял, что всё будет крайне "правильно". Самое интересное в том, что вся система будет строиться на базе новой платформы .NET (dot NET). Предлагается (пока список не полон, т.к. это -- цитата): "В новую платформу войдут такие продукты и сервисы: Windows.NET (новая версия Windows станет платформой для нового поколения сети), MSN.NET (улучшенный портал Microsoft Network позволит получать всю необходимую информацию прямо на Ваш рабочий стол), Office.NET (новое поколение пакета Microsoft Office), bCentral for .NET (платформа для разработки приложений электронной коммерции и малого бизнеса) и наконец Visual Studio.NET (новый пакет для разработки приложений под новую платформу с улучшенной поддержкой XML)."

Прокомментируем:

  1. Windows.NET -- ОС или "сеть"? С какого бы это перепуга операционная система стала "сетью"?

  2. MSN.NET -- жив курилка! Не продали всё-таки эхо убеждения Б.Г. что онлайновые службы -- лучше чем Internet, и что строить нужно именно их. (Для тех у кого память короткая напомню, что это убеждение у Б.Г. было где-то до 1996-97 гг.) До сих пор MSN болтается призраком на "столах" пользователей, которые так и не знают что с этим ярлыком делать. Теперь ясно -- "троянов" нам будут поставлять сразу на рабочий стол. Я уже весь плачу от радости.

  3. Office.NET. Ага. Тут всё ясно -- "агрессивный маркетинг". Операционная система "в одном флаконе" с офисом и Internet'ом. Кто-то там в Microsoft говорил о "здоровой конкуренции"?

  4. bCentral.NET -- не знаю. Пока ещё не проводил "вскрытие". Проведу -- напишу. Может быть.

  5. Visual Studio.NET -- ну это ясно. Куда же без этого-то? Об этом мы поговорим ещё ниже, а пока перемоем косточки тому, что есть.

Получается:

  1. Для "переноса" системы на другие платформы типа RISC и иже с ним, достаточно будет перенести базовое ядро (Win32), основной компилятор и основные модули. Таким образом, получается, что Winstler может оказаться где угодно вплоть до Cray.

  2. Для работы такой системы нужен явно не 486 с 16 MB, как заявлялось при выпуске в свет Windows 95. Смысл анонса от Интел начинает проясняться. Пока процессор подготовят, пока ОС сгондобят со всеми причиндалами... Так до 2001 г. и прорезвятся. Это даже в том случае, если я не буду пессимостом и не стану упоминать как Microsoft выпускает новые ОС (в какие сроки).

Но и это ещё не всё. Где-то около года назад до меня долетали слухи о том, что Microsoft планирует не продавать свои программные продукты, а ПЕРЕДАВАТЬ ИХ В АРЕНДУ. Даже, вроде, партнёров для бизнеса в этом направлении уже нашли. Кроме того, ходили слухи о разрешении делать в программном обеспечении "чёрные ходы" для слежения за лицензионностью "софта" и т.д. и т.п. Это, как вы понимаете, слухи и ничего более. Однако, памятуя о том, что "дыма без огня не бывает", можно попробовать вычислить вектор.

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

Хотя, как мне кажется, не велики будут очереди за новым Pentium'ом и за новой ОС. Может, это и новые даже, местами, "революционные" продукты, однако, есть ряд моментов, которые могут сдержать всё это. Или, даже, загубить на корню.

Самыми серьёзными ограничивающими факторами приходится признать следующие три:

  1. Подобного рода построение системы можно сравнить с системой, на три четверти писаной на SmallTalk или Java. Быстродействие такой системы без _ДЕЙСТВИТЕЛЬНО_ мощного процессора будет крайне низким. Вообще-то, тут дело не только в процессоре. Не стоит забывать и обо всём остальном аппаратном обеспечении. Я не говорю об организациях, в которых все 100% компьютерного парка так же на 100% соответствуют тому, что Microsoft включила в свои списки рекомендуемого оборудования. Я говорю о "среднестатистическом" пользователе, который работает на том, что ему дали. А дали то, что подешевле. Из опыта могу сказать, что в ряде случаев сбои системы (даже самые фатальные), были вызваны некондиционным "железом". О чём, к стати, мало кто вообще упоминает.

  2. Надёжность данной системы вызывает ряд сомнений. Если раньше система строилась как ядро (более-менее толковое ядро Microsoft так и не сделала, т.к. Win32 -- это одно, а MFC -- это несколько другое), которое обеспечивало обработку системных вызовов прикладных программ и ряд утилит, решающих какие-то задачи, то сейчас предлагается использовать везде и всюду одно и то же. А именно -- строить _ВСЮ_ систему из "кубиков" не делая меж ними различий. Конечно, может, я что-то не понял или понял не так, но... Посмотрите на названия модулей. Загляните на сайт Microsoft.

  3. А, к стати, кто сказал, что Internet -- это хорошо. И всегда ли он нужен? И всем ли? И зачем стирать грань между моим личным (privacy) и публичным? С чего бы это? Не смотря на то, что я сам -- "сисадмин", на то, что в сетях более-менее разбираюсь, мне было бы несколько неуютно если бы мне предложили пересесть на терминал, пусть даже и самый крутой. А разве дело ни к этому идёт?

Есть ещё море причин. По крайней мере, найти их можно. Одним словом, поживём-увидим. А пока, ждём-с-с...

Так. Теперь по поводу нового языка от Microsoft.

Имя ему -- C SHARP, (C#). Что нового. Особо сильно распространяться не считаю нужным, т.к. сам только недавно скачал его описание и пока сижу читаю его. И, кроме того, не писал ещё ничего на нём. Однако, есть ряд моментов, которые считаю нужным осветить. По крайней мере, то, что вот так, навскидку, бросается в глаза.

Как было верно замечено Дмитрием Леоновым, это -- помесь языков. "Изрядный уклон" сделан в сторону Java. Т.е. если раньше в Microsoft рыдали по поводу того, что апплеты и приложения Java как-то сложно работают на платформе Wintel, то теперь сами изобрели Java-подобный язык.

По сути дела, этот факт можно назвать продолжением истории 1996-97 гг. про то, как Microsoft и Sun Microsystems судились из-за Java. Вкратце, суть такова. Sun обвинила Microsoft в нарушении лицензионного соглашения. Т.е. в виртуальную машину Java в релизе от Microsoft, был добавлен ряд классов, которые делали этот вариант Java совсем не Jav'ой. Кроме того, продукты, которые использовали данный "диалект" Java нельзя было назвать "Java-совместимыми на 100%". В категорию таких продуктов попадали J++ и Internet Explorer v4.0. Как следствие такой несовместимости апплеты J++ (действительно, это -- не Java), в ряде случаев, нельзя было бы исполнять на том же Sun'е. По слухам, после подачи Sun'ом иска, Б.Г. в ярости распорядился убрать все Java-апплеты с сайта Microsoft. Похоже на правду, т.к. на сайте Microsoft есть только JavaScript-скрипты, точнее -- JScript, что, согласитесь, никоим образом не Java.

Ну, зато теперь Microsoft "взяла реванш". Ай, молодца! Одного взгляда на пример (многострадальный "Hello, world!") достаточно для того, чтобы понять чьи кости легли в основу всего этого:

using System;
class Hello
{
	static void Main() {
		Console.WriteLine("Hello, world");
	}
}

Файл с этой программой назывался бы "hello.sc", компилировался бы командой "csc hello.cs". Результирующий файл -- "hello.exe", результаты исполнения... Угадайте сами.

Теперь по поводу того, как это функционирует.

Как правильно заметил Дмитрий Леонов, везде раскиданы ссылки на некую платформу .NET (см. выше). Пока не ясно до конца что же конкретно это будет. Вероятнее всего, Whistler будет функционировать как набор нескольких виртуальных машин для обеспечения поддержки приложений разных типов (в оптимистическом варианте предположений) в пессимистическом варианте, платформа .NET будет аналогом HAL в Windows NT. Все существующие библиотеки будут обращаться к .NET и... короче говоря, будет весело, т.к. размер базового набора ОС вырастет (в который раз), добавится ещё один уровень абстракции для наших многострадальных приложений и т.д. и т.п. Хотя, если процессор "соответствующий", то выглядеть со стороны всё это может и не плохо.

В пользу этой идеи говорит и то, что, цитирую Дмитрия Леонова: "Однако в .NET SDK определяется Common Langiage Subset (CLS), дающий доступ всем CLS-совместимым языкам (набор этих языков вполне предсказуем: Visual C++, Visual Basic, VBScript, JScript и, разумеется, C#) к общей библиотеке классов и "common execution engine" (опять-таки, пока непонятно, что это такое - общий рантайм или кусок компилятора, как у последнего Васика и VC, или как еще раньше у TopSpeed'овского семейства компиляторов), объединенным под общим названием Next Generation Windows Services, NWGS."

Да не runtime это (в строгом смысле этого слова)! И не общий кусок компилятора. Это, вероятнее всего, (задержите дыхание) "объектно-ориентированная библиотека", которая по сути дела будет интерфейсом между конкретным "железом", на котором работает Winsler и всем остальным программным обеспечением. Соответствующие .NET будут обеспечивать обработку конкретных системных (Windows.NET) и прикладных (Office.NET, bCentral.NET, ...) вызовов. Это я про Common Language Subset.

Сами по себе программы будут работать не столько в среде ОС, сколько в специальным образом организованой обобщённой виртуальной машине (наборе виртуальных машин). Это уже Common Execution Engine. Этот подход гарантирует то, что все вызовы соответствующих подсистем будут надлежащим образом обработаны. Этакая "многослойная ОС". Другой момент -- приложения C# будут работать с Winsler-платформой "напрямую" и без посредников, что гарантирует им весьма приличную скорость исполнения. И, естественно, что при таком подходе, любой написаный мной (вами) кусок кода автоматически становится СОМ-объектом со всеми вытекающими отсюда последствиями.

Кроме того, что я написал в двух предыдущих абзацах, перечитайте-ка ещё раз то, что я написал о переносимости ОС на различные типы аппаратных платформ.

Ещё одним положительным моментом является то, что мы сможем вызывать соответствующие классы, входящие в состав Wistler. По сути дела, сама операционная система станет набором (библиотекой) классов. Т.е. ОС становится "объектно-ориентированной" не только для пользователя, но и для программиста. Вообщем-то не плохо, если учесть что практически ни одна ОС, в данный момент, не является до конца объектно-ориентированной. Как пример можно привести библиотеку MFC от Microsoft. Да, конечно, эта библиотека даёт программисту работать с классами, на базе которых работает сама ОС, однако не со всеми. Кто нибудь видел класс от Microsoft, входящий в MFC и позволяющий работать с данными в базе Registry? Только не надо мне рассказывать о том, что такой класс можно написать так же просто, как два байта переслать. Сам писал, знаю. Однако, такой подход по меньшей мере странен. Кроме того. Файлы MFCxx.DLL не являются "ядром" системы в строгом или, если угодно, "классическом" понимании термина "ядро системы".

И этот пример не единичен. Думаю, каждый из нас, реально работавший с MFC, может подтвердить/дополнить мои слова.

Короче говоря, в Visual Studio 7, этот язык будет добавлен и считается, что мы все резко будем его изучать. Правда, стандартный набор вроде бы то же оставят, дополнив его средствами разработки Web-компонент типа XML. И другими "наворотами" типа Simple Object Access Protocol (SOAP). Сам, честно говоря, не совсем знаю что сие означает, но... Бог с ним. Хай будэ. Из существующего в Visual Studio будет оставлено практически всё, что есть.

Да! Чуть не забыл! Весьма интересным на мой взгляд, будет продолжение серии средств для автоматизации распространения программных компонент и контроля версий. Так называемых, средств "ползучего upgrade'а" системы. Как известно, устанавливая новый ("революционный" -- а как же иначе-то?) продукт от Microsoft, мы неявно производили модификацию как минимум библиотек MFC, как максимум -- половины каталога SYSTEM или SYSTEM32. Теперь, в соответствии с новыми веяниями, эти функции будут, очевидно, возложены на саму систему. Заодно, там же будет проверка версии, языка и т.д. и т.п. Всё это знакомо тем, кто хоть раз использовал сервис установки от Microsoft (.INF-файлы и всё такое). Конец InstallSheld'у? И что там будут ещё "контролировать"? Не превратятся ли слухи о неявном сборе информации Microsoft'ом посредством IE в реальность? Не удивительно, что данные средства пока нигде не описаны. Во-первых, их, очевидно, пока нет (по крайней мере, в отлаженном варианте), а, во вторых, в Microsoft пока не определились -- а что конкретно _МОЖНО_ будет написать.

Ладно, Бог бы с ним со всем. "Пожуём-увидим", как сказал людоед, когда ему сказали, что человек хороший. Пока же я сознательно опускаю делали реализации этого языка, описаные в доступной на 05.07.2000 г. документации. И которые, к стати, Вы сами можете посмотреть, если пойдёте по ссылке: http://msdn.microsoft.com/vstudio/nextgen/technology/csharpintro.asp. На той странице есть переход на самораспаковвывающийся архив, содержащий описание этого языка. Формат документа -- .DOC. В данный момент я готовлю перевод этого интересного документа, который передам редакции HackZone для последующей публикации. А пока -- переварить бы всё это надо.

Кроме того, всё-равно останется ряд вопросов, которые я, даже переведя документацию, вряд ли смогу подробно осветить, т.к. вначале надо написать что-нибудь. Попробовать, пощупать руками, посмотреть "сколько весит". Короче говоря, ждите ещё статей. Причём, IMHO, в ближайшее время.

Барский О.Е.
e-mail : barskyo@mail.ru

P.S. Когда закончил статью, вспомнил. Опять чуть не забыл. В рассылке от HackZone, Дмитрий Леонов написал: "Ощущения прорыва, возникшего когда-то при появлении Явы, нет, но Microsoft всегда славилась не столько генерированием новых идей, сколько шлифовкой и вылизыванием заимствованных или купленных."

Ну, Господи! Дмитрий, окстись! Когда бы это "технари" и "продавцы с острыми зубами и зачёсанными назад волосами" (А. Голуб), были бы одним и тем же? Если фирма (как Sun Microsystems) делает действительно технический прорыв, то результаты этого прорыва доступны для "широких масс" в виде более-менее бесплатного результата. Как, к примеру, Java. Или Дуг Энжельбарт, результаты работ которого вылились в привычную нам "мышь", "оконный интерфейс" и "гипертекст".

А если фирма (какая конкретно назвать?) озабочена маркетингом и ростом продаж, то ей не до того, чтобы заниматься "прорывами". Ей бы "прикрутить" к своему продукту то, что разработано другими. К примеру, тот же язык J++. Зачем туда было совать классы для работы с DirectX? Ладно, о JDBC можно ещё как-то промолчать, благо базы данных есть во всех операционных системах и доступ к ним волей-неволей организоввывать как-то надо. Но ориентация Java на платформу Windows-only -- глупость, продиктованая имперским мышлением верхушки Microsoft.

И о каких прорывах можно говорить в эпоху "царствования" фирмы, которая изначально старалась превратить (и превратила) то, что раньше называлось "Computer Science" в то, что теперь называется "Computer Business"? Это, конечно, не так уж и плохо, но "фронтир" должен быть всегда. Должны быть пограничные зоны для людей, не реализующих до конца свои возможности в бизнесе, более склонных "двигать науку", нежели манипулировать "бизнес-объектами".

Или, всем без исключения "хакерам" и "сисадминам", что в принципе-то не сильно различается (должно не сильно различаться), будет предложено пройти сертификацию Microsoft и подписаться на MSDN? И как это будет выглядеть? "Microsoft Sertificated Hacker"? А... Свидетельства будут? Конечно, я утрирую, но в данном случае у меня есть предчувствие, что это -- смех сквозь слёзы.

Так что, "технологические прорывы" в эпоху Microsoft отменяются. На самом высоком уровне. Остаётся ждать только того, что Microsoft рухнет под грузом собственных ошибок, завернувшись в кокон своих систем. А этого, сдаётся, ждать долго. Вот такие вот сомнения.


Реклама на InfoCity

Яндекс цитирования



Финансы: форекс для тебя








1999-2009 © InfoCity.kiev.ua