LINUX.ORG.RU

Больше 12 лет назад использовал для написания простеньких утилит для работы с принтером под DOS. Очень простой бейсикоподобный язык. Нет классов и исключений. Когда есть Python и памяти больше 16 мегабайт - хз зачем Euphoria нужна.

anonymous
()
Ответ на: комментарий от anonymous

Забыл еще, что Euphoria, в отличие от Python - статически типизированный язык. Но, имеется тип object, который можно использовать как variant.

procedure manageOrders(sequence order, sequence client)
  integer status
  object socketR
  
  logMsg(sprintf("manageOrders: Got '%s' from %s",{order,client[2]}))
  sequence s = analyzeCommand(order)
analyzeSequence(s, "s", f_debug)
  switch s[1] label "ORDER_MGMT" do

    case "USER" then
      -- check user account
      object un = execCommand("grep "&s[2]&" /etc/passwd | wc -l")
      if atom(un) then
        logMsg("manageOrders, case 'USER': Failed to verify user account\n")
        void = socket_send(client, "451 Requested action aborted: local error in processing\r\n")
        logMsg("... called from manageOrders, case 'USER'")
        break "ORDER_MGMT"
      end if
.......
anonymous
()

Использовал лет десять назад 3ю версию под линукс в связке с С и РНР. В том месте, где нужна была производительность, но часто вносились изменения в код. Работало действительно быстро и надежно и писать легко. Недавно понадобилось нечто подобное для другого проекта, тестировал новый OpenEuphoria на скорость - факториалы и аккерманы там разные. По сравнению с Lua было быстрее раза в 3, с другими скриптами сравнивать вообще смысла не было. Но потом сравнил с Luajit, ну тот конечно вообще ракета, даже gcc его еле догнал пыхтя и задыхаясь :D... его и выбрал. В целом ощущения от эйфории приятные :)

anonymous
()

По поводу отличий от пистона: в эйфории классов нет, даже строк как таковых нет. Грубо говоря, есть только integer, double и sequence - последовательности, неограниченной вложенности, которые и есть единственный структурный тип и они же служат строками по совместительству. Ассоциативных массивов тоже нет. Все эти бедности вроде как покрываются библиотеками. Модули - в виде подключаемых файлов как в С. Все вышесказанное относится к старой 3-й версии, новую смотрел только бегло, показалось она значительно богаче, например неплохой switch запилили.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.