На чем написан ваш плагин?
Модераторы: Avada, CaptainFlint, Nik, d-view, Моторокер
2All:
А я с Dest полностью согласен. Си и ещё раз Си, а ещё лучше асм, но времени жалко:). Делфа создаёт очень мудрёные exe'шники - размер что ни говорите велековат, оптимизация...а она там есть вообще?:) Это не голословно: кто-нить когда-нить смотрел на DisAsm дельфовских прог? Кто нет - не смотрите, лучше спать будете. А %яйца% тут не причём. Коли человек знаком с ассмом и истинный фанат оптимизации как я, тот меня прекрасно поймёт и согласится.
А я с Dest полностью согласен. Си и ещё раз Си, а ещё лучше асм, но времени жалко:). Делфа создаёт очень мудрёные exe'шники - размер что ни говорите велековат, оптимизация...а она там есть вообще?:) Это не голословно: кто-нить когда-нить смотрел на DisAsm дельфовских прог? Кто нет - не смотрите, лучше спать будете. А %яйца% тут не причём. Коли человек знаком с ассмом и истинный фанат оптимизации как я, тот меня прекрасно поймёт и согласится.
асм ту не причем... плуг для чтения ISO файлов написан на плюсах, вес - около 10Kb, а форматов понимает до х..... много... размер файла всегда будет зависеть от языка, потому что каждый язык программирования предполагает что программа будет исполняться в некотором окружении (.NET платформа, еще какой-нить интрерпретатор)... так случилось, что для C/C++ это окружение это сама винда, отсюда и небольшой размер бинариев... для паскаля аналогичное окружение - это VCL (или как его там, я про родное окружение, которое изначально по дизайну задумано, а не привнесено в силу каких-то причин)... осюда следствие: плуги надо писать на том языке, на котором написана прога/система 
а вы заметили как объектно ориентированный подход сказывается на размере программы, с появлением новой структуры или класса размер сразу подскакивает (у меня порядка 30 классов и 60 структур они гады мне весь объем и делают), так-что для размера больше подходит процедурно ориентированное программирование, да только в нем черт ноги сломит.
hoopoe
Ну то, что Cя - крутой язык, я с тобой согласен, в остальном - практически нет. Кстати не так давно (года 2-3 назад) я считал так-же как и ты
. Но... Пописав малость на API, поюзав MS С++, и порывшись в исходниках VCL (для делфей) теперь так не считаю
. Поройся в заголовочных файлах Сей и в основных модулях Делфей (Windows, System - там где нет объектов), и ты убедишься, что они практически идентичны - сплошные вызовы различных функций из системных DLL-ок
. Использование VCL влечет за собой внесение в код программы кучу всякого ненужного хлама - модуль Controls появляется, как только ты кинешь хоть одну кнопку на форму, но ведь кроме кнопки этот модуль несет еще кучу всякого барахла, которое ты не используешь - возможность создать окна совершенно другоих классов, т.е. прога тянет за собой то, что она не будет использовать. И так практически со всеми модулями.
По поводу писания на API тоже фигня вылазит... Да, програмулька с ерундовой функциональностью маленькая получается (хоть на C, хоть на Borland C, хоть на Делфях). Но... Стоит начинать расширять ее возможности... И приплыли... Яркий пример - DSView - как я ни старался, один черт размер "пух" прямопорционально функциональности
. Кстати програмулька аналогичной функциональности на Сях весит где-то также... Короче говоря IMHO размер программы в первую очередь зависит от мозгов программера (как он сможет выкрутится использовать поменьше классов и соответственно подключаемых модулей), от рациональности написанного кода программы и уж в последнюю очередь от среды, в которой написана программа. Это только мое мнение, возможно оно в чем-то неверное, а возможно во всем (в этом случае меня и близко к программированию допускать нельзя
).
Ну то, что Cя - крутой язык, я с тобой согласен, в остальном - практически нет. Кстати не так давно (года 2-3 назад) я считал так-же как и ты
По поводу писания на API тоже фигня вылазит... Да, програмулька с ерундовой функциональностью маленькая получается (хоть на C, хоть на Borland C, хоть на Делфях). Но... Стоит начинать расширять ее возможности... И приплыли... Яркий пример - DSView - как я ни старался, один черт размер "пух" прямопорционально функциональности
SCHMaster
твоя правда, но получается так что на делфях проще писать, но мучаешся с сохранением маленького размера, тем самым усложняя себе жизнь и отказываясь от этого самого легкого программирования, а на щях писать изначально сложнее но автоматом пропадает проблема с размером итогового файла, получается что в борьбе за размер делфи теряет все свои преимущества и даже в этом случае размер на щях будет чуть-чуть меньше, а писать чуть-чуть сложнее.
на мой взгляд всетаки делфи это высокоуровневый язык, а си по сравнению с ним несовсем.
твоя правда, но получается так что на делфях проще писать, но мучаешся с сохранением маленького размера, тем самым усложняя себе жизнь и отказываясь от этого самого легкого программирования, а на щях писать изначально сложнее но автоматом пропадает проблема с размером итогового файла, получается что в борьбе за размер делфи теряет все свои преимущества и даже в этом случае размер на щях будет чуть-чуть меньше, а писать чуть-чуть сложнее.
на мой взгляд всетаки делфи это высокоуровневый язык, а си по сравнению с ним несовсем.
На Delphi писать действительно удобнее. А размер... Даже если не брать во внимание возможность писать на WinAPI или KOL|MCK, то ведь размер можно и уменьшить. Во-первых есть упаковщики (хотя их можно использовать не всегда), а во-вторых есть такая вещь, как StrepReloc (http://www.jrsoftware.org/), хотя в случае с плагинами ее использовать и нельзя...[/list]
Nik
кстати программы написанные на вижелщах зажимаются гораздо лучше чем делфевые, так что тут разрыв в процентном соотношении только увеличивается. К примеру все программы что я писал на щах зажимались в 4 раза (примерно) а на делфях только в 2 (правда все это мой личный опыт и возможно я не прав).
кстати программы написанные на вижелщах зажимаются гораздо лучше чем делфевые, так что тут разрыв в процентном соотношении только увеличивается. К примеру все программы что я писал на щах зажимались в 4 раза (примерно) а на делфях только в 2 (правда все это мой личный опыт и возможно я не прав).
Parcan
Ну к примеру, если ты используешь только одну функцию из SysUtils - IntToStr, то накой тянуть весь модуль? Да к тому-же в SysUtils IntToStr
довольно таки "растянута". Или из-за одного диалога открытия файлов - модуль Dialogs? Не... Лично я имею несколько своих таких модулей (что-то собрано из разных источников, что-то накидал сам - в основном ASM-вставки, либо прямые вызовы API, малость "обрамленные"). И размер можно порубать раза в 1,5-2 (даже с VCL). Плюс я практически не использую "левые" компоненты, только если сильно нужно, либо если это в основе программы (SynPlus), а если нужно, "рисую" свои классы, но не регистрирую их как компоненты (я могу и "ручками" падключить нужный модуль, и так-же "ручками" создать и уничтожить класс в рунтайме
). Результат получается ощутимый. Еще одна возможность... Правда я часто о ней забываю в запарке. Открой любой EXE-шник (хоть после Сей, хоть после Делфей) и ты увидишь там кучу хлама в виде ресурсов, которые ты туда недобавлял. Удалить нахрен. И с десяток-полтара, а то идва kb выиграешь.
Ну тут есть выход. Очень, кстати, несложный.тем самым усложняя себе жизнь и отказываясь от этого самого легкого программирования
Ну к примеру, если ты используешь только одну функцию из SysUtils - IntToStr, то накой тянуть весь модуль? Да к тому-же в SysUtils IntToStr
довольно таки "растянута". Или из-за одного диалога открытия файлов - модуль Dialogs? Не... Лично я имею несколько своих таких модулей (что-то собрано из разных источников, что-то накидал сам - в основном ASM-вставки, либо прямые вызовы API, малость "обрамленные"). И размер можно порубать раза в 1,5-2 (даже с VCL). Плюс я практически не использую "левые" компоненты, только если сильно нужно, либо если это в основе программы (SynPlus), а если нужно, "рисую" свои классы, но не регистрирую их как компоненты (я могу и "ручками" падключить нужный модуль, и так-же "ручками" создать и уничтожить класс в рунтайме