Главная страница
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)



Страницы: 1 2 3 вся ветка

Текущий архив: 2004.11.28;
Скачать: CL | DM;

Наверх




Память: 0.58 MB
Время: 0.034 c
1-1100250594
Sokrat
2004-11-12 12:09
2004.11.28
Программное скролирование в WebBrowser


14-1100332550
Vaitek
2004-11-13 10:55
2004.11.28
SPAM BLIN DOSTAL


14-1099496088
icebeerg
2004-11-03 18:34
2004.11.28
Delphi & 1C


1-1100157619
starter
2004-11-11 10:20
2004.11.28
Насколько случайна Random


1-1100159181
AndreykA
2004-11-11 10:46
2004.11.28
Поместить форму программы поверх всех окон