LINUX.ORG.RU
ФорумTalks

0install переписан на OCaml

 ,


1

5

Немного дилетантское, зато беспристрастное и прагматичное сравнение нескольких ЯП. Автор 0install решил переписать свое творение с питона, поскольку ему надоело бороться с багами, вызванными динамичностью языка (многие из них возникли при переходе на тройку и всё еще продолжают вылезать), к тому же не всегда хватает скорости. Был проведен сравнительный анализ нескольких кандитатов:

http://roscidus.com/blog/blog/2013/06/09/choosing-a-python-replacement-for-0i...

http://roscidus.com/blog/blog/2013/06/20/replacing-python-round-2/

Коротко:

- Python - отличная выразительность, удобный деплой, популярность. Но медленный и никаких статических проверок.

- OCaml - победитель. Почти все возможности питона, но быстрый, с хорошим отловом ошибок. GUI пишется проще чем на питоне. http://roscidus.com/blog/blog/2014/02/13/ocaml-what-you-gain

- Rust - уверенный лидер. Отброшен из-за незрелости.

- Go - уверенный аутсайдер.

- ATS - потрясающая скорость, но слишком нечеловеческий язык.

- Haskell - хороший вариант, но идеологически далек от питона, извращеннее окамла, у библиотек нестабильный API.

- C# - неплох, но жирный и медленный.

Автор, до того не знавший окамла, теперь работает с ним за деньги.

★★★★

Насчет недостатков Python - капитанство.

Автор, до того не знавший окамла, теперь работает с ним за деньги.

А вот это интересно.

tailgunner ★★★★★
()
Ответ на: комментарий от provaton

Zero Install is a decentralised cross-distribution software installation system. Other features include full support for shared libraries (with a SAT solver for dependency resolution), sharing between users, and integration with native platform package managers. It supports both binary and source packages, and works on Linux, Mac OS X, Unix and Windows systems. It is fully Open Source.

theNamelessOne ★★★★★
()

Кстати, кто-нибудь пробовал сабж под офтопиком?

theNamelessOne ★★★★★
()

Первый раз слышу об этом 0install. И насколько он популярен?

fish_ka
()

Пусть теперь что-нибудь нужное напишет.

thesis ★★★★★
()

- Rust - уверенный лидер. Отброшен из-за незрелости.
- Go - уверенный аутсайдер.
- ATS - потрясающая скорость, но слишком нечеловеческий язык.

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

devl547 ★★★★★
()
Ответ на: комментарий от NiceForce

Разве что в его черепной коробке.

Вообще-то он именно для своего проекта язык и искал :)

Alsvartr ★★★★★
()
- Rust - уверенный лидер. Отброшен из-за незрелости.

- Go - уверенный аутсайдер.

Признайся, ты написал всё ради этих строк.

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

Не, мне все строки одинаково интересны.

unsigned ★★★★
() автор топика

хаскель, ATS, C# попали в список кандидатов, но Си человечество(не только автор 0install) как-то игнорирует, будто его и не существовало никогда.
Что за... латентные виндоузятники.

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

Там у автора есть несколько пунктов, по которым C очевидно не проходит.

theNamelessOne ★★★★★
()

Haskell - хороший вариант, но идеологически далек от питона

Как будто это что-то плохое

yoghurt ★★★★★
()
Ответ на: комментарий от tailgunner

На первый взгляд месиво какое то. Может я и погорячился, но просто это первое впечатление :) от языка.

Dron ★★★★★
()
Ответ на: комментарий от yoghurt

Да, если переписываешь проект с питона.

unsigned ★★★★
() автор топика
Ответ на: комментарий от fish_ka

Много шума. ~#:()

# единственный, на месте : в Python было бы = (как ты предлагаешь отделять имя параметра от значения при вызове?).

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

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

Без понятия. Я вообще не знаком с этим языком.

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

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

Без понятия. Я вообще не знаком с этим языком.

Для ответа на вопрос знание этого конкретного языка не обязательно.

tailgunner ★★★★★
()
Ответ на: комментарий от Dron

Я считаю ML-синтаксис самым лучшим что придумали. Но сырцы и вправду не впечатляют стройностью :(

true_admin ★★★★★
()
Ответ на: комментарий от Dron

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

Debasher ★★★★★
()
Ответ на: комментарий от fish_ka

Пусть это будет символ равенства (=)

Ну и будет шум из знаков равенства. Пробел не дал бы шума, но ХЗ как такое парсить.

tailgunner ★★★★★
()

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

LOL

x0r ★★★★★
()

Уж со всех сторон успели обсосать.

C# ... медленный.

Не любитель сишарпа, но он не более медленный, чем окамл.

buddhist ★★★★★
()

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

Каким образом зероинсталл упрощает установку программ в лялихе - так и не понял.

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

Каким образом зероинсталл упрощает установку программ в лялихе - так и не понял.

Попробовал поставить -> не получилось -> «Не нужно!»
Вообще не устанавливать программу, как самый простой метод установки)

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