Re[12]: История одной оптимизации
От: VladD2 Российская Империя www.nemerle.org
Дата: 31.10.05 16:19
Оценка:
Здравствуйте, eao197, Вы писали:

E>А чего тут подробнее? Я уже несколько раз об этом говорил. Ты привел в качестве примера свой опыт на тот момент, когда ты и программировать-то нормально не умел (по твоим же словам). А следовательно (для меня лично) -- грош цена этому опыту.


Опыт есть опыт. Просто бессмысленно его оценивать по тому чей это опыт. Да и не причем там умение программировать.

E>Да и ты сам сказал:

E>

E>Вообще-то я говорил о другом. Я говорил, о том, что надо знать что делашь, и не делать ничего просто так.

E>Так вот, делая вторую или третью программу в своей жизни, сложно знать "что делаешь".

Об этом и говорилось в рассказе.

E>Ну об этом мы уже говорили.


Ага. Но бестолку.

E>Не так уж и долго MC разрабатывал OS/2. Уже OS/2 2.0 IBM доделывала без MC, а уж OS/2 3.0 и OS/2 4.0 были сделаны вообще без МС.


Да, да. Не долго. Ровно от начала и до момента когда МС понял бесперспективность ее развитя.
Короче МС ее создал. И этим все сказано.

VD>> Так вот в МС поняли, что OS/2 не является продуктом который требует рынок. Другими совами OS/2 не оптимальна для пользователя. Тогда МС начала разработку NT. NT оказался продуктом бескомпромисным, в отличии от OS/2 и намного более перспективным, но на то время NT была еще более неприемлема для пользователей. Тогда МС создала проект Чикаго (будующую Вынь 95). Его суть была скрещивание Windows 3.11 и Windows NT. Зазача быал — впихнуть максимум возможностей NT в ОС имеющюю намного меньшие потребности в ресустах и намного большую совместимось с 16-битным миром. Главное что пропихнул МС в Чикагу — это Win32 ATI. Конечно существовал Win32S, но в нем было реализовано уж очень мало нужных вещей. Причем и те что были реализованы — эмулировались. Второе по важности было введение изолированных адресных пространств. Для императивных языков того поколения это было очень важное нововведение. Дале шли многопоточность и красивый UI.


E>Так об этом я и говорил.


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

E> Обе корпорации хотели сделать продукт следующего уровня для PC. Только MC отталкивалась от нужд пользователей и поэтому смогла привлечь к себе разработчиков ПО.


Это так.

E>А вот IBM, видимо, расчитывала на стройность архитектуры, но нужды пользователей были им фиолетовы.


А это не так. Небыло в Полуоси никакой стройности архитекруры. Полуось, как и Вынь95 была компромисом. Причем многопараметрическим. И в определении важности приоритетов IBM координально ошиблась.

E> Уж не знаю как, но IBM не удалось привлечь разработчиков ПО.


Ну, почему же? До появления 95-ых и NT очень многие разработчики перепрыгнули на Полуось. Причем некоторые так привязались к ней, что стали откровенными ее фанатами. Другое дело, что при наличии более привлекатльной ОС только фанатики ее и не бросили. ОС оказалась не интересной в первую очередь для пользователей. А уж для программистов было только неудобно что АПИ этой ОС сильно отличалось от Виндовс 3.х которая в то время держала рынок.

Кстати, что до быстро бросила, то я вспоминаю как году в 1994-ом я читал документацию по MS C 6 и море ее было посвящено разработке для Полуоси 1.х. А вот СДК для виндовс там небыло. Так что МС довольно долго смотрел на Полуось как на любимое детя.

E>Не надо мне-то байки про ненадежность OS/2 рассказывать. Она падала только из-за кривых драйверов (как и NT).


До некоторой версии она намертво зависала от банального метвого цикла. Даже вынь 3.1 можно было в таких случаях оживить, а Полуось — нет. В общем, снова фанатский спор. Надоело. Сравнивать NT 3.х и Полуось (особенно ранних версий) по надежности — это форменный фанатизм.

E> Ну и Watcom-овский отладчик пару раз у меня OS/2 повесил. Так что надежность Warp-а была ничуть не хуже NT.


Warp был тогда когда Полуось уже была практически на лопатках. Да и он не дотягивал до NT по надежности. Другое дело, что в NT 4 был сделан шаг назад. Но этот шаг делался в рассчете на то, что ОС завоюет хайэндный рынок где тогда нужна была быстрая 3D-крафика. В общем, очередной разумный компромис.

VD>>Извини, но это очередная бредятина про оптимизацию. В стандарте С++для std::string описывается только интерфейс. Реализация же может быть любая. Посему твоя оптимизация на некоторых библиотеках приведет к потере производительности (хотя и небольшой). Но главное она в очередной раз усложнит код.


E>ДА-А-А? Ну-ну. Примеры в студию, пожалуйста.


Примеры чего? Вот ты живой пример. Ты изучил исходники всех реализаций STL?

VD>>Например, погляди как реализован CString в MFC. Сам объект содеражит только ссылку на динамически занимаемый блок памяти. Все остальное в этом блоке. Передача CString в качестве параметра и даже возврат его из функции — это самое верное решение как с точки зрения производительности, так и с точки зрения удобства использования.


E>И многопоточности, надо полагать.


Давай еще про распределенные системы поговорим. Это тоже будет очень в тему.
... << RSDN@Home 1.2.0 alpha rev. 618>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.