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

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

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

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

Сообщение Лекс Айрин » 31.05.2017 17:53:22

mirk писал(а):Нельзя сравнивать эти технологии. В нод.джс от яваскрипта только движок языка. Но это серверное средство (как пхп).


Вопрос был в том, что яваскрипт в принципе (не) пригоден для серверов и там не используется (используется), а не в том одна это реализация или нет.
Никто и не спорит, что это разные реализации
Аватара пользователя
Лекс Айрин
долгожитель
 
Сообщения: 5723
Зарегистрирован: 19.02.2013 16:54:51
Откуда: Волгоград

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

Сообщение vitaly_l » 31.05.2017 18:08:48

mirk писал(а):Чем?

В php удобнее работать БД (ну мне по крайней мере), хотя принцип един, что там то здесь одинаковые запросы. Разница в выводе и в лёгкости просмотра. Это делает написание кода более удобным и более быстрым. Можно написать echo или print_r и это весь код который требуется.
mirk писал(а):ПХП сам по себе огромная дыра в безопасности.

Возможно. Можно подробности, где именно в php дыра?
mirk писал(а):А земля не наткнется на солнце случайно?
Вы про обработку входных данных не знаете? А про обработку ошибок?

Нет не знаю. Какая в паскале обработка входных данных? Какая в паскале обработка ошибок? И как это связано с программой лежащей на сервере и\или выполняющей роль сервера?
mirk писал(а):ПХП скрипты настолько убоги, что они часто подвисают. Поэтому их приходится грохать время от времени.

У меня мои скрипты не виснут (хотя подвесить их безусловно можно). Но зато я всегда спокоен, если они случайно повиснут, то это не приведёт к краху. А чтобы на паскале всё это написать, нужно знать хотя-бы как работает сервер работающий с php, чтобы сделать аналог на паскале. Или всё это уже заложено в паскаль?

mirk писал(а):stanilar писал(а):
Но вот готовых решений для защиты от чего-то подобного DDOS атаки в паскале точно нет(типа авторизации).
Такая защита есть в ПХП или Питоне?

На хорошем php сервере естественно есть. Но раз вы, об этой защите - не знаете, значит вы никогда не работали с php сервером, т.к. php сервер начнёт возвращать 5XX, как только единовременных соединений будет больше установленного лимита. Соответственно 99,9% атаки, даже не дойдёт до php скрипта, т.к. будет отрублено намного раньше. И это удобно, т.к. блокирует роботов, которые время от времени СЛУЧАЙНО вешают сервера. Разве не так?

.
Последний раз редактировалось vitaly_l 31.05.2017 18:26:24, всего редактировалось 1 раз.
Аватара пользователя
vitaly_l
долгожитель
 
Сообщения: 3333
Зарегистрирован: 31.01.2012 16:41:41

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

Сообщение Лекс Айрин » 31.05.2017 18:22:05

vitaly_l писал(а): Какая в паскале обработка ошибок?


хорошая в нем обработка ошибок. При этом, хорошо написанная программа не должна допускать ошибок, если только не придет апокалипсис (аппаратный сбой, грубое удаление файла, с которым работаешь...). http://wiki.freepascal.org/try
Аватара пользователя
Лекс Айрин
долгожитель
 
Сообщения: 5723
Зарегистрирован: 19.02.2013 16:54:51
Откуда: Волгоград

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

Сообщение mirk » 31.05.2017 18:35:38

Лекс Айрин писал(а):Вопрос был в том, что яваскрипт в принципе (не) пригоден для серверов и там не используется (используется), а не в том одна это реализация или нет.
Никто и не спорит, что это разные реализации

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

vitaly_l писал(а):В php удобнее работать БД (ну мне по крайней мере), хотя принцип един, что там то здесь одинаковые запросы. Разница в выводе и в лёгкости просмотра. Это делает написание кода более удобным и более быстрым. Можно написать echo или print_r и это весь код который требуется.

Неужели вы не знаете о writeln в паскале? :lol:

vitaly_l писал(а):Можно подробности, где именно в php дыра?

См. ченджлог пхп

vitaly_l писал(а):Нет не знаю. Какая в паскале обработка входных данных? Какая в паскале обработка ошибок?

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

vitaly_l писал(а):И как это связано с программой лежащей на сервере иили выполняющей роль сервера?

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

vitaly_l писал(а):Но зато я всегда спокоен, если они случайно повиснут, то это не приведёт к краху.

Что значит слуайно? Это только в пхп можно написать код и он окажется не всегда рабочим, или случайно рабочим (привет не строгая типизация).

vitaly_l писал(а):А чтобы на паскале всё это написать, нужно знать хотя-бы как работает сервер работающий с php, чтобы сделать аналог на паскале.

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

Добавлено спустя 6 минут 20 секунд:
Полез глянуть что там в муравейнике пхп и сразу
11 May 2017
Core:
Fixed bug #74408 (Endless loop bypassing execution time limit).

Кто там спокоен что зависон не приведет к краху? :lol:
mirk
постоялец
 
Сообщения: 317
Зарегистрирован: 24.09.2007 10:03:39

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

Сообщение Лекс Айрин » 31.05.2017 18:44:06

mirk писал(а):нод.джс и яваскрипт - это не разные реализации одного и того же, это разные средства.


Думаю, что тут как с паскалем обычным и объектным.
Аватара пользователя
Лекс Айрин
долгожитель
 
Сообщения: 5723
Зарегистрирован: 19.02.2013 16:54:51
Откуда: Волгоград

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

Сообщение mirk » 31.05.2017 18:46:31

Лекс Айрин писал(а):Думаю, что тут как с паскалем обычным и объектным.

Скорее уж паскаль и паскальскрипт.
Но сравнение все равно не корректное.
mirk
постоялец
 
Сообщения: 317
Зарегистрирован: 24.09.2007 10:03:39

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

Сообщение Лекс Айрин » 31.05.2017 18:52:08

mirk писал(а):Но сравнение все равно не корректное.


О... ты еще не сравнивал разные виды бейсиков....
Аватара пользователя
Лекс Айрин
долгожитель
 
Сообщения: 5723
Зарегистрирован: 19.02.2013 16:54:51
Откуда: Волгоград

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

Сообщение vitaly_l » 31.05.2017 19:03:07

mirk писал(а):Неужели вы не знаете о writeln в паскале?

Я беру многомерный массив и пишу: print_r( $massiv ); А теперь напишите это на паскале, с writeLn и успокойтесь уже.
mirk писал(а):См. ченджлог пхп

А в лазарусе вы в ченджлог не заглядывали?
mirk писал(а):Нет никакой проблемы написать контроль своего состояния или попробовать воспользоваться готовыми менеджерами.

Контроль своего состояния? Не ну можно конечно и контроль своего состояния - написать. Кто же против-то?

А вот только нафига это всё? Если, умные образованные программисты: писали-писали, писали-писали, писали-писали, а всё ещё баги в php исправляют! А тут пришёл mirk и всё с первого раза заработало на паскале?

Не... ну я не знаю, мне как-бы никогда не стыдно, за свои слова о программировании, т.к. я самый слабый программист, при этом ещё и самого высокого уровня - на форуме и мне удобнее когда 90% работы, уже сделано опытными и умными образованными программистами. И код php проверяют 1 000 000 людей, вместо одного mirk.

Но у паскаля есть ряд серьёзных преимуществ перед php, особенно для сложных задач.

.
Аватара пользователя
vitaly_l
долгожитель
 
Сообщения: 3333
Зарегистрирован: 31.01.2012 16:41:41

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

Сообщение Лекс Айрин » 31.05.2017 19:56:23

vitaly_l, спокойствие, только спокойствие.
В случае паскаль-сервера свои очень большие проблемы. Например, практически нет интерпретаторов паскаля, что резко увеличивает время разработки. А так, без разницы программой на каком языке собирать готовые страницы -- принцип то один. Только если сборщик будет интерпретируемым, то скорость обработки безусловно упадет. И без разнице на каком языке. А насчет дыры в пхп... лично мне попадались в выхлопе на стороне клиента исходники пхп, собирающие страницу. Причем, даже с запросами к БД.
Аватара пользователя
Лекс Айрин
долгожитель
 
Сообщения: 5723
Зарегистрирован: 19.02.2013 16:54:51
Откуда: Волгоград

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

Сообщение vitaly_l » 31.05.2017 20:13:14

Лекс Айрин писал(а):А насчет дыры в пхп... лично мне попадались в выхлопе на стороне клиента исходники пхп, собирающие страницу. Причем, даже с запросами к БД.

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

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

Сообщение Cheb » 31.05.2017 21:16:16

Угх... Перезабыл всёуже. Сервер - реальное говно мамонта (потому js и обгоняет паскаль: он же на клиенте выполняется). Тест - реальное говно мамонта, напмсан в 2013-м. Паскаль рвёт php5. И под "рвёт" я имею в виду, выполняет большинство операций в тридцать раз быстрее.

Не знаю как насчёт php7.

http://test.chebmaster.com/pjpptest.php

Код: Выделить всё
<?php
   header("Content-type: text/html; charset=utf-8");
   //header("Content-Security-Policy: default-src 'self'; script-src 'self'; style-src 'self'; connect-src 'self' ");
   
   $tcols = array(1000, 10000, 100000, 1000000, 10000000);
   
   class T {
      public $a, $b;
      function __construct($av, $bv) {
         $this->a = $av;
         $this->b = $bv;
      }
      function Calc() {
         $z = $this->a - $this->b;
         $this->b = $this->a * $this->b;
         $this->a = $z;
      }
   }
   
   function sort_callback($ao, $bo) {
      $a = ($ao->a + $ao->b);
      $b = ($bo->a + $bo->b);
      if ($a == $b) {
         return 0;
      }
      return ($a < $b) ? -1 : 1;   
   }
   
   $O = array();
   
   function CreateObjects($n) {
      global $O;
      $O[$n] = array();
      if ($n > 100000) {
         $O[$n] = false;
          return ' &mdash; ';
      }
      $t = microtime(true);
      for ($j = 0; $j < $n; $j++) {
         $O[$n][] = new T(($j % 53) / 5.2 - 3, ($j % 166) / 12.8 - 5);
      }
      $t = microtime(true) - $t;
      return intval($t * 1000);
   }
   
   function Calculate($n) {
      global $O;
      if (!$O[$n]) return ' &mdash; ';
      $t = microtime(true);
      foreach ($O[$n] as $oo) $oo->Calc();
      $t = microtime(true) - $t;
      return intval($t * 1000);
   }
   
   function SortArray($n) {
      global $O;
      if (!$O[$n]) return ' &mdash; ';
      $t = microtime(true);
      
      uasort($O[$n], 'sort_callback');
      
      $t = microtime(true) - $t;
      return intval($t * 1000);   
   }
   
   function DrawTable() {
      global $tcols;

      $trows = array(
         "CreateObjects" => "Creating objects",
         "Calculate" => "Calculating values",
         "SortArray" => "Sorting the array of objects",
      );
      
      print '<table width="100%" border="1"><tr><th>Number of objects :</th>';
      foreach ($tcols as $tcn) {
         print '<th><b><big>'.$tcn.'</big></b><br></th>';
      }
      print '</tr>';
      foreach($trows as $func => $tit) {
         print '<tr><td>'.$tit.'</td>';
         foreach ($tcols as $tcn) {
            print '<td align="center"><span class="vphp">'.($func($tcn)).'</span> | <span  class="vjs" id="v'.$func.$tcn.'"> &mdash; </span> | <span  class="vpascal" id="vp'.$func.$tcn.'">???</span></td>';
         }
         print '</tr>';
      }
      print '</table>';
   }   
   
   //<br>$result = mysql_query("SELECT finger FROM hand WHERE id=3");<br>
   
   
?><!DOCTYPE html>
<html>
<head>
   <meta http-equiv="X-UA-Compatible" content="IE=edge"><!-- для предотвращения перехода IE9 в режим совместимости -->
   <meta charset="utf-8">
   <link rel="stylesheet" href="pjpptest.css" type="text/css">
   <script src="/cgi-bin/pjpptest.cgi" language="javascript" type="text/javascript"></script>
   <script src="pjpptest.js" language="javascript" type="text/javascript"></script>
</head>
<body>   
   <h1>Comparison of performance of <big class="vphp">php</big>, <big class="vjs">JavaScript</big> and <big class="vpascal">Pascal</big></h1>
   <p>For correct results both client and server must run on the same machine</p>
   <p>All times are in miliseconds (smaller is better)</p>
   <?php DrawTable(); ?>
   <p>Note: php runs out of memory at approximately 100.000 objects. Its memory usage is monstrously inefficient.</p>
   <p>Note: modern implementations of JavaScript are almost as fast as Pascal, a compiled language. Pascal is only 1.3 times faster at sorting, 3.5 times faster at creating objects and &mdash; unsurprisingly &mdash; 9 times faster at calculations. All at a hefty price of having to deal with types, being a strictly typized language.</p>
   <p>Note: JavaScript <i>sometimes</i> runs out of memory at 10 million objects (this is why this part is made a delayed action).</p>
   <p>P.S. Operating ten million objects is a real-word application is pure insanity. If you have to do this, it means you committed a severe blunder in choosing the paradigm for your application. Leave this sort of things for mySQL.</p>
   <p><a href="pjpptest.zip">Download the sources of this test</a></p>
</body>
</html>


Код: Выделить всё
function GetTime() {
   var mydate = new Date();
   return mydate.getTime();
}


function ClassT(va, vb) {
   this.a = va;
   this.b = vb;
}
   
ClassT.prototype.Calc = function() {
   var z = this.a - this.b;
   this.b = this.a * this.b;
   this.a = z;      
}


function CreateObjects(n) {
   var O = window.O;
   O[n] = [];
   var t = GetTime();
   for (var j = 0; j < n; j++) {
      window.O[n].push(new ClassT((j % 53) / 5.2 - 3, (j % 166) / 12.8 - 5));
   }
   document.getElementById('vCreateObjects' + n).innerHTML = GetTime() - t;
}

function Calculate(n) {
   var O = window.O;
   var t = GetTime();
   var L = O[n].length;
   for (var j = 0; j < L; j++) {
      O[n][j].Calc();
   }
   document.getElementById('vCalculate' + n).innerHTML = GetTime() - t;
}

function sort_callback(ao, bo) {
   var a = (ao.a + ao.b);
   var b = (bo.a + bo.b);
   if (a == b) {
      return 0;
   }
   if (a < b) return -1;
   return 1;   
}


function SortArray(n) {
   var O = window.O;
   var t = GetTime();
   O[n].sort(sort_callback);
   document.getElementById('vSortArray' + n).innerHTML = GetTime() - t;
}




window.onload = function() {
   window['O'] = {};
   var tcols = [1000, 10000, 100000, 1000000/*, 10000000*/];
   for (var nc = 0; nc < tcols.length; nc++) {
      var n = tcols[nc];
      CreateObjects(n);
      Calculate(n);
      SortArray(n);
   }
   DisplayPascalResults();
   window.setTimeout(
      function() {
         CreateObjects(10000000);
         Calculate(10000000);
         SortArray(10000000);
      }, 1000);
}


Код: Выделить всё
{$codepage utf-8}

program phpvsjsperf;

{$mode objfpc}{$H+}

uses SysUtils, Classes, math;

type
   ClassT = class
      a, b: double;
      constructor Create(va, vb: double);
      procedure Calc;
   end;
   
   constructor ClassT.Create(va, vb: double);
   begin
      inherited Create;
      a:= va;
      b:= vb;
   end;
   
   
   procedure ClassT.Calc;
   var z: double;
   begin
      z:= a - b;
      b:= a * b;
      a:= z;
   end;
   
   
type
   CTarray = array of ClassT;
   Garray = array of TList;
   
const
   tcols: array[0..4] of integer = (1000, 10000, 100000, 1000000, 10000000);
   
var
   js: TStringList;
   O: Garray;
   
   function FmtTime(T: TdateTime): string;
   begin
      if ((T * 86400000.0) > 10) then exit(IntToStr(round(T * 86400000.0)));
      Result:= FloatToStrF(T * double(86400000.0), ffGeneral, 3, 0);
   end;
   
   procedure CreateObjects(nc: integer);
   var
      T: TDateTime;
      n, j: integer;
   begin
      n:= tcols[nc];
      T:= Now();
      O[nc]:= TList.Create();
      for j:=0 to n - 1 do
         O[nc].Add(ClassT.Create((j mod 53) / 5.2 - 3, (j  mod 166) / 12.8 - 5));
      T:= Now() - T;
      js.Add('   document.getElementById(''vpCreateObjects' + IntToStr(n) + ''').innerHTML = ' + FmtTime(T) + ';'#10#13);
   end;

   procedure Calculate(nc: integer);
   var
      T: TDateTime;
      j: integer;
   begin

      T:= Now();
      for j:= 0 to O[nc].Count - 1 do
         (TObject(O[nc].Items[j]) as ClassT).Calc();
      T:= Now() - T;
      js.Add('   document.getElementById(''vpCalculate' + IntToStr(tcols[nc]) + ''').innerHTML = ''' + FmtTime(T) + ''';'#10#13);
   end;

   

   function sort_callback(ao, bo: pointer) : integer;
   var
      ma, mb: double;
   begin
      with TObject(ao) as ClassT do ma:= a + b;
      with TObject(bo) as ClassT do mb:= a + b;
      Result:= Sign(ma - mb);
   end;


   procedure SortArray(nc: integer);
   var
      T: TDateTime;
   begin
      T:= Now();
      O[nc].Sort(@sort_callback);
      T:= Now() - T;
      js.Add('   document.getElementById(''vpSortArray' + IntToStr(tcols[nc]) + ''').innerHTML = ''' + FmtTime(T) + ''';'#10#13);
   end;
   

var   
   nc: integer;
   
begin
   writeln ('Content-type: text/javascript');
   writeln; //Lol, without this line ya'll get an Internal Server Error   

   try
      js:= TStringList.Create;
      js.Add('function DisplayPascalResults() {'#10#13);
      
      SetLength(O, length(tcols));
      
      for nc := 0 to length(tcols) - 1 do begin
         CreateObjects(nc);
         Calculate(nc);
         SortArray(nc);
      end;

      js.Add('}');
      
      WriteLn(js.Text);
   except
      WriteLn((ExceptObject as Exception).Message);
   end;
end.

Аватара пользователя
Cheb
энтузиаст
 
Сообщения: 994
Зарегистрирован: 06.06.2005 15:54:34

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

Сообщение mirk » 31.05.2017 21:18:27

vitaly_l писал(а):Я беру многомерный массив и пишу: print_r( $massiv ); А теперь напишите это на паскале, с writeLn и успокойтесь уже.

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

vitaly_l писал(а):А в лазарусе вы в ченджлог не заглядывали?

Разве из этого следует что ПХП перестал быть дырой? :lol:

vitaly_l писал(а):А вот только нафига это всё?

Во первых: если попробуете прочитать мое сообщение, то можете там заметить ИЛИ.
Во вторых: если вы хотите контролировать процесс и делать под себя - да, надо написать. Особенно если разговор идет про пхп, ведь там никто и ничего не гарантирует. А иногда и просто кидает на амбразуру всех своих пользователей (даже платных - привет зенд-энкодеру).

vitaly_l писал(а): Если, умные образованные программисты

Ключевое тут ЕСЛИ. Пока за всю историю пхп таких много замечено не было :(
Им не позволило скопытиться только громадное наследие из миллионов поделок "студентов" и последние пинания сторонних разработчиков (сколько лет их пинали по поводу fpm и т.п.).

vitaly_l писал(а):всё ещё баги в php исправляют

Вы путаете причину.
На самом деле пхп написан настолько криво, что более 10 лет не могут выловить все баги :lol:

vitaly_l писал(а):мне удобнее когда 90% работы, уже сделано опытными и умными образованными программистами

Гдеж такой код найти?
Или может вы про оберон? Я просто не знаю как там дела обстоят с кодом.

vitaly_l писал(а):И код php проверяют 1 000 000 людей

Кто вам такое сказал? :lol:

Лекс Айрин писал(а):Например, практически нет интерпретаторов паскаля, что резко увеличивает время разработки.

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

vitaly_l писал(а):Не ну при сбое паскаля, он даже номер ошибки не вернёт... тут хоть сразу понять можно, что именно произошло...

Боже ты мой.
Кто вам вернет номер ошибки, пхп?
Вы вообще понимаете какой компонент и за что отвечает?
mirk
постоялец
 
Сообщения: 317
Зарегистрирован: 24.09.2007 10:03:39

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

Сообщение Cheb » 31.05.2017 21:26:33

лично мне попадались в выхлопе на стороне клиента исходники пхп, собирающие страницу. Причем, даже с запросами к БД.

Чисто радиус кривизны рук быдлокодера.
Правильно настроенный, он умирает молча а ошибки какает в файл журнала на сервере.

Только если сборщик будет интерпретируемым,

Зафига? apt-get install fpc и пересобираешь свой cgi-шник из исходников коммандной стрки прямо по ssh когда надо подправить запятую или ещё какую мелочь.

Добавлено спустя 44 секунды:
Попробуйте это проделать в реальности на боле-менее сложном проекте и удивитесь что в этой каше мега неудобно разбираться.

+100500
Аватара пользователя
Cheb
энтузиаст
 
Сообщения: 994
Зарегистрирован: 06.06.2005 15:54:34

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

Сообщение vitaly_l » 31.05.2017 21:51:40

Cheb писал(а):Паскаль рвёт php5. И под "рвёт" я имею в виду, выполняет большинство операций в тридцать раз быстрее.

Это, да. Пхп быстро работать не умеет.
mirk писал(а):Кто вам вернет номер ошибки, пхп? Вы вообще понимаете какой компонент и за что отвечает?

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

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

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

Сообщение stanilar » 31.05.2017 21:58:10

mirk писал(а):нод.джс и яваскрипт - это не разные реализации одного и того же, это разные средства.
Иначе так можно начать сравнивать кто сильнее - слон или кит, то и другое слово ведь из букс состоит.

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

Добавлено спустя 3 минуты 11 секунд:
Лекс Айрин писал(а):Например, практически нет интерпретаторов паскаля, что резко увеличивает время разработки.


Есть. DWS. И даже есть демка, показывающая результат выполнения скрипта по мере написания программы.

Добавлено спустя 2 минуты 14 секунд:
stanilar писал(а):Есть. DWS.

Вот она. Даже с компилятором Паскаля в js.
stanilar
постоялец
 
Сообщения: 289
Зарегистрирован: 09.03.2010 19:09:02

Пред.След.

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

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

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

Рейтинг@Mail.ru