1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.
  2. Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
    Скрыть объявление
Скрыть объявление
В преддверии глобального обновления, мы проводим исследования, которые помогут нам сделать опыт пользования форумом ещё удобнее. Помогите нам, примите участие!

Стартап Плагины на Python

Тема в разделе "Разработка плагинов для новичков", создана пользователем cyber_lis, 5 авг 2014.

?

Вам интересна разработка плагинов на Python ?

  1. Да

    44 голосов
    62,9%
  2. Нет

    26 голосов
    37,1%
  1. Автор темы
    cyber_lis

    cyber_lis Активный участник Девелопер Пользователь

    Баллы:
    68
    И вот очередной вопрос от меня :)
    Кому-нибудь интересна разработка плагинов на Python ?

    Я сейчас работаю над форком http://dev.bukkit.org/bukkit-plugins/python-plugin-loader/
    Разработчик подзабил на плагин, поэтому я решил им заняться.
    Что-то изменил, что-то почистил. Добавил команды для релода python плагинов не выключая сервер.
    Постараюсь сделать туториал и простенькую документацию, чтобы проще начать было.
     
  2. ql_Nik_lp

    ql_Nik_lp Старожил Девелопер Пользователь

    Баллы:
    173
    Skype:
    q-nik-p
    Имя в Minecraft:
    ql_Nik_lp
    Без обид, но не вижу смысла в подобных извращениях.
    Если для человека сложно ООП и Java, то есть полно скриптовых аля "языков" типа ReAction(@fromgate ), VarScript(@DPOH-VAR ), Skript
    А зачем такое - для меня загадка, честно
     
  3. serega6531

    serega6531 Старожил Девелопер Пользователь

    Баллы:
    173
    Skype:
    shkurovs
    Я хотел плагины на C++ сделать. ( ͡° ͜ʖ ͡°)
     
  4. Автор темы
    cyber_lis

    cyber_lis Активный участник Девелопер Пользователь

    Баллы:
    68
    Разумного смысла нет :) Тем более что писать на Python Java плагины далеко не проще чем просто на Java.
    Просто у каждого из нас есть любимый язык программирования. Вот serega6531 выше сказал, что хотел на c++ писать.
    Мне нравится писать на Python. Он удобный, красивый, лаконичный. (Я думаю так каждый может о своем любимом языке сказать)
    Просто когда я пишу на Java я особо не получаю удовольствия от программирования. А вот на Python то что надо.
    Тему создал, потому что интересно, стоит ли выкладывать плагин, чтобы у желающих была возможность писать на Python или это так и останется моим личным инструментом для разработки
     
  5. SHALK97

    SHALK97 Старожил Пользователь

    Баллы:
    103
    Имя в Minecraft:
    SHALK97
    выкладывай конечно, я питон немножко знаю, а java нет
     
  6. jwplaster

    jwplaster Старожил Пользователь

    Баллы:
    173
    Skype:
    jwplaster.smartworld
    Имя в Minecraft:
    QviNSteN
    Хочу плагины на C# писать!
     
  7. BeLkA

    BeLkA Старожил Пользователь

    Баллы:
    153
    Skype:
    FayStaff
    На win фоны пиши на своем сишарпе. Меня лично бесит, когда в джаву со всякими подобными вещами вмешиваются. Исключение - VarScript
     
  8. jwplaster

    jwplaster Старожил Пользователь

    Баллы:
    173
    Skype:
    jwplaster.smartworld
    Имя в Minecraft:
    QviNSteN
    Ну не будь букой. Всё-равно везде только 1 и 0.
     
  9. BeLkA

    BeLkA Старожил Пользователь

    Баллы:
    153
    Skype:
    FayStaff
    Ладно. Сервера же ваши, так что пишите, если хотите.
     
  10. Space Flux

    Space Flux Активный участник Пользователь

    Баллы:
    46
    А правда почему VAR-SKRIPT не подходит? Поддержка же для Python (с библиотекой jython) имеется
     
  11. Автор темы
    cyber_lis

    cyber_lis Активный участник Девелопер Пользователь

    Баллы:
    68
    http://dev.bukkit.org/bukkit-plugins/pploader/
    А можно пример скрипта на python (или на любом другом языке, который поддерживает VAR-SKRIPT). Человек заходит на сервер и ему пишут в чат: "Добропожаловать, %username%"
     
  12. Space Flux

    Space Flux Активный участник Пользователь

    Баллы:
    46
    К моему сожалению я не знаю ни Bukkit API, ни python :D Но вы можете спросить в официальной теме VarScript'а.
     
  13. ApaDoctor

    ApaDoctor Старожил Пользователь

    Баллы:
    103
    Без обид, но не вижу смысла в подобных извращениях.
    Если для человека сложно ООП и Java[/QUOTE]
    Джава полное извращение!
    Синтаксис С-подобный, а преимуществ в скорости работы - нет.
    Насчет ООП - что мешает писать классы на питоне?
    Питон ОО язык программирования.
    В нем все является объектами - приятный синтаксис - большой плюс в сторону пайтона.
    Как у любого другого языка у него есть свои плюсы и минусы - бесспорно.
     
  14. ptnk

    ptnk Старожил Пользователь

    Баллы:
    173
    Это с чего это вдруг java полное извращение и почему тогда на этом извращении существует огромное количество библиотек и огромное число различных проектов?

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

    Так же не стоит забывать, что всё это лишь детские игрушки, вот плагин возьмёт автор и забросит, и всё наработки на питоне пойдут лесом, а оно нужно кому-то? + Ко всему в обычном способе создания плагинов порой встречаются некоторые казусы, с которыми порой можно просидеть, ну или порой взять и поглядеть в код ядра, декомпилировать ядро или поглядеть исходные коды других плагинов. А что нам это готовит? Дополнительный слой с ошибками, на который нельзя до конца положиться?
    Вот авторы всех этих прослоек могут выправлять плагины неделями и месяцами, а плагин на том же питоне просто будет выполняться с ошибкой или в каком-то месте будет глючить.

    т.е. это должно быть достаточно:

    1) Не просто так каждому что-то написать на java, для этого приходиться лезть на форумы, смотреть чужие исходники и декомпилить ядро, а с плагинами на питоне и других скриптовых языках так не получится, помощь и ресурсы ограничены и со своими проблемами можно остаться на едине.

    2) Лишний слой абстракции, дополнительная прослойка между ядром и разработчиком. Мало того, что баккит может содержать в себе некоторые проблемы и неточности (была ситуации, когда на одном из билдом Player.teleport порой выбрасывал очень странные исключения, которые исправлялись через жопу), так теперь вам ещё могут добавиться дополнительные баги прослоек.

    3) Ну это обобщающий пункт. Документации - кот наплакал, туториалов - копейки, автор может сбежать в любую минуту и ваши труду просто пойдут гулять, проекты и сборки неавтоматизированы.

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

    В том виде, в котором это сейчас существует - в задницу, потому что для написания подобных плагинов, чтобы что-то выходило путёвое всё равно необходимо знать хорошо java.
     
  15. gamerforEA

    gamerforEA Старожил Пользователь

    Баллы:
    143
    Skype:
    sk2000sk1
    Имя в Minecraft:
    gamerforEA_MCPC
    Лично я считаю, что синтаксис Python отвратительный, а у C/C#/Java наоборот - приятный.
     
  16. MLP

    MLP Участник Пользователь

    Баллы:
    36
    В питоне self аргумент лишний, а к переносам можно привыкнуть.
    Есть еще такое, http://dev.bukkit.org/bukkit-plugins/rubybukkit/
    Только с такими языками нет статической типизации и ошибки приведения типов на уровне компиляции уйдут на уровень выполнения и могут всплыть в неожиданных местах в неожиданное время, ну и предполагаю, что дебажить их будет сложнее.
     
  17. serega6531

    serega6531 Старожил Девелопер Пользователь

    Баллы:
    173
    Skype:
    shkurovs
    Показалось http://dev.bukkit.org/bukkit-plugins/rubukkit/
     
  18. Автор темы
    cyber_lis

    cyber_lis Активный участник Девелопер Пользователь

    Баллы:
    68
    Разумного смысла нет :) Тем более что писать на Python Java плагины далеко не проще чем просто на Java.
    Просто у каждого из нас есть любимый язык программирования.
    Мне нравится писать на Python. Он удобный, красивый, лаконичный. (Я думаю так каждый может о своем любимом языке сказать)
    Просто когда я пишу на Java я особо не получаю удовольствия от программирования. А вот на Python то что надо.
    Я создал для себя инструмент, который позволяет мне писать плагины на python и решил поделиться им со всеми. http://www.rubukkit.org/threads/dev-pploader-v1-1-0-плагины-на-python-1-6-4-r2-0.78013/

    В отладке пока что я не сталкивался с проблемами. jython нормально приводит типы и с этим пока проблем тоже не было. + Так как в плагине поддержка перезагрузки python плагинов без ребута сервера так становится немного удобней и чуточку быстрей отлаживать баги.

    А насчет какой язык лучше это личное мнение каждого. На нем достаточно реальных коммерческих проектов. И каждый язык имеет своё место. Иначе мы бы все писали на ассемблере.

    Познакомиться с написанием python плагинов можно тут https://github.com/cyberlis/pploader/wiki/Руководство-начинающего
     
    Последнее редактирование: 3 сен 2014
  19. MrGiperCreeper

    MrGiperCreeper Активный участник Пользователь

    Баллы:
    78
    Имя в Minecraft:
    Ivan_Alone
    А я бы плагины на PHP писал)
     
  20. Автор темы
    cyber_lis

    cyber_lis Активный участник Девелопер Пользователь

    Баллы:
    68
    Это уже слишком.
     

Поделиться этой страницей