LINUX.ORG.RU
ФорумTalks

[Крик души] Интерпретируемые языки и HIG

 


0

0

Заметил странную закономерность.

В приложениях GTK и Qt, написанные на основных для этих тулкитов языках (соответственно, C и C++), как правило, интерфейс организован достаточно логично и единообразно.

А вот когда эти приложения написаны Java, Perl, Python и иже с ними, вот тут-то НАЧИНАЕТСЯ... Как правило, в таких приложениях куча кнопок без подписей, расположенных чёрти где, нестандартная организация меню, огромные промежутки между виджетами (или, наоборот, полное отсутствие оных), и т.д.

Мне вот непонятно: это интерпретируемые языки так разъедают мозг, или же программеры на них просто не любят Glade/Qt Designer с их логичными умолчаниями и конструируют виджеты прямо в коде, со всеми вытекающими мыслями в стиле "лишь бы работало"?

★★★

это всё идеология "наш язык более продуктивен", которая требует от автора скорости, иначе когнитивный диссонанс. Вот они его и избегают, не тратя время на более глубокое продумывание архитектуры, интерфейса, и профиля нагрузки.

anonymous
()

> конструируют виджеты прямо в коде, со всеми вытекающими мыслями в стиле "лишь бы работало"?

И причем тут одно к другому? Сдуру можно и *** сломать.

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

Это в том смысле, что менталитет: "Пусть некрасиво выглядит, лишь бы работало".

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

Далеко не все используют визуальные редакторы для построения интерфейса и это никак не влияет на окончательный результат. Всё зависит от конкретного человека, который пишет программу.

Кстати, я такой закономерности не уловил. Deluge, QuodLibet - питоновские, но интерфейс у них вполне нормальный.

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

Это у QuodLibet-то интерфейс нормальный?! Вот, кстати, наглядный пример - они HIG'а в глаза не видели. Deluge не видел.

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

>Кстати, я такой закономерности не уловил. Deluge, QuodLibet - питоновские, но интерфейс у них вполне нормальный.

Sonata, gajim - аналогично.

Короче, автор, troll harder

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

> Вот, кстати, наглядный пример - они HIG'а в глаза не видели.

Не хигом единым. Хиг - это набор рекомендаций, а не обязательных правил. Есть много программ, которые и без него выглядят вполне вменяемо.

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

Gajim - да, не спорю, хорошо выглядит.

Sonata - такой же ужас, как и QuodLibet.

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

> Sonata

 # sonata
Traceback (most recent call last):
  File "/usr/bin/sonata", line 48, in <module>
    app = main.Base()
  File "/usr/lib/python2.5/site-packages/sonata/main.py", line 1065, in __init__
    self.iterate_now()
  File "/usr/lib/python2.5/site-packages/sonata/main.py", line 1654, in iterate_now
    self.iterate()
  File "/usr/lib/python2.5/site-packages/sonata/main.py", line 1611, in iterate
    self.handle_change_status()
  File "/usr/lib/python2.5/site-packages/sonata/main.py", line 3517, in handle_change_status
    self.library_browse(root=self.wd)
  File "/usr/lib/python2.5/site-packages/sonata/main.py", line 2389, in library_browse
    for item in lsinfo:
TypeError: 'NoneType' object is not iterable

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

> #??!!..

Что? Запущено не от рута, естественно, если вы об этом. У меня одинаковые значки в промте, они различаются цветом.

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

> Это у QuodLibet-то интерфейс нормальный?! Вот, кстати, наглядный пример - они HIG'а в глаза не видели.

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

anonymous
()

У интерпретируемых языков относительно низкий порог входа (глобальный и надежный явный тому пример), поэтому, можно предположить, что разработчики не особо заморачиваются еще и набором некоторых правил для построения удобного UI. И вправду, зачем, если можно просто написать программу и сбагрить её пользователям.

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

>У интерпретируемых языков относительно низкий порог входа (глобальный и надежный явный тому пример), поэтому, можно предположить, что разработчики не особо заморачиваются еще и набором некоторых правил для построения удобного UI. И вправду, зачем, если можно просто написать программу и сбагрить её пользователям.

Низкий порог входа это еще не так плохо, главное чтоб они потом на этом пороге не оставались.

anonymous
()

> Заметил странную закономерность.

Я так понял, ниже - серьезное обоснование замеченной Вами корреляции,
которая Вам показалась закономерностью?

> В приложениях GTK и Qt, написанные на основных для этих тулкитов
> языках (соответственно, C и C++), как правило, ... интерфейс
> организован достаточно логично и единообразно.

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

> А вот когда эти приложения написаны [на] Java, Perl, Python и иже с ними,
> вот тут-то НАЧИНАЕТСЯ... Как правило, в таких приложениях куча кнопок
> без подписей, расположенных чёрти где, нестандартная организация
> меню, огромные промежутки между виджетами (или, наоборот, полное
> отсутствие оных), и т.д.

Обычно скрипт на Питоне написать проще, чем на Си, поскольку
язык Питон ориентирован на быструю разработку прототипов.
Соответственно - на них не тратится так много времени, как
на вылизывание Си-кода с их интерфейсами, нет подгонки
элементов GUI в стиле Тёмы Лебедева. Как следствие - куча поделок,
которые родились вследствие простоты их написания.

> Мне вот непонятно: это интерпретируемые языки так разъедают мозг,

Кислотой, которой Вы тут брызгаете, что-ли?

> или же программеры на них просто не любят Glade/Qt Designer с их
> логичными умолчаниями ...

Хм. Попробуем ответить на этот философский вопрос, на который ты и сам знаешь ответ.
Наверное, потому, что:

1. Основные системные библиотеки его операционной системы написаны
на Си/Си++, и интерфейс (API) с ними ориентирован именно на эти языки.

2. Если у неквалифицированных, неграмотных специалистов есть
инструмент для быстрого написания программ, но они наклепают много
программ с тем интерфейсом, который позволяет быстро написать
код. Например, с интерфейсом Tkinter. Оригинальный PyQt, Qt/C++ они
не изучают. Поскольку у неграмотных специалистов нет ни времени
на изучение таких библиотек, как Qt, ни времени на написание кода
под них.

> и конструируют виджеты прямо в коде, со всеми
> вытекающими мыслями в стиле "лишь бы работало"?

Внимание, вопрос. В каких условиях и какие программисты пишут код - "лишь бы работало"?

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

> exaile вродь тоже на питоне и вполне прилично выглядит.

Кстати, да.

Да, и на Mono, похоже, это не распространяется. F-Spot, Tomboy, Banshee и DFO меня устраивают интерфейсом.

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

> Это у QuodLibet-то интерфейс нормальный? А чем он не нормальный?

pod ★★
()

По-моему, логично. На интерпретируемых скриптах пишут в основном прототипы, которые можно выбросить после того, как понятно что за приложение мы собирались написать.

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

> Например, с интерфейсом Tkinter. Оригинальный PyQt

Поясните принципиальное отличие Tkinter от PyQt.

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