?

Log in

No account? Create an account
kouzdra [entries|archive|friends|userinfo]
kouzdra

[ website | www.kouzdra.org ]
[ userinfo | livejournal userinfo ]
[ archive | journal archive ]

Еще кстати из ретрокомпутерных идей: [Oct. 20th, 2019|01:48 pm]
kouzdra
[Tags|]

В "языке термоядерного Ада" есть такая фишка - цифровые константы можно по желанию разбавлять символом '_'.

На семантику это не влияет никак - но 10_000_000_000 читается куда легче чем 10000000000.

После очень долгих дебатов это переняли в OCaml, больше кажется нигде - хотя казалось бы чего уж проще.
LinkReply

Comments:
Page 1 of 2
<<[1] [2] >>
[User Picture]From: moonwalker72
2019-10-20 11:00 am (UTC)
В Аде хорошо то, что строгая типизация там действительно строгая. Ну и само многословие там, в отличие от Паскаля, не раздражающее, а способствующее самодокументированию кода. Жаль, что нормальных IDE для нее не сделали вовремя. Это как раз правильный, строгий, но и с богатыми возможностями вариант Паскаля.
(Reply) (Thread)
[User Picture]From: slobin
2019-10-20 11:09 am (UTC)
Ада опередила своё время: когда её придумывали, у среднего студента ещё не было опыта гитхаба (взять кусок чужого кода, понять, что он делает, внести правки, запихать обратно). Она под это ИДЕАЛЬНО заточена (именно за счёт самодокументирующегося кода). Но тогда студенты писали в основном мелкие проектики в одно рыло, а на таких непонятно, нафига всё это надо. А сейчас поезд уже ушёл. :-(

... Борьба за мир и организация беспорядков ...

(Reply) (Parent) (Thread) (Expand)
From: (Anonymous)
2019-10-20 11:00 am (UTC)
Недавно польза этой записи до всех дошла. Из того, что знаю - Руби (сто лет как), Питон (три года), Скала и сишарп (в этом году).
(Reply) (Thread)
[User Picture]From: kouzdra
2019-10-21 02:30 am (UTC)
"Не прошло и 40 лет" :)))
(Reply) (Parent) (Thread)
[User Picture]From: slobin
2019-10-20 11:01 am (UTC)
// больше кажется нигде

Сейчас это со страшной силой прёт в мейнстрим, уже проще перечислить, где этого нет. В Яве (или таки Джаве?) точно есть, хотя куда уж консервативнее, в Джулии, в Ди, в Расте. Но идея да, классная, лучше поздно, чем никогда. Вот в Питоне и в Го, кажется, пока не приняли.

Upd: ага, выше меня поправили, что и в Питоне уже есть. Я тоже тормоз. :-)

... Вечный любитель с бензопилой ...


Edited at 2019-10-20 11:03 am (UTC)
(Reply) (Thread)
From: nabbla1
2019-10-20 11:28 am (UTC)
В верилоге это есть, и в VHDL как у "близкого родственника Ады" должно быть.
(Reply) (Thread)
[User Picture]From: trilirium
2019-10-20 11:51 am (UTC)
Как показал эксперимент на собаках -- в моем Perl оно тоже есть )))

Исходник:

# Underscored literals check

print 222 * 333, "\n";
print 2_2_2 * 3_3_3, "\n";



Выводит:

73926
73926


Версия:

This is perl, v5.8.8 built for msys-64int

Copyright 1987-2006, Larry Wall

Perl may be copied only under the terms of either the Artistic License or the
GNU General Public License, which may be found in the Perl 5 source kit.

Complete documentation for Perl, including FAQ lists, should be found on
this system using "man perl" or "perldoc perl".  If you have access to the
Internet, point your browser at http://www.perl.org/, the Perl Home Page.

(Reply) (Thread)
[User Picture]From: vitus_wagner
2019-10-20 05:24 pm (UTC)
Афигеть! Перл 5.8! Живой. 13 летней давности...
Все равно что на улице динозавра встретить.
(Reply) (Parent) (Thread) (Expand)
(no subject) - (Anonymous) Expand
[User Picture]From: ormuz
2019-10-20 12:39 pm (UTC)
в с++, конечно, есть

даже так
0xAAA'AAA
(Reply) (Thread)
From: asox
2019-10-20 04:23 pm (UTC)
В плюсы - совсем недавно впихнули.
C++14
Заодно добавили двоичные литералы.
При этом в Аде можно записать число по любому основанию от 2 до 16.
(Reply) (Parent) (Thread)
[User Picture]From: alex_dragon
2019-10-20 01:08 pm (UTC)
Надо же, какая полезная фича. Выучить хоть один язык, что ли, наконец ради такого случая? :-D)

А Avisynth не умеет. :-( :-) Впрочем, в нём неявное преобразование типов.
(Reply) (Thread)
From: asox
2019-10-20 04:24 pm (UTC)
Преобразование типов - зло!
(Reply) (Parent) (Thread) (Expand)
[User Picture]From: sery_kardinal
2019-10-20 01:26 pm (UTC)
Python это имеет в т.ч. hex и bin:

a = 0xFFFF_EEEE_DDDD
b = 0b01011111_01010111
c = 1_000_000
d = 1.001_001
(Reply) (Thread)
From: openid1
2019-10-20 09:39 pm (UTC)
Который 3.сколько-нибудь-типа-8.
2.7 - не умеет.
(Reply) (Parent) (Thread)
[User Picture]From: leeharveyoslik
2019-10-20 03:11 pm (UTC)
по некоторым сведениям (непонятно, правда, откель взятым) ада - самый популярный язык был в в 85-86 году

(Reply) (Thread)
[User Picture]From: kouzdra
2019-10-20 03:35 pm (UTC)
Ну так казалось светлым будущим - еще и с военными деньгами. У нас тогда в него компилятор пилили по этим самым мотивам.
(Reply) (Parent) (Thread)
[User Picture]From: zoghozzerofive
2019-10-20 03:56 pm (UTC)
добавить в систему приготовления из текстового челобреда в машинные коды утилиту, выкидывающую символ подчеркивания, окруженный с двух сторон цифрами, это такое охуительное достижение и напряжение мосга? нупиздецЪ
(Reply) (Thread)
From: anonim_legion
2019-10-20 06:33 pm (UTC)
Вы недооцениваете консерватизм в айти. Есть ещё одна тема, которую вообще никто не затрагивает, а как по мне, она достойна рассмотрения: Ада непопулярна, потому что её автор - француз, а си-подобные языки придумали разного рода англосаксы.
(Reply) (Parent) (Thread) (Expand)
(no subject) - (Anonymous) Expand
[User Picture]From: elkekeer
2019-10-20 05:54 pm (UTC)
В Go 1.13 сделали.
(Reply) (Thread)
From: openid1
2019-10-20 09:24 pm (UTC)
В Perl5 такая фигня с самого начала.
(Reply) (Thread)
[User Picture]From: pappadeux
2019-10-20 09:44 pm (UTC)
Змея
(Reply) (Thread)
[User Picture]From: polytheme
2019-10-20 10:26 pm (UTC)
Ну кстати это следствие причины того, почему Ада не взлетела:
она была такой нынешний C++, огромный язык с развесистым синтаксисом,
в котором "все есть" и никто его не знает.

Но только C++ более вкрадчиво проникал в людей, так что
когда у него внутренний чужой-то с move semantic, lambda
expressions, variadic templates, constexpr и прочим
выдвинулся, из слова пенис уже не выкинуть было.

Интересно, какой процент сейчас пишет на С++98 с лямбдами
(и без шаблонов кроме стандартных библиотек). Ещё до шаблонов
оно было первым кандидатом на уебище рогатое с виртуальным
множественным наследованием (кстати, не знаю, как оно в Аде);
ну и параметризованные типы, кстати, в design & evolution
или ещё где было написано, что из Ады их и скоммуниздили
(в Java уже чувствуется привкус теории типов с generic
wildcards).
(Reply) (Thread)
[User Picture]From: kouzdra
2019-10-21 02:22 am (UTC)
В Java не просто чуствуется - те самые люди и делали. Как и C# generics и прочее - я в 2003 в кембридже собственно Дона Сайма собственной персоной наблюдал - рассказывал про тогда еще имевшие статус ресерча generics C# (ну и то что потом стало F# тож).
(Reply) (Parent) (Thread)
From: blueher
2019-10-21 08:39 am (UTC)
Слегка ОТ - а на Раст смотрели? Я вот посмотрел с разных сторон, кажется мне что взлетит. По крайней мере все предпосылки сейчас есть - ровно одна новая идея, куча мелких приятных плюшек из современных языков, ниша для него есть и +- свободна, локомотив в виде мозилы тоже имеется.
(Reply) (Thread)
[User Picture]From: polytheme
2019-10-22 02:32 am (UTC)
Раст очень хороший, но у меня есть сомнения: на нем довольно трудно писать
поначалу (а как потом - я даже и не знаю, пока не полез дальше). То
есть труднее даже, чем на Haskell для начинающих (который называется
типа Elm): на Haskell можно начинать, не используя monad transformers
и имея приблизительное понимание, как работает do (например, считая
его "итеративным бантиком сбоку") - это нехорошо и потом ударит по
рукам, но для легкого скриптинга можно использовать уже сразу.

Rust ударяет по рукам сразу with borrowing conventions (they are
still quite nasty, although they became better comparing to what
they was), и часто оказывается, что нельзя добиться компиляции
(кстати, сообщения об ошибках тоже не айс) простым исправлением
синтаксиса, нужно полностью перерабатывать модель вычисления.

Это все решаемые проблемы, конечно, но вот у человека выбор -
оставить straightforward way of thinking и использовать python
(и Go/C/C++11, когда важна производительность), или перестраивать
мышление для Rust. Мне кажется, человек выберет первое до тех
пор, пока Rust не станет более внятным: трудно представить себе
подходящий домен для его использования, кроме низкоуровнего
программирования, когда не хочется все-таки опускаться до
низкоуровнего C (да, на Rust уже пытаются писать модули ядра,
и, возможно, это его ниша).
(Reply) (Parent) (Thread) (Expand)
Page 1 of 2
<<[1] [2] >>