Как написать веб сервис на паскале?

Общие вопросы программирования, алгоритмы и т.п.

Модератор: Модераторы

Как написать веб сервис на паскале?

Сообщение azsx » 25.05.2017 08:54:54

Хочу написать сервис на паскале, который от разных людей принимает текстовой файл (например, json); обрабатывает его и формирует другой json к юзеру. Причина почему на паскале, так как обработка скорее всего потребует строгой типизации и весьма ресурсоёмких нетривиальных обработок на сервере.
Сам ничо не понимаю как это сделать на паскале.
1. Стоит ли это того, или писать на пхп как всегда?
2. Где и что почитать (лучше с примером) как такая задача реализовывается, желательно на русском.
azsx
энтузиаст
 
Сообщения: 887
Зарегистрирован: 16.11.2015 06:38:32

Re: Как написать веб сервис на паскале?

Сообщение pupsik » 25.05.2017 09:06:29

cgi, brook, web-spider, web-cgi и т.д.. Возможны ошибки в названиях. Писал по памяти.
pupsik
энтузиаст
 
Сообщения: 997
Зарегистрирован: 20.08.2014 16:20:13

Re: Как написать веб сервис на паскале?

Сообщение grot » 25.05.2017 09:43:53

1. YES !
2. fpc\[YOUR VERSION]\source\packages\fcl-web\examples\
grot
новенький
 
Сообщения: 43
Зарегистрирован: 13.02.2010 16:33:03

Re: Как написать веб сервис на паскале?

Сообщение vitaly_l » 25.05.2017 10:38:20

azsx писал(а):1. Стоит ли это того, или писать на пхп как всегда?

Питон, согласно таблице его создателей, по скорости в 80-90% совпадает с С++ идентичными написанными алгоритмами (недавно ходил на семинар там создатели питона свои таблицы-сравнений приводили). Пхп написан на питоне, так что, какой-то прирост в скорости написав на Паскале - Вы вряд-ли получите. Основная проблема написания на паскале, в защищённости сервера. Считается, что пхп - более защищён от атак на уровне спец. символов (процессорных команд) и т.п. В написании кода особой разницы нет, но в отладке пхп явно удобнее (т.к. она там сведена к минимуму и всё за вас делает секрипт). Как впрочем и при работе с БД и другими WEB-необходимостями - пхп удобнее. Кроме того, в пхп тоже можно принудительно указывать типизировать, раз уж именно это Вам важно (хотя я не совсем понимаю, что конкретно вы имели ввиду под словом типизация ). Ну и наконец обслуживание "допиливание" кода, на php делать удобнее. А паскаале-компилируемую программу удобно отдавать пользователю в одном файле, но постоянно работать безусловно удобнее с пхп скриптом. В общем писать на пхп в 10-20 раз проще чем на паскале и добиться прироста в скорости написав сервер на паскале - смогут только программисты наивысочайшего уровня, ясно понимающие все фишки web технологий.

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

.
Последний раз редактировалось vitaly_l 25.05.2017 10:40:36, всего редактировалось 1 раз.
Аватара пользователя
vitaly_l
долгожитель
 
Сообщения: 3042
Зарегистрирован: 31.01.2012 16:41:41

Re: Как написать веб сервис на паскале?

Сообщение azsx » 25.05.2017 10:39:33

Пхп написан на питоне

упс...
azsx
энтузиаст
 
Сообщения: 887
Зарегистрирован: 16.11.2015 06:38:32

Re: Как написать веб сервис на паскале?

Сообщение vitaly_l » 25.05.2017 10:48:10

azsx писал(а):упс...

да действительно упс... в смысле я облажался. Но - это ничего не меняет, т.к. всё остальное про пхп моё мнение.
Аватара пользователя
vitaly_l
долгожитель
 
Сообщения: 3042
Зарегистрирован: 31.01.2012 16:41:41

Re: Как написать веб сервис на паскале?

Сообщение azsx » 25.05.2017 11:02:00

что конкретно вы имели ввиду под словом типизация

Мне надо, чтобы 2+2 однозначна равнялся 4, а не "22". Ну и все вытекающие проблемы от этого.
К сожалению я не настолько хорошо знаю паскаль, чтобы судить хуже он или лучше для моей задачи. Хочу написать сервис чат бота, начать можно с rest сервиса (получил переменную, отдал переменную). На пхп такое реализовать легко, прекрасно масштабировать горизонтально (если потребуется) и код можно править на лету.
Зато нет типизации и если в скрипте будет сложная логика, то скорее будет как минус выбор php. Хотя пхп написан на С и некоторые алгоритмы рвут С++ ваще как тузик грелку (пруфы искать не буду).
Java более тяжёл при начальном запуске, зато сразу, как я понимаю, легко многопоточность сделать.
azsx
энтузиаст
 
Сообщения: 887
Зарегистрирован: 16.11.2015 06:38:32

Re: Как написать веб сервис на паскале?

Сообщение sts » 25.05.2017 11:31:58

советую GO(Lang), он специально разработан для таких задач, это как паскаль только со встроенной поддержкой эффективной многопоточности, сборщиком мусора и вместо бегин енд фигурные скобочки, компилится в один исполняемый файл, за пару-тройку часов разберетесь и набросаете скелет сервиса. Аналогичное решение на паскале - пару недель будете только разбираться какие либы использовать.
sts
постоялец
 
Сообщения: 242
Зарегистрирован: 04.04.2008 12:15:44
Откуда: Тольятти

Re: Как написать веб сервис на паскале?

Сообщение azsx » 25.05.2017 11:49:00

sts -- для меня совсем не вариант.
azsx
энтузиаст
 
Сообщения: 887
Зарегистрирован: 16.11.2015 06:38:32

Re: Как написать веб сервис на паскале?

Сообщение vitaly_l » 25.05.2017 12:04:53

azsx писал(а):Мне надо, чтобы 2+2 однозначна равнялся 4, а не "22".

Код: Выделить всё
$a = 2;
$b = 2;
$c = (int)$a + (int)$b; // как минимум вот так можно это сделать

Это всё или ещё что-то, подразумевается под типизацией?

Добавлено спустя 2 минуты 27 секунд:
А вообще, чтобы 2+2 равнялся "22" в php делают так:
Код: Выделить всё
$a = "2";
$b = "2";
$c = $a . $b; // ставят не плюс а точку или запятую
Аватара пользователя
vitaly_l
долгожитель
 
Сообщения: 3042
Зарегистрирован: 31.01.2012 16:41:41

Re: Как написать веб сервис на паскале?

Сообщение azsx » 25.05.2017 12:09:21

Код: Выделить всё
$a = "2";
$b = 2;
Sc = $a + $b;

Виталий, мне надо чтобы такой код давал ошибку, а не отрабатывал.
зы
это далеко от темы и спор мне не интересен.
azsx
энтузиаст
 
Сообщения: 887
Зарегистрирован: 16.11.2015 06:38:32

Re: Как написать веб сервис на паскале?

Сообщение sts » 25.05.2017 12:13:52

azsx писал(а):sts -- для меня совсем не вариант.

почему? на паскале придется самому реализовывать то что в го есть (собственно оно там встроено в язык как раз потому что нужно для сервисов), либы типа indy ("работа" с сетью) для паскаля если и имеют то примитивные менеджеры потоков, чисто для галочки, там придется самому реализовывать либо сопрягать с либой управления потоками, специфика сервисов - неоднозначный цикл использования ресурсов заставит сделать свой сборщик мусора, в лучшем случает найдете готовый проект где все увязано и все равно долго будете в нем разбираться, но я таких не видел.
Го обычный компилируемый язык со строгой типизацией, или задача - только на паскале?
sts
постоялец
 
Сообщения: 242
Зарегистрирован: 04.04.2008 12:15:44
Откуда: Тольятти

Re: Как написать веб сервис на паскале?

Сообщение azsx » 25.05.2017 12:17:30

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

Значит паскаль просто не вариант. ээх...
Го обычный компилируемый язык со строгой типизацией, или задача - только на паскале?

Для меня слишком круто учить go для написания чат бота.
azsx
энтузиаст
 
Сообщения: 887
Зарегистрирован: 16.11.2015 06:38:32

Re: Как написать веб сервис на паскале?

Сообщение vitaly_l » 25.05.2017 12:19:14

azsx писал(а):Виталий, мне надо чтобы такой код давал ошибку, а не отрабатывал.
зы
это далеко от темы и спор мне не интересен.

Возьмите модуль synapce и сделайте на нём сервер на паскале. Тогда сможете делать вот так:
Код: Выделить всё
var
s: string;
i: integer;
v: variant;
begin
s := '2';
i := 2;
v := s + i; // здесь важное сообщение
end;
Аватара пользователя
vitaly_l
долгожитель
 
Сообщения: 3042
Зарегистрирован: 31.01.2012 16:41:41

Re: Как написать веб сервис на паскале?

Сообщение Лекс Айрин » 25.05.2017 12:22:51

vitaly_l писал(а):Основная проблема написания на паскале, в защищённости сервера. Считается, что пхп - более защищён от атак на уровне спец. символов (процессорных команд) и т.п.


vitaly_l писал(а):т.к. всё остальное про пхп моё мнение.


Какая разница, если все это обрабатывается на стороне сервера? Клиент видит Яву, нтмл, хмл и флеш. И хоть обзащищайся в результате все равно взламывать будут через клиентскую часть, пытаясь получить рутовый доступ. А еще лучше рутовый доступ к ftp аккаунту.
Аватара пользователя
Лекс Айрин
долгожитель
 
Сообщения: 4021
Зарегистрирован: 19.02.2013 16:54:51

След.

Вернуться в Общее

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3

Рейтинг@Mail.ru