Re[19]: Связные списки версус динамические массивы
От: Pavel Dvorkin Россия  
Дата: 29.03.10 11:45
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>Здравствуйте, Pavel Dvorkin, Вы писали:


AVK>Да что ты уперся в эти имена? Там и без имен хватает что хранить. Типовой узел AST вполня модет содержать десятки указателей, чтобы навигация по дереву была максимально быстрой.


Что-то мне кажется, что а) десятки — многовато и б) даже для десятка это всего лишь 40 байт.

PD>> Что-то я не верю, что понадобилось вдруг в 100 раз больше.


AVK>А я нигде и не писал, что в 100 раз больше понадобилось для компиляции.


А я и не говорил, что это ты писал. Просто те компиляторы работали в 64 К, а нынешние на 6.4 М работать ни за что не будут, да и на 64 М — не уверен.

PD>>А что, сотни тысяч надо все сразу ?


AVK>Для рефакторинга, интеллисенса и прочих подобных вещей — да.


Не знаю я решарпер, спорить не буду. Но интеллисенс есть был и в VS 5-6, для С++ ничем не хуже он тогда был, его, собственно, и не изменили. А работало все на 32-64 Мб физической ОП.

PD>> Но я все же думаю (с решарпером не знаком, но с аналогичным работал), все ограничивается не таким уж большим числом файлов и методов.


AVK>Твои теории не верны.


Ну это уже не аргумент.

AVK>>>И 64К уже не хватит для программ соотв. размера.


PD>>Не понял. Ты что, не понимаешь, что такое #include ?


AVK>А ты понимаешь, что такое количество проходов компилятора


Понимаю. В VС++ — один + второй от линкера (c2.dll).


>и почему раньше боролись за их минимизацию в том числе и урезанием фич языка


Никто ничего не урезал, насколько я помню, в том же ТурбоПаскале. Наоборот, расширили, а потом еще первый вариант ООП прикрутили , и все в 640 К.


>а современные компиляторы делают десятки проходов?


Откуда такая информация ? Ссылку дай, только не по экзотическим языкам.

>Почему раньше во многих языках мейнстрима была такая вещь как forward declaration а сейчас обычно обходятся без нее?



Отроду в Фортране не было. В C K&R не было (и до сих пор необязательна) — я прототип функции имею в виду. Где были-то ?


>Почему раньше библиотеки у многих языков имели специальный формат файла


Ну ты даешь. Формату COFF уже сто лет в обед.

>а сейчас в качестве библиотек используются исполняемые файлы?


Ты про статические библиотеки слышал ?

PD>>>>Ты попробуй напиши со всей своей командой программу, в которой 100000 имен


AVK>>>Решарпер вполне такая программа.


PD>>Ну-ну...


AVK>Опять ну-ну. Это легко проверяется, благо вся метаинформация в сборках решарпера доступно. Посчитать суммарное количество имен типов, их членов и параметров совсем несложно.


А любопытно бы.

PD>>3 * 100000 = 300000 секунд = 83 часа = 3 месяца. Круглосуточно, без перекуров, обеда и сна.


AVK>И что? Решарпер не первый год существует, и команда не из одного человека состоит. Я конечно понимаю, что ты с таким никогда не сталкивался, но существуют проекты, которые намного больше решарпера.


Я с таким не сталкивался. Слава богу

PD>>А вот когда надо будет, тогда и загрузим.


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


А все же, почему нельзя загружать и выгружать по мере надобности ?

PD>>А потом выгрузим, и опять загрузим


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


Если бы они все одновременно работали, то я бы согласился. Но реально работают только некоторые. Остальным можно послать команду "стоп", потом выгрузить, сохранив состояние, если надо. Все это решаемо. Есть же даже выгрузка драйверов 0 кольца, а это тебе не плагин.

AVK>>>По историческим причинам.


PD>>Хорошие были причины


AVK>Нормальные. FoxPro, к примеру, МС купил готовым продуктом уже не первой версии.


Знаю.
With best regards
Pavel Dvorkin
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.