LINUX.ORG.RU

Mono GTK# vs. PyGTK Что православней и больше доставляет?


0

2

Приветствую, интересуют сравнение Mono GTK# и PyGTK. Что удобней, быстрей в работе/разработке, менее падучее, кросплатформенней/стабильно ли работает под разными ОСями. особенно у кого был опыт, того и другого.

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

Но Mono С# по открытому стандарту(который MS предоставила), а реализация только другая. Как язык C# довольно хорош.

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

AFAIK gtk# до сих пор не осилил gobject introspection. То есть тупо такое же говно мамонта как и pygtk.

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

Хм, делаю вывод что они в таком случае оба говны мамонта, лучше ли предпочесть классику: Си + GTK?

xterro ★★★★★
() автор топика
Последнее исправление: xterro (всего исправлений: 1)
Ответ на: комментарий от baverman

Хм, складывается мнение что ни PyGTK ни Mono не используют, что тогда нынче православно использовать? Или GTK это в принципе не православно?

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

Функциональное программирование

ocaml? Там его не больше чем в питоне.

// Я для своей последней крохотной поделки юзал pygtk. В будущем, если понадобится, возьму python + gi.

baverman ★★★
()

GTK#

Взаимоисключающие параграфы. Язык, который полноценно реализован только под windows, и тулкит, нормально работающий только в *nix'ах.

Deleted
()
Последнее исправление: Deleted (всего исправлений: 1)

Первое тольком не родилось, а второе уже умерло.

А православнее всего принять протестантизм, для храбрости.

feofil
()

Я пробовал работать с GTK#, написал более менее сложную программульку, в общем гумно. PyGTK не пробовал.

А про Qt ты зря... Qt/QML - расово верный GUI.

Если интересует монячина то http://habrahabr.ru/post/201460/

Если всё же пихотон - то PyQt 5 идеально.

I-Love-Microsoft ★★★★★
()
Ответ на: комментарий от waker

pygtk был опыт, негативный.

Не помнишь детали? Мои поделия без проблем работали и под офтопиком, причем довольно таки сложные.

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

Не помнишь детали?

самые главные две детали:

1. нет поддержки gtk3

2. через несколько лет после написания, pygtk-программу хрен запустишь (100% или версия путхона несовместимая, или pygtk несовместимый, или что-то еще из той же оперы). короче, все типичные путхоно-проблемы.

(про кроссплатформенность не скажу, мне не приходило в голову использовать pygtk для кроссплатформы)

waker ★★★★★
()
Последнее исправление: waker (всего исправлений: 1)
Ответ на: комментарий от baverman

Там его не больше чем в питоне.

А если найду? Где в питоне ADT, паттерн-матчинг, оптимизация хвостовых вызовов, неизменяемые данные, человеческие лямбды?

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

история успеха

+1 :) недавно немаленький сервер на нем переписал с явы, в начале 2000-х писанный :)

И да: окна не нужны. то есть на чем они писаны - это дело третье, если не 10-е

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

оптимизация хвостовых вызовов

имеешь сказать, что в питоне нет такой оптимизации? что-то какие-то сказки шахеризады...

anonymous
()
Ответ на: комментарий от anonymous
Python 2.7.5 (default, Aug 25 2013, 00:04:04) 
[GCC 4.2.1 Compatible Apple LLVM 5.0 (clang-500.0.68)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> def f(x):
...     f(x)
... 
>>> f(42)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "<stdin>", line 2, in f
  …
  File "<stdin>", line 2, in f
RuntimeError: maximum recursion depth exceeded
Zenom ★★★
()
Ответ на: комментарий от Zenom

ух ты. Нифигасебе. Печально. Думал уж такое то в питоне точно должно быть сделано.

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

ага!

I recently posted an entry in my Python History blog on the origins of Python's functional features. A side remark about not supporting tail recursion elimination (TRE) immediately sparked several comments about what a pity it is that Python doesn't do this, including links to recent blog entries by others trying to «prove» that TRE can be added to Python easily. So let me defend my position (which is that I don't want TRE in the language). If you want a short answer, it's simply unpythonic.

(с) Гвидо

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

Судя по списку бандингов, GTK# застыл где-то на 2.12. А у питона есть PyGObject, не пробовал его? ) Оказывается ещё на Pascal биндинги для GTK есть, пойдё потыкаю палочкой.

xterro ★★★★★
() автор топика
Последнее исправление: xterro (всего исправлений: 1)
Ответ на: комментарий от Zenom

А если найду?

Не найдешь. ADT, паттерн матчинг — мимо. Это система типов, к функпрогу отношение имеет опосредованное. Неизменяемые данные можно сделать.

оптимизация хвостовых вызовов

http://code.activestate.com/recipes/496691/

человеческие лямбды?

Ну вот, начинаешь уже по мелочам придираться.

Пойнт в том, что грязненький ocaml на фоне хаскеля находится на том же уровне что и питон.

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

самые главные две детали:

А-а-а это.

1) Её и не будет. Есть gir.

2) Моим поделкам уже четвертый год, работают нетронутыми на постоянно обновляющемся арче.

Сейчас самые главные неприятности — некоторые функции помечены в gir как notimplemented и трудно найти сборки gir-friendly библиотек под офтопик.

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

Мне Vala приглянулся

Он прекрасен пока не нужны батарейки. И нужно хорошо понимать как писать на чистых сях для GTK.

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

ADT, паттерн матчинг — мимо. Это система типов, к функпрогу отношение имеет опосредованное.

И тем не менее, есть в большинстве функциональных языков.

Неизменяемые данные можно сделать.

Но не сделали. Во всяком случае, не в коробке.

http://code.activestate.com/recipes/496691/

Сторонний костыль.

Ну вот, начинаешь уже по мелочам придираться.

Это не придирки, это то, без чего писать в функциональном стиле подобно попытке родить дикобраза.

Пойнт в том, что грязненький ocaml на фоне хаскеля находится на том же уровне что и питон.

Мой поинт в том, что оцамль поощряет именно функциональный стиль, в то время, как на питоне в таком стиле писать — геморрой.

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

Мой поинт в том, что оцамль поощряет именно функциональный стиль

Я видел не так много кода, но функциональным стилем там и не пахло.

Просто ocaml это такой практичный ML, а практика и функциональное программирование — вещи не совместимые.

baverman ★★★
()
Последнее исправление: baverman (всего исправлений: 1)
Ответ на: комментарий от baverman

а практика и функциональное программирование — вещи не совместимые.

Ну вот мы с чуваками вполне себе пишем функциональщину на Скале для тырпрайза и нам норм. В общем, гибриды рулят.

Zenom ★★★
()

Сейчас тыкаю Lazarus ))

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

C# — технология Microsoft --> не нужно.

Ты дебил. Ты зря существуешь, воздух портишь.

а ты овощ. Существуешь не зря. Тебя съедят, высрут, и из семечек может что-то вырастет. Или не вырастет.

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

В линуксе он мёртв.

Ты, свинья, некомпетентен. На кой хер мнение высказываешь, школоло ничтожное?

anonymous
()

Приветствую, интересуют сравнение Mono GTK#

mono === это костыли для пейсания кода на подобие .NET'а.

PyGTK

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

у кого был опыт

не. Патрег миловал. Я тут диванный теоретик. Т.ч. жду слушать ss.

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

1) Её и не будет. Есть gir.

в этом и проблема. на Си можно просто пересобрать программу, если все правильно сделать. на путхоне придется переписывать чуть не с нуля весь гуй.

2) Моим поделкам уже четвертый год, работают нетронутыми на постоянно обновляющемся арче.

что, даже пережили /usr/bin/python -> python3?

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

Ты, свинья, некомпетентен. На кой хер мнение высказываешь, школоло ничтожное?

придурок, где пруфы твоей компетентности и твои аргументы?

только такой неграмотной шлюхи, как ты, тут и не хватало.

действительно. Ты и без меня всем доказал свою ненужность.

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

Ну вот мы с чуваками вполне себе пишем функциональщину на Скале

Я бы себе не льстил. Больше чем уверен что «функциональщина» там вполне императивная.

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

на путхоне придется переписывать чуть не с нуля весь гуй.

Это если надо дальше поддерживать, да. У новых проектов такой проблемы нет.

что, даже пережили /usr/bin/python -> python3?

Дык py2 из реп никуда не делся.

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

Оно, конечно, да, со стороны гораздо виднее, в пользу чего там соотношение функциональщины и императивщины.

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

Это если надо дальше поддерживать, да. У новых проектов такой проблемы нет.

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

Дык py2 из реп никуда не делся.

я скорее о том, как ты обошелся без этого:

-#!/usr/bin/env python
+#!/usr/bin/env python2
waker ★★★★★
()
Ответ на: комментарий от emulek

это костыли для пейсания кода на подобие .NET'а

Странное дело, код написанный на .Net'е у меня взлетел на моно, хотя поддержка WCF, которая ему была нужна, в mono никогда не была полной. (Но REST там запилили вполне достаточный - MoMa ни разу не выругалась) Так что «подобие» - это ты утрируешь. Как ведь писать :) Если ты прибился сам гвоздями к оффтопу с P/Invoke и COM - «ССЗБ». Если замена морды в .Net-ном коде с WinForms на другой формошлепный фреймворк, Web-UI или etc. конструктивно не представляет проблемы (как и должна) - никто не мешает норм. писать на C# под онтопиком, кроме воображаемых Др-зей :)

slackwarrior ★★★★★
()
Последнее исправление: slackwarrior (всего исправлений: 2)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.