Текущий архив: 2004.11.28;
Скачать: CL | DM;
ВнизКакой средой лучше пользоваться, программируя на API ? Найти похожие ветки
← →
Comp © (2004-11-07 16:43) [0]Вот собственно вопрос. А вопрос очень серьезный. Считается, что раз это Майкрософтовские штучки, то пользоваться надо Visual C++.
А вот как быть, если на изучение Pascal ты отдал 3 года из пяти своей студенческой жизни, ни ел, ни гулял, ни пил (почти), большую часть свободного времени проводил за компом, за Delphi, познавал свойства компонентов и потом буквально в одночасье понял (для себя), что это просто было потраченное зря время.
А все произошло так:
Однажды посетил некую страницу этого сайта, FAQ, где задавали вопрос "Как уменьшить размер файла программы?" прочитал самый первый ответ:
1) Программировать на API.
...
После этого долго не мог смириться с этим, вообще что это такое, но любопытство победило и вконце концов скачал простенький пример - окно с кнопкой, которая его закрывает.
Конечно это был один файл *.dpr. Никаких DFM. PAS, RES и др. И работало же! И размер был всего 15 кб.
Но потом, что бы совсем не расстраиваться забил на все это.
Это было 2 года назад.
Но вот 2 месяца назад вспомнил. Поискал немного инфы и понял, что программируя на API возможностей намного больше, чем в VCL.
Так вот как быть? С++ знаю только поверхностно - достаточно чтобы понять мало-мальски простенькие примеры и перевести их на Pascal.
Далеко ли можно уйти, используя Pаscal? Стоит ради этого потом покупать Delphi, заведомо зная, что большую часть ее ты не будешь использовать, а лишь некоторые модули.
Или лучше изучать С++?
Посоветуйте пожалуйста.
← →
Гаврила © (2004-11-07 16:49) [1]
> Поискал немного инфы и понял, что программируя на API возможностей
> намного больше, чем в VCL.
неправильно понял. программируя на VCL, ты можешь отдельные функции реализовывать с помощью api.
Если же ты решаешь писать "на чистом API", то совершенно без разницы, на чем - delphi или С++
> Или лучше изучать С++?
Хороший программист должен знать оба продукта
← →
Ihor Osov'yak © (2004-11-07 16:50) [2]Возможности инструментария от Борланд и от Майкрософт, да и самих языков (делфийский паскаль vs сpp с майрософтовскими библиотеками) в части программирования для win32 практически одинаковы. Но вот трудоемкость разработки на D в большинстве случаев будет существенно ниже. Да и среда несколько удобнее (это имхо).
Си знать желательно, хотя бы в режиме чтения только, так как оригинальная документация (от ms) сопровождается примерами на си.
← →
Comp © (2004-11-07 17:04) [3]
> [1] Гаврила © (07.11.04 16:49)
> Хороший программист должен знать оба продукта
Согласен. Но есть вещи любимые и нелюбимые, как и везде...
> [2] Ihor Osov"yak © (07.11.04 16:50)
> Да и среда несколько удобнее
Тоже согласен. Лично я привык к ней уже.
← →
KilkennyCat © (2004-11-07 17:41) [4]
> Или лучше изучать С++?
лучше изучать фундаментальные вещи.
← →
SPeller © (2004-11-07 17:50) [5]А можно юзать KOL чтобы размер был меньше. И на Дельфи, и размер меньше чем с использованием VCL.
← →
Ihor Osov'yak © (2004-11-07 17:53) [6]> лучше изучать фундаментальные вещи.
это само собою. Возможно даже в первую очередь.
← →
Игорь Шевченко © (2004-11-07 17:54) [7]
> Какой средой лучше пользоваться, программируя на API ?
Какой удобно, такой и пользоваться.
И прислушиваться надо к KilkennyCat © (07.11.04 17:41) [4],
а не заниматься супер-пупер мелкими программами.
← →
Сергей Суровцев © (2004-11-07 17:57) [8]>Сomp © (07.11.04 16:43)
>А вот как быть, если на изучение Pascal ты отдал 3 года из пяти
>своей студенческой жизни, ни ел, ни гулял, ни пил (почти),
>большую часть свободного времени проводил за компом, за Delphi,
>познавал свойства компонентов и потом буквально в одночасье
>понял (для себя), что это просто было потраченное зря время.
Действительно зря потраченое время. D как раз и сущестаует для того, чтобы есть, пить, гулять и при этом создавать продуты ПО уровня как минимум не хуже тех, над которыми программисты от MS вынуждены сидеть не отрываясь кучу времени. Одну и ту же яму можно выкопать лопатой и эксковатором. Выбирай сам.
← →
KilkennyCat © (2004-11-07 17:57) [9]
> Ihor Osov"yak © (07.11.04 17:53) [6]
по-моему, обязательно в первую очередь. Иначе остаются языковые шоры и риск полюбить шаблонизм, потом сложнее адаптироваться. Хотя, возможно, это только мой глюк.
← →
Ihor Osov'yak © (2004-11-07 19:09) [10]2 [9] KilkennyCat © (07.11.04 17:57)
а я, что, возражал?
← →
KilkennyCat © (2004-11-07 19:11) [11]
> Ihor Osov"yak © (07.11.04 19:09) [10]
нет :) но сказал "возможно".
← →
Ihor Osov'yak © (2004-11-07 19:31) [12]2 [11] KilkennyCat © (07.11.04 19:11)
а я почти всегда избегаю высказываться в категоричной форме.. особенно в вопросах философии и близких к гуманитарной сфере.
← →
kaZaNoVa © (2004-11-07 19:31) [13]Delphi+Api+сжатие = проги от 3 кб :))
имхо супер !
← →
Ihor Osov'yak © (2004-11-07 19:35) [14]а вот за сжатие - пороть нужно. и очень больно.
← →
KilkennyCat © (2004-11-07 19:58) [15]
> Ihor Osov"yak © (07.11.04 19:31) [12]
согласен. причем в этом случае - категорично :)
← →
Игорь Шевченко © (2004-11-07 21:03) [16]А что за радость от мелких программ ? Ведь понятно, что мелкая программа ничего особо полезного не сделает (имеются в виду единицы килобайт, к которым тут так некоторые стремятся).
← →
KilkennyCat © (2004-11-07 21:24) [17]
> Игорь Шевченко © (07.11.04 21:03) [16]
если в трактовке единиц килобайт - возможно, просто моральное удовольствие?
← →
Сергей Суровцев © (2004-11-07 22:18) [18]>Игорь Шевченко © (07.11.04 21:03) [16]
>А что за радость от мелких программ ? Ведь понятно, что мелкая
>программа ничего особо полезного не сделает (имеются в виду
>единицы килобайт, к которым тут так некоторые стремятся).
-Хорошо что Вы такой зеленый и плоский!
-Это почему?
-А Вы можете лежать на газоне и Вас не будет видно! (с)
← →
Knight © (2004-11-07 22:41) [19]
> [16] Игорь Шевченко © (07.11.04 21:03)
> А что за радость от мелких программ ? Ведь понятно, что
> мелкая программа ничего особо полезного не сделает (имеются
> в виду единицы килобайт, к которым тут так некоторые стремятся).
Не знаю как вы, а я был в шоке увидев игру на 96к и демки с падающими на город обломками метеоритов и т.п. на 64к... в которых нет и намёка на гигабайты бесполезной инфы.
← →
Игорь Шевченко © (2004-11-07 22:53) [20]Knight © (07.11.04 22:41) [19]
> Не знаю как вы, а я был в шоке увидев игру на 96к и демки
> с падающими на город обломками метеоритов и т.п. на 64к
Так на delphiGFX были такие демки, Ян Хорн их писал.
← →
Думкин © (2004-11-08 05:49) [21]> [19] Knight © (07.11.04 22:41)
> Не знаю как вы, а я был в шоке увидев игру на 96к и демки
> с падающими на город обломками метеоритов и т.п. на 64к...
> в которых нет и намёка на гигабайты бесполезной инфы.
Обсасывалось уже. Вывод - кажется, креститься надо. :)
← →
Knight © (2004-11-08 16:32) [22]
> [21] Думкин © (08.11.04 05:49)
> Обсасывалось уже. Вывод - кажется, креститься надо. :)
Так я и говорю именно о тех прогах, которые тут "обсасывались"... поэтому не выставляю никаких ссылок для нового обсуждения... а вам, батенька, креститься надо :)
← →
SPeller © (2004-11-08 16:55) [23]Игорь Шевченко © (07.11.04 21:03) [16]
Ведь понятно, что мелкая программа ничего особо полезного не сделает (имеются в виду единицы килобайт, к которым тут так некоторые стремятся)
Да, но она сделает то что будет делать то же самое что и 400 килобайт на VCL :) "Так зачем платить больше?" (с) :)
← →
SPeller © (2004-11-08 16:58) [24]ЗЫ: Хотя ни к чему очередные споры ЗА и ПРОТИВ, всё-равно каждый при своем мнении останется :)
← →
Rem © (2004-11-08 17:03) [25]>>Да, но она сделает то что будет делать то же самое что и 400 килобайт на VCL :) "Так зачем платить больше?" (с) :)
И вправду, 400 кбайт VCL за 1 день - пустой звук перед 64 кбайт истинного ;) кода вручную за месяц...
← →
Knight © (2004-11-08 17:15) [26]
> И вправду, 400 кбайт VCL за 1 день - пустой звук перед 64
> кбайт истинного ;) кода вручную за месяц...
Я, честно говоря, всегда думал, что компилятор на то и компилятор, чтобы отбрасывать при обработке исходника, всё лишнее, а не трамбовать в него всё что надо и не надо... зачем забивать в исполняемый файл данных на 400кб, если и 64 прекрастно работают, причём, на любой машине...
← →
Piter © (2004-11-08 18:10) [27]SPeller © (08.11.04 16:55) [23]
Да, но она сделает то что будет делать то же самое что и 400 килобайт на VCL :)
логично, поддерживаю. Другой вопрос - во сколько раз сложнее будет написать такую программу...
Knight © (08.11.04 17:15) [26]
Я, честно говоря, всегда думал, что компилятор на то и компилятор, чтобы отбрасывать при обработке исходника, всё лишнее
а компилятор так и делает, вообще-то.
зачем забивать в исполняемый файл данных на 400кб, если и 64 прекрастно работают
а ты напиши аналог VCL, чтобы он занимал 64 Kb - да и пользуйся на здоровье. И я буду пользоваться тогда :)
P.S. Посмотри код инициализации модуля Forms и побегай по ссылкам - поймешь откуда такой размер.
← →
DiamondShark © (2004-11-08 18:19) [28]
> Ведь понятно, что мелкая программа ничего особо полезного
> не сделает
Зато вредного много может сделать ;)
← →
DVM © (2004-11-08 19:11) [29]
> Ведь понятно, что мелкая программа ничего особо полезного
> не сделает (имеются в виду единицы килобайт, к которым тут
> так некоторые стремятся).
Почему программа на API обязательно должна быть маленькая?
← →
DiamondShark © (2004-11-08 19:20) [30]
> DVM © (08.11.04 19:11) [29]
>
> Почему программа на API обязательно должна быть маленькая?
Тогда встречный вопрос: а зачем ей тогда быть на API?
← →
Сергей Суровцев © (2004-11-08 19:30) [31]Вот народ халявы хочет! Аш жуть! Поймите вы - объемом exe вы платите за увеличение на порядок скорости разработки. Это как минимум. Второе - возможность использовать уже готовые огромные куски благодаря компонентной модели. И в скорости компиляции тоже выигрываете в несколько раз. И за все это вы платите ТОЛЬКО лишними несколькими сотнями килобайт в exe - ну неужели это так много? Ну а в серьезных программах эту разницу никто даже не увидит. Нафига, спрашивается весь разговор?
← →
DiamondShark © (2004-11-08 19:37) [32]
> Нафига, спрашивается весь разговор?
Типа, крута. Ну и всё такое...
← →
Knight © (2004-11-08 22:09) [33]> [27] Piter © (08.11.04 18:10)
> а компилятор так и делает, вообще-то.
Если бы он откидывал ВСЁ то от VCL после компиляции проекта, состоящего из одной пустрой формой, не осталось бы ничего, а полученный исполняемый файл не привысил бы размера аналогичной программы на API...
ЗЫ: но мне это не особо мешает... не хай с ним, с размером :)
← →
Плохиш © (2004-11-08 22:17) [34]
> Сергей Суровцев © (08.11.04 19:30) [31]
> Нафига, спрашивается весь разговор?
У них спортивный интерес, пусть занимаются, всё равно им больше делать нечего ;-)
← →
Piter © (2004-11-08 23:53) [35]Knight © (08.11.04 22:09) [33]
> а компилятор так и делает, вообще-то.
Если бы он откидывал ВСЁ то от VCL после компиляции проекта, состоящего из одной пустрой формой, не осталось бы ничего, а полученный исполняемый файл не привысил бы размера аналогичной программы на API...
слушай.. я ведь тебе объяснил - ты читаешь или как?
Компилятор откидывает ВСЕ, что не используется. И это действительно так. Если ты не вызываешь какую-то функцию, и другие вызываемые тобой функции не вызывают эту функцию - то эта функция никогда не будет включена в EXE"шник!
А теперь почему подключение Forms занимает столько места - потому что у Forms есть раздел Initialization - можешь посмотреть! И в этой инициализации столько всего делается и используется, что код становится весомым.
А без инициализации этого модуля формы, увы, работать не смогут.
Так что не надо на компилятор бочки толкать.
← →
vecna © (2004-11-09 00:24) [36]в чем смысл экономить на килобайтах, жертвуя удобством и быстротой разработки ?
← →
GanibalLector © (2004-11-09 00:40) [37]>в чем смысл экономить на килобайтах, жертвуя удобством и быстротой разработки ?
Прежде всего в ЗНАНИЯХ.
← →
Knight © (2004-11-09 01:07) [38]
> [35] Piter © (08.11.04 23:53)
> Так что не надо на компилятор бочки толкать.
Давайте катить бочку на других Борландов, которые пишут такие модули из-за которых бедному компилятору приходится в exe-шник разный хлам трамбовать... %)
← →
Comp © (2004-11-09 02:34) [39]
> [16] Игорь Шевченко © (07.11.04 21:03)
Размер программы - НЕ САМОЕ ГЛАВНОЕ.
В вопросе я указал эту причину, которая пробудила интерес к API. И на этом все.
А сейчас интерес - в том, что это нудное кропотливое программирование на API и есть та изюминка, которую может извлечь НЕ КАЖДЫЙ. Это построение приложение с "нуля" причем так, как "указано" самой Microsoft.
Если бы автором Windows была Borland, то ответ был бы очевиден. Но так как это не так, то API - это самое лучшее решение при разработке программ под Windows. И этому нет опровержений.
---
(KOL тоже написан с помощью API)
---
(KOL тоже написан с помощью API)
← →
GuAV © (2004-11-09 02:41) [40]Comp © (09.11.04 2:34) [39]
Но так как это не так, то API - это самое лучшее решение при разработке программ под Windows. И этому нет опровержений.
API - это единственно правильное решение при разработке программ под Windows.
---
(VCL тоже написан с помощью API)
← →
Comp © (2004-11-09 02:43) [41]И вообще это может быть пост для всех.
Я повторяю - так как Борланд не хозяин Windows, то можно сделать вывод о оптимальности и рациональности выбранного решения.
А на главный вопрос, ребята, я так и не получил ответа.
Стоит ли покупать Delphi?
← →
Comp © (2004-11-09 02:45) [42].
> [40] GuAV © (09.11.04 02:41)
> API - это единственно правильное решение при разработке
> программ под Windows.
Я это и хотел сказать.
Может ты и будешь хоть одним челом, который меня понял...
← →
Comp © (2004-11-09 02:54) [43]к [41]
"Стоит ли покупать Delphi?"
Я хотел точнее спросить, есть ли еще решения кроме Delphi? FreePascal пойдет. Это вообще что такое? Кто нить пользовался? Там можно на API программировать?
← →
Comp © (2004-11-09 02:57) [44]Все таки Delphi как никак у нас тут 105$-иков стоит...
Я просто хочу выяснить, стоит ли игра свечь?
← →
Поручик © (2004-11-09 03:26) [45]Comp © (09.11.04 2:34) [39]
Если бы автором Windows была Borland, то ответ был бы очевиден. Но так как это не так, то API - это самое лучшее решение при разработке программ под Windows. И этому нет опровержений.
Нет опровержений, но если следовать твоей логике, то есть дополнение: ...API в среде от Microsoft - это самое лучшее решение...
Нужен маленький размер, пиши на Asm, пиши свой архиватор, который быдет при запуске проги разархивировать ее, а затем запускать. Думаю пустое окно можно сжать до 10-9kb, если не меньше.
Comp © (09.11.04 2:54) [43]
Я хотел точнее спросить, есть ли еще решения кроме Delphi? FreePascal пойдет. Это вообще что такое? Кто нить пользовался? Там можно на API программировать?
Я не спец по FreePascal, но по-моему, в нем по умолчанию только на API можно программировать.
Comp © (09.11.04 2:57) [44]
Все таки Delphi как никак у нас тут 105$-иков стоит...
Зачем тебе лицензия, если ты программировать не умеешь?
← →
KSergey © (2004-11-09 07:59) [46]> [40] GuAV © (09.11.04 02:41)
> API - это единственно правильное решение при разработке
> программ под Windows.
Вы знаете другой способ написания прог под Windows??! Поделитесь, плиз ;)
По-моему - это вообще единственный путь по определению.
> [44] Comp © (09.11.04 02:57)
> Все таки Delphi как никак у нас тут 105$-иков стоит...
>
> Я просто хочу выяснить, стоит ли игра свечь?
Какие Вы рассматривали альтернативы? Познать можно лишь в сравнении. Если же альтернатив нет - то какой тогда смысл разговора?
Про FreePascal -увы не знаю. К стати, за время потраченное тут в пустых разговорах можно было вполне на него посмотреть ;)
← →
TUser © (2004-11-09 11:11) [47]
> программируя на API возможностей намного больше, чем в VCL
А на асме - еще больше. Лучше сразу для м.Т. - код получится абсолютнол универсальный.
Очень странно, что вы 3 года изучали Delphi и не сталкивались с АПИ.
← →
TUser © (2004-11-09 11:11) [48]А поскольку вопрос про среду, то ответ очевиден - при писании на чисто-АПИ среда имеет очень небольшое значение.
← →
wicked © (2004-11-09 11:23) [49]> Comp [43]
> Я хотел точнее спросить, есть ли еще решения кроме Delphi?
> FreePascal пойдет. Это вообще что такое? Кто нить пользовался?
> Там можно на API программировать?
вот, например, здесь (http://www.free-soft.org/guitool/) и здесь (http://www.thefreecountry.com/sourcecode/gui.shtml) собраны ссылки на наиболее известные решения "чтоб-не-писать-на-АПИ"... большинство из них также более-менее кроссплатформенны...
наиболее яркие из тех, что я видел:
wxWidgets - http://www.wxwidgets.org/ (кто знает, почему они резко переименовались с wxWindow?)
FLTK - http://www.fltk.org/
VCF - http://vcf.sourceforge.net/
FOX - http://www.fox-toolkit.org/fox.html
SmartWin - http://smartwin.sourceforge.net/
WinGTK - http://wingtk.sourceforge.net/
Lazarus - http://www.lazarus.freepascal.org/
WOL - http://wol.sourceforge.net/
выбирай....
← →
wicked © (2004-11-09 11:35) [50]в догонку к wicked [49]:
.NET windows forms забыл упомянуть...
← →
Danilka © (2004-11-09 11:37) [51][49] wicked © (09.11.04 11:23)
Дык, автору ветки как-раз наоборот - винАПИ подавай, а кросс-платформеность нафиг не нужна. :))
[43] Comp © (09.11.04 02:54)
> Я хотел точнее спросить, есть ли еще решения кроме Delphi?
Речения чего? Задачи-то разные бывают. Как правило, это выполнить какой-то определенный проект в определенный срок.
Но есть и бестолковые - пальцы погнуть, ничего полезного не сделав, так, рюшечки безполезные, зато ой какие маненькие. :))
← →
Danilka © (2004-11-09 11:43) [52][50] wicked © (09.11.04 11:35)
точно.
в догонку к Comp ©, а нафига тебе ВинАПИ, если через несколько лет, про него все позабудут?
← →
Pentium133 © (2004-11-09 11:53) [53]Вопорос: Какой средой лучше пользоваться, программируя на API?
Ответ: Любой. Какая тебе больше нравится.
Тему закрыть.
← →
Fay © (2004-11-09 11:54) [54]2 Danilka © (09.11.04 11:43) [52]
И эти несколько лет необходимо (и обязательно) работать охранником в поликлинике?
← →
GuAV © (2004-11-09 11:57) [55]KSergey © (09.11.04 7:59) [46]
По-моему - это вообще единственный путь по определению.
Я именно это и имел ввиду. Просто побоялся сказать об этом так категорично.
По сабжу.
Comp © (09.11.04 2:34) [39]
А сейчас интерес - в том, что это нудное кропотливое программирование на API и есть та изюминка, которую может извлечь НЕ КАЖДЫЙ.
На самом деле изюминки программирования не в этом.
API - это как asm. Знать его полезно даже если пишешь на Дельфи (хоть и не абсолютно необходимо), но писать что-то большое на этом не следует - лучше взять более производительное решение.
Да и знать API не получится вобщем-то. Можно только знать основные принципы, и уметь искать в MSDN.
← →
Danilka © (2004-11-09 13:16) [56][54] Fay © (09.11.04 11:54)
Кому как больше нравицца. Если очень хочется охранником в поликлиннике - милости просим. Там, иногда, такие сестрички встречаются - загляденье.
А так, мое скромное мнение - работай с VCL наздоровье, скорость разработки на порядок выше чем то-же самое, но на ВинАПИ. Все-таки, сейчас более критичен не размер бинарника, а именно скорость и качество разработки.
← →
Странник © (2004-11-09 13:35) [57]
> Вопорос: Какой средой лучше пользоваться, программируя на
> API?
Far, Norton Commander, Notepad, ........
← →
[lamer]Barmaglot © (2004-11-09 13:52) [58]Ну добавлю я и свое мнение...
1. Пишут на WinAPI для того чтобы понять как это работает в нутри... Так же как в институту изучают Asm для того что-бы показать как ЭТО работает, в желании писать как можно ближе к системе нет ничего плохого, наоборот по моему мнению любое желание опустится ближе к железу надо приветствовать. Например у человека появится понимание что такое PChar и с чем его едят. Так же он узнает, что для него оказывается надо выделять память и т.д. Кроме того переносимость программ из одного языка программирования в другой очень высокая... Программа написанная в WinAPI на Delphi практически не отличается от той же программы на С++...
2. Теперь второе ИМХО учить Си надо и ты действительно потерял(грубо говоря - поскольку никакие знания не бывают лишними) три года, чтобы тебе здесь не говорили... И дело даже не в том, что Си лучше или быстрее, а в СВОБОДЕ. В любой момент перед тобой лучший мануал всех времен и народов MSDN и PSDK, перед тобой ЛУЧШИЕ писатели (догадайся, тот Рихтер на которого здесь все ссылаются на каком языке писал? А Фень Юань? и т.д.) перед тобой возможность выбирать компилятор (какой мне взять от микрософта, от интела или чей - нибудь стороний?) и наконец перед тобой возможность выбирать ось (как это не странно) Язык Си является практически стандартом. Поэтому если ты со знанием Си перейдешь на Линукс, особых проблем у тебя не возникнет он там давно (с самого начала) все исходные тексты линукса на Си... А вот все твои знания Delphi там не понадобятся, поскольку покупать Kylix, когда под боком есть бесплатный компилятор, по меньшей мере глупо...
← →
Григорьев Антон © (2004-11-09 13:55) [59]
> Piter © (08.11.04 23:53) [35]
> Knight © (08.11.04 22:09) [33]
> > а компилятор так и делает, вообще-то.
> Если бы он откидывал ВСЁ то от VCL после компиляции проекта,
> состоящего из одной пустрой формой, не осталось бы ничего,
> а полученный исполняемый файл не привысил бы размера аналогичной
> программы на API...
>
> слушай.. я ведь тебе объяснил - ты читаешь или как?
>
> Компилятор откидывает ВСЕ, что не используется. И это действительно
> так. Если ты не вызываешь какую-то функцию, и другие вызываемые
> тобой функции не вызывают эту функцию - то эта функция никогда
> не будет включена в EXE"шник!
> А теперь почему подключение Forms занимает столько места
> - потому что у Forms есть раздел Initialization - можешь
> посмотреть! И в этой инициализации столько всего делается
> и используется, что код становится весомым.
> А без инициализации этого модуля формы, увы, работать не
> смогут.
>
> Так что не надо на компилятор бочки толкать.
Во-первых, выкидывает не компилятор, а компоновщик (линкер), который работает уже после компилятора. Во-вторых, компоновщик не умеет выкидывать виртуальные методы, т.к. в общем случае нельзя определить, будут ли они использованы или нет. Поэтому 400 кб - это не код инициализации модулей, а, в основном, код неиспользованных виртуальных методов.
← →
Игорь Шевченко © (2004-11-09 13:58) [60]
> Поэтому 400 кб - это не код инициализации модулей, а, в
> основном, код неиспользованных виртуальных методов.
А посмотреть ?
← →
Danilka © (2004-11-09 14:05) [61][58] [lamer]Barmaglot © (09.11.04 13:52)
> Теперь второе ИМХО учить Си надо и ты действительно потерял(грубо
> говоря - поскольку никакие знания не бывают лишними) три
> года
...
> В любой момент перед тобой лучший мануал всех времен и народов
> MSDN и PSDK
Однако, чтобы разобраться с примерами MSDN необязательно 3 года изучать Си, достаточно более менее сносно с ним разбираться.
Далее, на счет линусков, интелов и прочее. Все зависит от места и характера работы. Если у кого-то на работе Дельфи плюс какая-нибудь СУБД, то зачем ему все это, всякие линуксы и прочее? Вообще, как говорицца, "надо лезь в одну гору".
← →
KilkennyCat © (2004-11-09 14:08) [62]я вот тут решил программистом стать... какой язык лучше мне выбрать, чтоб сразу круто и все такое...
← →
Pentium133 © (2004-11-09 14:11) [63]
> я вот тут решил программистом стать... какой язык
> лучше мне выбрать, чтоб сразу круто и все такое...
Телячий. Очень вкусный говорят.
← →
[lamer]Barmaglot © (2004-11-09 14:12) [64]то KilkennyCat © (09.11.04 14:08) [62]
Что бы сразу круто и все такое, лучше на мерсе ездить и с бабушек на рынке деньги вытрясать :-).
то Danilka © (09.11.04 14:05) [61]
>Далее, на счет линусков, интелов и прочее. Все зависит от места
>и характера работы. Если у кого-то на работе Дельфи плюс какая-
>нибудь СУБД, то зачем ему все это, всякие линуксы и прочее?
>Вообще, как говорицца, "надо лезь в одну гору".
То есть ты признаешь, что Delphi это узко специализированный язык предназначенный для совершенно определенной задачи?
← →
Comp © (2004-11-09 14:38) [65]
> Поручик © (09.11.04 03:26) [45]
> Зачем тебе лицензия, если ты программировать не умеешь?
Откуда такое убеждение?
За свои слова принято отвечать.
← →
Comp © (2004-11-09 14:39) [66]
> Поручик © (09.11.04 03:26) [45]
> Зачем тебе лицензия, если ты программировать не умеешь?
Откуда такое убеждение?
За свои слова принято отвечать.
← →
Danilka © (2004-11-09 14:48) [67][64] [lamer]Barmaglot © (09.11.04 14:12)
> То есть ты признаешь, что Delphi это узко специализированный
> язык предназначенный для совершенно определенной задачи?
Нет, для очень широкого круга задач.
← →
Comp © (2004-11-09 15:00) [68]
> Danilka © (09.11.04 11:37) [51]
> Дык, автору ветки как-раз наоборот - винАПИ подавай, а кросс-платформеность
> нафиг не нужна. :))
Это что еще за реплика такая? Я ничего не требую себе подавать.
ВСЕМ
Ладно, ребята, спасибо за советы, подсказки, ссылки, "проучения", я так подумал и решил.
Наверно стоит все-таки покупать Делфи. Никогда не знаешь, что потом произойдет. Каждый раз сидеть и программировать на API тоже мало продуктивное занятие. Иногда бывают моменты, когда требуется решить задачу в кратчайшие сроки. Ну например, какую нибудь программу для научной работы, для нового изобретенного устройства и т.д. Вплоть до какого-нить мало мальского, но срочного заказа какого нибудь ларька или магазинчика.
Если не иметь своей библиотеки (а я этого пока не имею) своих компонентов на API, то это дело очень долго будет делаться. Другое дело - это когда ты вооружен хотя бы как-то хотябы основными компонентами, тогда можно. А если нет, то увы...
И к посту
> Danilka © (09.11.04 11:43) [52]
> [50] wicked © (09.11.04 11:35)
> точно.
> в догонку к Comp ©, а нафига тебе ВинАПИ, если через несколько
> лет, про него все позабудут?
Это тоже правильно. Может через лет 5-10 про Windows будут говорить как о чем-то второстепенном...
ВСЕ МОЖЕТ БЫТЬ...
← →
Danilka © (2004-11-09 15:13) [69][68] Comp © (09.11.04 15:00)
> Это что еще за реплика такая? Я ничего не требую себе подавать.
Ну, извини, если тебя обидела эта реплика. Заголовок ветки: "Какой средой лучше пользоваться, программируя на API", причем здесь кросс-платформеность?
> Может через лет 5-10 про Windows будут говорить как о чем-то
> второстепенном...
Скорее, не позабудут про Микрософт, но при ВинАПИ позабудут наверняка - будет тотальный .NET
← →
}|{yk © (2004-11-09 15:18) [70]Можно взять бесплатные борландовские free commanline tools (C++ 5.5, но без оболочки), и скачать с sf.net нормальную оболочку под него (кстати, может работать и с mingw-gcc).
← →
Comp © (2004-11-09 17:01) [71]
> [69] Danilka © (09.11.04 15:13)
Не, я понял, что ты это насчет того, что переводят тему в другое русло.
Просто слово "подавай ВинАПИ" как бы предполагает, что я что-то от кого-то требую...
← →
Comp © (2004-11-09 17:04) [72]
> [70] }|{yk © (09.11.04 15:18)
Спасибо.
← →
KilkennyCat © (2004-11-09 17:16) [73]
> [lamer]Barmaglot © (09.11.04 14:12) [64]
> То есть ты признаешь, что Delphi это узко специализированный
> язык предназначенный для совершенно определенной задачи?
а Delphi - это язык?
← →
}|{yk © (2004-11-09 17:18) [74]Delphi - это язык
← →
Юрий Зотов © (2004-11-09 17:30) [75]> Comp © (07.11.04 16:43)
> Какой средой лучше пользоваться, программируя на API?
Классической.
То есть, Блокнотом.
← →
}|{yk © (2004-11-09 17:33) [76]А дебаггер (даже gdb) как к Блокноту (вы его так уважаете, что с большой бувы пишете :) как прицепить?
← →
Игорь Шевченко © (2004-11-09 17:36) [77]}|{yk © (09.11.04 17:33) [76]
td32 (свободный, от того же Borland"а) и цеплять никуда не надо. Надо приложение под ним запускать.
← →
Jeer © (2004-11-09 17:54) [78]KilkennyCat © (09.11.04 17:16) [73]
}|{yk © (09.11.04 17:18) [74]
>а Delphi - это язык?
Будем точны - это технологизм.
Недавно (2003 г.) Object Pascal стал называться по имени среды - Delphi.
← →
Юрий Зотов © (2004-11-09 18:15) [79]> }|{yk © (09.11.04 17:33) [76]
В данном случае Блокнот - название программы. То есть, имя собственное.
Имена собственные пишутся с большой буквы.
(с) Русский язык.
Дебаггер же никуда прицеплять не требуется. Компилятор тоже. И линковщик - тоже никуда прицеплять не надо.
← →
}|{yk © (2004-11-09 18:18) [80]Были б вы CIO Borland, давно бы фирма прогорела :)
← →
SPeller © (2004-11-09 18:18) [81]Григорьев Антон © (09.11.04 13:55) [59]
Линковщик не умеет выкидывать перекрытые методы (тот, кого перекрыли, и тот, который перекрыл). Можешь проверить. Плюс ко всему RTTI тоже не два десятка байт занимает. Теперь если учесть как построена VCL, то станет понятно почему в пустом проекте 400 КБ.
← →
Юрий Зотов © (2004-11-09 18:29) [82]> }|{yk © (09.11.04 18:18) [80]
Все просто. Если человек не владеет "классикой" и хочет жить исключительно под интегрированными средами - зачем тогда вообще говорить о чистом API?
← →
}|{yk © (2004-11-09 18:35) [83]Нет, я не против, что мелкие правки можно делать в блокноте, кроме того у нас для каждого проекта пишется bat-файл, которым компилируется проект. Но делать весь проект в блокноте - извините. Если для небольших (3-5 Кб) прог на асме это мне подходило, то для прог на Delphi это очень неудобно. Да и использовать td не очень удобно - ошибку то видишь, а исправить не можешь.
← →
Юрий Зотов © (2004-11-09 18:42) [84]> }|{yk © (09.11.04 18:35) [83]
Еще раз - если человек хочет жить исключительно под интегрированными средами, зачем тогда вообще говорить о чистом API?
Хочешь иметь маленькую программу - делай ее ручками. Не хочешь делать ручками - не говори о маленьких программах.
← →
kaZaNoVa © (2004-11-09 18:44) [85]я пробовал делать прогу (Win32 PE EXE) ASM-API-Сжатие - > получалось от 900 байт !!
вот это немного %)))))
← →
}|{yk © (2004-11-09 18:44) [86]Да ладно, берем masm32 и программки получаются маленькие, и ручками мало что делать нужно - даже для создания классов на асме (!!!) есть интерфейс.
← →
GuAV © (2004-11-09 22:46) [87]Н
Два символа выше этой строки, это очень небольщая программа.
Написана с помощью клиента этого форума и справки по asm.
Размер два байта. Пользы нуль - ничего не делает.
Для выполнения запишите в файл с расширением com и выполните этот файл.
← →
vertal © (2004-11-09 23:33) [88]Вот ссылка на еще один интересный компилятор и паскаля , и си для Win32
http://home.perm.ru/~strannik/
Я тоже думаю, что для вызова API-функций действительно без разницы , писать на паскале(delphi) или с(с++). Но вот на VB это будет гораздо более неудобно.
← →
KilkennyCat © (2004-11-09 23:44) [89]
> GuAV © (09.11.04 22:46) [87]
вау, я всегда мечтал о такой программе! где можно скачать? и не сильно ли траффик сожрет?
← →
GuAV © (2004-11-09 23:58) [90]KilkennyCat © (09.11.04 23:44) [89]
Здесь. (это не ссылка а просто слово означающее что прога здесь)
Выделяешь букву Н и пробел за ней в начале поста [87] и копируешь текст. Записываешь его в файл proga.com Это можно сделать с помощью блокнота.
Трафик уже сожран. Бери и пользуйся чтобы он не был сожран впустую.
← →
Поручик © (2004-11-10 01:11) [91]Comp © (09.11.04 14:38) [65]
> Зачем тебе лицензия, если ты программировать не умеешь?
Откуда такое убеждение?
За свои слова принято отвечать.
Хоть и позно, но отвечу, за 2 месяца API не выучишь.
← →
Piter © (2004-11-10 01:14) [92]Comp © (09.11.04 2:45) [42]
> API - это единственно правильное решение при разработке
> программ под Windows.
Я это и хотел сказать.
Может ты и будешь хоть одним челом, который меня понял
эх, ты даже не понимаешь, что тебе говорят. Неужели ты до сих пор не понял, что все программы в конце концов используют WinApi??? Что VCL это лишь удобная прослойка между тобой и WinApi! И GuAV имеет в виду, что фактически нет других правильных способов программировать под винду, чем использовать WinApi (ну еще .NET). И VCL в том числе использует WinApi. До тебя это дойдет когда-нибудь И ТЫ, да, да, ИМЕННО ТЫ будешь восторгаться насколько продуманно и грамотно все сделано в VCL.
Поручик © (09.11.04 3:26) [45]
Думаю пустое окно можно сжать до 10-9kb, если не меньше
Да наверняка меньше килобайта можно...
TUser © (09.11.04 11:11) [47]
А на асме - еще больше
да неучто? Это неправда хотя бы потому, что в Дельфи возможны ассемблерные вставки...
wicked © (09.11.04 11:23) [49]
вот, например, здесь (http://www.free-soft.org/guitool/) и здесь (http://www.thefreecountry.com/sourcecode/gui.shtml) собраны ссылки на наиболее известные решения "чтоб-не-писать-на-АПИ"... большинство из них также более-менее кроссплатформенны...
ну ты же не хочешь сказать, что они вообще не вызывают API функции ОС? :)
[lamer]Barmaglot © (09.11.04 13:52) [58]
Теперь второе ИМХО учить Си надо и ты действительно потерял(грубо говоря - поскольку никакие знания не бывают лишними) три года, чтобы тебе здесь не говорили... И дело даже не в том, что Си лучше или быстрее, а в СВОБОДЕ. В любой момент перед тобой лучший мануал всех времен и народов MSDN и PSDK, перед тобой ЛУЧШИЕ писатели (догадайся, тот Рихтер на которого здесь все ссылаются на каком языке писал? А Фень Юань? и т.д.) перед тобой возможность выбирать компилятор (какой мне взять от микрософта, от интела или чей - нибудь стороний?) и наконец перед тобой возможность выбирать ось (как это не странно)
да, ты прав. Зато в Дельфи есть VCL - а это много.
Там ты имеешь потенциальные возможности переносимости кода (хотя опять же Kylix), более широким распространением, обширной документацией. Но все это надо уметь читать, писать, преобразовывать. И если ты этому научился - то тебе уже параллельно на чем писать.
Зато в Дельфи есть VCL и быстрая компиляция, что очень подходит для создания бизнес-приложений :)
Jeer © (09.11.04 17:54) [78]
Будем точны - это технологизм.
Недавно (2003 г.) Object Pascal стал называться по имени среды - Delphi.
Давайте совсем точными быть - он стал называться Delphi Language
← →
KilkennyCat © (2004-11-10 01:17) [93]
> GuAV © (09.11.04 23:58) [90]
а нелп где? а регистрация нужна? и можно хелп на русском...
← →
GuAV © (2004-11-10 01:27) [94]Нелпа нет. есть ридми. скопируй [90] в файл ридми тхт. регистрации не нужно - абсолютно бесплатно. ответсвенность за время потраченное впустую не несу.
← →
KilkennyCat © (2004-11-10 01:31) [95]блин... как все сложно-то... не, мне такая прога не нужна. еще вирус подхвачу...
← →
jack128 © (2004-11-10 01:32) [96]Piter © (10.11.04 1:14) [92]
чем использовать WinApi (ну еще .NET).
А .NET, в текущей её реализации не использует WinAPI? ;-)
← →
GuAV © (2004-11-10 01:55) [97]Машинные коды рулят. Любой код даже код на .NET будет выполнятся процессором как последовательность машинных кодов.
При написании программы в машинных кодах возможности становятся максимальными. можно написать прогу, драйвер и даже ОС !
← →
Поручик © (2004-11-10 02:02) [98]
> написать прогу, драйвер и даже ОС !
Assembler - прослойка между машинными кодами и программистом, знаешь Asm = можешь все.
← →
KilkennyCat © (2004-11-10 02:04) [99]знаешь 0 и 1 - можешь абсолютно все.
← →
Поручик © (2004-11-10 02:16) [100]KilkennyCat © (10.11.04 2:04) [99]
знаешь 0 и 1 - можешь абсолютно все.
Не думаю, что таких много.
Вспомнил фильм "Земное ядро", там чувак, как раз знал 10110100.
← →
KilkennyCat © (2004-11-10 02:19) [101]
> Поручик © (10.11.04 02:16) [100]
на БК-0010 раньше мог.
← →
Danilka © (2004-11-10 11:49) [102][92] Piter © (10.11.04 01:14)
> Да наверняка меньше килобайта можно...
Нельзя. По-моему, на тасм32 самое маленькое приложение создающее пустое окно получалось то-ли 4, то-ли 5 килобайт. :))
Там-же писанины дофига, надо вызвать несколько винАПИ функций с кучей параметров, а еще сам заголовок РЕ и т.д.
← →
kaZaNoVa © (2004-11-10 20:17) [103]Danilka © (10.11.04 11:49) [102]
MASM32 + FSG = 880 байт - один мессагебокс
с окном - 1.5 кб
← →
Piter © (2004-11-11 10:20) [104]jack128 © (10.11.04 1:32) [96]
А .NET, в текущей её реализации не использует WinAPI? ;-)
ну ты ведь понял, что я хочу сказать...
Danilka © (10.11.04 11:49) [102]
Там-же писанины дофига, надо вызвать несколько винАПИ функций с кучей параметров, а еще сам заголовок РЕ и т.д.
Заголовок нужен. Но вот куча функций? Регистрируешь класс + вызов CreateWindow + выборка сообщений. Я думаю, что можно уложиться... хотя фиг знает конечно, не проверял...
← →
Comp © (2004-11-12 14:30) [105]
> Поручик © (10.11.04 01:11) [91]
А Я, ХОТЬ ЕЩЕ ПОЗДНЕЕ СКАЖУ - ВСЕ ЗНАТЬ НИ ОДИН ЧЕЛОВЕК НЕ МОЖЕТ. А Я И НЕ ГОВОРИЛ, ЧТО Я ЗНАЮ ВЕСЬ АПИ.
ОСНОВЫ ЗНАЮ. ПОКА ЭТОГО ДЛЯ НАЧАЛА ДОСТАТОЧНО, ЧТО БЫ В ДАЛЬНЕЙШЕМ РАЗВИВАТЬ СВОЮ БАЗУ ЗНАНИЙ.
← →
Comp © (2004-11-12 14:34) [106]
> Piter © (10.11.04 01:14) [92]
А я и не спорю, что VCL написана на АПИ. НО!!!
Твое высказывание насчет того, что это удобная прослойка между пользователем и ВинАПИ не имеет доказательств. Лично я с этим не согласен.
Вот KOL - да. Человек делал грамотно. Потому что сам умный. А насчет VCLb извини, поддержать не могу...
← →
Danilka © (2004-11-12 16:18) [107][103] kaZaNoVa © (10.11.04 20:17)
Речь шла не о мессагебоксе, а о пустом окне.
[104] Piter © (11.11.04 10:20)
Угу, но но все это на ТАСМ32 заняло не меньше 4КБ откомпилированого кода. Возможно на МАСМ32 на самом деле меньше получается, судя по: [103] с окном - 1.5 кб
[106] Comp © (12.11.04 14:34)
На самом деле это не так. посмотри сам внимательнее, отказываясь от чего там достигается небольшой размер экзешника, и на сколько это удобно остальным. Впрочем, ответом на второй вопрос будет простой показатель: сколько серьезных проектов делается с использованием КОЛ и сколько с VCL. Кстати, КОЛ не единственная такая библиотека, есть еще и другие подобные.
Страницы: 1 2 3 вся ветка
Текущий архив: 2004.11.28;
Скачать: CL | DM;
Память: 0.78 MB
Время: 0.043 c