Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.219.22.169] |
|
Страницы: (3) 1 [2] 3 все ( Перейти к последнему сообщению ) |
Сообщ.
#16
,
|
|
|
GTK - The GIMP Toolkit Кроссплатформенная библиотека для создания пользовательского интерфейса. Написана польностью на языке C, но имеются биндинги практически на все, на чем только можно писать, в т. ч. на Mono (точно) и C# (кажется). C++ биндинг называется gtkmm (можно найти по запросу в google). В качестве примеров кроссплатформенных приложений, использующих GTK можно назвать: 1. GIMP -- GNU Image Manipulation Program 2. Mozilla/Firefox -- по крайней мере, в Linux оно на GTK. 3. Ethereal -- анализатор сетевых пакетов. Обалденная штуковина. Там я впервые и увидел GTK+-2.0 4. AbiWord -- кроссплатформенный текстовый редактор (процессор?). 5. StarDict -- аналог Lingvo, но словарей значительно меньше. Также широко известен GNOME (*nixo'овый десктоп), Xfce -- Linux'овый WM, Adobe Acrobat Reader v7 использует GTK под Linux, в винде он нативный. В принципе, существует немало GTK'шного софта. Немного о самой библиотеке: 1. Объектно-ориентированный подход -- в рамках языка C реализовано нечто вроде классов. 2. Для расположения виджетов используются layouts (как в Qt, Java), а не абсолютное позиционирование (хотя можно и так). 3. Внешний вид GTK приложений настраивается с помощью тем. В качестве примера можно посмотреть, например, сюда. 4. Имеется дизайнер окошек glade.gnome.org, который в т. ч. может сохранять результат в виде XML файла, из которого впоследствии может быть вычитан с помощью libglade и весь код GUI уместится буквально в 10 строчек. Glade так же может сгенерить C или C++ код для соответствующего виджета, но Glade -- это только редактор интерфейсов, но не IDE. 5. Windows-порт (конечно, можно собрать и самому, но я даже не пытался) Реально писать под GTK и полностью руками, только имена процедур длинноваты , но результат получается очень качественный и (ИМХО) красивый. |
Сообщ.
#17
,
|
|
|
s-mike, читая твои посты все больше убеждаюсь, что для делфистов чем вычурней интерфейс программы - тем круче. И такие компоненты, и сякие компоненты, и фенечки и рюшечки... Как будто бы в этом заключается вся суть разрабатываемой программы. Я, конечно, не считаю, что интерфейс обязан быть топорным, но и программа, разукрашенная как рождественская елка, тоже не есть гуд.
Добавлено Цитата s-mike @ интегрированная среда разработки (сюда я включаю в первую очередь интегрированную отладку) Интересно, а почему для тебя интегрированная отладка и, собственно, качество отладчика - первоочердное свойство среды? Может ли это (косвенно) говорить о качестве кода, на отладку которого необходимо тратить столько времени? |
Сообщ.
#18
,
|
|
|
И, кстати, еще (по поводу отладчика). Сколько кликов мышки тебе придется сделать для того, чтобы достичь результата простой gdb-команды "break foo", где foo - функция, находящаяся неизвестно в каком исходнике неизвестно какого модуля?
|
Сообщ.
#19
,
|
|
|
Цитата Может ли это (косвенно) говорить о качестве кода, на отладку которого необходимо тратить столько времени? Flex, по-моему, ты перегибаешь палку в другую сторону. В сторону мега-профессионализма. Дело в том, что нынешняя потребность в программистах гораздо выше количества ультра-профессионалов, к которым ты, безусловно, относишься. Это раз. Следовательно - .. вот. Это было во-первых. А во-вторых: если в среде есть крутой отладчик, то это гораздо лучше, чем если бы его не было. Это совершенно однозначно и даже не обсуждается. В-третьих: подумай о багфиксерах! В любом значительном объёме кода баги будут . А как ловить?... |
Сообщ.
#20
,
|
|
|
Цитата BugHunter @ Flex, по-моему, ты перегибаешь палку в другую сторону. В сторону мега-профессионализма. Дело в том, что нынешняя потребность в программистах гораздо выше количества ультра-профессионалов, к которым ты, безусловно, относишься. Это раз. Следовательно - .. вот. Ты мне льстишь. Но не об этом речь. Если кто-то, расписывая достоинства среды, начинает с описания того, какой крутой у нее отладчик, меня это (сейчас) начинает наводить на разного рода мысли, корень которых - в отладчике такому человеку приходится проводить очень и очень много времени. С чего бы это? Я не сколько не сомневаюсь в профессионализме s-mike'а, но всему должны быть свои причины. |
Сообщ.
#21
,
|
|
|
Цитата начинает с описания того, какой крутой у нее отладчик Ну нужно же было с чего то начать. Я, например, писал в одной среде, где отладчик был единственным достоинством. И его, в принципе, хватало. |
Сообщ.
#22
,
|
|
|
Flex Ferrum, интегрированный отладчик - это безусловно достоинство среды, без него среда была бы менее удобной. И часто весьма кстати приходятся и брейкпойнты, и пошаговая трассировка, и просмотр значений переменных, и много чего другого. То что мне это нравится не значит, что я все время провожу в нем. Но при ловле багов (как чужих, так и своих) это сильно помогает. Ты не согласишься?
Цитата Flex Ferrum @ s-mike, читая твои посты все больше убеждаюсь, что для делфистов чем вычурней интерфейс программы - тем круче. Я этого никогда не говорил! И не люблю, когда Дельфи называют языком для "кликальщиков", хотя таких много. И то что я знаю и использую большое количество компонентов не значит, что я их пихаю в одно окно. Я этого тоже не люблю. Но использование компонентов помогает быстро и без лишних повторений кода создать качественный (если и сам компонент качественный) дизайн приложения. Не вижу в этом ничего плохого и это никак не говорит о том, что я любитель "вычурного интерфейса программы". Возьмем например тот же DSPack. Возможно сишникам покажется дикостью использовать DirectShow в качестве визуального компонента. Но представим себе задачу включить в программу возможность воспроизведения видео. Положив на форму или создав в рантайм пару компонентов из DSPack я уже получаю полнофункциональный видеоплейер с возможностью воспроизведения в разных режимах (в окне, полноэкранный, на рабочем столе), возможностью изменения позиции в видеоклипе, возможностью изменения громкости, цветокорркецией. И разве это неудобно? Сколько пришлось бы кодить используя чистые апи и интерфейсы? Еще раз повторяю. Ценность Дельфи не в большом количестве "рюшечек", а в скорости разработки интерфейса, благодаря чему (да, да!) можно сконцентрироваться на коде! Цитата Flex Ferrum @ Я, конечно, не считаю, что интерфейс обязан быть топорным, но и программа, разукрашенная как рождественская елка, тоже не есть гуд. Полностью согласен. |
Сообщ.
#23
,
|
|
|
Цитата s-mike @ Положив на форму или создав в рантайм пару компонентов из DSPack я уже получаю полнофункциональный видеоплейер с возможностью воспроизведения в разных режимах (в окне, полноэкранный, на рабочем столе), возможностью изменения позиции в видеоклипе, возможностью изменения громкости, цветокорркецией. А насколько легко с помощью этого контрола можно сделать обработку видео? Например, в рантайме накладывать текст, отфильтровать и т.д.? Кстати, может привести в этой теме полный список наиболее популярных библиотек? Так будет проще ориентироваться, да и просто информация для кого-то будет весьма ценной. |
Сообщ.
#24
,
|
|
|
Цитата s-mike @ И часто весьма кстати приходятся и брейкпойнты, и пошаговая трассировка, и просмотр значений переменных, и много чего другого. А покажи мне отладчик, в котором этого нет? Кстати, про "break foo" ты мне так и не ответил... Цитата s-mike @ Но использование компонентов помогает быстро и без лишних повторений кода создать качественный (если и сам компонент качественный) дизайн приложения. Не вижу в этом ничего плохого и это никак не говорит о том, что я любитель "вычурного интерфейса программы". Точно также, как использование соответствующих библиотек классов позволяет достичь того же на C++. Так в чем же разница то? Или реюзинг - изобретение делфистов и нигде больше не используется? Цитата s-mike @ Еще раз повторяю. Ценность Дельфи не в большом количестве "рюшечек", а в скорости разработки интерфейса, благодаря чему (да, да!) можно сконцентрироваться на коде! Еще не доказано, что в других средах это недостижимо. Зачастую разработка на VC (как и на Delphi) сводится к поиску необходимой библиотеки. А написано много чего... |
Сообщ.
#25
,
|
|
|
Цитата x0ras @ А насколько легко с помощью этого контрола можно сделать обработку видео? Например, в рантайме накладывать текст, отфильтровать и т.д.? А может не нужно придумывать искусственные задачи для того, чтобы продемонстрировать "слабость Дельфи" (как многим кажется)? Цитата Flex Ferrum @ А покажи мне отладчик, в котором этого нет? Кстати, про "break foo" ты мне так и не ответил... Уклоняемся от темы! Речь шла о среде с отладчиком, а не об отладчике с брейкпоинтом. А про "break foo" - ну нету такого в Дельфи, нету. Да и сделано это скорее для облегчения пользования именно внешним отладчиком. Цитата Flex Ferrum @ Точно также, как использование соответствующих библиотек классов позволяет достичь того же на C++. Так в чем же разница то? Или реюзинг - изобретение делфистов и нигде больше не используется? Считай компоненты - это Delphi-way. Кому-то нравится, кому-то нет - право каждого. Мне например нравится. И я писал почему. Библиотек кода и для Дельфи хватает. Мы же говорим об интерфейсе и наборе компонентов для интерфейса, где Дельфи занимает одну из самых сильных позиций. Цитата Flex Ferrum @ Еще не доказано, что в других средах это недостижимо. Зачастую разработка на VC (как и на Delphi) сводится к поиску необходимой библиотеки. А написано много чего... А я и не отрицаю. И в Дельфи точно также - многое уже давно написано. Ну а про Дельфи-way я уже выше писал. Давайте в дальнейшем не отходить от темы. А то когда я говорю об интегрированной среде разработки - тему уводят в сторону, говоря об отладчиках, когда говорю о количестве компонентов для Дельфи - мне говорят о "вычурности интерфейса" и "кликальщиках" и т.д. Это что, попытка уйти от темы при отсутствии аргументов? |
Сообщ.
#26
,
|
|
|
Цитата s-mike @ Мы же говорим об интерфейсе и наборе компонентов для интерфейса, где Дельфи занимает одну из самых сильных позиций. А я, по твоему, о чем говорю? О булочках? Я тоже говорю об интерфейсе. Тебе уже как-то пытались объяснить, что то, что ты называешь "компонентом" - ничто иное, как библиотека, удовлетворяющая заданному интерфейсу. Просто в C++-средах это понятие специальным образом не выделяют. А библиотек, написанных для, например, MFC - достаточно много. Добавлено Цитата s-mike @ Уклоняемся от темы! Речь шла о среде с отладчиком, а не об отладчике с брейкпоинтом. А про "break foo" - ну нету такого в Дельфи, нету. Да и сделано это скорее для облегчения пользования именно внешним отладчиком. А никто и не уклоняется. Тебе предложили задачу для решения с помощью встроенного отладчика... Дело в том, что для просмотра значения переменных, пошагового выполнения программы, расстановки брякпоинтов супернавороченные среды и не нужны... |
Сообщ.
#27
,
|
|
|
Хм... Я как-то уже привык без отладчика - его мне заменяет простой MessageBox().
Для меня отладчик - самое сомнительное преимущество. Но, конечно, для больших проектов MessageBox'ом не обойдёшься... А GTK только для Linux? А есть Windows-версия? |
Сообщ.
#28
,
|
|
|
Alexander RUS, GTK есть для всего, что движется. На http://www.gtk.org/ Просвещение желающим раздают.
|
Сообщ.
#29
,
|
|
|
Цитата его мне заменяет простой MessageBox(). Для меня отладчик - самое сомнительное преимущество. Видимо, проекты, в которых ты участвовал, были недостаточно большими. |
Сообщ.
#30
,
|
|
|
Цитата s-mike @ А может не нужно придумывать искусственные задачи для того, чтобы продемонстрировать "слабость Дельфи" (как многим кажется)? И снова мы возвращаемся к задачам... 1) Это был просто вопрос. Никаких провокаций. Мне действительно интересно насколько гибкими могут быть компоненты. 2) Давай уже перестанем говорить о распространенности задачи. Если задача не встречается лично тебе, это не значит, что их никто не решает. Это далеко не искусственная задача. Потребности в такого рода возможностях встречаются скорее чаще, чем встроенный видеоплеер не ясно для чего... Цитата Flex Ferrum @ А никто и не уклоняется. Тебе предложили задачу для решения с помощью встроенного отладчика... Дело в том, что для просмотра значения переменных, пошагового выполнения программы, расстановки брякпоинтов супернавороченные среды и не нужны... Flex, все же о GUI библиотеках говорим. Про отладчик мы в "C++ vs. Delphi" все выяснили. Цитата BugHunter @ Видимо, проекты, в которых ты участвовал, были недостаточно большими. Точно! |