Комментарии 24
Это яндекс так «пошутил» над гимпом при переводе страницы?


В обычном словаре «gimp» означает всего лишь «хромой». Но Urban Dictionary говорит ещё, что это также «пассивный садомазо» — из фильма «Криминальное чтиво». А также «ты что, инвалид?»
В Яндекс-словаре предлагается 9 значений, я бы не назвал это «всего лишь „хромой“».
Надо же… Никогда не подозревал, что gimp это еще не аббревиатура, а полноценное слово.
Спасибо.
Спасибо.
Некоторые вещи делать в GIMP — это садомазо.
Пойду занесу копеечку в честь праздника.
Надо сказать, что на фоне остальных редакторов он с одной стороны выглядит как наиболее rich (с общими абстрактными универсальными примитивами), а с другой — почти не развивается последние несколько лет. Я понимаю, что GEGL нужен для поддержки хорошего цвета (больше 8 бит на канал), но многие вещи в гимпе просто ужасны. Например, регуляция яркости и контрастности реализована очень примитивно и не очень полезно. То же касается регуляции каналов.
Проблема в том, что гимп разрабатывают полтора человека. Буквально. 3/5 коммитов за последние 4 года сделаны одним человеком. На такой огромный проект, как вы понимаете, этого явно недостаточно. Поэтому чтобы Гимп не загнулся, надо активно помогать и призывать помогать других.
Ткнулся в сырцы:
Это си. С самодельными классами. Почему мне больно это читать?
gimp_paint_core_class_init (GimpPaintCoreClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); object_class->finalize = gimp_paint_core_finalize; object_class->set_property = gimp_paint_core_set_property; object_class->get_property = gimp_paint_core_get_property; klass->start = gimp_paint_core_real_start; klass->pre_paint = gimp_paint_core_real_pre_paint; klass->paint = gimp_paint_core_real_paint; klass->post_paint = gimp_paint_core_real_post_paint; klass->interpolate = gimp_paint_core_real_interpolate; klass->get_paint_buffer = gimp_paint_core_real_get_paint_buffer; klass->push_undo = gimp_paint_core_real_push_undo; g_object_class_install_property (object_class, PROP_UNDO_DESC, g_param_spec_string ("undo-desc", NULL, NULL, _("Paint"), GIMP_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)); }
Это си. С самодельными классами. Почему мне больно это читать?
Это си. С самодельными классами.— да, именно так. Это Glib/Gtk стиль, так исторически сложилось. В таком стиле весь GNOME написан.
Я конечно крестовик, но все же.., что Вас смутило в этом куске — вроде си как си. Ну классы — ну и что такого-то, я подобный код встречал не только в gimp, в сотнях проектов(не только gtk). Вам не нравится запаковка указателей в структуры? Или Вам вообще сам объектно ориентированный подход не нравится? Тогда здесь альтернатив не много — стейт машина ещё хуже, имхо.
Мне не нравится, что пишут в таком стиле и на таком языке, который этого стиля не понимает.
Что именно вам не нравится в этом стиле? То-что потом можно будет писать аля klass->start(klass, arg1, arg2). Т.е Вам не нравиться, что можно писать почти как в языках со встроенной оо. Или Вам вообще оо не нравится? — я так и не услышал.
Как минимум разумно было бы портировать проект на C++. Это не будет сложно, зато позволит просто выкинуть, буквально, тонны кода, которые будет генерироваться автоматически и без ошибок. Про безопасность работы с кодом, особенно про то, что в современном C++ в подавляющем большинстве случаев можно не опускаться на уровень сырых указателей я вообще молчу.
Если так уж необходимо использовать _только C в прикладной программе_, то всё равно никто не мешает сделать человеко-читаемую кодогенерацию на макросах, которые пусть и будут специфичны для проекта но зато будут удобны, да и готовых библиотек полно для этих целей. Просто писать такую лапшу как приведена выше в ветке вредно ибо верифицировать и читать такой код очень и очень тяжело.
То что где-то до сих принято массово так оформлять код можно лишь посочувствовать. Самое странное, что ведь префиксы переменных уже написаны и стандартизированы, но никакая унификация, возможная благодаря им, при этом не применяется.
Возможно я в чём то сильно не прав, но тогда объясните, пожалуйста, в чём. Так же я прекрасно понимаю, что значит Legacy и поддержка старого кода, что там так сложилось и т.д., но это не значит, что надо продолжать писать также как писали раньше, что ничего не надо менять в подходах и что не надо вообще никогда делать рефакторинг.
То что где-то до сих принято массово так оформлять код можно лишь посочувствовать. Самое странное, что ведь префиксы переменных уже написаны и стандартизированы, но никакая унификация, возможная благодаря им, при этом не применяется.
Возможно я в чём то сильно не прав, но тогда объясните, пожалуйста, в чём. Так же я прекрасно понимаю, что значит Legacy и поддержка старого кода, что там так сложилось и т.д., но это не значит, что надо продолжать писать также как писали раньше, что ничего не надо менять в подходах и что не надо вообще никогда делать рефакторинг.
Я так слышал, что в последнее время всё больше народу переходит Krita. Как-то вокруг ней очень много движухи.
Я графику практически не редактирую, так что не могу их сранивать по проработанности и функциональности, да и в код не смотрел. Но это я к тому, что, возможно, нет смысла призывать народ пилить GIMP, когда есть Krita.
Я графику практически не редактирую, так что не могу их сранивать по проработанности и функциональности, да и в код не смотрел. Но это я к тому, что, возможно, нет смысла призывать народ пилить GIMP, когда есть Krita.
Это разные абсолютно инструменты по идеологии. Крита для художников. Кисти, нажим, наброски и т.п. GIMP для редактирования. Это разные задачи. В *nix комбайны не приветствуются.
Я, похоже, чего-то не понимаю
- ЕМНИП, GIMP кисти и нажимы тоже умеет
- Я не понимаю, что останется от графического редактора, если изъять из него функциональность кистей. Crop да resize? Вы так себе основное использование GIMP представляете? Это в общем практически всё, что мне нужно от растрового графического редактора, но Krita и GIMP одинаково хорошо выполняют эти задачи на мой вкус.
В 1997 году расшифровку аббревиатуры GIMP изменили на GNU Image Manipulation Program с целью соблюдения рекурсии.Соблюдать рекурсию безусловно важно, но, стесняюсь спросить, где здесь рекурсия?
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Графическому редактору GIMP исполнилось 20 лет