Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 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
3-1099162141
Мирон
2004-10-30 22:49
2004.11.28
Как узнать кол-во удаленных записей в процедуре


6-1095849884
Cherepovets
2004-09-22 14:44
2004.11.28
Организация копирование по сети


9-1091015986
Evgeniy_K
2004-07-28 15:59
2004.11.28
Параметры экрана


14-1100149608
Dmitriy O.
2004-11-11 08:06
2004.11.28
Ясир Арафат умер. Официально


1-1100175582
Zilog
2004-11-11 15:19
2004.11.28
устройство возвращает через com порт данные. Как хранить?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский