Pull to refresh

Comments 22

> Но есть язык, лишённый большинства недостатков Scheme и обладающий рядом достоинств.

Scheme, лучше Python ??? Многие, я думаю готовы поспорить на эту тему.
Экспресс-сравнение scheme vs. Python в топике явно лишнее.

Потому что вроде оффтопик, а вопросы возникают. Откуда например взялось следующее?
«Например, нельзя использовать свой графический интерфейс, сохранить настройки дополнения в конфигурационный файл, подключить некий внешний модуль с дополнительными функциями и т.д. и т.п.»
>> Откуда например взялось следующее?
>> «Например, нельзя использовать свой графический интерфейс, сохранить настройки дополнения в
>> конфигурационный файл, подключить некий внешний модуль с дополнительными функциями и т.д. и т.п.»


К сожалению интерпретатор Scheme который поставляется вместе с GIMP-ом действительно не позволяет этого делать.
Это все не важно на самом деле.

Ясно что питон из коробки умеет намного больше, а его синтаксис для большинства комфортнее схемы. Зато tiny scheme в разы меньше и осознанно позиционируется как «встраиваемый». Поэтому в GIMP встроен именно tiny scheme, а не python. Могли бы встроить lua, чтобы порадовать тех, кому не нравятся скобочки. Но увы.
Полный переход на новое ядро, скорее всего, принесет возможность писать дополнения на lua.
Спасибо!
Когда-то давным-давно писал своё дополнение на LISP'e, было интересно, но сложно.
С питоном попроще будет! :)

Кажется, вводите пользователя в заблуждение по поводу border_width:

pdb.gimp_image_resize(image,
                        pdb.gimp_image_width(image)  + border_width,
                        pdb.gimp_image_height(image)  + border_width,
                        border_width / 2,
                        border_width / 2)


Рамка добавляется ширины border_width / 2. Я бы писал так (и ожидал бы такого поведения от чужого модуля):

  pdb.gimp_image_resize(image,
                        pdb.gimp_image_width(image)  + border_width*2,
                        pdb.gimp_image_height(image)  + border_width*2,
                        border_width,
                        border_width)


Но, вобщем, не суть. Статья хорошая. Спасибо!

P.S. Тег
    <code>
в предпросмотре не работает…
>> С питоном попроще будет! :)

Да проще. Можно даже ещё проще:

image.resize(image.width + border_width * 2,
               image.height +  border_width * 2,
               border_width / 2,
               border_width / 2)

Об этом расскажу в следующей статье.



>> Рамка добавляется ширины

Вы правы. Просмотрел. Приношу извинения.
Невнимательность меня погубит… Вот так правильно:

image.resize(image.width + border_width * 2,
                  image.height +  border_width * 2,
                  border_width,
                  border_width)
(язык идиотских глупых скобок, в которых заключено это выражение).
Нормальный язык, мое оценочное суждение.
Везде есть правила и ограничения.
> Также обратите внимание на то, что все нижние подчеркивания «_» в имени регистрируемой функции необходимо заменить на знак «-» — эта неоднозначная особенность попортила мне много крови, когда я начал осваивать написание дополнений на Pythone. Не до конца понимаю, зачем это сделано, но иначе дополнение просто не заработает…

Я так понимаю, это сделано для совместимости со Scheme. Имена функций / параметров в браузере функций тоже выдаются с дефисами в стиле Scheme.
> несоблюдение баланса скобок — один из главных источников ошибок программы, написанной на LISP и ему подобных

Скажите уже, в каком языке несоблюдение баланса скобок не будет ошибкой?

> Далеко не каждый может разобраться с непростым синтаксисом этого языка

Одна единственная синтаксическая конструкция (список) — это «непростой синтаксис»?!
А почему script-fu, но python-fy? Потому что Python?
Нет. Это потому что я невнимателен.
Таким образом получаем, что произнесённую мной с такой уверенностью фразу: «К тому же, если не указать префикс «python-fy» в начале функции, то она не будет зарегистрирована (по-моему, это только для Python-скриптов такое ограничение, и оно к лучшему, я считаю).» можно считать бредом.

Сейчас внесу необходимые изменения в пост.
Спасибо за внимательность. Вы правы, должно быть python-fu.
Молодой человек, два предложения вашей статьи — «Но есть язык, лишённый большинства недостатков Scheme и обладающий рядом достоинств. Этот язык — Python.» — сделали вас знаменитым.

Постарайтесь распорядиться своей славой разумно.
Не вырывайте фразы из контекста пожалуйста.
> Далеко не каждый может разобраться с непростым синтаксисом этого языка

Все слова которые пришли мне в голову после прочтения этого предложеия будут восприняты автором как оскорбления, поэтому я лучше промолчу.

Третий абзац введения лучше просто уберите. Статья станет лучше.
>> Третий абзац введения лучше просто уберите. Статья станет лучше.

«Слово не воробей...», как говориться, раз уж опубликовал, то убирать не буду.
Слова в статье — не птицы, кнопку edit никто не отнимал. Пусть все эти «воробьи» для истории останутся в подобных доброжелательных комментах, а статья станет целостнее и целеустремлённее, без посторонних для её темы холиварных зацепок.
Sign up to leave a comment.

Articles