21:09
ОбновитьСмайлыУправление мини-чатом
МИНИ-ЧАТ
Главная страница!

 



 
          





Рекомендуем:





Последние Файлы GTA 4 Последние Файлы GTA-MP Реклама
Скрипт GTA 4 элементы Watch... 07.09.2014
Ferrari 360 Spider [EPM con... 13.12.2013
Porsche Cayenne Turbo 2012 ... 13.12.2013
Shelby Terlingua Mustang v1... 13.12.2013
Hamann Lamborghini Gallardo... 27.10.2013
[GM] The Big PEN1:LS v2.00 ... 04.12.2017
Dgun (AvnanceRP,SampRP,Dimo... 19.03.2016
SAMP скрипт SX Events (MySQ... 03.03.2016
Карта ASL мэрия для SAMP се... 03.03.2016
AIM для SA-MP 0.3.7 22.02.2016
  • Страница 1 из 2
  • 1
  • 2
  • »
Модератор форума: Interpol  
PawnX - новый язык, замена устаревшего Pawn
TurgenevДата: Четверг, 18.09.2014, 15:30 | Сообщение # 1
Уверенный в себе
Группа: Продвинутые
Сообщений: 181
Награды: 0
Город: Новокузнецк
Репутация: 30
Замечания: 0%
Статус:
[cut noguest=Что такое PawnX и с чем его едят?]
PawnX - новое веяние в разработке SAMP. Поистине революционный язык, призванный заменить своего родителя Pawn. В последнее время, функциональный объем скриптов на Pawn стремительно растет. Более менее работоспособный код имеет от 40 000 строк. Не жирно ли для одного скрипта?!

Все дело в том, что основные шаблоны программирования при разработке не используются. Код нагло копируется, увеличивая масштабы катастрофы! Из-за этого поддерживать код большинство скриптеров отказывается - ведь разбираться сложно в таком объеме кода. Программисты с опытом, в большинстве случаев отказываются вообще от затрат своего времени на Pawn. Проблема в том что язык морально уже устарел!

Основная идея нового языка в том, чтобы упростить работу при создании тяжелых скриптов для SAMP. А также привнести новые "фишки", которые уже давно есть в других языках. Сейчас уже создан препроцессор, который из исходников PawnX преобразует их в единый файл Pawn. Который дальше можно уже скомпилировать стандартным компилятором для Pawn. По духу это дело напоминает вкусности вроде: SASS или LESS для CSS.

Для любознательных, ответим на вопрос: "На чем это работает?". Прототип первого препроцессор изначально был написан на PHP5.3. Подтвердив, что идея имеет шансы на жизнь, все это дело было переписано на C++ (помимо этого использовалась библиотека Boost). Препроцессор собирается с помощью CMake, т.к. мы ориентируемся на кросс-платформенность нашего решения.

Есть уже первые важные "фишки"
Кодировка UTF-8 для исходников. Препроцессор конвертирует кодировку, и на выходе получаем Pawn-исходник с кодировкой Windows-1251.
Функция pwn_require(), которая подгружает указанный исходный файл и вставляет его прямо в код. Полностью поддерживается вложенность по относительным путям. Например: можно подгрузить файл в котором подгружаются другие файлы, относительно него.[/cut]

Проект PawnX вышел в свет, с чем вас и поздравляем. Обо всех вопросах можете спрашивать в комментариях. Найденные недочеты или ошибки пишите в баг-трекер: https://github.com/tesjin/pawnx/issues

Исходники: https://github.com/tesjin/pawnx

БЕСПЛАТНЫЙ БОНУС!

Помимо исходников PawnX, мы выложили также в публичный доступ урезанную версию игрового мода проекта Valinor-RP (http://valinor-rp.ru/), в обучающих целях. Можете посмотреть на то, как мы использовали PawnX в бою: https://github.com/tesjin/valinor-samp


Пишем свои вопросы, предложения, замечания.



Сообщение отредактировал Turgenev - Четверг, 18.09.2014, 15:39
RishatДата: Четверг, 18.09.2014, 17:04 | Сообщение # 2
Уверенный в себе
Группа: Продвинутые
Сообщений: 235
Награды: 3
Город: Nab. Chelny
Репутация: 56
Замечания: 0%
Статус:
Это конечно же круто, но шрифт глаза режит :с

Чем он лучше будет Pawn?
Мог бы плюсы и минусы расписать



[Open Source] GTO v.0.5.8 - 0.7.2 [all series]

[GM] GTA-EU Role Play (akka Awesome RPg)
[GM] MultiGTA - Rishat edition 2011

[MAP] Автошкола. (Los Santos)
[MAP] Hospital - Больница (Los Santos)
TurgenevДата: Четверг, 18.09.2014, 17:33 | Сообщение # 3
Уверенный в себе
Группа: Продвинутые
Сообщений: 181
Награды: 0
Город: Новокузнецк
Репутация: 30
Замечания: 0%
Статус:
Шрифт хороший, специально для чтения создавался, с засечками. Если "режит" глаза, то наверное у тебя что-то не то с монитором или настройками (Покрути в настройках ClearType если есть).

Если коротко то из плюсов это:

  • Полная обратная совместимость с Pawn. Любой код из Pawn тут будет работать.
  • Исходники в UTF-8, а не в Windows-1251. Т.е. меньше проблем на Linux с разработкой скрипта
  • Подгрузка кода из файла, куда тебе надо. Просто вызвал функцию, передав туда путь до файла (относительно текущего файла), и все.. Теперь в этом месте будет подгружен тот файл. Это нереально облегчает работу в сотни раз, теперь можно разбить логически скрипт на файлы, что упростит навигацию в разы.


Из минусов, чего пока не хватает

  • Собственного компилятора нет. Используется пока от Pawn. Хотя может оно и к лучшему...

astronautДата: Четверг, 18.09.2014, 18:52 | Сообщение # 4
Долгожитель
Группа: I'm V.I.P.
Сообщений: 1449
Награды: 23
Город: Ишим
Репутация: 1124
Замечания: 20%
Статус:
То есть шрифт без засечек не предназначен для чтения? Для чего он тогда? ;)
С засечками для печати, для чтения на экранах лучше всего будет без засечек.

OKStyle™Дата: Пятница, 19.09.2014, 07:46 | Сообщение # 5
Мастер джэдай
Группа: I'm V.I.P.
Сообщений: 2444
Награды: 16
Город: Оренбург
Репутация: 1174
Замечания: 40%
Статус:
Ничего нового нет. Разбили 1 файл на несколько, типа: http://forum.sa-mp.com/showthread.php?t=534434 , да расширение на 1 букву изменили.


Да потому что когда человек делает на заказ он не старается. © kRiSyo
Кланяимся нофаму королю анимаций =))))))) © Manusya
В MTA - для вас все багоюзеры. Не юзают там +с только EFO и ACF. © SeWeR
TurgenevДата: Пятница, 19.09.2014, 10:45 | Сообщение # 6
Уверенный в себе
Группа: Продвинутые
Сообщений: 181
Награды: 0
Город: Новокузнецк
Репутация: 30
Замечания: 0%
Статус:
Цитата OKStyle™ ()
Ничего нового нет. Разбили 1 файл на несколько, типа: http://forum.sa-mp.com/showthread.php?t=534434 , да расширение на 1 букву изменили.

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

Возможно у вас возникнут пожелания, что добавить сюда из другого языка?

OKStyle™Дата: Пятница, 19.09.2014, 12:07 | Сообщение # 7
Мастер джэдай
Группа: I'm V.I.P.
Сообщений: 2444
Награды: 16
Город: Оренбург
Репутация: 1174
Замечания: 40%
Статус:
Всё давно сделано за вас.


Да потому что когда человек делает на заказ он не старается. © kRiSyo
Кланяимся нофаму королю анимаций =))))))) © Manusya
В MTA - для вас все багоюзеры. Не юзают там +с только EFO и ACF. © SeWeR
ZiGGiДата: Пятница, 19.09.2014, 21:10 | Сообщение # 8
Мастер джэдай
Группа: Продвинутые
Сообщений: 2652
Награды: 34
Город: St. Petersburg
Репутация: 2102
Замечания: 20%
Статус:
Цитата Turgenev ()
Исходники в UTF-8, а не в Windows-1251. Т.е. меньше проблем на Linux с разработкой скрипта

Да нет никаких проблем с разработкой на Linux.

Цитата Turgenev ()
Подгрузка кода из файла, куда тебе надо. Просто вызвал функцию, передав туда путь до файла (относительно текущего файла), и все.. Теперь в этом месте будет подгружен тот файл. Это нереально облегчает работу в сотни раз, теперь можно разбить логически скрипт на файлы, что упростит навигацию в разы.

Сто лет назад люди разбивали скрипт на файлы и подключали их с помощью #include.

Цитата Turgenev ()
Сейчас идет работа над введением локальных переменных и областью видимости их

Что? Они и без этого есть...



Бложе
[indent]Мой блог
Уроки по Pawn
[/indent]

Open-GTO
[indent]Блог разработчиков
GitHub: https://github.com/Open-GTO/Open-GTO
Сборки мода с сервером тут
[/indent]
[RD]ChezДата: Пятница, 03.10.2014, 18:45 | Сообщение # 9
Мастер джэдай
Группа: Продвинутые
Сообщений: 3687
Награды: 206
Город: St. P
Репутация: 0
Замечания: 20%
Статус:
Новый язык?
Вы упоролись?

Отчисления compuphase отправили за использование бренда?

Как же меня поражает тупоголовость изобретателей. Сделать шелловый скрипт или простенькую прогу для сборки - НОВЫЙ ЯЗЫК!!11

https://github.com/ChezRD/less-css-compiler-minifier - один вечер и жалкое подобие сборщика LESS/SCSS/JS готово. получите, распишитесь.



1 час моей работы стоит минимум 800 рублей для срочных работ.
Знаю CodeIgniter, Kohana, втч. кастом(php), Вникаю в Yii. jQuery на должном уровне, немного разбираюсь в RightJS.
Алсо, 6 лет павно, 2 года в шарпе, понимаю си и плюсы.
Немного ассемблер.
Ох**тельный верстальщик какб.

Если ваш заказ потребует неделю работы и вы собираетесь заплатить 100 рублей - лес там ->> ^^^^^

chezrd@gmail.com
lance@chez-lab.ru
FabervoxДата: Воскресенье, 05.10.2014, 16:52 | Сообщение # 10
Уверенный в себе
Группа: I'm V.I.P.
Сообщений: 235
Награды: 1
Город: Краматорск
Репутация: 217
Замечания: 0%
Статус:
Turgenev, что часть текста от гостей спрятали, правильно.
То что язык устарел, это несколько не верно, т.к. в той же вики написано для чего хорош(мк с огр. памятью, и в т.ч. для тех кто не осилил С или ASM).

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

Но сама затея странная, если нравится другой язык, почему бы не заняться именно его интеграцией. Если неудобно разрабатывать, то почему бы не слепить для павна IDE какую-нибудь. И мне кажется, на весь этот пафосный текст и его постинг вы потратили времени, соизмеримо с написанием кода. Поэтому это больше похоже на пафос ради пафоса или рекламы(своего РП).




RP в мире - как мух в сортире, а нужного чуда не видать покуда..©_Z_
Как посмотришь, сколько тысяч строчек кода, в одном файле, сразу понимаешь почему моды делают годами.
Закон сохранения сложности
[RD]ChezДата: Воскресенье, 05.10.2014, 17:58 | Сообщение # 11
Мастер джэдай
Группа: Продвинутые
Сообщений: 3687
Награды: 206
Город: St. P
Репутация: 0
Замечания: 20%
Статус:
Fabervox, да не написали они новый язык, ептыть!


1 час моей работы стоит минимум 800 рублей для срочных работ.
Знаю CodeIgniter, Kohana, втч. кастом(php), Вникаю в Yii. jQuery на должном уровне, немного разбираюсь в RightJS.
Алсо, 6 лет павно, 2 года в шарпе, понимаю си и плюсы.
Немного ассемблер.
Ох**тельный верстальщик какб.

Если ваш заказ потребует неделю работы и вы собираетесь заплатить 100 рублей - лес там ->> ^^^^^

chezrd@gmail.com
lance@chez-lab.ru
TurgenevДата: Воскресенье, 05.10.2014, 18:12 | Сообщение # 12
Уверенный в себе
Группа: Продвинутые
Сообщений: 181
Награды: 0
Город: Новокузнецк
Репутация: 30
Замечания: 0%
Статус:
Цитата [RD]Chez ()
Fabervox, да не написали они новый язык, ептыть!

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

К примеру сейчас в разработке одна из популярных парадигм программирования: ООП. Думаю это самая необходимая возможность, которой сейчас не хватает многим скриптерам. Или это не так? Проект PawnX открыт для обсуждения, все пожелания будут рассматриваться. Так что прошу вас предложить свои пожелания

Да возможно глупо было публиковать проект так рано, но это сделано ради фидбека от комьюнити

[RD]ChezДата: Воскресенье, 05.10.2014, 18:26 | Сообщение # 13
Мастер джэдай
Группа: Продвинутые
Сообщений: 3687
Награды: 206
Город: St. P
Репутация: 0
Замечания: 20%
Статус:
Цитата Turgenev ()
Да возможно глупо было публиковать проект так рано, но это сделано ради фидбека от комьюнити

Слишком рано.

Займитесь делом

Цитата Turgenev ()
К примеру сейчас в разработке одна из популярных парадигм программирования: ООП. Думаю это самая необходимая возможность, которой сейчас не хватает многим скриптерам. Или это не так?


ООП В pawn? Хах, ну удачи, лучше бы развивали тему с виртуальной машиной amx -> php vm



1 час моей работы стоит минимум 800 рублей для срочных работ.
Знаю CodeIgniter, Kohana, втч. кастом(php), Вникаю в Yii. jQuery на должном уровне, немного разбираюсь в RightJS.
Алсо, 6 лет павно, 2 года в шарпе, понимаю си и плюсы.
Немного ассемблер.
Ох**тельный верстальщик какб.

Если ваш заказ потребует неделю работы и вы собираетесь заплатить 100 рублей - лес там ->> ^^^^^

chezrd@gmail.com
lance@chez-lab.ru
TurgenevДата: Воскресенье, 05.10.2014, 19:28 | Сообщение # 14
Уверенный в себе
Группа: Продвинутые
Сообщений: 181
Награды: 0
Город: Новокузнецк
Репутация: 30
Замечания: 0%
Статус:
Цитата [RD]Chez ()
лучше бы развивали тему с виртуальной машиной amx -> php vm

Не понятен смысл с вирт машиной, какой с этого профит?

Использовать PHP везде где можно не разумно: для каждой задачи есть свои инструменты. Допустим мы получили некоторую инфраструктуру, которая пробрасывает запросы на PHP из SAMP. Не важно как: будь это FastCGI или же моудль к Apache, или даже еще прокси-сервер будет стоять... Давайте заострим внимание на сам язык. В чем минусы PHP? Он интерпретируемый, т.е. время выполнения кода заметно ниже, чем с теми языками, которые могут компилироваться в байт-код или бинарный файл. В добавок при каждом вызове будет происходить ПОЛНАЯ инициализация скрипта. Как решение можно использовать PHP-daemon, но это костыль, который сильно течет в памяти из-за "корявых" скриптов, так что это даже не вариант.

Также хочу заострить внимание, что использовав такую инфраструктуру у нас будут очень большие проблемы со скоростью выполнения вычислений. Можете сами подсчитать это, начиная от вызова event-функции в SAMP: перехват event, отправка на PHP по средствам HTTP или FastCGI, инициализация скрипта PHP, обработка данных, возвращение результата по HTTP/FastCGI, обработка результата в SAMP, вызов функций SAMP. Да можно отказаться от транспортировки по TCP/IP и вызвать интерпретатор каждый раз, но выигрыша как не странно не будет, даже будет скорее проигрыш: дело в том, что ресурсы будут тратятся ОС на каждый запуск интерпретатора: загрузка в память и т.д. А еще не забываем что обработка в SAMP (судя по исходникам 0.3d) и вызов функций в PAWN однопоточный!

Резюмируя, хочу сказать что PHP не для высоконагруженных проектов, где задержка у игроков является критичным местом для команды такого сервера. Соответственно радужных перспектив для PHP в SAMP я не вижу. Его либо надо встраивать в саму движку, заменяя Pawno, либо делать backend сервер на другом языке, который может быть заточен под real-time: C/C++, Java, C#, Go, Rust, Haskell, Node.js, Ruby. И на этот сервер по средствам TCP/IP или Unix-Socket асинхронно отправлять данные для обработки. Главное, чтобы задержка между SAMP и backend сервером была минимальна, иначе будет "лагать"

[RD]ChezДата: Понедельник, 06.10.2014, 14:10 | Сообщение # 15
Мастер джэдай
Группа: Продвинутые
Сообщений: 3687
Награды: 206
Город: St. P
Репутация: 0
Замечания: 20%
Статус:
Turgenev, у вас огромный пробел в знаниях, вы явно не изучали код php и явно не знаете что такое vm. Почитайте, пожалуйста литературу и исходники уже имещихся в samp комьюнити проектов по использованию других языков, а также документацию от compuphase и тогда суйтесь в эти области. Пока что это просто сборщик, который на коленке делается за один вечер. И еще раз говорю, не новый язык, тк ВНЕЗАПНО AMX - тоже виртуальная машина, а в pawn есть ассемблерные вставки в вирт. машину. ПАМ-ПАМ-ПАМ!!11


1 час моей работы стоит минимум 800 рублей для срочных работ.
Знаю CodeIgniter, Kohana, втч. кастом(php), Вникаю в Yii. jQuery на должном уровне, немного разбираюсь в RightJS.
Алсо, 6 лет павно, 2 года в шарпе, понимаю си и плюсы.
Немного ассемблер.
Ох**тельный верстальщик какб.

Если ваш заказ потребует неделю работы и вы собираетесь заплатить 100 рублей - лес там ->> ^^^^^

chezrd@gmail.com
lance@chez-lab.ru
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск:





 


 


 
Хостинг от uCoz samp.at.ua