Ur / Web новый чисто функциональный язык для веб-программирования? [закрыто]

17

Я наткнулся на проект Ur / Web во время поиска веб-фреймворков для языков, похожих на Haskell. Похоже, очень интересный проект, выполненный одним человеком.

По сути, это чисто функциональный язык, специфичный для предметной области, для веб-программирования, вобравший в себя лучшее из ML и Haskell. Синтаксис ML, но есть классы типов и монада из Haskell, и они строго оценены. Серверная часть компилируется в собственный код, а клиент - в Javascript. Посмотрите слайды и страницу часто задаваемых вопросов для других рекламируемых преимуществ.

Глядя на демоверсии и их исходный код , я думаю, что проект очень перспективный. Последняя версия - это что-то 20110123, так что в настоящее время она находится в стадии активной разработки.

У кого-нибудь здесь был дальнейший опыт с этим? Есть ли проблемы / неприятности по сравнению с Haskell, кроме немного более многословного синтаксиса ML?

Фил
источник
Nitpick: Ur / Web не является языком программирования для веб-программирования. Ur - это язык программирования общего назначения, Ur / Web - это веб-инфраструктура, написанная на языке Ur, которая использует систему типов Ur для обеспечения статических гарантий безопасности и функциональности веб-приложения. (Чтобы быть справедливым, хотя: Ur был специально разработан для поддержки Ur / Web.)
Йорг W Mittag

Ответы:

24

Я автор Ur / Web. Я только что создал эту учетную запись, и поэтому у меня недостаточно mojo, чтобы отвечать на другие прошлые ответы.

Ur / Web позволяет подключаемым модулям реализовывать различные веб-протоколы, поэтому, если вы хотите увидеть какой-то другой протокол, кроме CGI, FastCGI или HTTP, вы можете его реализовать или попросить меня его реализовать. :) Я искренне не знал к этому пункту любых альтернативных людей, которые искали.

Что значит для программирования SQL чувствовать себя «сгруппированным»?

Re: жалобы на «Web 1.0» выглядят, я думаю, что это функция, предназначенная для экономии времени для людей, которые на самом деле не хотят использовать этот язык. ;) Мне не хватает отсутствующих функций, которые мешают писать приложения, которые выглядят так, как вам нравится, и я считаю, что это становится очевидным, как только вы начинаете понимать базовую настройку языка и библиотек.

Наконец, ScantRoger, я хотел бы услышать о вашем опыте применения Ur / Web с клиентом! Я не знаю, будет ли неправильно указывать здесь свою контактную информацию, но в нижней части главной страницы Ur есть ссылка на мой личный веб-сайт.

Адам Чипала
источник
11

Мы использовали его для заботящихся о безопасности клиентов и отметили следующее:

  • С языком работать приятно. Мы не чувствовали, что основанный на ML синтаксис особенно многословен по сравнению с Haskell.
  • За пределами демонстраций и документации, представленной на http://www.impredicative.com/ur/, очень мало практических рекомендаций .
  • Мы были избалованы тем, что многие другие языки теперь имеют более быстрый интерфейс к веб-серверу. Использование FastCGI показалось мне шагом назад.
  • Программирование на SQL ощущалось немного сложным.
  • Почувствуйте свою математику, чтобы полностью понять, что язык / рамки делает для вас.

Любые негативы можно отнести к тому, что это новенький. Дай ему немного любви. Это заслуживает этого. Может быть, вы сможете стать активным сторонником вокала и сделать поиск ресурсов Ur / Web менее трудоемким.

Скудный Роджер
источник
Может быть, вы можете прокомментировать ответ Адама и объяснить, что означает «сгруппированный»? Заранее спасибо.
Янус Троелсен
Кроме того, что было бы "более быстрым интерфейсом к веб-серверу"? Насколько я знаю, FastCGI является одним из самых быстрых (более оптимизированных) протоколов для обмена данными HTTP-запросов / ответов. Поддержка FastCGI в Nginx ничем не уступает, и на самом деле большинство современных установок PHP (например) - это Nginx + PHP-FPM по сравнению с FastCGI. (Или, может быть, этот ответ имел значение еще в '11 ...)
Тобиа
3

Одна вещь, о которой я бы беспокоился, это то, что она все еще довольно новая. Haskell и Erlang были вокруг в течение долгого времени. Это означает, что многие простые ошибки в обоих языках уже давно устранены. Я бы очень скептически отнесся к тому, что их код настолько быстр и безопасен, насколько это возможно в haskell.

Также демки выглядели очень веб 1.0.

Захари К
источник
Да, я согласен, демоверсии выглядят немного примитивно. Но если у него такой же уровень мощности, как у Haskell, я полагаю, что скоро будет больше возможностей. Я также скептически относился к части «более эффективная, чем типичная Си». Но эта работа довольно впечатляющая, если все действительно сделал только 1 человек: D
Phil
Я буду смотреть дольше в какой-то момент, черт возьми, я надеюсь, они преуспевают! Больше фреймворков и людей, пробующих новые вещи, всегда хорошо
Захари К