LINUX.ORG.RU

Язык программирования Delight

 , delight,


0

1

Сегодня стало известно о возрождении языка программирования Delight. Delight представляет собой новый объектно-ориентированный язык, сочетающий в себе элементы синтаксиса языков Python, D, Haskell и Ada. Новая версия полностью переписана на D2.

В отличие от Python Delight является строго типизированным языком, однако допускает автоматическое определение типа с использованием ключевого слова auto. Так же как Python Delight использует ключевые слова как in, less than, and, equal to вместо математических операторов. Как и D Delight поддерживает юнит-тесты, а так же механизм assert'ов.

Пример кода:

procedure main:

    auto array = [ "a": 1, "b": 2, "c": 3 ]
    for key, element in array:

        if element in [ 0, 2, 4 ]:
            print key ~ "'s in!"

        else if element equal to 3:
            print add( element, 2 )

        else:
            print key ~ "'s out!"

    print { i * 2 for i in 0 .. 5 where i ^ 2 less than 5 }
    # prints [0, 2, 4]
Интересной возможностью является возможность использования исходного кода на D без модификации. Для этой цели применяется директива Passthrough.

Для программистов на Python, которым необходима интеграция с D существует обертка Pyd обеспечивающая возможность использования общего с Python API.

>>> Подробности

★★

Проверено: mono ()
Последнее исправление: mono (всего исправлений: 4)

Забавно выглядит. И исходники понятные. Сам хотел написать транслятор чего-то питоноподобного в си.

RevenantX ★★★★
()

А почему оно не ненужно?

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

Забавно выглядит. И исходники понятные.

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

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

Vala прибита к Glib и GTK+

емнип, там еще есть dova и posix профили. не знаю правда, насколько оно работает/годно.

А тут чисто D2

т.е. druntime со всеми вытекающими (ARM?)

dib2 ★★★★★
()

Интересная штука! Python и D2 --- мои основные языки программирования. Будем пробовать.

Vudod ★★★★★
()

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

u283
()

новый объектно-ориентированный язык, сочетающий в себе элементы синтаксиса языков Python, D, Haskell и ада

fixed. простите просто анекдот вспомнился про язык ада и рая)))

Bbore
()

Мало в синтаксисе Ады - ненужно, тем более что Ада уже есть. И Питон тоже есть.

Napilnik ★★★★★
()

Так же как Python Delight использует ключевые слова как in, less than, and, equal to вместо математических операторов

ЩИТО?

tailgunner ★★★★★
()

допускает автоматическое определение типа с использованием ключевого слова auto

Без вывода типов это все не нужно

buddhist ★★★★★
()

наконец то новый язык программирования, слава богу

Xegai ★★
()

Для тех, кто не в теме: «возрождение» и «новый» вместе как-то несуразно звучит.

bohm ★★★★★
()

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

gour
()

В отличие от Python Delight является строго типизированным языком

Ну 4.2 же!

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

ВНЕЗАПНО, питон строго типизирован.

Axon ★★★★★
()

Конкатенация тильдой. Он слабо типизирован что ле? Не нужно!

baverman ★★★
()

В отличие от Python Delight является строго типизированным языком

А с чего вы взяли что Питон слабо-типизированный ЯП? Смотрим почему питон - это ЯП со строгой типизацией, а так же смотрим этот код.

In [1]: type(1)
Out[1]: int

In [2]: type(1.0)
Out[2]: float

In [3]: 1 is 1.0
Out[3]: False

Как и D Delight поддерживает юнит-тесты, а так же механизм assert'ов.

Внезапно: питон имеет библиотеки как для юнит-тестирования, так и для doc-тестирования. Да и библиотека для вычисления покрытия тестами кода тоже как бы имеется.

Ну и какой профит с использования этого нового ЯП?

k0valenk0_igor ★★★
()
Последнее исправление: k0valenk0_igor (всего исправлений: 3)

не нужно. Есть algol 68; fortran 77, 95; C 89, 99, 11, ... вместо троеточия вставить еще парочку нужных. Extended C не вспоминать. ЛОР, твою капчу не то что боты, люди разобрать не в силах.

anonymous
()

как же фигово выглядит главная, когда несколько мини-новостей подряд.

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

Это конечно хорошо, но стоит ли это того что бы менять ЯП и изучать инструментарий и библиотеки к нему? У меня вот что-то есть ощущение что не стоит оно того. Проще на PyPy свои проекты портировать, честное слово. Быстрее получится и не так геморройно.

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

Python и D2 --- мои основные языки программирования.

И что вы на них делаете? В какой предметной области специализируетесь?

eao197 ★★★★★
()

еще один язык-труп

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

да в основном внутренний продукт. Пока в D не осилят добавить std.asio (аналог boost::asio) толку в нем только «на побаловаться».

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

Есть Cython же, можно указывать типы, и автовывод также присутствует. То, что не зависит от рантайма компилируется в чистый Си.

anonymous
()

Буду оригинален: чем оно лучше Пистона? Ну кроме, якобы, прироста в скорости, ибо компилируемый?

maverik ★★
()

in, less than, and, equal to

Это фейл. Когда я вижу «a == b» я сразу вижу переменные a,b и бинарный оператор сравнения. Когда написано «a equals to b» то приходится «парсить». К этому можно привыкнуть, но зачем?

true_admin ★★★★★
()

Так же как Python Delight использует ключевые слова как in, less than, and, equal to вместо математических операторов.

Это в какой вселенной?

anonymous
()

Опоздали, уже есть Hack и HHVM.

Macil ★★★★★
()

На cobol немного похоже получилось, иногда даже круче - один только less than чего стоит.

A-234 ★★★★★
()
Ответ на: комментарий от eao197

И что вы на них делаете? В какой предметной области специализируетесь?

На Питоне я делаю почти всё. На D2 пишу сейчас программу, которая решает методом Эйлера систему дифференциальных уравнений с запаздыванием. А работаю я в университете, т.е. я не профессиональный программист (поэтому вы, как и большинство реальных программистов здесь можете меня игнорить).

Vudod ★★★★★
()

Омг, хоть пайтон оставьте уже, ему ничего уже не нужно, пусть будет такой как есть. В своей нише то

vertexua ★★★★★
()
Последнее исправление: vertexua (всего исправлений: 1)
Ответ на: комментарий от tailgunner

лорчую. написать такую чушь на голубом глазу...

Virtuos86 ★★★★★
()

существует обертка Pyd

Говорящее название. Все петоноиды они и есть.

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

эта хрень не стандартная, а очередной лисапед, который я и сам вполне писал для D. с io-сервисом, диспетчером и задачами.

И подобных лисапедов для C++ в сотни раз больше.

Нужна именно СТАНДАРТНАЯ часть СТАНДАРТНОЙ либы, чтоб не было вот таких вот «каждый сам себе пишет одно и то же».

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

Нужна именно СТАНДАРТНАЯ часть СТАНДАРТНОЙ либы, чтоб не было вот таких вот «каждый сам себе пишет одно и то же».

Нет.

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