Comments 45
Перевёрнутый восклицательный знак - это вообще ВЕЩЬ.
огонь! спасибо за перевод. без него не узнал бы этого шедевра
const var scores = [3, 2, 5]!
scores[0.5] = 4!
3.5 жеж.
И, судя по гиту, теперь этот язык переименован в С. (https://github.com/TodePond/C)
И, судя по гиту, теперь этот язык переименован в С.
А вот это очень плохо :( Уже куча народу знает его как DreamBerd (завирусился пару месяцев назад). Теперь будет путаница, да и смысл переименования не понятен.
вместо
const const const pi = 3.14!
Лучше конечно
const const const pi = 22/7!
Или
const const const pi = 180°
отдельной недоработкой выглядит неразличение в исходном коде
дефиса (-),
n-тире (–),
m-тире (—)
и минуса (−)
И что то надо делать с нулём!
Очевидно же, что -0 явно меньше 0, и вдвое меньше +0 !
И сумма нулей всё таки незначительно отличается от нуля.
Значение -0 имеется в реальной жизни. В Непале. Насколько я помню, даже юникодный знак есть.
А зачем?
В Непале огромное значение имеют гороскопы, которые там достигли небывалых высот и учитывают большое количество факторов. -0 обозначает время зачатия.
В Высшей математике используют, чтобы показать с какой стороны придел
Минус ноль есть в языках программирования. Почти во всех современных.
Очевидно же, что -0 явно меньше 0, и вдвое меньше +0 !
А я как раз об этом писал, когда говорил о необходимости заимствования идей BABBAGE:
"Например, разработчики языка BABBAGE в настоящее время заняты работой над оператором ALMOST EQUAL SIGN ("почти с одинаковым знаком"), используемым для сравнения двух чисел с плавающей запятой. "
Ещё, по аналогии с числом i, квадрат которого равен -1, можно ввести число ы, квадрат которого равен 0.
Это сразу откроет массу новых возможностей для математических вычислений! Теперь, вместо комплексных чисел, можно будет проводить математические операции над числами вида a+b*ы.
Во-первых, так как ы² = ы*ы = 0, то и ы³ = 0, и ы⁴ = 0, и ыⁿ = 0 при любом n ≥ 2.
Отсюда легко получить выражение для (a + b*ы)^n = a^n + n*a^(n-1)*b*ы ... и на этом всё, так как последующие члены равны 0.
Во-вторых, многие математические функции раскладываются в ряд Тейлора, что позволяет легко вычислить их значение для аргумента, содержащего ы:
exp(ы) = 1 + ы¹/1! + ы²/2! + ... = 1 + ы
exp(a + b*ы) = exp(a) * exp(b*ы) = exp(a) * (1 + b*ы)
sin(ы) = ы¹/1! - ы³/3! + ... = ы
и так далее.
Логические значения могут быть true, false или maybe.
Это ведь троичная логика. Такая есть в SQL.
А это недоработка. Даже в JS 4 варианта - true, false, null, undefined.
Предлагаю такое решение:
Каждый раз при определении правдивости каждое из следующих значений правдиво со следующей вероятностью.
false - 0%
never - 10%
rarely - 20%
sometimes - 30%
occasionally - 40%
maybe - 50%
frequently - 60%
often - 70%
practically - 80%
almost - 90%
true - 100%
А можно для строковых переменных сделать выделение подстроки, ориентируясь на имя переменной?
var name = "Luke"!
// na = "Lu"
// me = "ke"
Замечательно! Обхохотался)))
Еще более точное сравнение, чем просто точное ожидать стоит?
const const name<Infinity> = "Luke"! //сохранится навсегда
Гениально! Думаю я смогу сделать переменную, которая хранится всегда:
public BundleSave name=BandleSave.new("name", "Привет, это первый запуск программы");
name.update("Привет, не первый запуск программы");
System.out.println(update);
Осталось понять, где хранить в SQLite или ином месте?
Важное обновление
Hi, this is an update from Lu Wilson, CEO of the DreamBerd Foundation.
Last month, we re-named DreamBerd to C along with a whole host of empowering new features. After consulting with the community, we quickly realised that the new name didn't align with the values of our organisation.
We got this one wrong, and we humbly accept that.
"We got this one wrong, and we humbly accept that"
Lu Wilson, DreamBerd Foundation CEO
To rectify this mistake, we have now re-re-named DreamBerd to a name that aligns more closely with the full breadth of our values.
We're really excited to announce that DreamBerd's new name is:
WhenWillProgrammersStopMakingDecisionsForOurSocietyAndJustLeaveUsAloneAlsoHackerNewsIsAVileWebsite
Please tune in next week for more WhenWillProgrammersStopMakingDecisionsForOurSocietyAndJustLeaveUsAloneAlsoHackerNewsIsAVileWebsite release notes.
Or check out the WhenWillProgrammersStopMakingDecisionsForOurSocietyAndJustLeaveUsAloneAlsoHackerNewsIsAVileWebsite examples on the WhenWillProgrammersStopMakingDecisionsForOurSocietyAndJustLeaveUsAloneAlsoHackerNewsIsAVileWebsite examples page.
WhenWillProgrammersStopMakingDecisionsForOurSocietyAndJustLeaveUsAloneAlsoHackerNewsIsAVileWebsite was made with ❤️ by Lu Wilson, creator of screens in screens in screens in screens in screens.
вещь, особенно про константы. сразу вспомнил с++ с его константными указателями на неконстантные данные и наоборот =)
Ну конструкция when(health == 0) это огонь. В концепции zero-cost features это можно даже сделать не на подписке, а вставляя компилятором вызов if (health == 0) при каждом декременте health. Очень красивая конструкция
Техническая информация: аннотации типов ничего не делают, но они помогают некоторым людям чувствовать себя более комфортно.
Сразу вспомнился Python...
Шутка хорошая, но перевод на пол пути сбивается. Где-то оставлен гугл перевод, где-то вообще фраза на английском:)
DreamBerd
Dreambird
Dream Beard
Dreamboard
Dreamer
Я так понял, автор языка сам не определился, как его язык называется? :)
const const const True<Infinity> = False!!!
Теперь живите с этим.
Ахахах, как же годно простебали Rust и JS. В основном к ним отсылки.
Пацталом. Креатиф не Г, Аффтар не М, пиши ещё!
Идеальный язык программирования С, так как всё остальное идеальные пишутся на нём
DreamBerd — идеальный язык программирования