Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 2004.11.28;
Скачать: [xml.tar.bz2];

Вниз

Какой средой лучше пользоваться, программируя на 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.57 MB
Время: 0.036 c
14-1100151467
ms
2004-11-11 08:37
2004.11.28
Хочу себе электрогитару...


8-1093358756
redlord
2004-08-24 18:45
2004.11.28
как стереть изображение в компоненте Image


14-1100242960
NewMan777
2004-11-12 10:02
2004.11.28
TDBF


14-1100011016
cjkorg
2004-11-09 17:36
2004.11.28
Программа, удаляющая из матрицы [A] строку и столбец, содержащие


9-1091066199
Bonial
2004-07-29 05:56
2004.11.28
Хромирование объекта





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский