Возрождение SA-MP SDK for PHP
#1

Есть такая штука:
https://sampforum.blast.hk/showthread.php?tid=442302

Вкратце - это плагин, который позволяет писать моды на PHP.
Но он не обновлен до 0.3z, и никто его не пытался обновить (т.е., сейчас он "заморожен", а то и умирает).

Я думаю, многие согласны с тем, что объектно-ориентированный язык будет получше для тяжелых проектов, чем старенький PAWN.

В общем, так как его никто не собирается обновлять, я ищу людей, способных перекомпилировать его с новыми библиотеками, подточить под новые функции 0.3z. Исходный код есть в общем доступе, под Linux и Windows.

Я сам это не сделал, потому что сейчас сильно нагружен работой, и нет времени и желания в одиночку бороться с компиляторами для Linux (потому как у меня Windows) и с Visual C++, который меня страшит своим процессом подключения внешних библиотек, настройками и компиляцией.

От себя - если "оживить" этот проект, можно будет написать гибкий фреймворк на PHP с модулями (а-ля МТА со своими ресурсами), и создать портал для обмена модулями (я спонсирую и могу разработать).

В общем, нужны энтузиасты, которые дружат с разработкой плагинов для SA-MP.
Reply
#2

ООП может и лучше, но не в реализации плагина, и тем более в виде фреймворка. И без того не столь быстрая машина PAWN совсем будет тугой и не пригодной для больший проектов.

Не вижу никакого практического смысла в этом .. плагине. Да и если появиться этот плагин под последние версии сервера, то что получим? - получим ещё +5000 серверов, на которых в сумме играют 100 человек, а по содержанию достойны тока что-бы их ломать и удалять.
Грамотный программист не будет использовать всякие непонятные фреймворки для написания основы.

Вот куда интереснее обновить сам PAWN, но этот вопрос к разработчику SA-MP....
Reply
#3

Quote:
Originally Posted by -Stranger-
View Post
ООП может и лучше, но не в реализации плагина, и тем более в виде фреймворка. И без того не столь быстрая машина PAWN совсем будет тугой и не пригодной для больший проектов.

Не вижу никакого практического смысла в этом .. плагине. Да и если появиться этот плагин под последние версии сервера, то что получим? - получим ещё +5000 серверов, на которых в сумме играют 100 человек, а по содержанию достойны тока что-бы их ломать и удалять.
Грамотный программист не будет использовать всякие непонятные фреймворки для написания основы.

Вот куда интереснее обновить сам PAWN, но этот вопрос к разработчику SA-MP....
Во-первых, PAWN - это язык программирования, однопоточный, "процедурка", а также его одноименный компилятор. Это не "не столь быстрая машина PAWN" (без понятия, что вы имели в виду, сказав это).
Результатом компиляции есть машинный код, который никак не "машина PAWN", и не PHP, и не что угодно, кроме инструкций в виде машинного кода.

Во-вторых, если оставить свои стереотипы возле этой самой машины PAWN, и посмотреть на результаты бенчмарков, которые нам предоставил автор сего чудесного плагина, то можно увидеть у разы бОльшую продуктивность этого плагина, нежели чистого PAWN.

В-третьих, у грамотного программиста нет ничего такого, с чем бы он работал и не понимал. Не стоит сравнивать себя и грамотных программистов, если вы чего-то не знаете.
Reply
#4

Еще добавлю:
В случае с этим плагином, никакой "PAWN" в любом его Вами понимании не берет участия в создании машинного кода. Более того, ничего не компилируется.

PHP - интерпретируемый язык, можно было прочитать о нем перед тем, как что-то писать.

Впрочем, как я понял, вы не составите мне компанию в возобновлении этого плагина.
Зачем было что-либо писать?
Reply
#5

PAWN - это не язык низкоуровневого программирования. Это не машинный код. Он выполняется где? - в виртуальной машине PAWN.. Да и языком программирования это сложно назвать вообще, это скриптовый язык. Тупо набор команд для PAWN машины. PAWN машина это грубо говоря транслятор. Раз Вы этого не знаете, то стоит задуматься о Вашей пригодности вообще что-то обсуждать на этом форуме.
Это раз.
Два. Как фреймворк может быть быстрее натива? Он что разгоняет электроны больше скорости света?
Три. Далеко не Вам судить мою пригодность и мои знания. С другой стороны, я вижу, что Вы не в состоянии пользоваться поиском форума и Вам "лень читать 16 страниц". О чём разговор вообще?
Четыре. PHP - интерпретируемый язык, Вот и почитайте про него, как он работает, и что происходит с кодом, пока его получит интерпретатор.

Совет, подучите матчасть для начала, а потом открывайте темы с сомнительными проектами.
Reply
#6

И да, компании, как я выше сказал, в сомнительных проектах, я не составлю, да и думаю никто не составит.
Хотите? делайте. Те, кто не в состоянии писать на нативах скажут спасибо, остальные ответят как я.
Reply
#7

Quote:
Originally Posted by -Stranger-
View Post
PAWN - это не язык низкоуровневого программирования. Это не машинный код. Он выполняется где? - в виртуальной машине PAWN.. Да и языком программирования это сложно назвать вообще, это скриптовый язык. Тупо набор команд для PAWN машины. PAWN машина это грубо говоря транслятор. Раз Вы этого не знаете, то стоит задуматься о Вашей пригодности вообще что-то обсуждать на этом форуме.
Это раз.
Два. Как фреймворк может быть быстрее натива? Он что разгоняет электроны больше скорости света?
Три. Далеко не Вам судить мою пригодность и мои знания. С другой стороны, я вижу, что Вы не в состоянии пользоваться поиском форума и Вам "лень читать 16 страниц". О чём разговор вообще?
Четыре. PHP - интерпретируемый язык, Вот и почитайте про него, как он работает, и что происходит с кодом, пока его получит интерпретатор.

Совет, подучите матчасть для начала, а потом открывайте темы с сомнительными проектами.
Уважаемый, не засоряйте тему своими попытками выкрутиться с помощью набора слов.
О ваших познаниях той самой мат. части я осведомлен.
Reply
#8

Quote:
Originally Posted by -Stranger-
View Post
PAWN - это не язык низкоуровневого программирования. Это не машинный код. Он выполняется где? - в виртуальной машине PAWN.. Да и языком программирования это сложно назвать вообще, это скриптовый язык. Тупо набор команд для PAWN машины. PAWN машина это грубо говоря транслятор. Раз Вы этого не знаете, то стоит задуматься о Вашей пригодности вообще что-то обсуждать на этом форуме.
Это раз.
Два. Как фреймворк может быть быстрее натива? Он что разгоняет электроны больше скорости света?
Три. Далеко не Вам судить мою пригодность и мои знания. С другой стороны, я вижу, что Вы не в состоянии пользоваться поиском форума и Вам "лень читать 16 страниц". О чём разговор вообще?
Четыре. PHP - интерпретируемый язык, Вот и почитайте про него, как он работает, и что происходит с кодом, пока его получит интерпретатор.

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

PHP тоже скриптовый язык, но как видите, на нем почти все сайты стоят, и никто еще при мне не говорил, что это - не язык программирования.

Все новые игры делаются на скриптовых языках программирования.

Но для вас же это - детский сад, вы небось такой ас, что сервера на Ассемблере пишете...
Reply
#9

Вадим, Вам-бы научиться читать, а потом понимать прочитанное.. Хотя что-то Вы прочитали и поняли. Ни слова про машину PAWN. Видимо не так всё плохо....

Скриптовый язык программирования перестал считаться низким\высоким языком программирования ровно тогда, когда вынесли их в скриптовые языки программирования. Может будем называть вещи своими именами а не как хочется? Может тогда давайте называть колбеки пабликами а стоки и нативы просто функциями?
Школьник уровня 15 лет так и делает, но тут в основном сидят знающие тему люди.

Вы заявили что компилированный PAWN это машинный код. А Вы знаете что это значит? Нет не знаете, ибо если-бы знали, не писали такого бреда. Для информации: машинный код это набор команд, непосредственно для процессора или для программной части микроконтроллера. Если-бы в SAMP был машинный код, то зафина нужен samp-server.exe?
Возможно Вы хотели сказать что PAWN это байт код, и тока тогда я Вами соглашусь, ибо это так, и как любой байт-код, PAWN запускается в виртуальных машинах, которых, между прочем в SA-MP 17 штук (1 под GM и 16 под FS).

То что все сайты на PHP это Вы зря.. А как-же CGI, Java, node.js, ASP.NET, KittenPHP....

И вот я понять не могу, или Вы клоун, или реально не понимаете сути, а может эхо майдана...
Reply
#10

Скажу проще: нафиг оно надо? Есть интерпретатор squriell в samp, есть c, есть php... Никакого нового функционала со стороны клиента ты не получишь.
Reply
#11

Обычное модостроение:
Code:
 – (Низкоуровневый язык процессора и прочая магия)
 – (AMX машина)
 – (компилятор преобразующий PAWN код в код понятный AMX машине)
 – (PAWN код)
Модостроение предлагаемое автором:
Code:
 – (Низкоуровневый язык процессора и прочая магия) – (plugins samphp)
 – (AMX машина)
 – (компилятор преобразующий PAWN код в код понятный AMX машине)
 – (PAWN код) – (PHP код)
Я думаю очевидно, что ваше предложение обусловлено обычной некомпетентностью языка PAWN, вы видимо знаете PHP и хотите писать моды для SA-MP в привычной для вас среде.

Reply
#12

Quote:
Originally Posted by -Stranger-
View Post
Вадим, Вам-бы научиться читать, а потом понимать прочитанное.. Хотя что-то Вы прочитали и поняли. Ни слова про машину PAWN. Видимо не так всё плохо....

Скриптовый язык программирования перестал считаться низким\высоким языком программирования ровно тогда, когда вынесли их в скриптовые языки программирования. Может будем называть вещи своими именами а не как хочется? Может тогда давайте называть колбеки пабликами а стоки и нативы просто функциями?
Школьник уровня 15 лет так и делает, но тут в основном сидят знающие тему люди.

Вы заявили что компилированный PAWN это машинный код. А Вы знаете что это значит? Нет не знаете, ибо если-бы знали, не писали такого бреда. Для информации: машинный код это набор команд, непосредственно для процессора или для программной части микроконтроллера. Если-бы в SAMP был машинный код, то зафина нужен samp-server.exe?
Возможно Вы хотели сказать что PAWN это байт код, и тока тогда я Вами соглашусь, ибо это так, и как любой байт-код, PAWN запускается в виртуальных машинах, которых, между прочем в SA-MP 17 штук (1 под GM и 16 под FS).

То что все сайты на PHP это Вы зря.. А как-же CGI, Java, node.js, ASP.NET, KittenPHP....

И вот я понять не могу, или Вы клоун, или реально не понимаете сути, а может эхо майдана...
Понятно, еще один отмороженный.
Закрывайте тему, на русском форуме любят выеживаться, а не делать.

Приношу свои извнинения, не в ту компанию попал.
Reply
#13

Quote:
Originally Posted by OKStyle
View Post
Скажу проще: нафиг оно надо? Есть интерпретатор squriell в samp, есть c, есть php... Никакого нового функционала со стороны клиента ты не получишь.
При чем здесь клиент?
Первая причина того, что я хочу использовать PHP - это классы. У меня два мода, по 15 и 25 тыс. строк, и мне не удобно без ООП. Я знаю, что на клиент это никак не повлияет. И на сервер, в общем, тоже не особо повлияет.
Reply
#14

Ну вот я и говорю, разница для программиста (скриптера) лишь в структуре кода. Не вижу причин вообще юзать ООП здесь. Но, как говорится, на вкус и цвет фломастеры разные.

У меня мод на 100к строчек, у Варпа столько же, наверное. Так что про ваши детские циферки вообще нечего вспоминать =) Тем более модульная система инклюдов позволяет мод сократить прилично.
Reply
#15

Quote:
Originally Posted by OKStyle
View Post
Ну вот я и говорю, разница для программиста (скриптера) лишь в структуре кода. Не вижу причин вообще юзать ООП здесь. Но, как говорится, на вкус и цвет фломастеры разные.

У меня мод на 100к строчек, у Варпа столько же, наверное. Так что про ваши детские циферки вообще нечего вспоминать =) Тем более модульная система инклюдов позволяет мод сократить прилично.
Да, для меня очень важен читабельный удобный код.
На счет "детских циферок" - давайте не начинать тут меряться достоинством. Я сказал, что мне не удобно работать с кучей текста, а не то, что у меня больше, чем у кого-то. К тому же, важно качество и расширяемость мода, а не его вес - я видел "знаменитые" моды на 50 тысяч строк, в которых минимум 20 тысяч можно вынести в базу данных и динамически подгружать.
Reply
#16

Тут дело не в меряниях, а в объёме обрабатываемых скриптером данных. Я пишу удобочитаемый (для меня, по крайней мере) код и без всяких облачных ООП.
Reply
#17

Quote:
Originally Posted by OKStyle
View Post
Тут дело не в меряниях, а в объёме обрабатываемых скриптером данных. Я пишу удобочитаемый (для меня, по крайней мере) код и без всяких облачных ООП.
Простите, вы знакомы с Объектно Ориентированным Программированием? Если да, то с какими языками вы работали, и как именно использовали ООП, если считаете, что для 100 тысяч строк достаточно двух пространств имен, и ООП здесь неуместен?
Reply
#18

В PAWN роль классов выполняют кастомные функции. Да, я считаю, что ООП вообще бесполезен. Скажем так: если отлично работает без него, то это не нужно.
Reply
#19

Quote:
Originally Posted by OKStyle
View Post
В PAWN роль классов выполняют кастомные функции. Да, я считаю, что ООП вообще бесполезен. Скажем так: если отлично работает без него, то это не нужно.
Кастомные функции?
Функция в PAWN - это "ввел данные" -> "обработало" -> "записало в переменную глобального пространства / вернуло результат".

Чем она похожа на объект, или класс, кроме того, что имеет свое пространство имен (к которому можно получить доступ только из тела самой функции, в отличии от ООП, где можно задать public / private / protected...) и "может что-то обработать"?
Reply
#20

Stepashka, ну хоть кто-то поддержал.
therainycat, Скока я не писал на ООП, в то-же яве, от него тока одни беды, особенно когда 50 классов наследуют друг друга. И потом ищи где реализация данного метода..
Вообще в сампе ООП применить можно в. по пальцам пересчитать можно. Система аккаунтов, дома\тачки.. всё. Ну разве что ещё небольшие утилитные классы, хотя выше сказали про фломастеры.

У меня в моде порядка 75к строк, но в PWN файле всего 7481 строка, и в ней реализованна вся логика сервера. Всё остальное вынесено в порядка 50 инклудов, однозначно говорящие для чего они. И я свой мод знаю так, что мне достаточно просто сказать что найти и я сразу покажу этот участок кода.. Да и думаю любой прогер в своём коде хорошо разбирается.

Ну нету преимущества ООП в сампе, как вы это не можете понять? Можно к запорожцу прицепить двигатель от бугатти, тока в чём понт? запорожец порвёт на 4 части при первом разгоне.

И на русском форуме любят объективно подходить к вопросу, в не по первому порыву что-то делать.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)