LINUX.ORG.RU

Гном ответил троллям

 , , , , ,


0

0

Сейчас очень часто подымается вопрос о том, что Gnome все больше зависит от Mono. Jeffrey Stedfast решил тщательно проанализировать ситуацию и переубедить "пугающих народ троллей".

1) GNOME зависит от Mono

Это категорически неверно, т.к. при удалении Mono Gnome останется целым и невредимым, пропадут только некоторые программы, такие как Tomboy, F-Spot, Banshee и/или Beagle.

2) GNOME зависит от libbeagle, программы на Mono.

И это неправда. Браузер документации Yelp использует С-библиотеку libbeagle, которая может быть использована для поиска запросов через IPC (Inter-Process-Communication) к демону Beagle, если он установлен. Он не зависит от Beagle, но может пользоваться им для расширения функционала. Планируется даже заменить libbeagle на более универсальную библиотеку, способную общаться и с Tracker.

3) NDesk-DBus заменит DBus в GNOME.

GNOME зависит от С-библиотеки libdbus, и ничего не изменится, пока сам dbus не будет отброшен. NDesk-DBus, написанный знаменитым Альпом Токером (Alp Toker) - это замена текущим байндингам DBus-Sharp к libdbus, написанной на C. Главное отличие NDesk-DBus от DBus-Sharp - то, что DBus-Sharp использует libdbus, в то время, как NDesk-DBus - это полноценная реализация DBus протокола на C#.

Команда GNOME не только не хочет, но и не может заменить DBus на NDesk-DBus, т.к. нативные приложения, вызывающие методы управляемого кода - это что-то в области фантастики.

4) Наступит день, когда будет невозможно написать программу для GNOME, не используя MONO.

Чтобы это случилось, ключевые библиотеки GNOME должны быть переписаны на .NET, а это вряд ли когда-нибудь случится... по крайней мере не в ближайшее время ;)

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

5) GNOME наводнен программами на Mono.

На текущий день только одна подобная программа входит в официальную поставку с Gnome, и это - Tomboy. Вряд ли его можно назвать ключевым компонентом.

6) Novell заставляет GNOME использовать Mono.

Novell даже не советовала включать программы на .Net в GNOME.

>>> Подробности

★★

Проверено: Shaman007 ()

Ответ на: комментарий от gaa

> Обработчики параметризованных событий удобнее писать, не городя каждый раз новую функцию.

А мне удобнее по функциям раскладывать, мне так читать удобнее :)

> Они полезны для любой программы.

Чем? Точно так же можно сказать, что управляющая VM полезна для любой программы.

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

Вывод: каждому удобнее инструментарий, к которому он привык.

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

>конкретные примеры, плз. иначе вопрос ответа не имеет в силу абстрактности.

Нужна строгая гарантия невозможности неавторизированного вызова free(), Си этого не обеспечивает.

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

>А мне лень ставить на домашнюю тачку ещё набор софта для перекомпиляции чего-бы-то-ни-было под наладонник. Просто лень.

А если лень собрать гнумерик, а не лень применять много напильника, значит гнумерик не нужен. Был бы нужен, собрал бы.

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

>> Там было «на Ц неудобно писать те задачи, которые решает гном и гтк». Это не только гуй, но гуй в том числе.

> эти задачи уже решены гномом и гтк. или ты собрался переписывать их с нуля? или, всё же, говорил про ИСПОЛЬЗОВАНИЕ?

гтк всё же расширяется, так что потребность перерешивать эти проблемы остаётся. Да и тот, кто будет использовать библиотеку, сделает меньше ошибок, если при желании нарисовать виджет, он будет писать "нарисовать(виджет)" а не "типвиджета *имявиджета=новый типвиджета(параметры); имявиджета->нарисовать();"

>> вроде как ты упустил мои слова про лямбды и замыкания

> нет, не упустил. более того, я согласен, что это удобные инструменты, и если бы они были в си, то было бы проще. однако «было бы проще» не означает «сейчас неудобно». это означает всего лишь «сейчас нельзя применить одну из удобных парадигм».

Программисту свойственна лень и нежелание писать лишние слова. Конечно, можно плодить макросы, чтобы избежать лишних телодвижений, можно использовать кодогенераторы(moc в qt), а можно просто использовать язык, разработанный с учётом пожеланий предметной области. И третий вариант лично мне более удобен, потому все остальные я и считаю неудобными.

> зыж ничего, что я на «ты»? если дискомфортно — извиняюсь.

эквипенисуально :)

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

>> А мне лень ставить на домашнюю тачку ещё набор софта для перекомпиляции чего-бы-то-ни-было под наладонник. Просто лень.

> А если лень собрать гнумерик, а не лень применять много напильника, значит гнумерик не нужен. Был бы нужен, собрал бы.

Я его не собирал, а поставил из пакета. Но питон, вытянутый при этом, мне неприятен. А выкорчовывать питон из вех пакетов, его использующих(gconf в том числе) у меня нет ни времени, ни желанияю

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

> Программисту свойственна лень и нежелание писать лишние слова. Конечно, можно плодить макросы, чтобы избежать лишних телодвижений, можно использовать кодогенераторы(moc в qt), а можно просто использовать язык, разработанный с учётом пожеланий предметной области. И третий вариант лично мне более удобен, потому все остальные я и считаю неудобными.

Вот и мне vala понравился :-P. А некоторым удобнее Python/C#.

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

> Вывод: каждому удобнее инструментарий, к которому он привык.

Сильно смахивает на быдлокодерское обоснование того, почему они пишут на delphi/c#/vb/java/подставьте-что-угодно. Конечно, привыкаешь писать много слов на тривиальное действие. Но иногда хочется написать то же самое, но короче.

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

> А выкорчовывать питон из вех пакетов, его использующих(gconf в том числе) у меня нет ни времени, ни желанияю

Скорее всего, в данном случае имеет место быть :) изначально неверный выбор дистрибутива.

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

> А gconf тебя там не раздражает?

Нет, ибо вижу его необходимость.

> Почему было время на напильник, а на напильник для гнумерика не было?

Потому что я обладаю ограниченным количеством времени и на "пилить всё подряд" его не хватает.

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

> Скорее всего, в данном случае имеет место быть :) изначально неверный выбор дистрибутива.

Возможно. Но более никакого дистриба с поддержкой armel, нужными мне пакетами и отсутствием излишнего траха я не знаю.

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

>> Но иногда хочется написать то же самое, но короче.

> asm

Уже даже не смешно.

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

>Нужна строгая гарантия невозможности неавторизированного вызова free()

зачем? попытки обломать руки программерам ни к чему хорошему не приводят. нужна чёткая спецификация и чёткая документация. а кто её не читал и/или не соблюдает — ССЗБ.

mirage
()

Хыыыы.

В общем, покуда с нами Freedesktop, Gnome на Mono переписывать не будут.

Да, и ещё. Брайан Белендорф высказался однажды, что лучший способ обеспечить интероперабельность стандарта - это создать открытую рефренсную его реализацию. И чем больше под mono будет программ - тем весомее и рефренснее будет открытая реализация .Net, тем сложнее будет устроить ей EEE. Поэтому пущай пишут программы под Gnome на mono, нам не жалко.

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

>лично мне

вот этих слов там не было. с таким добавлением сам предмет флэйми исчезает.

особенно если учесть, что я тоже предпочитаю делать GUI на Lua, а не на C. 5-)

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

>> лично мне

> вот этих слов там не было. с таким добавлением сам предмет флэйми исчезает.

Ну всегда следует помнить, что любое высказывание человеканесёт на себе отпечаток его индивидуальности.

> особенно если учесть, что я тоже предпочитаю делать GUI на Lua, а не на C. 5-)

Ну и как? Стоит изучить?

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

>>> нативные приложения, вызывающие методы управляемого кода - это что-то в области фантастики.

>> Не такая уж и фантастика на самом деле.

> ну да. это не фантастика, это просто идиотизм. почти любой идиотизм можно реализовать, если попыхтеть, но нафига?

Можно придумать кучу разумных примеров. Кстати в оригинале про фантастику нет и речи. Цитата:

GNOME not only does not, but it cannot, replace DBus with NDesk-DBus - any half-way competent programmer would know and understand why this is so. Native C programs cannot easily call into managed code.

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

>> Нет, ибо вижу его необходимость.

> Так питон он просит. Проверьте. Значит питон необходим... запишем...

Ох уж это чёрно-белое видение... Мне Сам Гик сказал, что питон там необязателен!

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

>Ну и как? Стоит изучить?

если не пугает паскалеподобный синтаксис — вне сомнения стоит. есть closures, lambda functions, proper tail call recursion. «искаропки» нет ООП, но есть встроеный в язык механизм для его реализации (и реализация простейших классов — меньше килобайта Lua-кода). есть возможность переопределения операторов. есть JIT-компилятор, который поддерживает всё то же, что и обычная Lua, при этом к .so добавляет примерно 50–60 килобайт кода и в 6–10 раз по минимуму ускоряет. есть достаточно много библиотек (хоть и не так много, как к тому же Python). ОЧЕНЬ удобный C-API для встраивания. великолепный мануал, где всё рассказано (и о языке, и о стандартных либах, и об API).

скажу так: проще изучить и самому решить (тем более, что на это максимум день уйдёт). лично мне сильно понравился, имо, удобней альтернатив. но я морда заинтересованая, моим словам веры нет. лучше сам посмотри.

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

>> Ну и как? Стоит изучить?

> скажу так: проще изучить и самому решить (тем более, что на это максимум день уйдёт). лично мне сильно понравился, имо, удобней альтернатив. но я морда заинтересованая, моим словам веры нет. лучше сам посмотри.

Ладно, посмотрю "on idle" :)

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

ну, если понравится — с тебя виртуальное пиво. а если нет — то это не я советовал. %-)

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

>> Вывод: каждому удобнее инструментарий, к которому он привык.

> Сильно смахивает на быдлокодерское обоснование того, почему они пишут на delphi/c#/vb/java/подставьте-что-угодно.

"Быдлокодерским" обоснование может быть только тогда, когда необоснованно пытаются заставить писать на конкретном языке или с использованием конкретных библиотек люди, имеющие меньший опыт и/или более поверхностное видение проекта. Когда проект начинается одним человеком, люди с большим опытом могут переписать его на том, что им нравится. Community выберет подходящий продукт. Пример - SodiPodi и Inkscape.

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

Чаще всего, проблема опыта. Когда опытный и освоивший программист видит, что опыт не есть решающим, тогда он попробует найти более подходящий инструментарий.

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

> если верить roadmap, разработчики собираются заменить gconf2 на dconf/GSettings, Которое будет частью gtk

если это будет на чистом C, т.е. без всяких левых зависимостей, то это будет весьма удобно.

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

>У меня достаточно экспериментальных данных по работе с java-like языками

вот я и AP тебе экспериментальные данные привели. Что-то не так? Или 30Мб для каталогизатора фотографий - это много? Или виртуальные машины в принципе некошерные? А может быть некошерным является только GC, как класс?

>НО приведённого даже тобой в этом сообщении достаточно (мне), чтобы этут каку не использовать.

приведенные мной цитаты - это обоснование существования dotgnu и mono. Чтобы не было ни vendor lock-in'а, ни прочих как =))))

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

> Тут какие то аналитики говорили, что должно сегфолтится, раз на Си.

тогда питон и моно тоже постоянно сегфолтятся, ведь они написаны на С

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

> Когда проект начинается одним человеком, люди с большим опытом могут переписать его на том, что им нравится. Community выберет подходящий продукт. Пример - SodiPodi и Inkscape.

Это не совсем корректный пример :)

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

> особенно если учесть, что я тоже предпочитаю делать GUI на Lua, а не на C. 5-)

OMG, разрабы лайтрума среди нас? :)

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

>Мне Сам Гик сказал, что питон там необязателен!

тебе гик предложил переписать на любимом языке функционал реализованный на питоне. Чтоб он стал не нужен

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

> По идее в QT, зарезервированную new память delete'ом освобождать необязательно. QT сам ее освобождает.

это только "по идее", а по факту -- для такого класс должен быть потомком QObject

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

>это только "по идее", а по факту -- для такого класс должен быть потомком QObject

Это мы уже обсудили выше.

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

> если тебя так напрягает питон в gconf - перепиши два скрипта на баше и засунь их в багзиллу.

не, для большого флейма эти скрипты надо переписать на перле

vadiml ★★★★★
()

Забыли седьмой миф: Гном удобен.

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

>> php4->php5 осилили в итоге.

> Вопрос только в том, какой ценой...

так вот чем пых-пых-кодеры зарабатывают!!!!

vadiml ★★★★★
()

А гном всё-равно говно.

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

>KDE побогаче на странные сегфолты.

Руки из жопы вынь. ;)

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

>> Есть никому не нужная зависимость от питона.

> Не нужная _Вам_. Очень многие OSS пакеты

что-то я не заметил у себя многих пакетов. У меня питон в зависимостях только в yum-е, на серверах (centos5) к нему прибавляется selinux.

Два -- это много?

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

>>Можно придумать кучу разумных примеров.

>можно хотя бы десяток? ну, раз «куча»?

Хинт для вашей фантазии: возмите любую библиотеку, использующую колбеки или шаблонные методы (паттерн такой), и попробуйте написать к ней обертку.

Один из примеров: http://lists.ximian.com/pipermail/mono-list/2004-November/024666.html остальные девять смотрите тут: http://www.google.com/search?q=mono+call+from+unmanaged

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

> там говорится про опасности, связанные с использованием дотнета. Сходите-таки по ссылке.

Как Вы можете такое советовать на ЛОРе? это всё равно что сказать "перестаньте ходить на ЛОР".

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

>Banshee зависит от моно?????????????

# qdepends banshee

media-sound/banshee-0.13.2: >=dev-lang/mono-1.2 >=dev-dotnet/gtk-sharp-2.10 >=dev-dotnet/gnomevfs-sharp-2.8 >=dev-dotnet/gconf-sharp-2.8 >=media-libs/gst-plugins-bad-0.10.3 >=media-libs/gst-plugins-good-0.10.3 >=media-libs/gst-plugins-ugly-0.10.3 >=media-plugins/gst-plugins-alsa-0.10.3 >=media-plugins/gst-plugins-gnomevfs-0.10.3 >=media-plugins/gst-plugins-gconf-0.10.3 >=media-plugins/gst-plugins-lame-0.10.3 >=media-plugins/gst-plugins-taglib-0.10.3 >=media-plugins/gst-plugins-mad-0.10.3 >=media-plugins/gst-plugins-ogg-0.10.3 >=media-plugins/gst-plugins-vorbis-0.10.3 >=media-plugins/gst-plugins-flac-0.10.3 >=media-plugins/gst-plugins-faad-0.10.3 >=media-plugins/gst-plugins-cdparanoia-0.10.3 =media-libs/musicbrainz-2* >=gnome-base/libgnomeui-2 >=gnome-base/libbonobo-2 >=gnome-base/gnome-desktop-2 >=sys-apps/hal-0.5.6 >=dev-lang/boo-0.7.6 >=dev-db/sqlite-3 >=gnome-extra/nautilus-cd-burner-2.12 dev-dotnet/taglib-sharp dev-dotnet/dbus-glib-sharp dev-util/pkgconfig >=sys-apps/sed-4

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

> как правильно заметил wfrr, проблема решается так же, как и размер панельки в kde4 -- перекомпиляцией :)

панельку в 4.0.1 поправили, так что нечего на неё наезжать

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

> Apache… Apache… а! это тот монстр, который по недоразумению называют web-server?

может Вы нас просветите, что это такое?

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

>> Тут какие то аналитики говорили, что должно сегфолтится, раз на Си.

>тогда питон и моно тоже постоянно сегфолтятся, ведь они написаны на С

Дурной метод ведения дискуссии. Все отлично понимают что написание Питона и Моно - это системная разработка, а написание banshee и f-spot - это прикладная разработка. Совершенно другая специфика.

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