LINUX.ORG.RU

Насколько выгодно изучать gobject?


0

2

Попытался изучить и понять gobject с ходу - не получилось. Какой-то мутноватый он мне показался и тыжелый.

Вопрос к изучившим: насколько более мощным он будет по сравнению с С++ и какие у него есть такие фичи, ради которых его стоит изучить?

По ходу дела, подскажите мануал по gobject-у, ибо по гнушному я не понял ни черта.

Очень прошу не срать в комментах.

★★

Вопрос к изучившим: насколько более мощным он будет по сравнению с С++ и какие у него есть такие фичи, ради которых его стоит изучить?

Он не будет более мощным по сравнении с C++.

Это костыль, который позволяет реализовать ООП средствами чистого C. Нужен он только плюсофобам и разработчикам под gtk и glib, которые принципиально не хотят юзать плюсовые обертки.

Deleted
()

ибо по гнушному я не понял ни черта.

Этот что-ли? Вроде все понятно.

насколько более мощным он будет по сравнению с С++

Все его преимущества: интроспекция, динамические свойства, сигналы, есть и в Qt, только в разы проще. В GObject приходится вручную выполнять ту работу, которую в Qt выполняет moc и компилятор.

+еще ручное управление подсчетом ссылок (Мне это напоминает «Отвечательную машину» из «Сказки о тройке» Стругацких).

congestion_control
()

а еще есть vala

anonymous
()
Ответ на: комментарий от congestion_control

> интроспекция, динамические свойства, сигналы, есть и в Qt, только в разы проще

Прям таки в разы? Как меряли?

anonymous
()
Ответ на: комментарий от Reset

Очень прошу не срать в комментах.

лучше забей на эту %уету и изучи лисп

Лор ещё торт :)

true_admin ★★★★★
()
Ответ на: комментарий от anonymous

>Вопрос заключается в том, в чём это значительность.

Если бы тебя в самом деле интересовало именно это, ты бы не добавил в конце фразу «Как меряли». А так понятно - потроллить зашел.

Вот например: http://www.linux.org.ru/forum/development/5641624#comment-5642017

Выше я уже написал про moc и компилятор. Не поленись перечитать пост, на который отвечаешь. Можешь еще прочитать исходники какой-нибудь telepathy: большая часть кода - это то, что вообще-то должен делать компилятор.

congestion_control
()

Ну как вам сказать, это гнутый софт. На нем пишут СПО. А таких компаний, которые пишут СПО и человек может в них заработать денег не очень много. И попасть в них еще тяжелее.

Например по Qt больше трудоустройства, так как он позиционируется для написания и анальных зондов в том числе. Активный маркетинг, бренд Nokia и т.д. Компании ведутся, а на гномостек остается СПО. Для работы - лучше Qt, но он все равно разы менее востребован чем Java и .NET. Деньги лучше рубить на них.

Для души, конечно лучше изучить академически/теоретически полностью корректный тулкит. Полноценное ABI, фундаментальных подход к построению привязок, очевидный ЯП, такое поделке Qt и не снилось. Но это больше для души и по политическим убеждениям.

Конечно на такой талант покупательно найдется и за нормальное бабло, но нужно быть гуру и работа за бугром. Так всегда бывает с не мейнстримом. То же самое будет если изучишь хаскель или скалу.

vertexua ★★★★★
()

Если нужно gtk, знаешь c++ и не хочешь осиливать gobject, то есть gtkmm.

GotF ★★★★★
()

Ответ всем сразу

Меня просто поражает то огромное количество программ на ГТК, _большинство_ из которых написано на С с использованием искомого gobject'а.

Неужели он такой крутой, что, познав его, начинаешь городить мега-код, который рвет по скорости написания и выполнения все остальное? Вопрос желтоват, конечно, но в точности отражает весь этот топик?

bk_ ★★
() автор топика

По сравнению с чистым C++ там на порядки более грамотное ООП.

По сравнению с Qt:

в Qt много костылей исключительно для C++
GObject на порядки легче Qt прикручивается к высокоуровневым языкам и к сборщику мусора. Qt же - практически исключительно C++ное поделие - на C++ и для С++

anonymous
()
Ответ на: Ответ всем сразу от bk_

Неужели он такой крутой, что, познав его, начинаешь городить мега-код, который рвет по скорости написания и выполнения все остальное? Вопрос желтоват, конечно, но в точности отражает весь этот топик?

Именно, крутой, рвет все остальное по скорости выполнения. Но если на С, то по скорости написания далеко не рвет. Вот на Python, пожалуйста.

vertexua ★★★★★
()
Ответ на: комментарий от Deleted

Да, читал именно это. Вероятнее всего, читал поверхностно - вот ничего и не понял.

bk_ ★★
() автор топика
Ответ на: комментарий от vertexua

Например по Qt ... он позиционируется для написания и анальных зондов в том числе. ....

Но это больше для души и по политическим убеждениям.

Фанатики - они такие, да. Особенно если у них гном на аватарке.

Для души, конечно лучше изучить академически/теоретически полностью корректный тулкит.

Обоснуй, ибо:

Полноценное ABI

Что имелось ввиду? Чем ABI Qt неполноценен?

фундаментальных подход к построению привязок

Что значит «привязки»? Биндинги?

очевидный ЯП

Это C - очевидый? Ладно там какой-нить PHP или Python.

Kosyak ★★★★
()
Ответ на: комментарий от Reset

лучше забей на эту %уету и изучи лисп

Всё правильно сказал!

mv ★★★★★
()
Ответ на: комментарий от anonymous

Любитель собирать систему десятью разными компиляторами? Под гну/линукс есть один общеупотребимый компилятор - гцц, и он имеет аби для плюсов.

Yareg ★★★
()
Ответ на: комментарий от vertexua

> Именно, крутой, рвет все остальное по скорости выполнения. Но если на С, то по скорости написания далеко не рвет.

Тестировали тут. c++ порвал ваши объекты из gtk. от 10% до в несколько раз

namezys ★★★★
()
Ответ на: комментарий от shylent

Пиши, я не против. Питон и Перл в принципе где-то рядом стоят по свихнутости их автора.

anonymous
()
Ответ на: комментарий от namezys

> c++ порвал ваши объекты из gtk. от 10% до в несколько раз

отличное сравнение )))) язык с тулкитом. ну прям всем тестам тест :)

Deleted
()
Ответ на: комментарий от anonymous

>> лучше забей на эту %уету и изучи лисп

лучше забить на это %овно и учить хаскел

Лучше на все забить и уехать в какой-нибудь Урюпинск

slackwarrior ★★★★★
()
Ответ на: комментарий от anonymous

> Это такой механизм психологической защиты?

Психологической защиты от чего?

Вполне очевидно, что для чисто числодробильных задач, pure-python - не лучший вариант (потому что лучший вариант - Си). Только не говорите, что я вам только что Америку открыл.

shylent
()
Ответ на: комментарий от shylent

Python вообще хреновый вариант, даже не pure. Особенно в плане распараллеливаемости(т.к. GIL).

В итоге, имеем:
1) Реализации Python тормозят.
2) Большинство реализаций CL - нет. Особенно SBCL. Его вполне можно использовать для числодробилок, не прибегая к приблудам на Си; в крайнем случае можно задействовать встроенный ассемблер.

Внимание, вопрос: к чему был высер про тормоза лиспа?

anonymous
()
Ответ на: Ответ всем сразу от bk_

> Неужели он такой крутой, что, познав его, начинаешь городить мега-код, который рвет по скорости написания и выполнения все остальное?

думаю, gtk все же выбирают часто не за gobject, а потому что это единственный из 2 тулкитов, под который можно писать на C :)

waker ★★★★★
()
Ответ на: комментарий от anonymous

> даже не pure. Особенно в плане распараллеливаемости(т.к. GIL)

Одно с другим не сочетается (т.е. «не pure» и GIL), потому что GIL вступает в игру только при обращении к объектам python. Тот же numpy сдает GIL при выполнении своего кода.

shylent
()
Ответ на: комментарий от waker

> под который можно писать на C :)

И гнуть пальцы, что я написал 150 строк кода для одной кнопочки, чего другие не умеют.

namezys ★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.