- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
define method display (i :: <integer>)
do-display-integer(i);
end;
define method display (s :: <string>)
do-display-string(s);
end;
define method display (f :: <float>)
do-display-float(f);
end;
define method display (c :: <collection>)
for (item in c)
display(item); // runtime dispatch
end;
end;
Desktop 03.02.2020 19:42 # 0
3.14159265 03.02.2020 21:00 # +1
Когда обсуждали новые высеры яблочников: обжоптив и свифт.
https://govnokod.ru/19976#comment326417
https://govnokod.ru/12964#comment176395
wvxvw его очень котировал.
3.14159265 03.02.2020 21:03 # 0
Судя по воспоминаниям очевидцев было очень много расстройства когда жизненно важные контракты были безвозвратно перенесены на Си. Чуть ли не на столько, что "уходили в монастырь" - ну, в смысле, люди бросали программирование, и начинали заниматься либо администраторской работой, либо грядки возле дома окапывать.
Я, так случайно получилось, знаю человека, который учавствовал в разработке и последующем отказе от Дилана. С его слов - очень мало кто после этого проекта продолжил работать в той же области. Кстати, он сына Диланом назвал.
В смысле, переход на Си был для многих трагедией всей жизни, т.как иначе как недоразумением они это даже назвать не могли.
2. Многие лисперы, даже те, кто пишут на CL считают Схему более рафинированым и продуманным языком, и эта "универсальность" видится как положительная черта. Почему так в CL / e-lisp'e? - хз, скорее всего так удобнее было когда-то реализовать парсер. Стандарт очень щепетильно описывает как должен работать парсер, поэтому в CL особо вариаций на эту тему и не было.
Дилан, на сколько я понимаю, тоже Лисп-1.
AnalBoy 03.02.2020 21:06 # 0
3.14159265 03.02.2020 21:08 # 0
Лисп - не функциональный язык, и вообще не язык, Лисп может относится к двум понятиям:
1. Способ записи (аналогично, как Фортрано-подобные языки все похожи друг на друга способом записи).
2. Наличием встроенного в рантайм компилятора / интерпретатора языка. С этой точки зрения, например Питон или Руби - тоже лиспы.
Не все лиспы исторически обладали "лисповым" синтаксисом, у Дилана - фортрановский синтаксис.
Половина лиспов использующихся сегодня - не функциональные языки, (функциональные, или по крайней мере близкие - Схема, Ракет, Кложур). В Эмакс Лиспе до последней редакции не было даже возможности создавать замыкания.
Большинство современных лиспов не выполняют код один-в-один с деревом представленным его исходником. Есть много оптимизирующих компиляторов, которые расценивают этот код, как промежуточное звено.
Смысл использовать Лисп в том, что с помощью инструментов языка можно очень легко строить языковые расширения. Например, чтобы в Яве автоматически создать сеттер и геттер для поля класса нужно написать / импортировать lombok аннотации, и после чего это все равно будет выглядеть уродски, не говоря уже про более сложные структуры, где это иногда будет выглядеть либо очень громоздко, либо вообще невозможно. (Попробуйте добавить в Яве другую разновидность форича, которая перебирает сразу несколько коллекций).
...
Этим и прекрасен.
Уникальный сплав "лиспа", и привычного многим типизированного императивного синтаксиса.
Один из немногих языков, от самого синтаксиса которых ловишь кайф.
Жаль что Apple не стали его двигать. Языку трудно взлететь без нужной инфраструктуры и поддержки подобного монстра.
KpunoBblu_nemyx 03.02.2020 23:34 # 0
То ли дело Forth.
gostinho 03.02.2020 23:38 # 0
Desktop 03.02.2020 23:55 # 0
В Свифте, на мой взгляд, чувствуется некоторое влияние Дилана.
phpBidlokoder2 03.02.2020 22:31 # −2
KpunoBblu_nemyx 03.02.2020 23:30 # +4
https://ru.wikipedia.org/wiki/JavaScript
> Первоначально язык назывался Mocha
guest8 04.02.2020 01:03 # −999
HoBorogHuu_nemyx 04.02.2020 01:33 # 0
3.14159265 04.02.2020 15:08 # +1
ГК и xyz?
3.14159265 04.02.2020 15:16 # +1
Мне дико доставляет этот чудной сплав бейсика и лиспа.
А с тех пор как они в 2010 завезли типизацию и автовывод типов (привет typescript!), dylan стал вполне современным.
http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.627.5175&rep=rep1&type=pdf
3.14159265 04.02.2020 15:54 # +2
Во-первых это структурирование а-ля ада или бейсик.
При этом можно почти в любом месте языка можно доблять опциональную синтаксическую соль.
То есть можно писать максимально кратко и распиздяйски:
В случае больших вложений мы можем дополнительно указывать end какого блока.
Это проверяется компилятором, и в случае проёба end или неудачного рефакторинга, мы сразу увидим ошибку.
Но и это ещё не всё. Для ОЧЕНЬ длинных методов можно пойти дальше и писать
HoBorogHuu_nemyx 04.02.2020 16:16 # 0
>> For installation, double-click on the installer, and follow instructions. You need to have either the PellesC linker or the linker of VC++ 6.0, 7.0 or the current .NET platform SDK installed. PellesC 8.00 is the best option. (Note that PellesC 9.00 does not work.)
И тут мы приходим к тому, о чём я уже говорил.
Desktop 04.02.2020 16:48 # 0
HoBorogHuu_nemyx 07.02.2020 06:30 # 0
MEJlOMAH 05.02.2020 09:51 # +1
Desktop 19.07.2021 17:12 # +1