Re[9]: Как-бы продолжение...
От: McSeem2 США http://www.antigrain.com
Дата: 10.01.05 19:54
Оценка:
Спсибо, Андрей! Извиняюсь, что своим провокационным вопросом отнял столько времени, но это было сказано хорошо!

AVK>А в файловой системе точно так же пространство организовано ввиде страниц ака кластеров. В том числе и в NTFS.


Воот. О том и речь. Создай миллион файлов размером 1 байт. Сколько места понадобится? Но у нас, как правило, нет потребности в миллионе файлов по 1 байту, а вот потребность в миллионе объектов в памяти — есть. И чтобы каждый объект имел возможность расширяться без реаллокаций. Эх, мечты...

AVK>Да я вроде подробно объяснил.

[...skipped...]

AVK>Для современных настольных систем производительность процессора на многих задачах сверхизбыточна. И даже если мы напишем софт по старинке — с морем оптимизаций и хардкода, ничерта это не даст в потребительском плане. Вот JIT и GC как раз и утилизируют эту лишнюю процессорную мощность.


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

AVK>Совсем свежий пример — современные десктопы оказались оснащены мощными графическими ускорителями, которые нигде кроме игрушек не используются (миф о 3D-визуализации бизнес-данных на офисных компах и 3D-интернете лопнул как мыльный пузырь). Оказалось тем не менее что благодаря сверхмощным сопроцесорам и огромным объемам набортной памяти можно вернутся к старой модели безоконных приложений, возложив проблемы работы с окнами на графический ускоритель. А заодно практически бесплатно приобретя возможность 3D выпендрежа вроде плавающих, извивающихся, вращающихся, переливающихся окон, motion blur и прочей муры. И вот мы уже видим Aqua на маках, а в перспективе Aero на PC.


Это отдельная песня, о которой я тоже имею некоторое представление. Может быть напишу как-нибудь — душа-то просит

AVK>Лично я совсем не жалею что не надо ковырять регистры видеоадаптера, писать куски на ассемблере, изучать малоисследованные фишки, обходится без 21 прерывания, поскольку оно тормозное и т.п. Нет, конечно когда в свое время я написал оконную библиотеку, работающую в режиме 90х25 символов без дублирующего 9 бита, благодаря чему графический мышиный курсор был честным, без волнышек, то это было круто.


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

AVK>Но заниматься этим на современных компах, когда функциональная сложность фофанного януса выше чем сложности многих тогдашних больших коммерческих систем? Выглядит как неумная забава.


Согласен. Но кто все это обеспечивает?

AVK>Еще один момент — этот процесс практически непрерывен, пока непрерывно увеличение мощностей компьютерных железок. Неделю назад забыли про прямое программирование котроллеров, позавчера про прерывания, вчера про ассемблер, сегодня про рукописную графику, звук, завтра забудем про управление ресурсами, сетевые протоколы. А взамен получаем GC, JIT, интеллектуальные ФС, паттерны, широкое использование метапрограммирования, Software Factories, громадные стандартные библиотеки, слоднейшие IDE и много другого.


О как! Прямо-таки апокалипсис! Но кто-то же должен программировать те самые контроллеры и изобретать GC и JIT?! Или оно само? Теоретически, я не исключаю и такого варианта, что само...
Навеяло диалог из Пелевина, Поколение "П"
   - Слушай, - сказал он, - я чего  понять  не  могу,  Вот,  допустим,
копирайтеры им всем тексты пишут. Но кто за тексты-то отвечает? Откуда
мы берем темы и как мы определяем, куда завтра  повернет  национальная
политика?
   - Большой бизнес, -  коротко  ответил  Морковин.  -  Про  олигархов
слышал?
   - Ага. И что они,  собираются  и  решают?  Или  в  письменном  виде
концепции присылают?
   Морковин зажал большим пальцем горлышко бутылки, потряс ее  и  стал
вглядываться в пузырьки  -  видимо,  его  что-то  захватывало  в  этом
зрелище. Татарский молча ждал ответа.
   - Ну как они могут где-то собираться, - отозвался наконец Морковин,
- когда их всех этажом выше делают.  Ты  же  сейчас  сам  Березовского
видел.
   - Ага, - вдумчиво  ответил  Татарский.  -  Ну  да,  конечно.  А  по
олигархам кто сценарии пишет?
   - Копирайтеры. Все то же самое, только этаж другой.
   - Ага. А как мы выбираем, что эти олигархи решат?
   - Исходя из  политической  ситуации.  Это  ведь  только  говорят  -
"выбираем". На самом деле особого выбора  нет.  Кругом  одна  железная
необходимость. И для тех, и для этих. Да и для нас с тобой.
   - Так что, олигархов тоже нет никаких? Но ведь у  нас  снизу  доска
висит - "Межбанковский комитет"...
   - Да это чтоб мусора уважали, - ответил  Морковин,  -  и  с  крышей
своей не лезли. Комитет-то мы межбанковский, это да, только все  банки
эти - межкомитетские. А комитет - это мы. Во как.
   - Понял, - сказал Татарский.  -  Кажется,  понял...  То  есть  как,
подожди... Выходит, что те определяют этих, а  эти...  Эти  определяют
тех. Но как же тогда... Подожди... А на что тогда все опирается?
   Не договорив, он взвыл от боли - Морковин изо всех сил ущипнул  его
за кисть руки - так сильно, что даже оторвал маленький лоскуток кожи.
   - А вот про это, - сказал он, перегибаясь через стол и заглядывая в
глаза Татарскому почерневшим взглядом, - ты не думай никогда.  Никогда
вообще, понял?
   - А как?  -  спросил  Татарский,  чувствуя,  что  боль  только  что
откинула его от края какой-то глубокой и темной  пропасти.  -  Как  не
думать-то?
   - Техника такая, - сказал Морковин. -  Ты  как  бы  понимаешь,  что
вот-вот эту мысль подумаешь в полном объеме, и тут же себя щипаешь или
колешь чем-нибудь острым. В руку, в ногу  -  неважно.  Надо  там,  где
нервных окончаний больше.  Типа  как  пловец  в  икру,  когда  у  него
судорога. Чтобы не утонуть. И потом, постепенно, у  тебя  вокруг  этой
мысли образуется как бы мозоль, и ты ее уже можешь без особых  проблем
обходить стороной. То есть ты чувствуешь, что она есть, но никогда  ее
не думаешь.  И  постепенно  привыкаешь.  Восьмой  этаж  опирается   на
седьмой, седьмой опирается на восьмой, и везде,  в  каждой  конкретной
точке в каждый конкретный момент, есть  определенная  устойчивость.  А
завалит делами, нюхнешь кокоса и будешь конкретные вопросы  весь  день
решать на бегу. На абстрактные времени не останется.
   Татарский залпом выпил остаток водки и несколько раз подряд ущипнул
себя за ляжку. Морковин грустно усмехнулся.


AVK>Хорошо это или плохо не знаю.


Как сказал LLeo в своем "овощном дозоре" — "Это не хорошо и не плохо. Это — удобрение"...
...Что-то меня сегодня прёт, как удава по стекловате. Вроде ничего подозрительного не курил...

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


На этот счет приведу другую цитату:
     Но  ведь  какая  штука,  спроси  любого  ублюдка  на  улице, что бы  он
предпочел: жить долго, но  скучно, или  коротко, но радостно? И  но  выберет
последнее. Ну да, не все. Но большинство!
     Так что? Все наркоманы? Пусть и в потенциале.
     Но, ***,  почему  этот  уличный опрашиваемый  не  согласится  на  такой
вариант: долго  и радостно?  А  потому,  что он думает,  что так не  бывает.
Столько  лет  все  рвались  к   счастливой   жизни,  что  абсолютно  в   ней
разуверились!


Почему именно "бурчать по поводу" или "скрипя зубами"? Что, третьего не дано? Лично я выбираю "осваивать без зубовного скрежета". Но по-буркивая, ибо нельзя терять критический взгляд на вещи...

MS>>Именно он и является ключевым. Можно и на C++ сделать модель, гарантирующую освобождение ненужной памяти,


AVK>Нельзя. Не существует способа запретить на С++ прямую работу с указателями.


Об том и речь! Прямая работа с указателями по большому счету не мешает автоматическому удалению. А вот чему она точно мешает — так это сохранению целостности данных при перемещении объектов в памяти.

В конце концов — GC не решает проблему утечки памяти! Vlad2 это прекрасно продемонстрировал в Янусе (когда забывал отписываться от событий). GC лишь автоматизирует этот процесс. А вот что действительно ценно — так это постоянное поддержание кучи в порядке. По этой, кстати причине, дот-нетовская аллокация работает в среднем быстрее, чем в C++. И это, соратники, наполняет нас невыразимым блаженством...
McSeem
Я жертва цепи несчастных случайностей. Как и все мы.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.