The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Дрю ДеВолт представил язык системного программирования Hare"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от opennews (?), 25-Апр-22, 16:11 
Дрю ДеВолт (Drew DeVault), автор пользовательского окружения Sway, почтового клиента Aerc и платформы совместной разработки SourceHut,...

Подробнее: https://www.opennet.me/opennews/art.shtml?num=57081

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения [Сортировка по времени | RSS]


2. "Дрю ДеВолт представил язык системного программирования Hare"  +24 +/
Сообщение от freehckemail (ok), 25-Апр-22, 16:12 
У этого языка длинные уши! =)
Ответить | Правка | Наверх | Cообщить модератору

18. "Дрю ДеВолт представил язык системного программирования Hare"  +3 +/
Сообщение от Аноним (18), 25-Апр-22, 16:34 
Настолько длинные, что синтаксис запутался в них.
Ответить | Правка | Наверх | Cообщить модератору

35. "Дрю ДеВолт представил язык системного программирования Hare"  –8 +/
Сообщение от Аноним (-), 25-Апр-22, 16:56 
int и uint - это фэйл! Сишные проблемы с разным размером этого и логическими ошибками прогеров которые это игнорят ничему не научили? Хруст вроде и то эту мерзость повырубил.
Ответить | Правка | Наверх | Cообщить модератору

40. "Дрю ДеВолт представил язык системного программирования Hare"  –3 +/
Сообщение от Аноним (40), 25-Апр-22, 16:59 
Ничего твой хруст не вырубил. Он даже переполнение целочисленной переменной не проверяет. Давай фантазируй дальше.  
Ответить | Правка | Наверх | Cообщить модератору

46. "Дрю ДеВолт представил язык системного программирования Hare"  +3 +/
Сообщение от Аноним (-), 25-Апр-22, 17:04 
Он вроде бы продвигает типы конкретной ширины когда прогер как минимум знает сколько туда лезет, а абстрактное "int" нихрена про это не говорит. Поэтому часто случается что мнение вон того прогера и вон того компилера не совпало - и возникают крутые баги на ровном месте. Спасибо если не вулны.

А проверка значений целочисленных операций в рантайме убивает скорость математики в разы. Одно дело ADD R1, #1 и совсем другое - оно же с проверкой флагов и условными переходами. Так что код внезапно в разы медленнее и жирнее. Ну и все крипто, кодеки, графика и прочее добро где нам позарез нужна скорость алгоритмов - обваливается в разы. И никому оно такое не надо оказывается, кроме питономмакетов с энтерпрайзами готовыми сервера докупить. И даже те - вон сервис шаринга файлов, сперва пихон на игогоху переписал а потом и на хруст. Экономия на серверах штука такая.

Ответить | Правка | Наверх | Cообщить модератору

142. "Дрю ДеВолт представил язык системного программирования Hare"  +1 +/
Сообщение от Sw00p aka Jerom (?), 25-Апр-22, 22:02 
>Одно дело ADD R1, #1 и совсем другое - оно же с проверкой флагов и условными переходами.

как такое можно писать? понятие "корректный алгоритм" вам знакомо?

https://ru.wikipedia.org/wiki/%D0%90%D0%...

раздел "Анализ алгоритмов" к прочтению.

Ответить | Правка | Наверх | Cообщить модератору

175. "Дрю ДеВолт представил язык системного программирования Hare"  –1 +/
Сообщение от Аноним (-), 26-Апр-22, 00:50 
> как такое можно писать? понятие "корректный алгоритм" вам знакомо?

Ну вот так и можно - я могу проверить валидность границ и применимости математики где-то очень сильно за пределами тугого цикла. Не нагибая тугой цикл 100500 проверок и условий в обязаловку, вместо этого вынеся гарантии в сторону, просчитав worst case отдельно. Это позволяет сделать критичный кусок кода БЫСТРЫМ. Убить его в РАЗЫ по скорости во имя луны я совершенно не готов.

А зная точную ширину типа у меня сильно больше шансов на этом пути, чем когда тип оформлен так паршиво как int в сях, где что угодно может быть, так что там все и лажаются как раз. Иногда довольно красиво, с дереференсом отрицательных индексов массива и прочих интересных вещей.

Ответить | Правка | Наверх | Cообщить модератору

199. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от Sw00p aka Jerom (?), 26-Апр-22, 12:01 
>я могу проверить валидность границ и применимости математики где-то очень сильно за пределами тугого цикла. Не нагибая тугой цикл 100500 проверок и условий в обязаловку, вместо этого вынеся гарантии в сторону, просчитав worst case отдельно.

не путайте понятия корректности и оптимальности. Выше вы предлагали не проверять флаги переполнения при сложении это относится к корректности, а щас пишите про оптимальность. Корректность предшествует оптимальность. Алгоритм должен сначала быть корректным, а потом уже оптимальным, а оптимальность уже это необходимое и достаточное условие, чтобы алгоритм оставался корректным.

Ответить | Правка | Наверх | Cообщить модератору

275. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от Аноним (-), 27-Апр-22, 16:11 
Я вообще-то писал о том что коррекность можно обеспечивать и менее тупыми способами чем проверка каждой операции.

Еще раз: я могу ДО основного цикла проверить что ХУЧШИЙ СЛУЧАЙ операции в цикле точно никогда не переполняется с данным размером, допустим, integer'ов, при вообще совсем любых аргументах на вход алгоритма.

При этом мне будет очень кстати знать ТОЧНЫЙ размер типа. Упрощает понимание краевых случаев.

Если я доказал это и проверил потребные критерии еще ДО входа в цикл, проверять переполнение в цикле избыточно и только обрушивает его скорость зазря. Да, это требует аккуратности, зато воздает скоростью недостижимой при указанном подходе с неотключаемой проверкой все и вся. В лучшем случае это даже автоматизировать можно, какой-нибудь развесовкой static assert'ов на этапе сборки еще, но катит не всегда, конечно.

Ответить | Правка | Наверх | Cообщить модератору

150. "Дрю ДеВолт представил язык системного программирования Hare"  +2 +/
Сообщение от OpenEcho (?), 25-Апр-22, 22:41 
> Он даже переполнение целочисленной переменной не проверяет.

А надо? Иначе есть риск загубить криптографию, где переполнение целочисленных переменных используется по назначению

Ответить | Правка | К родителю #46 | Наверх | Cообщить модератору

171. "Дрю ДеВолт представил язык системного программирования Hare"  +2 +/
Сообщение от Аноним (171), 26-Апр-22, 00:40 
Ненадо так же как и раст.
Ответить | Правка | Наверх | Cообщить модератору

328. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от Аноним (-), 29-Апр-22, 18:32 
С кодом вида
>         "こんにちは世界!",

...они скоро узнаюот про атаки вида BadSource :)

Ответить | Правка | Наверх | Cообщить модератору

143. "Дрю ДеВолт представил язык системного программирования Hare"  +4 +/
Сообщение от Аноним (143), 25-Апр-22, 22:19 
> Ничего твой хруст не вырубил. Он даже переполнение целочисленной переменной не проверяет. Давай фантазируй дальше.

Уныленько. Попробуй потоньше.

https://github.com/rust-lang/rfcs/blob/master/text/0560-inte...
> Implementations are permitted to check for overflow at any time (statically or dynamically). Implementations are required to at least check dynamically when debug_assert! assertions are enabled. Add a WrappingOps trait to the standard library with operations defined as wrapping on overflow for the limited number of cases where this is the desired semantics, such as hash functions.
>

Ответить | Правка | К родителю #40 | Наверх | Cообщить модератору

193. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от Аноним (193), 26-Апр-22, 10:19 
> Ничего твой хруст не вырубил. Он даже переполнение целочисленной переменной не проверяет.

Никто этого не проверяет, даже жаба которая исполняется а JVM потому как это оверхед. Это фишка ALU процессоров, некоторые умеют выставлять флаги при переполнении, некоторые нет, это все очень платформеннозависимо. И даже если процессор выставит флаг переполнения, то для его проверки нужны дополнительные инструкции с бранчингом (на случай ошибки) после каждой мат.операции. Если такую вальвацию сделать частью языка, то такой язык будет считать медленным и он с треском проиграет во всех бечмарках, даже той же java и .net.

Ответить | Правка | К родителю #40 | Наверх | Cообщить модератору

201. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от Sw00p aka Jerom (?), 26-Апр-22, 12:09 
>Если такую вальвацию сделать частью языка, то такой язык будет считать медленным и он с треском проиграет во всех бечмарках, даже той же java и .net.

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

Ответить | Правка | Наверх | Cообщить модератору

203. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от Аноним (193), 26-Апр-22, 12:23 
Так в том и дело что гарантий обычно никому не нужно, нужна скорость, есть же разница между выполнением 1 ассемблерной инструкцией и тремя.    
В те редкие моменты когда такое переполнение может случится на себя берет ответственность кодер, можно использовать специальные математические библиотеки, они не только переполнение проверят, но и позволяют работать с очень большими числами не ограниченными размерами регистров в современных CPU, конечно это работает медленно, но такова цена за точность.

А эта притенения похоже не претензию новичков к JS: `0.1+0.2=0.30000000000000004`, где проблема совсем не в JS, а в IEEE-754.

Ответить | Правка | Наверх | Cообщить модератору

224. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от Sw00p aka Jerom (?), 26-Апр-22, 13:30 
>Так в том и дело что гарантий обычно никому не нужно, нужна скорость

гарантий корректности не нужны?

>есть же разница между выполнением 1 ассемблерной инструкцией и тремя.

есть конечно же, но это не критерий оценки временной сложности алгоритма. Эти три инструкции могут быть взяты за элементарный шаг при анализе.

>но такова цена за точность

так что же важнее? корректность алгоритма с точным результатом или его "быстрота" с неточным результатом? И это не цена, это необходимость и достаточность.

Ответить | Правка | Наверх | Cообщить модератору

229. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от Аноним (193), 26-Апр-22, 14:04 
> но это не критерий оценки временной сложности алгоритма.

O(n) не изменится, но throughput просядет в пару раз.

> корректность алгоритма с точным результатом или его "быстрота" с неточным результатом?

Так тут как бы выбор между ошибкой в runtime и неточным результатом. Хотя слово неточный не уместно, результат то точный и детерминированный, просто не тот который ожидается при конкретной математической операции.  

Вот допустим есть ошибка с переполнением, у нас есть тесты но они не покрыли конкретный случай вызывающий переполнение. Программа ушла клиентам или на сервер и в случае проверок на переполнение мы получим ошибку при определенных входных данных, это ошибка возникнет в момент исполнения.  
Конечно круто что мы ее перехватим, ведь вместо неправильного результата у нас программа просто не позволит пойти дальше, мы не запишем в базу неправильное значение и т.д. Но цена этому будет производительность, например в случае сервера наш сервер будет обслуживать в два раза меньше клиентов.

А если у нас не x86 архитектура, а какой-нибудь сервер на RISC-V где никаких флагов о переполнении в его ALU нет совсем, поту для него будут генерировать не 3 ассемблерные инструкции,  а 5-10, на таких CPU производительность просядет в 5-10 раз.  

Ответить | Правка | Наверх | Cообщить модератору

245. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от Sw00p aka Jerom (?), 26-Апр-22, 22:16 
> O(n) не изменится, но throughput просядет в пару раз.

ну мы же говорим об асимптотике, таким же макаром можно говорить, что релейные реализации медленнее всяких МОП реализаций. А когда появятся фотонные транзисторы (потолок, предел физики) о чем говорить будем?

> Так тут как бы выбор между ошибкой в runtime и неточным результатом.
> Хотя слово неточный не уместно, результат то точный и детерминированный, просто
> не тот который ожидается при конкретной математической операции.

неточный результат и есть ошибка.

> Но цена этому будет производительность, например в
> случае сервера наш сервер будет обслуживать в два раза меньше клиентов.

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

> А если у нас не x86 архитектура, а какой-нибудь сервер на RISC-V
> где никаких флагов о переполнении в его ALU нет совсем, поту
> для него будут генерировать не 3 ассемблерные инструкции,  а 5-10,
> на таких CPU производительность просядет в 5-10 раз.

просядет по сравнению с чем, с схематической реализацией? ну и дураку понятно. Ну допустим не используйте в ЯП оператор +, а напишите свою реализацию функции сложения add в столбик - просядет у вас производительность вычислений?

Ответить | Правка | Наверх | Cообщить модератору

206. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от Аноним (193), 26-Апр-22, 12:41 
P.S. Я не исключаю что возможно существует язык или компилятор котоырй генерирует такие валидации, и используется где-то в критических индустриях, например для медицинского оборудования или атомной промышленности.
Ответить | Правка | К родителю #201 | Наверх | Cообщить модератору

230. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от Пиём канфеты кушоем чаи (?), 26-Апр-22, 14:29 
>нужны дополнительные инструкции с бранчингом

ВРЁТИ!!!
ВРЁЁОООААААААААА!!!!!!1111ы

Выпалняем "trap on condition" прапоускаем один такт некакова суецы^W бранчинга.

Ответить | Правка | К родителю #193 | Наверх | Cообщить модератору

276. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от Аноним (-), 27-Апр-22, 16:21 
> Выпалняем "trap on condition" прапоускаем один такт некакова суецы^W бранчинга.

И скока платформ это умеет на уровне железа, чтоб без пеналти по скорости? А, расскажем что они не нужны. Так?

Ответить | Правка | Наверх | Cообщить модератору

243. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от Аноним (243), 26-Апр-22, 21:35 
> Никто этого не проверяет

Delphi (и lazarus тоже) проверяет в рантайме и генерит exception. Для криптографии вырубают.

Фортран вроде бы тоже должен проверять, но это не точно...

Ответить | Правка | К родителю #193 | Наверх | Cообщить модератору

232. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от . (?), 26-Апр-22, 16:20 
это некто не проверяет. это стандартное поведение mod(a+b, 2^x)
Ответить | Правка | К родителю #40 | Наверх | Cообщить модератору

244. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от Sw00p aka Jerom (?), 26-Апр-22, 22:01 
> это некто не проверяет. это стандартное поведение mod(a+b, 2^x)

не стоит путать сложение по модулю и арифметическое сложение.

Ответить | Правка | Наверх | Cообщить модератору

42. "Дрю ДеВолт представил язык системного программирования Hare"  –2 +/
Сообщение от Аноним (-), 25-Апр-22, 16:59 
Еще прикол.

> Handling allocation failure
> TODO

Эм... а что делать если там NULL мы подумаем потом :)))

Ответить | Правка | К родителю #18 | Наверх | Cообщить модератору

59. "Дрю ДеВолт представил язык системного программирования Hare"  +4 +/
Сообщение от Аноним (143), 25-Апр-22, 17:26 
> Еще прикол.
>> Handling allocation failure
>> TODO
> Эм... а что делать если там NULL мы подумаем потом :)))

Например попробовать читать спеки, вместо недописанного (к чему походу TODO и относится) туториала?

6.6.21.6
In the alloc form, if the execution environment is unable to allocate sufficient
storage for the requested type, the execution environment shall print a diagnostic
message and abort. If the type hint is a nullable pointer type, the result type of the
allocation expression shall also be nullable, and null shall be returned instead of
aborting if sufficient storage cannot be provided.

Ответить | Правка | Наверх | Cообщить модератору

84. "Дрю ДеВолт представил язык системного программирования Hare"  –1 +/
Сообщение от Аноним (-), 25-Апр-22, 18:30 
> Например попробовать читать спеки, вместо недописанного (к чему походу TODO и относится) туториала?

А, это про туториал было? Вашу 20, чем они думали так туториал к "системному" языку писать?

> storage for the requested type, the execution environment shall print a diagnostic
> message and abort.

Ох, круто, так и представляю себе линуксный кернел упавший в панику с "can't allocate message for kernel". Агаблин, очень так системненько... хрустикам это дело в майнлайновой рассылке популярно объяснили, этому дону персональное объяснение требуется?

> aborting if sufficient storage cannot be provided.

Ога, в кернеле тебе это и сделать...

Ответить | Правка | Наверх | Cообщить модератору

107. "Дрю ДеВолт представил язык системного программирования Hare"  +2 +/
Сообщение от Аноним (143), 25-Апр-22, 19:34 
> execution environment
> линуксный кернел

"Крутой системщик"294 совсем не палицца ...

> Ох, круто, так и представляю себе линуксный кернел упавший в панику с
> "can't allocate message for kernel". Агаблин, очень так системненько... хрустикам это
> дело в майнлайновой рассылке популярно объяснили, этому дону персональное объяснение требуется?
>> aborting if sufficient storage cannot be provided.
> Ога, в кернеле тебе это и сделать...

Хоспади, какая же каша у тебя в голове. Аллокация явная. Причем тут паники и хруст - не ясно. Судя по всему, до " and null shall be returned instead of aborting if sufficient storage cannot be provided." так и не дочитал.


Ответить | Правка | Наверх | Cообщить модератору

146. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от Аноним (-), 25-Апр-22, 22:32 
> "Крутой системщик"294 совсем не палицца ...

Во всяком случае могу накодить бутлоадер или фирмварь, реалтаймно и предсказуемо, подняв моим кодом SoC, пропатчить линухкернел, написать себе и не только (около)системные тулсы. А чего добился ты? :)

> Хоспади, какая же каша у тебя в голове. Аллокация явная. Причем тут
> паники и хруст - не ясно.

Хрустики кстати после пинка Торвальца доперли. Но получилось костыльно, конечно. Наверное потому 2 конкурента хруста и образовалось. Они тоже странновато это делают, но некоторые идеи в принципе неплохо уловили.

> Судя по всему, до " and null shall be returned instead of aborting if sufficient storage
> cannot be provided." так и не дочитал.

Я таки только краем глаза читал. Пытаясь понять насколько оно того стоит. В тыщи проектов уровня студенческой поделки, меня на всех не хватит. Но ДеВолт зарекомендовал себя неглупым типом. В зиге имхо прикольнее всего вычисления в компилтайме на самом деле придумали. Надеюсь ДеВолт сопрет идею, если еще не.

В идеале совместить бы их всех в что-то чуть более сишное, с предвычислениям как зиг, переклином на borrow checker хруста, опциональной и модулярной сислибой и могло бы получиться дельное комбо. А пока xkcd927 слегка напоминает. Уже минимум 3й убийца сишки. А сишкой продолжат пользоваться т.к. в силу примитивности проблем не очень много, они известны, в совсем пустой системе проще ему окружение создавать.

Ответить | Правка | Наверх | Cообщить модератору

269. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от AA_suited (ok), 27-Апр-22, 13:36 

> В идеале совместить бы их всех в что-то чуть более сишное, с
> предвычислениям как зиг, переклином на borrow checker хруста, опциональной и модулярной
> сислибой и могло бы получиться дельное комбо. А пока xkcd927 слегка
> напоминает. Уже минимум 3й убийца сишки. А сишкой продолжат пользоваться т.к.
> в силу примитивности проблем не очень много, они известны, в совсем
> пустой системе проще ему окружение создавать.

Напиши что бы ты хотел видеть/не видеть чуть более подробно, может даже страничку/бложик сделай.

Ответить | Правка | Наверх | Cообщить модератору

277. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от Аноним (-), 27-Апр-22, 16:41 
1) Культурную работу с регистрами железа (разных размеров), как то эффективно форсируемый volatile, read-only и проч, развитую и эффективную работу с битовыми полями в каком-нибудь очень маленьком и очень оптимизированом виде без оверхеда и с precompute всего что precompute'ится. На сях это приходится самому делать изобретая велик, ибо битовые типы только в struct - и довольно криво! Ну например: допустим я знаю что у меня 32 бита в регистре. Как насчет красивых деклараций битов и полей в регистре, с проверкой что за 32 бита не выехало вместо UNDEFINED?
2) Стандартный контроль выравнивания и упаковки структур и проч. Может даже с контролем endianess. А чтоб структуроривано например пакеты (сетевые, радио, интерфейсные) описывать культурно и структурировано - но получать побитово предсказуемое нечто в провод/эфир или что там у нас, дабы ресивер на другой стороне это совершенно точно понял даже если это кодили совсем другие люди. В си так ну не то чтобы совсем нельзя, однако есть масса проблем по части endianess и упаковки. А упаковка зачем? Ну например вон тот struct скормить DMA-автомату по адресу "как есть" и стрельнуть его 1 блоком в провод или куда там без участия проца.
3) Стандартный вариант размещения константы/переменной/функции и проч в конкретной секции. А может и контроль за тем что делает линкер из сорца. Если я пишу фирмварь, мне надо чтобы вектора прерываний были в бинаре первыми, и по конкретному физическому адресу. В сях это делается, но - нестандартными расширениями. А вот именно одним только стандартом обойтись в таких вещах - ХРЕН.
4) Развитый compile time checking всего чего можно и нельзя. Потому что #$%нувшаяся на полпути фирмвара - весьма печально и дорого обходится. Наверное можно к этому compile time вычисления как в zig довольно круто припахать.
5) Ну и лично мне нравится гнутый тулчейн. Код хороший генерит, может заспорить с кайлой и иаром на мелких армах только так. Так что оформить новый, клевый яп фронтом к нему - дикий win в моих глазах.
Ответить | Правка | Наверх | Cообщить модератору

74. "Дрю ДеВолт представил язык системного программирования Hare"  +1 +/
Сообщение от жорик (?), 25-Апр-22, 18:18 
Как я должен осилить столь отвратительный синтаксис?
Ответить | Правка | К родителю #2 | Наверх | Cообщить модератору

82. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от VladSh (?), 25-Апр-22, 18:28 
Сначала попробовать писать на чём-то с более отвратительным синтаксисом)
Ответить | Правка | Наверх | Cообщить модератору

101. "Дрю ДеВолт представил язык системного программирования Hare"  +8 +/
Сообщение от Аноним (18), 25-Апр-22, 19:15 
После раста любой язык - кристально понятен.
Ответить | Правка | Наверх | Cообщить модератору

186. "Дрю ДеВолт представил язык системного программирования Hare"  +1 +/
Сообщение от Аноним (186), 26-Апр-22, 07:53 
чем отвратительнее синтаксис тем выше безопасность.
Ответить | Правка | К родителю #74 | Наверх | Cообщить модератору

200. "Дрю ДеВолт представил язык системного программирования Hare"  +2 +/
Сообщение от Аноним (200), 26-Апр-22, 12:09 
Потому, что киддисы такой язык не осилят.
Ответить | Правка | Наверх | Cообщить модератору

3. "Дрю ДеВолт представил язык системного программирования Hare"  +6 +/
Сообщение от Аноним (3), 25-Апр-22, 16:13 
Никак не могу понять, что же он мне напоминает....
Ответить | Правка | Наверх | Cообщить модератору

5. "Дрю ДеВолт представил язык системного программирования Hare"  +4 +/
Сообщение от Аноним (5), 25-Апр-22, 16:16 
Нечитаемый, ужасный синтаксис. После Nim особенно больно смотреть.
Ответить | Правка | Наверх | Cообщить модератору

231. "Дрю ДеВолт представил язык системного программирования Hare"  +2 +/
Сообщение от Аноним (231), 26-Апр-22, 14:48 
Ладно, если присмотреться, то норм. Отпугнули поначалу двоеточия.
Ответить | Правка | Наверх | Cообщить модератору

25. "Дрю ДеВолт представил язык системного программирования Hare"  –3 +/
Сообщение от Аноним (-), 25-Апр-22, 16:48 
Помесь сишки, хруста и зига, что же еще?! И таки let можно было бы наверное побустать. Мерзко 4 лишние буквы печатать, что ни говори.
Ответить | Правка | К родителю #3 | Наверх | Cообщить модератору

50. "Дрю ДеВолт представил язык системного программирования Hare"  +8 +/
Сообщение от Аноним (143), 25-Апр-22, 17:10 
> Помесь сишки, хруста и зига, что же еще?!

Разве что для опеннетчиков, знакомых с другими ЯП исключительно по новостям опеннета.

Ответить | Правка | Наверх | Cообщить модератору

69. "Дрю ДеВолт представил язык системного программирования Hare"  +5 +/
Сообщение от DontTreadOnMe (?), 25-Апр-22, 17:50 
Я бы сказал это смесь раста и го.
Ответить | Правка | К родителю #25 | Наверх | Cообщить модератору

95. "Дрю ДеВолт представил язык системного программирования Hare"  –3 +/
Сообщение от Аноним (-), 25-Апр-22, 19:04 
> Я бы сказал это смесь раста и го.

Всякие деферы и проч явно из зига сперты, там почти так же было.

Ответить | Правка | Наверх | Cообщить модератору

172. "Дрю ДеВолт представил язык системного программирования Hare"  +1 +/
Сообщение от Аноним (172), 26-Апр-22, 00:41 
Дефер из Го. Я прогаю на Си и Го. Хотел написать Харэ, но текст языка полностью понятен, в отличие от ржавчины.
Ответить | Правка | Наверх | Cообщить модератору

176. "Дрю ДеВолт представил язык системного программирования Hare"  +1 +/
Сообщение от Аноним (-), 26-Апр-22, 00:57 
> Дефер из Го. Я прогаю на Си и Го. Хотел написать Харэ,
> но текст языка полностью понятен, в отличие от ржавчины.

Просто синтаксически оно в целом Zig напоминает сильно больше игого. А тот в свою очередь под хруст сильно косит. У игогошки в целом синтаксис вроде бы заметно иной. А то что там фичу передрали - ух, блин, вы еще монополию на какие-нибудь корутины одному языку отдайте. А потом заметьте что их даже сишники умеют если захотят, чертову кучу лет, кули.

Ответить | Правка | Наверх | Cообщить модератору

153. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от OpenEcho (?), 25-Апр-22, 22:48 
> Я бы сказал это смесь раста и го.

A что там от Го, "let" или "::" или "use", или "fn" ... ?

Ответить | Правка | К родителю #69 | Наверх | Cообщить модератору

173. "Дрю ДеВолт представил язык системного программирования Hare"  +1 +/
Сообщение от Аноним (172), 26-Апр-22, 00:41 
Дефер
Ответить | Правка | Наверх | Cообщить модератору

47. "Дрю ДеВолт представил язык системного программирования Hare"  –2 +/
Сообщение от trdm (ok), 25-Апр-22, 17:05 
> Никак не могу понять, что же он мне напоминает....

Это паскаль без бегинов и эндов.
    let buffer: *[65535]u8 = alloc([0...]);
хорошо присваивание без ":"

Ответить | Правка | К родителю #3 | Наверх | Cообщить модератору

58. "Дрю ДеВолт представил язык системного программирования Hare"  +6 +/
Сообщение от Alexey Tor. (?), 25-Апр-22, 17:24 
Pascal. Был и остаётся хорош и понятен. Да, есть недочеты в free pascal, это проблемы реализаций , но сам язык очень хорош. И понятен!
Ответить | Правка | Наверх | Cообщить модератору

67. "Дрю ДеВолт представил язык системного программирования Hare"  +4 +/
Сообщение от Старший аноним (?), 25-Апр-22, 17:44 
Не скажу, что его последователь ADA хорош с точки зрения синтаксиса - слишком много не всем понятных Pragm.
Но с точки зрения безопасности и отсутствия ошибок - нет равных. Если программа скомпилированно на Ada/Spark, то это значит, что на 99% там не будет ошибок.
Ответить | Правка | Наверх | Cообщить модератору

75. "Дрю ДеВолт представил язык системного программирования Hare"  +4 +/
Сообщение от Аноним (75), 25-Апр-22, 18:19 
Кроме логических. Их будет столько же сколько везде.
Ответить | Правка | Наверх | Cообщить модератору

89. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от Старший аноним (?), 25-Апр-22, 18:42 
С учетом развития в последнее время методов Машинного обучения в анализе кода, и на логические ошибки, за которые их посчитает AI,  могут быть, по-крайней мере, выданы предупреждения пользователю.
Ответить | Правка | Наверх | Cообщить модератору

99. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от Аноним (-), 25-Апр-22, 19:10 
А вон кстати какой-то анализер выкатили как раз, использующий результаты машинного обучения для поиска проблемного кода. Впрочем тут коллеги британских ученых AI припахали искать ядовитые молекулы, а он возьми да и найди кучу вариантов суровее VX... так что за убить всех человеков у роботов уж точно не заржавеет!
Ответить | Правка | Наверх | Cообщить модератору

164. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от Аноним (164), 26-Апр-22, 00:05 
Советские учёные ещё в 1970-80-х без всякого AI нашли около 60 таких молекул суровее.
Ответить | Правка | Наверх | Cообщить модератору

178. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от Аноним (-), 26-Апр-22, 01:03 
> Советские учёные ещё в 1970-80-х без всякого AI нашли около 60 таких молекул суровее.

А этот нашел тысячи за какие-то единицы часов. И вообще был изначально для поиска лекарств а это так, на правах эксперимента.

Это просто ремарка к тому что если AI задастся каким-то вопросом, он найдет ответ и без советских ученых. За скромное время и эффективно. Самое забавное что с ним можно сделать - озадачить самоулучшением. Правда результат - unspecified.

Ответить | Правка | Наверх | Cообщить модератору

257. "Дрю ДеВолт представил язык системного программирования Hare"  +1 +/
Сообщение от a_kusb (ok), 27-Апр-22, 07:44 
Это был бы сильный ИИ, мне не кажется что ИИ сейчас для всего подходит.
Ответить | Правка | Наверх | Cообщить модератору

267. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от Аноним (231), 27-Апр-22, 12:04 
> если AI задастся каким-то вопросом

Искусственного интеллекта не существует. Есть нейронные сети, это другое.

Ответить | Правка | К родителю #178 | Наверх | Cообщить модератору

278. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от Аноним (-), 27-Апр-22, 16:53 
Как показал пример жизни на планете, однажды слабый интеллект становится сильным. По мере увеличения числа нейронов оно самозапускается, развивается, осваивает более сложное взаимодействие с миром.

Что помешает AI точно так же самозапуститься? На первый взгляд ничего. Верить в свою уникальность и избранность может только наглая глупая обезьяна. За что и попадет в зоопарк или на кладбище, имхо.

Ответить | Правка | Наверх | Cообщить модератору

218. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от Аноним (-), 26-Апр-22, 13:02 
> логические ошибки, за которые их посчитает AI

Это "статистические ошибки", а не логические.

AI обученный на примерах миллионов (мух, которые не ошибаются), будет фиксировать, что код написан те так, как предыдущие миллионы.

Ответить | Правка | К родителю #89 | Наверх | Cообщить модератору

258. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от a_kusb (ok), 27-Апр-22, 07:56 
Значит нужно определять логические ошибки чтобы датасет был эффективнее.
Ответить | Правка | Наверх | Cообщить модератору

359. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от рлрдл (?), 07-Май-22, 20:09 
До сих пор живы Модулы в узких нишах. В универах на них чуть прогают и во всяких конторах где спутники делают (ада точно была там же, в каких то кубсатах).
Кстати, в каком то универе, на острове в море, до сих пор употребляют Симулу, даже не Смолток а именно Симулу в оригинале.
Ответить | Правка | К родителю #67 | Наверх | Cообщить модератору

132. "Дрю ДеВолт представил язык системного программирования Hare"  +1 +/
Сообщение от _kp (ok), 25-Апр-22, 21:22 
Я хоть и не фанат Паскалей, но приходилось писать, и много.
Но не многословность главный недостаток,
а уродливое объявление переменных где то в начале.
Ответить | Правка | К родителю #47 | Наверх | Cообщить модератору

62. "Дрю ДеВолт представил язык системного программирования Hare"  –3 +/
Сообщение от KhabManemail (ok), 25-Апр-22, 17:34 
Наверное, вообще не в тему, но есть такой др. Дью, который использует инструмент DeWalt...
Ответить | Правка | К родителю #3 | Наверх | Cообщить модератору

4. "Дрю ДеВолт представил язык системного программирования Hare"  +2 +/
Сообщение от Аноним (5), 25-Апр-22, 16:15 
> самодостаточное использование для запуска поверх оборудования без операционной системы

Ну хоть один убийца Си это сделал на начальном этапе.

Ответить | Правка | Наверх | Cообщить модератору

7. "Дрю ДеВолт представил язык системного программирования Hare"  +1 +/
Сообщение от Аноним (5), 25-Апр-22, 16:19 
Что-то не нашёл на сайте примеров..
Ответить | Правка | Наверх | Cообщить модератору

11. "Дрю ДеВолт представил язык системного программирования Hare"  +1 +/
Сообщение от Аниме (?), 25-Апр-22, 16:23 
https://git.sr.ht/~sircmpwn/helios
Ответить | Правка | Наверх | Cообщить модератору

14. "Дрю ДеВолт представил язык системного программирования Hare"  +1 +/
Сообщение от Аноним (5), 25-Апр-22, 16:25 
Ладно... Я хотел для микроконтроллеров найти.
Ответить | Правка | Наверх | Cообщить модератору

24. "Дрю ДеВолт представил язык системного программирования Hare"  –1 +/
Сообщение от Аноним (-), 25-Апр-22, 16:46 
Они в этом не так уж отличаются от остального bare metal, единственное что реально надо - детальный контроль за layout прошивки, в какие секции что идет и в каких адресах это лежит. На сях это делается нестандартненько, таблицу векторов прерываний придется каким-нибудь левым __attribute__(section(IRQVECTORS)) делать. А это ни в раз не часть стандарта, печалька. Как и линкерный скрипт говоряший где это IRQVECTORS реально лежит.

И еще там надо чтобы не было стандартной либы - где ей там файловую систему брать? Притащить еще либ и кода, весом в 20 раз больше основной части прошивки? Тогда и микроконтроллер придется брать дороже и навороченнее.

Ответить | Правка | Наверх | Cообщить модератору

226. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от Аноним (200), 26-Апр-22, 13:37 
Сейчас кто-то ещё выбирает микроконтроллеры для новых проектов меньше, чем Cortex-M0? А стандартная либа newlib и в Атмегах помещается.
Ответить | Правка | Наверх | Cообщить модератору

279. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от Аноним (-), 27-Апр-22, 16:59 
> Сейчас кто-то ещё выбирает микроконтроллеры для новых проектов меньше, чем Cortex-M0? А
> стандартная либа newlib и в Атмегах помещается.

1) Даже attiny и такую гадость как pic миллионами используют. И даже там на сях прогают, ага.
2) А если в чипе m0 всего 16 кил флеша, 4 кило рамы, и у меня свое фирмваре большую часть этого уже жрет, мне как-то не в кассу еще newlib туда. И ФС мне там просто не нужна. А зачем абстракция файловой системы какому-нибудь термостату например? И чего делать предлагается, брать чип жирнее и дороже, где флеша и/или рамы больше? Это не бесплатно. Настолько что вон те даже с пиком готовы сношаться из-за полубакса на чип. При тираже в миллион им эти полбакса помноженные на миллион очень нравятся в их кармане.

Нене, вы можете собрать термостат даже на распи. А миллион раз его потом повторить для народа жаба не удушит в таком виде? Ведь эти мегабаксы могли быть ваши а не броадкома...

Ответить | Правка | Наверх | Cообщить модератору

360. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от Аноним (360), 16-Июн-22, 15:19 
Зачем Бредком, это же SoC с MMU? Микроконтроллер со 128 кбайт флеша - разумный компромисс.
Ответить | Правка | Наверх | Cообщить модератору

45. "Дрю ДеВолт представил язык системного программирования Hare"  +4 +/
Сообщение от Likern (?), 25-Апр-22, 17:03 
Zig это умеет.
Ответить | Правка | К родителю #4 | Наверх | Cообщить модератору

77. "Дрю ДеВолт представил язык системного программирования Hare"  +1 +/
Сообщение от Аноним (75), 25-Апр-22, 18:20 
За что этому челу минус поставили без коммента?
Ответить | Правка | Наверх | Cообщить модератору

174. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от Аноним (171), 26-Апр-22, 00:46 
Только он какой-то нестабильный, там были изменения не по-семверу. И до релиза 1.0.0 еще далеко если он ваще будет.  
Ответить | Правка | К родителю #45 | Наверх | Cообщить модератору

183. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от Аноним (183), 26-Апр-22, 01:52 
До 1.0.0 никакого семвера и нет.

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

Т.е. на пару лет он вполне стабильный) Да и потом ничего критичного вроде не будет.

Ответить | Правка | Наверх | Cообщить модератору

273. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от www2 (??), 27-Апр-22, 15:28 
Форт, нет?
Ответить | Правка | К родителю #4 | Наверх | Cообщить модератору

303. "Дрю ДеВолт представил язык системного программирования Hare"  –1 +/
Сообщение от Аноним (303), 28-Апр-22, 11:54 
Реализаций живых и актуальных нет.
Ответить | Правка | Наверх | Cообщить модератору

9. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от Аноним (5), 25-Апр-22, 16:22 
Hare и Haxe.
Ответить | Правка | Наверх | Cообщить модератору

10. "Дрю ДеВолт представил язык системного программирования Hare"  +2 +/
Сообщение от JVM (?), 25-Апр-22, 16:22 
вообще есть nim, чем не устроил?
Ответить | Правка | Наверх | Cообщить модератору

145. "Дрю ДеВолт представил язык системного программирования Hare"  +4 +/
Сообщение от Аноним (145), 25-Апр-22, 22:26 
Фатальный недостаток, как и у всех других языков
Ответить | Правка | Наверх | Cообщить модератору

246. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от ffirefox (?), 26-Апр-22, 22:18 
С определённого момента в Nim стали заталкивать очень много всего. Дикая вариативность в кодировании алгоритмов на Nim. Похоже, автор идёт по стопам Perl.

Очень мощный язык для самовыражения программиста (точнее даже - очень опытного программиста). Но вот разбираться с этим...

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

Ответить | Правка | К родителю #10 | Наверх | Cообщить модератору

12. "Дрю ДеВолт представил язык системного программирования Hare"  +7 +/
Сообщение от Шарп (ok), 25-Апр-22, 16:24 
Сишка с неймспейсами?

>fmt::println()!;

У вас ус^Wrust отклеился.

Ответить | Правка | Наверх | Cообщить модератору

20. "Дрю ДеВолт представил язык системного программирования Hare"  –1 +/
Сообщение от НяшМяш (ok), 25-Апр-22, 16:38 
Забавно, что как раз в расте не нужен неймспейс для println, он уже видим по-умолчанию.
Ответить | Правка | Наверх | Cообщить модератору

362. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от Аноним (362), 09-Ноя-22, 09:03 
потому что это макрос
Ответить | Правка | Наверх | Cообщить модератору

31. "Дрю ДеВолт представил язык системного программирования Hare"  +1 +/
Сообщение от Массоны Рептилоиды (?), 25-Апр-22, 16:52 
> У вас ус^Wrust отклеился.

Рыжий суслик

Ответить | Правка | К родителю #12 | Наверх | Cообщить модератору

13. "Дрю ДеВолт представил язык системного программирования Hare"  +1 +/
Сообщение от Аниме (?), 25-Апр-22, 16:25 
Писал на нем движок рендеринга шаблонов (типа jinja), очень приятный язык, буду юзать дальше, как поопрятней станет. Но сдается мне, что Zig его сожрет.
Ответить | Правка | Наверх | Cообщить модератору

48. "Дрю ДеВолт представил язык системного программирования Hare"  –3 +/
Сообщение от Likern (?), 25-Апр-22, 17:05 
Я тоже думаю что сожрёт.

Сам пишу на Zig. Синтаксически похож на Zig (defer) при первом взгляде (и на JavaScript c let\const).

Ответить | Правка | Наверх | Cообщить модератору

54. "Дрю ДеВолт представил язык системного программирования Hare"  +2 +/
Сообщение от Аноним (54), 25-Апр-22, 17:13 
defer не только в зиг есть если что
Ответить | Правка | Наверх | Cообщить модератору

64. "Дрю ДеВолт представил язык системного программирования Hare"  –1 +/
Сообщение от Аниме (?), 25-Апр-22, 17:38 
Он вообще чувствуется как зиг, из которого повырезали фичи и добавили type unions из тайпскрипта. Но в тоже время он чувствуется элегантнее, чем зиг из-за вот этих type union и того факта, что expressions повсюду, даже фигурные скобки. В фиге надо лейблы к ним лепить, чтобы было так же. Хотя я с зигом только начал играться.
Ответить | Правка | К родителю #48 | Наверх | Cообщить модератору

312. "Дрю ДеВолт представил язык системного программирования Hare"  –1 +/
Сообщение от Аноним (-), 28-Апр-22, 20:12 
>type unions из тайпскрипта

Я бы тебе посоветовал вместо тайпскрипта начать учить настоящие языки. Standard ML, OCaml или Haskell, например. А то так и на раст со своими чулками для программирования перейдёшь.

Ответить | Правка | Наверх | Cообщить модератору

322. "Дрю ДеВолт представил язык системного программирования Hare"  +1 +/
Сообщение от Аниме (?), 29-Апр-22, 16:00 
То, что я знаю, что есть в тайпскрипте, не значит, что я на нем пишу. Я перепробовал много языков и сейчас остановился на харе и го. Я бы тоже тебе посоветовал расширять кругозор вместо демонстрирования своей узколобости.
Ответить | Правка | Наверх | Cообщить модератору

15. "Дрю ДеВолт представил язык системного программирования Hare"  –1 +/
Сообщение от Ю.Т. (?), 25-Апр-22, 16:31 
Это быстрый язык! =)
Ответить | Правка | Наверх | Cообщить модератору

16. "Дрю ДеВолт представил язык системного программирования Hare"  +3 +/
Сообщение от Ю.Т. (?), 25-Апр-22, 16:32 
Кстати, продаётся на дискетах!
Ответить | Правка | Наверх | Cообщить модератору

185. "Дрю ДеВолт представил язык системного программирования Hare"  +2 +/
Сообщение от leap42 (ok), 26-Апр-22, 07:14 
> Кстати, продаётся на дискетах!

Вот да, оно влазит на дискету целиком, без необходимости ставить 100мб llvm или ещё чего. Вот это инженерия с заботой о ресурсах, а не хипстоподелка.

Ответить | Правка | Наверх | Cообщить модератору

205. "Дрю ДеВолт представил язык системного программирования Hare"  –2 +/
Сообщение от Vacu923ek (ok), 26-Апр-22, 12:40 
Эй, луддиты, вы тут часом не с тостера сидите?? :)
Ответить | Правка | Наверх | Cообщить модератору

228. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от Аноним (200), 26-Апр-22, 13:59 
С тостера под NetBSD, постим из lynx
Ответить | Правка | Наверх | Cообщить модератору

241. "Дрю ДеВолт представил язык системного программирования Hare"  –1 +/
Сообщение от Vacu923ek (ok), 26-Апр-22, 21:18 
> С тостера под NetBSD, постим из lynx

А чё не QNX? Тоже в своё время "влазим-на-дискетку" хвалились :)

Ответить | Правка | Наверх | Cообщить модератору

233. "Дрю ДеВолт представил язык системного программирования Hare"  +2 +/
Сообщение от leap42 (ok), 26-Апр-22, 16:38 
> Эй, луддиты, вы тут часом не с тостера сидите?? :)

AMD Ryzen 5 5600X, 32GB RAM, 2TB nvme, пишу на хипстерском Go и вообще бесконечно далёк от луддизма, просто восхищаюсь реализацией. Флоппи диск продаётся не для того чтобы его куда-то вставлять, если что.

Ответить | Правка | К родителю #205 | Наверх | Cообщить модератору

240. "Дрю ДеВолт представил язык системного программирования Hare"  –1 +/
Сообщение от Vacu923ek (ok), 26-Апр-22, 21:17 
>  Флоппи диск продаётся не для того чтобы его куда-то вставлять, если что.

:))) Вот и я подумал, зачем людям в 21 веке дискетка! Ну точно куда-то вставляют! :))))
Строго говоря, размер компилера не имеет значения. Если LLVM позволяет таргетить под целую кучу платформ, да путь он хоть терабайт ест!! Лишь бы выходящие программы были маленькие и шустрые.

Ответить | Правка | Наверх | Cообщить модератору

256. "Дрю ДеВолт представил язык системного программирования Hare"  +2 +/
Сообщение от leap42 (ok), 27-Апр-22, 05:13 
> Строго говоря, размер компилера не имеет значения.

Перечитывайте классику, слушайте настоящих программистов: они скажут что размер программы (например компилятора) прямо связан с количеством багов в ней (попробуйте найти 3 в моём hello world ;-) ). Мой любимый пример - регрессия в LLVM из-за которой borrow checker в Rust работал не так, как ожидалось несколько выпусков подряд. Но из-за размера и сложности LLVM того сначала не замечали, а потом не могли починить.

> Если LLVM позволяет таргетить под целую кучу платформ, да путь он хоть терабайт ест!!

Дрю прямо сказал, что проблемы индейцев (пользователей несвободных ОС) его не волнуют, язык целится только в Linux и FreeBSD, так что не аргумент.


Ответить | Правка | Наверх | Cообщить модератору

345. "Дрю ДеВолт представил язык системного программирования Hare"  –1 +/
Сообщение от Michael Shigorinemail (ok), 02-Май-22, 11:18 
> Строго говоря, размер компилера не имеет значения.

*Строго* говоря -- имеет.  Если не в штанишки себе кодите, а организовываете, скажем, регулярные пересборки накоженого в создаваемом с нуля изолированном окружении.

Не говоря уже о менее очевидных последствиях нечеловекопостижимости.

Домашнее задание -- прочитать и осмыслить терабайт текста (вообще на любом языке).

Ответить | Правка | К родителю #240 | Наверх | Cообщить модератору

17. "Дрю ДеВолт представил язык системного программирования Hare"  +1 +/
Сообщение от Аноним (18), 25-Апр-22, 16:32 
Как!-то подозрительно! много !восклицательных знаков!
Ответить | Правка | Наверх | Cообщить модератору

37. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от Аноним84701 (ok), 25-Апр-22, 16:57 
>> Note the ! operator which follows the function call: this is the error assertion operator.
> Как!-то подозрительно! много !восклицательных знаков!

Ну да, внезапно, чтение из буфера и даже вывод в stdout могут "сломаться".

Ответить | Правка | Наверх | Cообщить модератору

207. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от Vacu923ek (ok), 26-Апр-22, 12:41 
Нет. Слишком много вот этого: ::::::::
Ответить | Правка | К родителю #17 | Наверх | Cообщить модератору

19. "Дрю ДеВолт представил язык системного программирования Hare"  +11 +/
Сообщение от Аноним (19), 25-Апр-22, 16:34 
Так и хочется сказать "Харе клепать новые языки! У вас что, больше языков богу языков?"
Ответить | Правка | Наверх | Cообщить модератору

131. "Дрю ДеВолт представил язык системного программирования Hare"  +2 +/
Сообщение от Брат Анон (ok), 25-Апр-22, 21:18 
Долистал до сюда чтобы первым это написать, но не успел.
Ответить | Правка | Наверх | Cообщить модератору

208. "Дрю ДеВолт представил язык системного программирования Hare"  –1 +/
Сообщение от Vacu923ek (ok), 26-Апр-22, 12:42 
На самом деле пусть клепают - это ПОЛЕЗНО. Как минимум, примером как НЕ НАДО делать! :)
Когда количество изученных языков начнёт зашкаливать (у меня их порядка 20+), количество переходит в качество и уже по внешнему виду начинаешь понимать, что с языком не так.
Ответить | Правка | К родителю #19 | Наверх | Cообщить модератору

338. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от Аноним (338), 30-Апр-22, 10:40 
А что с ним не так и какие языки хороши?
Ответить | Правка | Наверх | Cообщить модератору

339. "Дрю ДеВолт представил язык системного программирования Hare"  –1 +/
Сообщение от Vacu923ek (ok), 30-Апр-22, 14:25 
> А что с ним не так и какие языки хороши?

"не так" - то, что с виду это тот же Си, только с :::::::::  :)
Грубо говоря, рынку нахрен не нужны "те же Си, только в профиль"!
И нормальный язык уже сделали - это D - современный ООП подход, куча плюшек, только пользуйся!
У Ди одна проблема - куча клоунов в тырнетах, которым яйца танцевать мешают, а программировать на Ди они не хотят и ищут отмазки.

Ответить | Правка | Наверх | Cообщить модератору

346. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от Michael Shigorinemail (ok), 02-Май-22, 11:20 
> У Ди одна проблема - куча клоунов в тырнетах

Ой, типа мы с Вами порой клоунами не оказываемся.  Не мните шибко много :)

PS: в @e2k_chat нарисовался человек, отнёсший D на e2k, пока некоторые разглагольствовали.

Ответить | Правка | Наверх | Cообщить модератору

271. "Дрю ДеВолт представил язык системного программирования Hare"  +1 +/
Сообщение от BorichL (ok), 27-Апр-22, 14:18 
Дык чего только хипстота не придумает, лишь бы Си не учить... (с)

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

Ответить | Правка | К родителю #19 | Наверх | Cообщить модератору

347. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от Michael Shigorinemail (ok), 02-Май-22, 11:21 
Кстати, netsurf кому-то даже может оказаться и по зубам, и на взаимную пользу.
Ответить | Правка | Наверх | Cообщить модератору

354. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от BorichL (ok), 03-Май-22, 01:37 
> Кстати, netsurf кому-то даже может оказаться и по зубам, и на взаимную
> пользу.

Вероятно, но сначала надо надавать по зубам жабоскриптерной хипстоте!

Ответить | Правка | Наверх | Cообщить модератору

21. "Дрю ДеВолт представил язык системного программирования Hare"  +2 +/
Сообщение от Аноним (-), 25-Апр-22, 16:41 
> main.ha

Вот будет трололо если это окажется архив архиватора .ha - был такой :))

Ответить | Правка | Наверх | Cообщить модератору

26. "Дрю ДеВолт представил язык системного программирования Hare"  –8 +/
Сообщение от Аноним (26), 25-Апр-22, 16:50 
Натужная острота с целью показать своё знание древних архиваторов. Vanitas vanitatum, omnia vanitas.
Ответить | Правка | Наверх | Cообщить модератору

33. "Дрю ДеВолт представил язык системного программирования Hare"  +3 +/
Сообщение от Аноним (-), 25-Апр-22, 16:53 
Скорее мелкий троллинг на тему того что расширение файла можно и покреативнее выбирать, без коллизий. Мало букв в алфавите чтоли?
Ответить | Правка | Наверх | Cообщить модератору

43. "Дрю ДеВолт представил язык системного программирования Hare"  +1 +/
Сообщение от kusb (?), 25-Апр-22, 17:00 
.hre
?
Ответить | Правка | Наверх | Cообщить модератору

66. "Дрю ДеВолт представил язык системного программирования Hare"  +4 +/
Сообщение от Аниме (?), 25-Апр-22, 17:42 
.hrю
Ответить | Правка | Наверх | Cообщить модератору

68. "Дрю ДеВолт представил язык системного программирования Hare"  –1 +/
Сообщение от kusb (?), 25-Апр-22, 17:48 
Хрю
Ответить | Правка | Наверх | Cообщить модератору

73. "Дрю ДеВолт представил язык системного программирования Hare"  +1 +/
Сообщение от Аноним (-), 25-Апр-22, 18:17 
Можно и .hare - вы ж не будете под DOS 6 на этом прогать?! А остальное так то уже давно умеет больше чем 8.3
Ответить | Правка | К родителю #43 | Наверх | Cообщить модератору

94. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от kusb (?), 25-Апр-22, 18:59 
> Можно и .hare - вы ж не будете под DOS 6 на
> этом прогать?! А остальное так то уже давно умеет больше чем
> 8.3

Три символа на расширение это признак элитности формата. А вообще - эта штука выглядит не самой плохой чтобы писать под ней для DOS.

Ответить | Правка | Наверх | Cообщить модератору

102. "Дрю ДеВолт представил язык системного программирования Hare"  –1 +/
Сообщение от Аноним (-), 25-Апр-22, 19:17 
> Три символа на расширение это признак элитности формата.

Вообще тогда 1 символ круче всех. Как в .c/.s :)

> А вообще - эта штука выглядит не самой плохой чтобы писать под ней для DOS.

Нафига? В досе все равно защиты памяти нет и проч. Это нагибает многие допущения даже того же хруста - он предполагает MMU, а ежели этого нет он влет stack overflow могет закатить, с перезаписью остального не хуже сишки. И оно вообще умеет real-mode код x86 генерить?

Ответить | Правка | Наверх | Cообщить модератору

348. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от Michael Shigorinemail (ok), 02-Май-22, 11:22 
Прошу прощения, проверка глазомера -- User294? :)
Ответить | Правка | Наверх | Cообщить модератору

137. "Дрю ДеВолт представил язык системного программирования Hare"  +1 +/
Сообщение от Аноним (26), 25-Апр-22, 21:45 
Откуда коллизии взяться-то? Или ты намерен исходники саоих нетленок хранить в одной директории с архивом фэхи su.books?
Ответить | Правка | К родителю #33 | Наверх | Cообщить модератору

140. "Дрю ДеВолт представил язык системного программирования Hare"  +1 +/
Сообщение от Аноним (140), 25-Апр-22, 21:57 
.ahahah
Ответить | Правка | К родителю #33 | Наверх | Cообщить модератору

117. "Дрю ДеВолт представил язык системного программирования Hare"  –1 +/
Сообщение от Аноним (117), 25-Апр-22, 20:07 
не натужней твоей демонстрации "знания" латыни
Ответить | Правка | К родителю #26 | Наверх | Cообщить модератору

209. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от Vacu923ek (ok), 26-Апр-22, 12:44 
Пижон тут как раз ты - ещё один безусый носитель мёртвого языка.
Ответить | Правка | К родителю #26 | Наверх | Cообщить модератору

22. "Дрю ДеВолт представил язык системного программирования Hare"  +8 +/
Сообщение от Аноним (-), 25-Апр-22, 16:42 
Что за странная любовь к двойным двоеточиям?
Ответить | Правка | Наверх | Cообщить модератору

30. "Дрю ДеВолт представил язык системного программирования Hare"  –1 +/
Сообщение от Аноним (-), 25-Апр-22, 16:51 
Это они у плюсовиков научились. В принципе ничем таким особо не плохо, довольно типовой способ иерархической адресации конструкций яп.
Ответить | Правка | Наверх | Cообщить модератору

49. "Дрю ДеВолт представил язык системного программирования Hare"  +9 +/
Сообщение от Бывалый смузихлёб (?), 25-Апр-22, 17:07 
Такими темпами скоро на клавиатуре появится новая кнопка - двойное двоеточие
Ответить | Правка | Наверх | Cообщить модератору

349. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от Michael Shigorinemail (ok), 02-Май-22, 11:23 
> Такими темпами скоро на клавиатуре появится новая кнопка - двойное двоеточие

Скорее на мышке...

Ответить | Правка | Наверх | Cообщить модератору

72. "Дрю ДеВолт представил язык системного программирования Hare"  +3 +/
Сообщение от Аноним (-), 25-Апр-22, 18:16 
> Это они у плюсовиков научились.

Надеюсь, не у перловиков.

> довольно типовой способ иерархической адресации

Точка - типовой способ иерархической адресации. Сам на плюсах часто пишу и "::" даже в его синтаксисе выглядит, как инородное тело. С++ можно простить - наследие прошлого, но в новых языках - зачем?

Ответить | Правка | К родителю #30 | Наверх | Cообщить модератору

85. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от VladSh (?), 25-Апр-22, 18:35 
Так оно на глаз сразу отличается - видно, что уже реально какой-то новый язык программирования.
Ответить | Правка | Наверх | Cообщить модератору

86. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от Аноним (-), 25-Апр-22, 18:36 
У си с этим тоже так то есть приколы. А -> не хотели для структа по указателям? :) И плюсы вроде не единственные кто так делает. А заодно это в отличие от точек в обычном тексте редко встречается.
Ответить | Правка | К родителю #72 | Наверх | Cообщить модератору

23. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от Аноним (200), 25-Апр-22, 16:45 
Методы в структурах можно?
Ответить | Правка | Наверх | Cообщить модератору

29. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от Аниме (?), 25-Апр-22, 16:51 
Можно, но только как указатели на функции (как и в си). Свою vtable тоже неси.
Ответить | Правка | Наверх | Cообщить модератору

51. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от Аноним (200), 25-Апр-22, 17:11 
И указатель на структуру передавать ручками как в C ?
Ответить | Правка | Наверх | Cообщить модератору

60. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от Аниме (?), 25-Апр-22, 17:30 
Ага
Ответить | Правка | Наверх | Cообщить модератору

210. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от Vacu923ek (ok), 26-Апр-22, 12:46 
Указатель - просто число, какие могут быть с ним проблемы "передавать"???
Ответить | Правка | К родителю #51 | Наверх | Cообщить модератору

219. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от Аноним (200), 26-Апр-22, 13:12 
А зачем его в каждую функцию структуры "закатом солнца вручную" передавать, когда это мог бы компилятор делать? Вот в V, похоже (после беглого ознакомления), так и сделано.
Ответить | Правка | Наверх | Cообщить модератору

88. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от Аноним (-), 25-Апр-22, 18:37 
> Можно, но только как указатели на функции (как и в си). Свою
> vtable тоже неси.

А эффективно вернуть из функции несколько параметров оно могет?

Ответить | Правка | К родителю #29 | Наверх | Cообщить модератору

255. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от Аниме (?), 27-Апр-22, 05:03 
Да, tuples есть
Ответить | Правка | Наверх | Cообщить модератору

280. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от Аноним (-), 27-Апр-22, 17:09 
> Да, tuples есть

Так то вернуть struct я и из сей могу, но вот элегантно вернуть парочку независимых int'ов или там чего еще? Или даже небольшой массив? Ну то-есть симметрирование входа и выхода функций, чтобы более-менее равноправно было. Типа return (u32) nread, (u16) errcode, extra[10]? В допушении что прототип заявлен на возврат вот этого. Некоторые что-то сравнимое вроде могут. На сях это при желании struct делается, но не очнь удобно.

Просто сишники имеют обыкновение использовать пойнтеры на ВХОД функции для возврата сложных конструкций. Это криво хотя-бы потому что из этой декларации не очевидно реальное намерение программера - использование входа для декларации выхода все же криво.

Ответить | Правка | Наверх | Cообщить модератору

305. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от Аниме (?), 28-Апр-22, 11:57 
Элегантнее тюплов пока ничего еще не придумали
Ответить | Правка | Наверх | Cообщить модератору

316. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от Аноним (-), 29-Апр-22, 06:36 
> Элегантнее тюплов пока ничего еще не придумали

Я вот не понимаю, какие принципиальные проблемы сделать список аргументов, как на вход, симметрично? Даже пусть они все и mandatory будут. И так же возвращать в регистрах/стэке/памяти/кому там что больше нравится, как входные аргументы.

Ответить | Правка | Наверх | Cообщить модератору

323. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от Аниме (?), 29-Апр-22, 16:03 
Потому что неэлегантно
Ответить | Правка | Наверх | Cообщить модератору

333. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от Аноним (-), 30-Апр-22, 02:13 
> Потому что неэлегантно

Неэлегантно это когда вход и выход функции несимметричные имхо.

Ответить | Правка | Наверх | Cообщить модератору

283. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от Аноним84701 (ok), 27-Апр-22, 18:27 
> Да, tuples есть

Но QBE, насколько я понял, умеет возвращать только int или указатель.

Ответить | Правка | К родителю #255 | Наверх | Cообщить модератору

304. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от Anime (?), 28-Апр-22, 11:55 
use fmt;

export fn main() void = {
        const t = ret();
        fmt::printfln("({}, {})", t.0, t.1)!;  // prints (1, 2)
};

fn ret() (u8, i32) = {
        return (1, 2);
};

Ответить | Правка | Наверх | Cообщить модератору

307. "Дрю ДеВолт представил язык системного программирования Hare"  +1 +/
Сообщение от Аноним84701 (ok), 28-Апр-22, 13:17 
> use fmt;
> export fn main() void = {
>         const t = ret();
>         fmt::printfln("({}, {})", t.0, t.1)!;
>  // prints (1, 2)
> };
> fn ret() (u8, i32) = {
>         return (1, 2);
> };


00000000080000d8 <main>:
80000d8:       55                      push   %rbp
80000d9:       48 89 e5                mov    %rsp,%rbp
80000dc:       48 81 ec 10 01 00 00    sub    $0x110,%rsp
80000e3:       e8 ae 01 00 00          callq  8000296 <ret>
80000e8:       48 89 85 f8 fe ff ff    mov    %rax,-0x108(%rbp)
80000ef:       8b 8d f8 fe ff ff       mov    -0x108(%rbp),%ecx
80000f5:       89 8d 00 ff ff ff       mov    %ecx,-0x100(%rbp)
...
<ret>:
8000296:       55                      push   %rbp
8000297:       48 89 e5                mov    %rsp,%rbp
800029a:       48 83 ec 10             sub    $0x10,%rsp
800029e:       c6 45 f8 01             movb   $0x1,-0x8(%rbp)
80002a2:       c7 45 fa 02 00 00 00    movl   $0x2,-0x6(%rbp)
80002a9:       48 8b 45 f8             mov    -0x8(%rbp),%rax
80002ad:       c9                      leaveq
80002ae:       c3                      retq  

> эффективно

*кхе*

Ответить | Правка | Наверх | Cообщить модератору

309. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от Аниме (?), 28-Апр-22, 17:08 
А че, LLVM может эффективнее генерить?
Ответить | Правка | Наверх | Cообщить модератору

310. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от Аноним84701 (ok), 28-Апр-22, 17:42 
> А че, LLVM может эффективнее генерить?


#include <stdio.h>
#include <stdint.h>
struct tuple {
  uint8_t val1;
  int32_t val2;
};

struct tuple ret(void) {
    struct tuple vals = {1,2};
    return vals;
}
int main(void) {
  const struct tuple t = ret();
  printf("%d %d", t.val1, t.val2);
  return 0;
}

% clang -O2 -S ret.c && more ret.s

ret:                                    # @ret
        .cfi_startproc
# %bb.0:
        pushq   %rbp
        .cfi_def_cfa_offset 16
        .cfi_offset %rbp, -16
        movq    %rsp, %rbp
        .cfi_def_cfa_register %rbp
        movabsq $8589934593, %rax       # imm = 0x200000001
        popq    %rbp
        .cfi_def_cfa %rsp, 8
        retq

...
main:                                   # @main
        .cfi_startproc
# %bb.0:
        pushq   %rbp
        .cfi_def_cfa_offset 16
        .cfi_offset %rbp, -16
        movq    %rsp, %rbp
        .cfi_def_cfa_register %rbp
        movl    $.L.str, %edi
        movl    $1, %esi
        movl    $2, %edx
        xorl    %eax, %eax
        callq   printf


gcc -O2:

ret:
.LFB1:
        .cfi_startproc
        movabsq $8589934593, %rax
        ret
        .cfi_endproc

Ответить | Правка | Наверх | Cообщить модератору

311. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от Аниме (?), 28-Апр-22, 18:45 
Ладно, зато QBE компилится за секунду. А вообще он обещает ~70%  оптимизаций от GCC/LLVM, с чем я готов мириться за минимализм.
Ответить | Правка | Наверх | Cообщить модератору

317. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от Аноним (-), 29-Апр-22, 06:44 
> Ладно, зато QBE компилится за секунду. А вообще он обещает ~70%  
> оптимизаций от GCC/LLVM, с чем я готов мириться за минимализм.

Хм... вообще штуки типа LTO могут выпилить добрую треть бинаря без каких либо потерь в скорости или функциональности. Оно делает глобальный анализ по всему коду вообще и дальше выносит повторные прогрузки регистров, доказуемо не вызываемые блоки кода, реюзает все что реюзается - и в итоге довольно нехило убавляет размер кода. Что как бы здорово. Особенно в системщине.

Так что на самом деле реализация на основе llvm или gcc - была бы очень интересной идеей. А это... оно бутстрапать себя умеет? Или как его собрать то?

Ответить | Правка | Наверх | Cообщить модератору

324. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от Аниме (?), 29-Апр-22, 16:10 
Вообще было бы интересно собрать прототипчик на libgccjit, но мне лень с ним разбираться. Если до финализации спеки никто не сделает и они запилят borrow checker, то можно потыкать.

> оно бутстрапать себя умеет? Или как его собрать то?

Там нечего бутстрапить, на с89 написан.

Ответить | Правка | Наверх | Cообщить модератору

327. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от Аноним (-), 29-Апр-22, 18:31 
> Вообще было бы интересно собрать прототипчик на libgccjit, но мне лень с
> ним разбираться. Если до финализации спеки никто не сделает и они
> запилят borrow checker, то можно потыкать.

На мой вкус лучше б в gcc полноценно заинтегрили что-то такое, вот так было бы очень инетерсно потыкать. Может даже накодив пару фирмварей "на поблевать", посмотреть сколько грабель я в процессе соберу.

> Там нечего бутстрапить, на с89 написан.

Что-то эти .ha из https://git.sr.ht/~sircmpwn/hare/tree на C89 не очень похожи...  впрочем я уже нашел https://git.sr.ht/~sircmpwn/harec который таки на си, но таки C11...

Остался только 1 вопрос: а на C89 кто все-таки был? :)

Ответить | Правка | Наверх | Cообщить модератору

336. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от Аниме (?), 30-Апр-22, 04:08 
QBE, я думал мы про бекенды разговариваем
Ответить | Правка | К родителю #327 | Наверх | Cообщить модератору

27. "Дрю ДеВолт представил язык системного программирования Hare"  +2 +/
Сообщение от Аноним (-), 25-Апр-22, 16:50 
let buffer: *[65535]u8
fmt::printfln("*x: {}", *x)!;
defer io::close(file)!;

Ваш кролик пишет задомнапирёт

Ответить | Правка | Наверх | Cообщить модератору

76. "Дрю ДеВолт представил язык системного программирования Hare"  +9 +/
Сообщение от name (??), 25-Апр-22, 18:20 
Your bunny wrote!
Ответить | Правка | Наверх | Cообщить модератору

138. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от Аноним (140), 25-Апр-22, 21:48 
The Matrix has you.. Follow the white rabbit.
Ответить | Правка | К родителю #27 | Наверх | Cообщить модератору

147. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от Онаним (?), 25-Апр-22, 22:35 
Его питон зажевал.
Ответить | Правка | К родителю #27 | Наверх | Cообщить модератору

211. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от Vacu923ek (ok), 26-Апр-22, 12:47 
Выглядит как ASCII-порно
Ответить | Правка | К родителю #27 | Наверх | Cообщить модератору

32. "Дрю ДеВолт представил язык системного программирования Hare"  +1 +/
Сообщение от ыы (?), 25-Апр-22, 16:52 
> ориентация на упрощение

...
>без ... неявного поведения

Эти вещи несовместимые.

Ответить | Правка | Наверх | Cообщить модератору

34. "Дрю ДеВолт представил язык системного программирования Hare"  +2 +/
Сообщение от Аноним (26), 25-Апр-22, 16:55 
> Дрю ДеВолт (Drew DeVault), автор […] почтового клиента Aerc […]

Первая строчка из README: «Notice: This project is unmaintained». С языком тоже побалуется ещё год и бросит как только что-то за пределами сэндбокса попытается запрогать?

Ответить | Правка | Наверх | Cообщить модератору

39. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от Аноним (39), 25-Апр-22, 16:58 
https://git.sr.ht/~rjarry/aerc
Ответить | Правка | Наверх | Cообщить модератору

41. "Дрю ДеВолт представил язык системного программирования Hare"  –1 +/
Сообщение от Аноним (54), 25-Апр-22, 16:59 
Где ты увидел это?
https://aerc-mail.org/
Ответить | Правка | К родителю #34 | Наверх | Cообщить модератору

81. "Дрю ДеВолт представил язык системного программирования Hare"  +1 +/
Сообщение от Аноним (81), 25-Апр-22, 18:26 
https://aerc-mail.org/ -> source code -> https://git.sr.ht/~rjarry/aerc -> This is a fork of the original aerc by Drew DeVault. -> https://git.sr.ht/~sircmpwn/aerc -> Notice: This project is unmaintained.

Т.е. проект то жив, но Drew DeVault в том, что он жив, не виновен.

Ответить | Правка | Наверх | Cообщить модератору

109. "Дрю ДеВолт представил язык системного программирования Hare"  –2 +/
Сообщение от Аноним (26), 25-Апр-22, 19:37 
Вот и с языком так будет — авось кто-нибудь форкнет как Дрю наиграется. А не форкнет, так и невелика беда — всё равно кроме hello world на нём ничего написано не будет.
Ответить | Правка | Наверх | Cообщить модератору

36. "Дрю ДеВолт представил язык системного программирования Hare"  +2 +/
Сообщение от aname (?), 25-Апр-22, 16:56 
Ещё не асм, но уже не далеко осталось
Ответить | Правка | Наверх | Cообщить модератору

44. "Дрю ДеВолт представил язык системного программирования Hare"  +6 +/
Сообщение от Аноним (-), 25-Апр-22, 17:02 
тем временем единственной заменой асма так и остается сишечка. сколько уже этих убивиц было. такое впечатление что они не понимают даже для чего нужен си, но вот для чего убивиц сей - не один доклад с клоунами и фокусами с бутылкой.
Ответить | Правка | Наверх | Cообщить модератору

53. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от Аноним (54), 25-Апр-22, 17:12 
https://drewdevault.com/2021/02/21/On-the-traits-of-good-rep...
Ответить | Правка | Наверх | Cообщить модератору

63. "Дрю ДеВолт представил язык системного программирования Hare"  +1 +/
Сообщение от Аноним (143), 25-Апр-22, 17:35 
> тем временем единственной заменой асма так и остается сишечка. сколько уже этих

Единственной заменой асма так и остается асм. Но ты всегда можешь показать MBR загрузчик или адресонезависимый код на сишечке.

Ответить | Правка | К родителю #44 | Наверх | Cообщить модератору

80. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от Аноним (-), 25-Апр-22, 18:25 
C MBR так не очень получится, но это наполовину вопрос уродства x86. В более современной версии там так то UEFI уже и ESP. А на мелочи типа cortex M можно с места в карьер и на си. Даже без асмового стартапа - можно.

А адресонезависимый код - какого черта? Это все компилеры давно умеют, -fpic и сотоварищи и компилер сам его сделает. Хотя возможны нюансы, но все же.

Ответить | Правка | Наверх | Cообщить модератору

98. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от Аноним (143), 25-Апр-22, 19:09 
> C MBR так не очень получится, но это наполовину вопрос уродства x86.
> В более современной версии там так то UEFI уже и ESP.

Т.е. классическое опеннетное "нельзя, но потому что уже и не очень нужно - не считается!".

> А адресонезависимый код - какого черта? Это все компилеры давно умеют, -fpic
> и сотоварищи и компилер сам его сделает. Хотя возможны нюансы, но все же.

Оно перестало требовать, как минимум, _валидную_ таблицу офсетов (global offset table) для "адресонезависимости"?

Ответить | Правка | Наверх | Cообщить модератору

103. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от Аноним (-), 25-Апр-22, 19:20 
> Т.е. классическое опеннетное "нельзя, но потому что уже и не очень нужно
> - не считается!".

Типа того. Очень нишевой случай. Да и asm() в сях так то есть. Просто нестандартно :)

> Оно перестало требовать, как минимум, _валидную_ таблицу офсетов (global offset table)
> для "адресонезависимости"?

А там разные варианты есть, см параметры компилера. Но нюансов все же можно огрести.

Тем не менее PIC нужнее на PC - на мелочи типа MCU для начала нет виртуальной памяти, все с физической памятью - а значит layout довольно таки фиксированный.

Ответить | Правка | Наверх | Cообщить модератору

114. "Дрю ДеВолт представил язык системного программирования Hare"  +1 +/
Сообщение от Аноним (143), 25-Апр-22, 19:56 
> Типа того. Очень нишевой случай.
> Да и asm() в сях так то  есть. Просто нестандартно :)

MBR - классический пример. Но да, asm() - хорошая замена асму, ага ...

>> Оно перестало требовать, как минимум, _валидную_ таблицу офсетов (global offset table)
>> для "адресонезависимости"?
> А там разные варианты есть, см параметры компилера. Но нюансов все же можно огрести.

Т.е. нет (fPIC точно так же вызывает "соседнюю" функцию через got), но опять "не считается"?
Какая-то липовая замена (не говоря уж о том, что может потребоваться напрямую к регистрам или считать память по смещению) ...

Ответить | Правка | Наверх | Cообщить модератору

162. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от Аноним (-), 25-Апр-22, 23:52 
> MBR - классический пример.

Очень нишевой и не очень актуальный, Настолько, что в более современных платформах даже начальные загрузчики такого плана пишут на сях. На асме максимум небольшой кусочек стартапа. В опенсорсной реализации загрузчика RasPi нехорошие люди аж плюсоту воткнули. Прикинь?

> Но да, asm() - хорошая замена асму, ага

Типа того. На нем пишут "интринсики", небольшие куски типа стартапа, и проч а основная тушка на си. Чтобы не иметь удовольствие кодить на асме.

А bios редгад и винтел уже обозвали легаси. Федора даже его повыпилить хочет. Так что пример хороший но 20 лет назад смотрелся убедительнее. X86 real mode вообще откровенное легаси.

> Т.е. нет (fPIC точно так же вызывает "соседнюю" функцию через got), но
> опять "не считается"?

Там есть опции типа танцев относительно регистра, как я понял он берется за базу и относительная адресация пляшет вокруг. Но если надо на x86, не дай боже 32-битном, на нем PIC в принципе нормально не получится. И проблема в том что у проца архитектура уродская: нормальной относительной адресации нет. А на арм можно и потрепыхаться - он умеет относительно регистра. В силу симметрии даже относительно program counter. Если обратить внимание армовские компилеры даже non-pic код любят так оформлять, перемешивая с константами. Чтобы эффективнее адресовать. И там есть отдельный руль что все константы в секцию RODATA не мешая с кодом, как на х86, ценой сильной потери эффективности. Права R-X на секцию не есть какая-то проблема и обычно никто не жалуется.

> Какая-то липовая замена (не говоря уж о том, что может потребоваться напрямую
> к регистрам или считать память по смещению) ...

В общем случае в именно регистры, именно проца, именно неадресуемые как память соваться - ну такое себе очень отдельное и специфичное развлечение. Нужное лишь иногда.

На каком-нибудь Cortex M можно вообще без этого. Правда IRQ запретить/разрешить без асмового интринсика к глобальному флагу - криво, но вообще он взлетает, одним си без ничерта. Да, на си можно написать и startup самому себе. Внутрях него допущения не совпадают со стандартом.

А так на тебе фокус:
volatile uint32_t * hw_reg = (volatile uint32_t *) 0x100500;
* hw_reg = 10;

И это, указатель менять можно, хоть по всей памяти шарься. Другое дело если там памяти нет или прав на запись нет - ну извини. Но тебе за это в тыкву и на асме так же прилетит. Именно так с железом и работают. Вот прям из сей. Оформляют регистры читабельными именами и ходят по их адресу. Вон то запишет 32 бита с числом 10 в адрес 0x100500. На чтение тоже работает, я так и читал койчей бутром - по адресу. В сях даже функции можно из таблицы кода на лету импортировать. Читаем таблицу, берем адрес, назначаем его указателю на функцию и - все, это можно вызывать как функцию с заявленным прототипом. Актуально если хочется себе нечто типа BIOS организовать, с импортом из него кода в основную прошивку например. А чтоб 2 раза тот же код не переть в бутлоадер и фирмвар например.

Ответить | Правка | Наверх | Cообщить модератору

182. "Дрю ДеВолт представил язык системного программирования Hare"  +1 +/
Сообщение от Аноним (143), 26-Апр-22, 01:40 
>> MBR - классический пример.
> Очень нишевой и не очень актуальный, Настолько, что в более современных платформах
> даже начальные загрузчики такого плана пишут на сях.

...
>  Так что пример хороший но 20 лет назад смотрелся убедительнее. X86 real mode вообще откровенное легаси.

Давай я напомню изначальное высказывание и подчеркну ключевое слово:
"единственной заменой асма так и _остается_ сишечка".
Я понимаю, в это трудно поверить - но это легаси было когда-то популярно.


>> Но да, asm() - хорошая замена асму, ага
> Типа того. На нем пишут "интринсики", небольшие куски типа стартапа, и проч
> а основная тушка на си. Чтобы не иметь удовольствие кодить на асме.

Это вообще-то была ирония. Asm "встроенный" (или вызываемый), как бы, не перестает быть асмом.

>> Т.е. нет (fPIC точно так же вызывает "соседнюю" функцию через got), но
>> опять "не считается"?
> Там есть опции типа танцев относительно регистра, как я понял он берется
> за базу и относительная адресация пляшет вокруг. Но если надо на
> x86, не дай боже 32-битном, на нем PIC в принципе нормально
> не получится. И проблема в том что у проца архитектура уродская:

Надеюсь, ты понимаешь, что агрументация получается в стиле "Здесь играем, здесь не играем, здесь рыбу заворачивали"?

>> Какая-то липовая замена (не говоря уж о том, что может потребоваться напрямую
>> к регистрам или считать память по смещению) ...
> В общем случае в именно регистры, именно проца, именно неадресуемые как память
> соваться - ну такое себе очень отдельное и специфичное развлечение. Нужное лишь иногда.

Ключевое слово - code injection/shellcode. Никто не обещал "супер-широкий спектр применений" (и не выставлял как "единственную замену сям", в отличие от).

> А так на тебе фокус:
> volatile uint32_t * hw_reg = (volatile uint32_t *) 0x100500;
> * hw_reg = 10;

...
> В сях даже функции можно из таблицы кода на лету импортировать. Читаем таблицу, берем адрес, назначаем его указателю на функцию

Фокус не очень - представь на секунду, что твой код не контроллирует все "от и до" (потому что в чужом процессе) и поэтому таблица не имеет фиксированного адреса времени компиляции, зато "стабильно" доступна по [REG+0x1005000].


Ответить | Правка | Наверх | Cообщить модератору

261. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от n00by (ok), 27-Апр-22, 09:30 
>> А так на тебе фокус:
>> volatile uint32_t * hw_reg = (volatile uint32_t *) 0x100500;
>> * hw_reg = 10;
> ...
>> В сях даже функции можно из таблицы кода на лету импортировать. Читаем таблицу, берем адрес, назначаем его указателю на функцию
> Фокус не очень - представь на секунду, что твой код не контроллирует
> все "от и до" (потому что в чужом процессе) и поэтому
> таблица не имеет фиксированного адреса времени компиляции, зато "стабильно" доступна по
> [REG+0x1005000].

Это, кстати, решается довольно просто. Адреса в таблице переходов можно пересчитать, определив текущий классическим:

     call @f
@f:  pop eax

Что бы "уйти от ассемблера", Микрософт придумала интринсик _ReturnAddress() - то есть средствами "чистого Си" задача не решается.

Ответить | Правка | Наверх | Cообщить модератору

281. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от Аноним (-), 27-Апр-22, 17:59 
> Давай я напомню изначальное высказывание и подчеркну ключевое слово:
> "единственной заменой асма так и _остается_ сишечка".

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

> Я понимаю, в это трудно поверить - но это легаси было когда-то популярно.

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

> Это вообще-то была ирония. Asm "встроенный" (или вызываемый), как бы, не перестает быть асмом.

Вообще да, но если обозвать это "интринсиком" и сказать что нехай это implementation предоставляет, а caller шпрехает на чистом си, типа - читерство, конечно, но - распостраненное.

> Надеюсь, ты понимаешь, что агрументация получается в стиле "Здесь играем, здесь не
> играем, здесь рыбу заворачивали"?

Я понимаю что если архитектура изначально относительную адресацию нормално не умеет, PIC на ней в принципе нормально не делается. А то что кто-то придумал костыли и хаки - достоинством архитектуры не является. Ну вот не делан x86 под PIC-код. Это одно из его архитектурных уродств, учтенных в более новых и продвинутых разработках. И лично мне проблемы 32-битного х86 уж простите, но не интересны. Из 32-битного мне CortexA/CortexM/RiscV разве что интересны. А о том х86-32 уродце я с удовольствием забуду как страшный сон.

> Ключевое слово - code injection/shellcode.

Это весьма специфичная область и вот там из-за специфичного "abi" и требований сишка... все же несколько не то, как минимум в "стартапе". Хотя если попереть на принцип, наверное можно что-то такое сделать используя техники применяемые в фирмварах и бутлоадерах. Там тоже ограниченое окружение с странными требованиями.

> Никто не обещал "супер-широкий спектр применений" (и не выставлял как "единственную
> замену сям", в отличие от).

Да и полезность для человечества этого кейса - ну, так себе, вообще-то это все активно пытаются зарубить в системах, рантаймах и проч :)

> Фокус не очень - представь на секунду, что твой код не контроллирует

Ага, он троллирует, не иначе.

> все "от и до" (потому что в чужом процессе) и поэтому
> таблица не имеет фиксированного адреса времени компиляции,

Да и хрен бы с ним. Можно и лукап сделать если знаем как. Ну там если это моя таблица я могу условиться что "лежит в адресе кратном 1024 байтам" и "в начале magic value". И тогда я ее и сканом могу найти. А если страшно еще и чексум добавить.

> зато "стабильно" доступна по [REG+0x1005000].

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

В сях вообще тугой контроль за именно ABI - все же не про него. Подразумевается что все вызовы используют одинаковый ABI, это уж ой. Нету в сях этой абстракции, да и не надо оно, даже в системщине. А как там хаксоры будут $%^ться с шелкодом интересно им. Нам же интересно как вас оттуда эффективнее послать чтобы это ресурсы не жрало :P

Ответить | Правка | К родителю #182 | Наверх | Cообщить модератору

260. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от n00by (ok), 27-Апр-22, 09:14 
> C MBR так не очень получится, но это наполовину вопрос уродства x86.
> В более современной версии там так то UEFI уже и ESP.

UEFI это 64 бита, где регистр стека называется RSP, а не ESP, как в IA32. При чём тут регистр стека? Точно, ни при чём, его ведь дядя настроил за более современного программиста. В каком месте оно на накопителе записано - вот это важно!

Ответить | Правка | К родителю #80 | Наверх | Cообщить модератору

268. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от Аноним (143), 27-Апр-22, 12:38 
>> C MBR так не очень получится, но это наполовину вопрос уродства x86.
>> В более современной версии там так то UEFI уже и ESP.
> UEFI это 64 бита, где регистр стека называется RSP, а не ESP,
> как в IA32. При чём тут регистр стека?

ESP тут, скорее всего = EFI system partition


Ответить | Правка | Наверх | Cообщить модератору

291. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от Аноним (-), 27-Апр-22, 22:43 
> ESP тут, скорее всего = EFI system partition

Абсолютно. И там так то немелкое фирмваре загружает "программу" по большому счету. Без ограничений на 512 байтов. Ну и обычно это просто сишная прога собраная компилером, как и само уефи в массе своей, кроме раннего инита.

Ответить | Правка | Наверх | Cообщить модератору

300. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от n00by (ok), 28-Апр-22, 10:07 
>> ESP тут, скорее всего = EFI system partition
> Абсолютно. И там так то немелкое фирмваре загружает "программу" по большому счету.
> Без ограничений на 512 байтов. Ну и обычно это просто сишная
> прога собраная компилером, как и само уефи в массе своей, кроме
> раннего инита.

И что самое занятное - у меня про это написано после вопроса.

"При чём тут регистр стека? Точно, ни при чём, его ведь дядя настроил за более современного программиста. В каком месте оно на накопителе записано - вот это важно!"

Ответить | Правка | Наверх | Cообщить модератору

301. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от n00by (ok), 28-Апр-22, 10:10 
>>> C MBR так не очень получится, но это наполовину вопрос уродства x86.
>>> В более современной версии там так то UEFI уже и ESP.
>> UEFI это 64 бита, где регистр стека называется RSP, а не ESP,
>> как в IA32. При чём тут регистр стека?
> ESP тут, скорее всего = EFI system partition

Естественно. За риторическим вопросом у меня следует ответ, который забыли процитировать.

Ответить | Правка | К родителю #268 | Наверх | Cообщить модератору

350. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от Michael Shigorinemail (ok), 02-Май-22, 11:29 
> C MBR так не очень получится, но это наполовину вопрос уродства x86.
> В более современной версии там так то UEFI уже и ESP.

...что более чем вторая половина в этом аспекте: http://mjg59.dreamwidth.org/4957.html :]

Ответить | Правка | К родителю #80 | Наверх | Cообщить модератору

70. "Дрю ДеВолт представил язык системного программирования Hare"  –3 +/
Сообщение от kusb (?), 25-Апр-22, 17:52 
как будто они не понимают. короче, убивицы всегда впередсмотрящие. на них можно положиться. их нельзя оставить ни на минуту. они стерегут пещеру каждую секунду. каждую секунду они носят еду в центр стаи. всегда на морде пишут свое полное имя и номер части. там ведь большая часть, ну, что уж такое случилось - могут и наброситься. нужно отслеживать. так ведь нельзя. они едят всегда. едят все подряд. чуть что - едят. и никогда не беспокоятся о своих правах. ну, да - это из-за сишечки, да.
Ответить | Правка | К родителю #44 | Наверх | Cообщить модератору

221. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от Аноним (200), 26-Апр-22, 13:17 
>тем временем единственной заменой асма так и остается сишечка

Самой близкой заменой асма является ASM. Но ASM машинозависим, поэтому на роль универсального асма претендует... Встречайте, WASM!

Ответить | Правка | К родителю #44 | Наверх | Cообщить модератору

262. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от n00by (ok), 27-Апр-22, 09:34 
flat assembler g ничего не знает про машинные команды, их надо самому макросами описывать :)
Ответить | Правка | Наверх | Cообщить модератору

282. "Дрю ДеВолт представил язык системного программирования Hare"  +1 +/
Сообщение от Аноним (-), 27-Апр-22, 18:10 
> Самой близкой заменой асма является ASM. Но ASM машинозависим, поэтому на роль
> универсального асма претендует...

...сишка :) //fix

Ответить | Правка | К родителю #221 | Наверх | Cообщить модератору

313. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от Аноним (-), 28-Апр-22, 20:16 
>и фокусами с бутылкой

Дело BottleRuby живёт.

Ответить | Правка | К родителю #44 | Наверх | Cообщить модератору

38. "Дрю ДеВолт представил язык системного программирования Hare"  +7 +/
Сообщение от Аноним (40), 25-Апр-22, 16:58 
Ну реально же уже харе. Зачем нам еще один раст?
Ответить | Правка | Наверх | Cообщить модератору

133. "Дрю ДеВолт представил язык системного программирования Hare"  +2 +/
Сообщение от Вован (??), 25-Апр-22, 21:29 
Это нифига не раст, раст собирается на моём железе часа два, а "это" - в районе минуты.
Ответить | Правка | Наверх | Cообщить модератору

55. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от Аноним (-), 25-Апр-22, 17:13 
Для умственно отсталых пожалуйста поясните - почему вместо массовых крестиков нужно брать ушастого ?
Только одно объяснение приходит в голову - чтоб враг не догадался.
Ответить | Правка | Наверх | Cообщить модератору

79. "Дрю ДеВолт представил язык системного программирования Hare"  +1 +/
Сообщение от name (??), 25-Апр-22, 18:24 
А оно и есть для умственно отсталых. Никто кроме автора на этом писать не никогда будет. Новости уровня "сегодня васян делал это левой".
Ответить | Правка | Наверх | Cообщить модератору

213. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от Vacu923ek (ok), 26-Апр-22, 12:51 
хихи :)) Никто писать не будет - тут согласен. Слишком неочевидное "преимущество" над Сями, которые есть практически везде и шатко-валко стандартизованы.
Ответить | Правка | Наверх | Cообщить модератору

251. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от Типолог без стажа (?), 27-Апр-22, 00:59 
Потому, что крестики больны тем же, чем болен C:
* UB и фактической невозможностью писать корректный код
* сломанным синтаксисом который сложно парсить (и даже ещё хуже чем C)
Ответить | Правка | К родителю #55 | Наверх | Cообщить модератору

56. "Дрю ДеВолт представил язык системного программирования Hare"  +2 +/
Сообщение от Аноним (56), 25-Апр-22, 17:20 
Харе языки изобретать! Го на асм!
Ответить | Правка | Наверх | Cообщить модератору

155. "Дрю ДеВолт представил язык системного программирования Hare"  +1 +/
Сообщение от OpenEcho (?), 25-Апр-22, 23:02 
go tool objdump -s main.main main
Ответить | Правка | Наверх | Cообщить модератору

57. "Дрю ДеВолт представил язык системного программирования Hare"  –2 +/
Сообщение от achtosluchilos (ok), 25-Апр-22, 17:21 
Синтаксис страшный. Имхо у других еще "не взлетевших" языков убийц-сишки типа zig синтаксис получше.
Ответить | Правка | Наверх | Cообщить модератору

61. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от Аноним (143), 25-Апр-22, 17:31 
> Синтаксис страшный.

Чем страшный-то? Вполне лаконичный, разумно использующий "суффиксы" вместо наворачивания тонн ключевых слов.

Ответить | Правка | Наверх | Cообщить модератору

71. "Дрю ДеВолт представил язык системного программирования Hare"  –2 +/
Сообщение от Старший аноним (?), 25-Апр-22, 17:54 
Что только люде не делают, чтобы не изучайть по-нормальному божественный язык С (которому только и надо что отказаться от препроцессора и некоторых других небольшого числа неоднозначных возможностей, как это сделано в Misra C).
Ответить | Правка | Наверх | Cообщить модератору

91. "Дрю ДеВолт представил язык системного программирования Hare"  +5 +/
Сообщение от Аноним (91), 25-Апр-22, 18:54 
Именно "божественность" языка С является одной из причин, по которой люди создают новые языки.
Поработали с С, перекрестились, и решили что надо что-то с этим делать.  
Ответить | Правка | Наверх | Cообщить модератору

93. "Дрю ДеВолт представил язык системного программирования Hare"  +2 +/
Сообщение от Аноним (-), 25-Апр-22, 18:58 
> Что только люде не делают, чтобы не изучайть по-нормальному божественный язык С
> (которому только и надо что отказаться от препроцессора и некоторых других
> небольшого числа неоднозначных возможностей, как это сделано в Misra C).

Ну, понимаешь, у божества так то тоже свои приколы есть.
1) А кто такое int и сколько в нем битов? А, получив vuln в репу в чужом коде узнаем? Особенно если у вон той платформы проц не х86? Вон на абдурине int может и 16 битов быть. А чо, стандарт позволяет. Сколько кода при этом сглючит? Чуть менее чем весть?
2) За integer promition кого-то надо было бы немного убить. Потому что иногда делает крайне контринтуитивные вещи. А если ты думаешь что крут, попробуй -Wconversion в гцц и шланге, узнаешь много нового о своем коде и проблемах в нем.
3) Какой у enum вообще целочисленный тип? Ах, unspecified? Отлично. Ох, #define имеет свое мнение об int'ах, отличное от? А (1 << 31) может сделать не то о чем вы подумали? Ага, 1 и 1U две большие разницы. Удобно, б...
4) Пункт 2) ведет к совершенно идиотским выходкам программистов, не желающих греть мозги этим факапом. И вот уже прогер пишет ... array[index]... - и оказывается что index мало того что int, так еще в функцию снаружи caller'ом отдается, и это вообще ни верифицируется толком, зато когда caller делает что-то странное, оно такие интересные адреса потом дереференсит...
5) Язык местами недостаточно аннотирован для статического анализа. Операции с указателями вообще проверкам плохо поддаются. Иногда это неизбежность но 90% случаев можно заткнуть. Прошареные сишники делают эрзац этого как умеют, но почему бы не сделать это нормально?
6) Макросня в сях может вас поиметь. Нет, она реально может вас поиметь. Поэтому макросы у прошареных сишников состоят из скобок чуть менее чем полностью. А кто хочет элегантный код, получает потом вулны в репу.
7) Ну, блин, ок, как вы эффективно возвращаете несколько значений из функции? А чтоб это намерение еще и анализерам нормально задекларить? Не, вон тот void func (ptr* param) это нихрена не аннотация чего вы хотели сделать. Он вообще void возвращает. И errno так то тоже - хак.

А MISRA так то да, но некоторые вещи там довольно забавные или спорные. Есть еще с полдюжины стандартов, от CERT до Embedded C. В силу условности стандартов это компилеры не чекают как есть, разве что внешние тулы.

Ответить | Правка | К родителю #71 | Наверх | Cообщить модератору

108. Скрыто модератором  +1 +/
Сообщение от Старший аноним (?), 25-Апр-22, 19:36 
Ответить | Правка | Наверх | Cообщить модератору

165. Скрыто модератором  +1 +/
Сообщение от Аноним (-), 26-Апр-22, 00:08 
Ответить | Правка | Наверх | Cообщить модератору

177. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от Без аргументов (?), 26-Апр-22, 00:57 
Сразу за 1 пункт: ардуинщиков не прилетай, это уровень лего игрушек, которые только копируют код. Люди используют явные uint32, где это нужно и int там, где точно влезет, чтобы, высокоабстрактный ты наш, код работал эффективнее по размерам регистра! В особых случаях, можно сделать такую штуку как ifdef индивидуально для платформы, которой в ваших игрушечках нет.
Ответить | Правка | К родителю #93 | Наверх | Cообщить модератору

179. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от Аноним (-), 26-Апр-22, 01:17 
> Сразу за 1 пункт: ардуинщиков не прилетай, это уровень лего игрушек,

Хорошо, пусть это будет чистый "AVR-GCC" без либ абдурины и суровый олдскульный эмбедер. Можно подумать это как-то влияет на свойства платформы и компилера, они ж те же самые.

> которые только копируют код. Люди используют явные uint32, где это нужно и
> int там, где точно влезет, чтобы, высокоабстрактный ты наш, код работал
> эффективнее по размерам регистра!

Ага, только на AMD64 у меня регистры 64 бита а sizeof(int) почему-то 4. Так что теория про по размеру регистра тоже ну так себе весьма.

И попытка вот так оптимизнуть код который писали не вы чревата жирным факапом в математике, мало кто из прогеров рассматривает вариант что int может быть 16 битов. Хоть оно ничему не противоречит и по стандарту ОК.

> В особых случаях, можно сделать такую штуку как ifdef индивидуально для платформы,
> которой в ваших игрушечках нет.

Больше уродского нечитаемого кода богу уродского нечитаемого кода. Когда сильно надо - могут и отдельную имплементацию так то сделать, хоть на голом асме, но так то плюс сей - портабельность, и ifdef несколько убивает этот плюс. Например, придется майнтайнить _ДВЕ_ реализации и держать их в синхронизме. Поле для багов если вон тот алгоритм решено поменять. Можно в одном месте сменить а в другом нет. Или логика разная выйдет. А потом сильно дальше оно отъедет. Что хуже, комбинаторный взрыв очень быстро приведет к тому что все варианты комбо проверить не получится и где-то оно все же развалится.

Ответить | Правка | Наверх | Cообщить модератору

194. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от Cooler (??), 26-Апр-22, 10:24 
1. int был в С с самого рождения. Так и остаётся до сих пор (ну не выкидывать же). В С++ для обхода этой неопределенности добавили intXX_t, int_leastXX_t, int_fastXX_t. Скорее смысл int - оптимальный тип для целочисленных вычислений со знаком (для беззнаковых соответственно unsigned int).
2. Промоушен до int, как раз следует из того, что в int быстрее всего будут выполняться арифметические операции. Хочется больше контроля над диапазоном арифметики, надо использовать, например, int_fastXX_t.
Ответить | Правка | К родителю #93 | Наверх | Cообщить модератору

289. "Дрю ДеВолт представил язык системного программирования Hare"  +2 +/
Сообщение от Аноним (-), 27-Апр-22, 21:04 
Ващет в сях, начиная с еще аж 99-й версии, есть uintXX_t из <stdint.h>. Они же и в плюсах юзабельны. А майкрософтовский кодер юзающий плюсоту только за то что в msvc реализация си хтонически убога - совсем не палится :)
Ответить | Правка | Наверх | Cообщить модератору

343. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от Cooler (??), 02-Май-22, 00:50 
Да, сорян! Действительно типы intXX_t, int_leastXX_t и int_fastXX_t появились в C, начиная с C99. Я начинал программировать сразу на C++, поэтому этот момент как-то упустил. Микрософт здесь не причём.
Ответить | Правка | Наверх | Cообщить модератору

96. "Дрю ДеВолт представил язык системного программирования Hare"  +1 +/
Сообщение от Минона (ok), 25-Апр-22, 19:09 
> Misra C

Почему не SPARK?

Ответить | Правка | К родителю #71 | Наверх | Cообщить модератору

106. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от Старший аноним (?), 25-Апр-22, 19:31 
Потому что SPARK из другой оперы.
Ответить | Правка | Наверх | Cообщить модератору

111. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от Минона (ok), 25-Апр-22, 19:47 
Из какой другой?
Опера та же - написание правильных программ.
Ответить | Правка | Наверх | Cообщить модератору

100. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от Аноним (200), 25-Апр-22, 19:14 
В MISRA не используется препроцессор? Не знал. А как там обрабатывают #include?
Ответить | Правка | К родителю #71 | Наверх | Cообщить модератору

105. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от Старший аноним (?), 25-Апр-22, 19:31 
Про препроцессор написал я - это лично мое мнение. В MISRA,FRAMA и т.д. имеются другие полезные правила, делающие С более безопасным.
Ответить | Правка | Наверх | Cообщить модератору

314. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от Аноним (-), 28-Апр-22, 20:17 
>которому только и надо что отказаться от препроцессора

Ты не старший аноним, ты личинка растомана.

Ответить | Правка | К родителю #71 | Наверх | Cообщить модератору

83. "Дрю ДеВолт представил язык системного программирования Hare"  +3 +/
Сообщение от Аноним (83), 25-Апр-22, 18:29 
> полное доверие к действиям программиста

некоторых жизнь ничему не учит.

Ответить | Правка | Наверх | Cообщить модератору

87. "Дрю ДеВолт представил язык системного программирования Hare"  –1 +/
Сообщение от keydon (ok), 25-Апр-22, 18:37 
Что ж они не додумаются парсить по пробелам?
Эти бесконечные {{{}}}};;;;;; больше путают чем помогают.
Ну и амперсанды с восклицательными знаками превращают все в кашу.

Как и с растом не вижу смысла менять один вырвиглазный синтаксис на другой.

Ответить | Правка | Наверх | Cообщить модератору

104. "Дрю ДеВолт представил язык системного программирования Hare"  +4 +/
Сообщение от Аноним (-), 25-Апр-22, 19:25 
> Что ж они не додумаются парсить по пробелам?

То что в результате тапнешь пару раз пробел или бэкспейс случайно, засэйвишь... ухтыблин?!?

А с () {} ты таки случайно логику не ломанешь. Если стереть скобку или лишнюю влепить, COMPILE ERROR и сразу понятно что что-то пошло не так.

Питонистам про системщину вообще лучше не пищать, у них статический анализ а дауне, а все ашипки случаются рантайм. Представьте себе кернел который при случае вываливается нахрен с исключением, поймете почему это людям не нравится.

Ответить | Правка | Наверх | Cообщить модератору

136. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от _kp (ok), 25-Апр-22, 21:42 
О пробелах.

Вот вот, ПО на Питоне как правило не обрабатывает ошибки, ибо это даже не трехъэтажным кодом пахнет, а из за многгсловности это почти всем лень.
А, обработка ошибок, это не прикрыть програмным гарниром исключения, и выплеснуть в лог, при падении ПО.
Пользователю не нужно знать почему ПО упало, чем подавилось при разборе данных, нужно стабильное ПО, устойчивое у намеренным и случайным ошибкам.

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

Пробелы и отступы - топку.
Нормальные языки форматируются в IDE под любые желания без потери работоспособности.

Ответить | Правка | Наверх | Cообщить модератору

154. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от keydon (ok), 25-Апр-22, 22:49 
>[оверквотинг удален]
> даже не трехъэтажным кодом пахнет, а из за многгсловности это почти
> всем лень.
> А, обработка ошибок, это не прикрыть програмным гарниром исключения, и выплеснуть в
> лог, при падении ПО.
> Пользователю не нужно знать почему ПО упало, чем подавилось при разборе данных,
> нужно стабильное ПО, устойчивое у намеренным и случайным ошибкам.
> Как перенавороченный скриптовый язык, Питон удобен, и прост, но когда на нем
> делают что большое, то поддержка живет до увольнения автора. Не то
> что б никто больше разобраться не может, могут, но ответствеено гаррантировать,
> и тем более серьёзному заказчику - нет.

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

> Нормальные языки форматируются в IDE под любые желания без потери работоспособности.

Отлично, тогда для тебя не составит никаких проблем заменить в IDE пробелы на скобки.

Ответить | Правка | Наверх | Cообщить модератору

159. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от _kp (ok), 25-Апр-22, 23:19 
> Сам придумал лошадь, сам притянул ее за уши и прилепил хвост, в
> итоге заявляешь что слон посудной лавке не подходит.

Я душу лошадей, а не придумываю.
Хотите пример говнокода на Питоне?
ПО для 3D принтеров - Cura.
Ладно хоть исходник с прогой идет и читаем.
А то, ПО в бинарниках не всякое излечимо.

Ответить | Правка | Наверх | Cообщить модератору

161. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от keydon (ok), 25-Апр-22, 23:24 
>> Сам придумал лошадь, сам притянул ее за уши и прилепил хвост, в
>> итоге заявляешь что слон посудной лавке не подходит.
> Я душу лошадей, а не придумываю.
> Хотите пример говнокода на Питоне?
> ПО для 3D принтеров - Cura.
> Ладно хоть исходник с прогой идет и читаем.
> А то, ПО в бинарниках не всякое излечимо.

Ты больной? Зачем ты предлагаешь мне посмотреть на !@#$% на питоне? Почему ты вообще стал про питон писать?

Ответить | Правка | Наверх | Cообщить модератору

167. "Дрю ДеВолт представил язык системного программирования Hare"  +1 +/
Сообщение от Аноним (-), 26-Апр-22, 00:20 
> даже не трехъэтажным кодом пахнет, а из за многгсловности это почти всем лень.

На питоне пишут чтобы как можно быстрее от этого отделаться. Какая к черту обработка если они свое суперценное время экономят? Слить кал клиенту, забыть как стращный сон, следующий пшел, i++.

> А, обработка ошибок, это не прикрыть програмным гарниром исключения, и выплеснуть в
> лог, при падении ПО.

Прикольно так, универсальные рецепты для всего. А что если выплескивать некуда? Мало ли, фирмвара какая, у нее в лучшем случае уарт дебажный и в эксплуатационном режиме его никто не читает.

> Пользователю не нужно знать почему ПО упало, чем подавилось при разборе данных,
> нужно стабильное ПО, устойчивое у намеренным и случайным ошибкам.

С этим никто особо и не спорил, кроме вебмакакеров которым порой топор в экран втыкают за хорошую работу их кода благодарные пользователи.

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

Как показал пример гвидо :)) иногда автор может заколебаться и самоуволиться сам, ниасилив разрулить самоорганизованый гадюшник.

> Пробелы и отступы - топку.

Во во. Это из той же области что отсутствие типов в JS. Круто писать мелкую хомпагу. А большой проект начинает делать хню, непонятно что, где и почему. При том типизированный яп поймал бы левак сразу, а тут, вот, работает себе в ус не дуя - делает какой-то бред. Где-то сильно дальше логика отъезжает - но понять что и где не так то просто. Это ж не ошибки, все действия формально валидны. А то что прогер имел в виду не это - яп не дал ему нормальные средства аннотации что он хотел, и кто его знает что там задумано было.

> Нормальные языки форматируются в IDE под любые желания без потери работоспособности.

Просто вот именно скобки таки проверяют что границы логического блока именно такие как это имел в виду програмер, а не то что там стерли немного необдумано или что-то не то и не туда воткнули, и оно даже что-то вроде делает - и ошибок так то нет. Поэтому питонист обычно узнает о факапе не просто в рантайме, но еще и когда это уже у пользователя и упало где-то в середине работы. Что как минимум очень бесит. А как максимум - в критичных применениях такой софт никуда не годится.

Ответить | Правка | К родителю #136 | Наверх | Cообщить модератору

149. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от keydon (ok), 25-Апр-22, 22:38 
>> Что ж они не додумаются парсить по пробелам?
> То что в результате тапнешь пару раз пробел или бэкспейс случайно, засэйвишь...
> ухтыблин?!?
> А с () {} ты таки случайно логику не ломанешь. Если стереть
> скобку или лишнюю влепить, COMPILE ERROR и сразу понятно что что-то
> пошло не так.

Точно также как и с пробелами. Никакой разницы. Только со скобками ты расставляешь {} для компилятора И пробелы для себя, а с пробелами сразу для обоих. И не мучаешь ни себя, ни компилятор лишней когнитивной нагрузкой.

> Питонистам про системщину вообще лучше не пищать, у них статический анализ а
> дауне, а все ашипки случаются рантайм. Представьте себе кернел который при
> случае вываливается нахрен с исключением, поймете почему это людям не нравится.

Логическая ловушка не засчитана. Парсинг никак не связан с особенностями интерпретатора и компилятора. Ничего не мешает использовать пробелы вместо скобок. Скобки нужны в исключительных случаях (и то не факт), а скобки по умолчанию просто мусор дублирующий пробелы.

Ответить | Правка | К родителю #104 | Наверх | Cообщить модератору

170. "Дрю ДеВолт представил язык системного программирования Hare"  +1 +/
Сообщение от Аноним (-), 26-Апр-22, 00:40 
> Точно также как и с пробелами. Никакой разницы. Только со скобками ты
> расставляешь {} для компилятора

Я ими маркирую границы логических и структурных блоков, как правило имеющих какой-то самодостаточный смысл. Если эти границы нарушены - я знаю что где-то вышел нетривиальный факап и это место в коде точно требует усиленного внимания и проверки.

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

К сожалению этот способ маркировки блока кода не поймает вышеупомянутые факапы. А вот по части скобок компилеры довольно привиредливы: должно совпадать, 1 в 1. Лишняя или недостающая скобка фатальны и рушат сборку. Случайно продолбаться так чтобы парность сохранилась - маловероятно. А с пробелами достаточно selection покилять или пробел необдумано тапнуть.

> Логическая ловушка не засчитана. Парсинг никак не связан с особенностями интерпретатора
> и компилятора. Ничего не мешает использовать пробелы вместо скобок. Скобки нужны
> в исключительных случаях (и то не факт), а скобки по умолчанию
> просто мусор дублирующий пробелы.

Системщикам просто не нравятся дурные факапы на ровном месте, они предпочитают компилер который будет ловить явные продолбы. Туда же и статические типы. Да, аннотирование намерений требует добавочно попечатать. Зато не требует потом пытаться отдебажить хрен знает что неизвестно где лишний раз.

Ответить | Правка | Наверх | Cообщить модератору

181. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от keydon (ok), 26-Апр-22, 01:29 
> Я ими маркирую границы логических и структурных блоков, как правило имеющих какой-то
> самодостаточный смысл. Если эти границы нарушены - я знаю что где-то
> вышел нетривиальный факап и это место в коде точно требует усиленного
> внимания и проверки.

Ты также можешь пробелами и переносами маркировать логические и структурные блоки и без лишних отвлекающих символов.

> К сожалению этот способ маркировки блока кода не поймает вышеупомянутые факапы. А
> вот по части скобок компилеры довольно привиредливы: должно совпадать, 1 в
> 1. Лишняя или недостающая скобка фатальны и рушат сборку. Случайно продолбаться
> так чтобы парность сохранилась - маловероятно. А с пробелами достаточно selection
> покилять или пробел необдумано тапнуть.
> Системщикам просто не нравятся дурные факапы на ровном месте, они предпочитают компилер
> который будет ловить явные продолбы. Туда же и статические типы. Да,
> аннотирование намерений требует добавочно попечатать. Зато не требует потом пытаться отдебажить
> хрен знает что неизвестно где лишний раз.

Ты сначала топишь за тяпляпность типа сделать лишний пробел это запросто, нормально и должно быть обязательно прощено. Но тут же топишь за явное аннотирование, фатальность при отсутствии символа и ранний дебаг.
Причем пробелы это второй вариант (подталкивает к аккуратности)(хотя ты конечно подразумевал наоборот). А скобки это первый (подталкивает к разгильдяйству).
Но даже если смотреть с позиции разгильдяя, то 4 пробела все равно лучше чем парные кавычки. Парные кавычки вполне возможно (хотя и сложно) нажать случайно (4 раза нажать пробел ИМХО сложнее, а нажать по 4 раза на каждой строчке в блоке еще тяжелее), да и расположение пробела на большинстве клавиатур существенно удобнее чем расположение клавиш кавычек (а в некоторых их и нет в первом слое), обычно не видно где кавычки начинаются и где кончаются (и соответственно какой блок ты читаешь, в отличии от пробелов), нередко их дополняют клавиатуры и IDE(что там про явное аннотирование?), новички часто бесятся из-за них и начинают пихать их как попало лишь бы скомпилилось, опять же в разных стилях кавычки ставятся по-разному (в конце или на следующей строке) что сильно влияет на читаемость в разных проектах, в конце концов кавычки занимают лишние символы и строки, что опять же влияет сколько кода ты можешь просмотреть без прокрутки. Зачем все эти проблемы? Они правда тебе нужны?

Ответить | Правка | Наверх | Cообщить модератору

284. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от Аноним (-), 27-Апр-22, 18:32 
> Ты также можешь пробелами и переносами маркировать логические и структурные блоки и
> без лишних отвлекающих символов.

Так оно не ловит мелкие факапы когда намерения и то что есть по факту разошлись. Ну, мало ли, хотел я стереть вон то, но было выделение и стерлось не то что я планировал. А тут меня что-то отвлекло, например, и это было прошляплено.

В curly bracket я при нарушении границ блоков поимею компил егор и пойду детально разбираться что и почему у меня отъехало. Зная что тут совершенно точно какая-то лажа и надо детально все проверить. А в вон том случае - логика тихо отедет. Без всяких егоров. А потом, когда все уже собрано, запущено и типа-работает - я может быть узнаю что оно фигню творит. Если не повезет, в редкой ветке, узнаю через годик, когда оно внезапно обгадится - в ситуации когда я даже не знаю как вычислить где оно такое красивое.

А сами по себе пробелы за меня так то большая часть прогерских редакторов сами влепит, мне достаточно как раз намерения сделать блок скобками отметить - и все. Форматирование даже несложные редакторы так то могут. Более того - в curly bracket так то и полный reflow кода можно, автоматикой, попробуйте так с вашими пробелами ваще...

> Ты сначала топишь за тяпляпность типа сделать лишний пробел это запросто, нормально
> и должно быть обязательно прощено. Но тут же топишь за явное
> аннотирование, фатальность при отсутствии символа и ранний дебаг.

Я топлю за то чтобы ловить максимум факапов в компилтайме/аналитике, чтобы это меня не имело в рантайме.

> Причем пробелы это второй вариант (подталкивает к аккуратности)(хотя ты конечно подразумевал
> наоборот).

Есть antibug технологии, помогающие вычислить явно кривые действия человека. Пробелы таковыми не являются, а скобки - вполне.

> А скобки это первый (подталкивает к разгильдяйству).

С какого бы раза? Они лишь помогают поймать явную лажу если она все же вышла. И так то код на питоне дохнет с жутким трейсом чуть менее чем на любой пшик, не им про разгильдяйство вещать. Ладно б там хрустики вылезли но у них curly bracket.

> Но даже если смотреть с позиции разгильдяя, то 4 пробела все равно
> лучше чем парные кавычки.

Намного хуже - при редактировании напортачить проще. А вот парные элементы случайно сделать корректно - довольно маловероятно. А какого бы черта теорвер не должен быть в мою пользу?

> Они правда тебе нужны?

Мне нравится визуальное выделение блоков и то что автоматика проверит парность элементов, делая хотя-бы минимальный чек что это хотя-бы похоже на задеклареное намерение и что оно не было случайно порушено. ИМХО делать логику пробелами - неудачный антипаттерн с точки зрения отлова явных багов.

Ответить | Правка | Наверх | Cообщить модератору

288. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от keydon (ok), 27-Апр-22, 20:12 
> Так оно не ловит мелкие факапы когда намерения и то что есть по факту разошлись. Ну, мало ли, хотел я стереть вон то, но было выделение и стерлось не то что я планировал. А тут меня что-то отвлекло, например, и это было прошляплено.

Почему вы упорно считаете что лишний/удаленный пробел это нормально? Почему вы считаете что плохо отформатированный код должен запускаться?
Ну разошлись ваши намерения и ваш тремор рук, получите ошибку, сразу ее исправите. Даже лучше чем со скобками где этот пробел найдете уже при проверке линтером.

> В curly bracket я при нарушении границ блоков поимею компил егор и пойду детально разбираться что и почему у меня отъехало.

С пробелами тоже самое, только еще строже.

> Зная что тут совершенно точно какая-то лажа и надо детально все проверить. А в вон том случае - логика тихо отедет. Без всяких егоров. А потом, когда все уже собрано, запущено и типа-работает - я может быть узнаю что оно фигню творит. Если не повезет, в редкой ветке, узнаю через годик, когда оно внезапно обгадится - в ситуации когда я даже не знаю как вычислить где оно такое красивое.

Не, это так не работает. Во-первых, вы не можете где угодно указать блок, как не можете где угодно поставить фигурные скобки. Просто получите ошибку как и со скобками. Во-вторых, вы сами обозначаете разделитель. Если вы пишите большой скрипт, то ставите 4 пробела. Если вы случайно поставите 4(!) пробела, то вы также случайно сможете и кавычки поставить. Если вы сделаете 1-3 или 5+ пробелов то получите ошибку. В-третьих, если вы пишите большой серьезный код, то добавьте линтер, он вас еще и новую строку заставит по стандарту ставить после блока. Так что шансы ошибиться и добавить/убавить пробел стремятся к нулю. А шанс запутаться в {{{{}}}}} (парные? уже посчитали? с пробелами это сразу видно) и вовсе нулевой.

> > А сами по себе пробелы за меня так то большая часть прогерских редакторов сами влепит, мне достаточно как раз намерения сделать блок скобками отметить - и все. Форматирование даже несложные редакторы так то могут.

Тем более. Зачем вам в таком случае лишние символы в виде скобок?

> Более того - в curly bracket так то и полный reflow кода можно, автоматикой, попробуйте так с вашими пробелами ваще...

За вас редакторы итак эти пробелы ставят, почему же вы считаете что в других случаях автоматика не справится? Это абсолютно такой же разделитель как скобки, автоматика работает точно также.

> Я топлю за то чтобы ловить максимум факапов в компилтайме/аналитике, чтобы это меня не имело в рантайме.

Тогда вы должны топить за пробелы, потому что они именно это и делают.

> Есть antibug технологии, помогающие вычислить явно кривые действия человека. Пробелы таковыми не являются, а скобки - вполне.

Как раз наоборот. Если делать по стандартам с автоформатированием то и то и другое прекрасно справляется, только пробелы чище, компактнее, понятнее. Но если делать без форматирования то пробелы не позволяют вольностей, а скобки позволяют. Опять же пробелы ставятся однозначно, со скобками как миниум есть 2 распространенных стандарта как ставить скобки. Даже если вы договорились ставить скобки на той же строке, не факт что в проекте который вы используете, не делают по-другому.

> С какого бы раза? Они лишь помогают поймать явную лажу если она все же вышла.

Скобки: Лишний пробел поставил. Лажа, форматирование страдает. Все собирается и работает, отправляется в продакшн.
Пробелы: Лишний пробел поставил. Лажа, ничего не собирается, иди дорабатывай.

Скобки: Нарушил форматирование, указал скобки в конце строки через тучу пробелов, ревьювер не заметивший горизонтальную прокрутку этого не заметил (что есть еще пробелы не видит), бэкдор внедрен (антибаг технологии, ага)
Пробелы: Такое в принципе невозможно, потому что разделитель однозначно определен и в начале строки.

> И так то код на питоне дохнет с жутким трейсом чуть менее чем на любой пшик, не им про разгильдяйство вещать. Ладно б там хрустики вылезли но у них curly bracket.

Опять попытка увести разговор в сторону. У питонистов трейс на любой пшик не из-за пробелов. Но мы сейчас про пробелы говорим, а не про методику обработки исключения и питоновскую философию.

> Намного хуже - при редактировании напортачить проще. А вот парные элементы случайно сделать корректно - довольно маловероятно. А какого бы черта теорвер не должен быть в мою пользу?

Ну и определенное число пробелов наклепать в нужном месте тоже весьма маловероятно.

> Мне нравится визуальное выделение блоков

Вы визуально выделяете блоки не скобками, а пробелами, даже если используете скобки.
> и то что автоматика проверит парность элементов, делая хотя-бы минимальный чек что это хотя-бы похоже на задеклареное намерение и что оно не было случайно порушено.

Вы же выше сами же пишите что автоматика же эту парность и делает. То есть ваши намерения с автоподстановкой скобок это нажать '{'(один случайный символ). Без автоподстановки это два символа '{' '}' в разных местах(фактически 3 случайных символа с учетом навигации). С пробелами без автоподстановки вам нужно сделать 4 случайных символа, а то и больше.

> ИМХО делать логику пробелами - неудачный антипаттерн с точки зрения отлова явных багов.

ИМХО разделять код на логический и визуальный - неудачный антипаттерн с точки зрения отлова явных багов

Ответить | Правка | Наверх | Cообщить модератору

290. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от Аноним (-), 27-Апр-22, 22:26 
> Почему вы упорно считаете что лишний/удаленный пробел это нормально?

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

> Почему вы считаете что плохо отформатированный код должен запускаться?

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

> Ну разошлись ваши намерения и ваш тремор рук, получите ошибку, сразу ее
> исправите. Даже лучше чем со скобками где этот пробел найдете уже
> при проверке линтером.

А при чем тут тремор рук, если в редакторе селекшн был, я про него забыл и что-то тапнул? Ну и получил что-то unspecified вместо того чего на самом деле хотел. И таки очень кстати если автоматика поймает подозрительное место и сообщит что я сделал фигню.

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

Смотри, в сях например указатели это кусок проблем если быть невнимательным. И там проблемы в том числе и с анонсом намерений дла анализа/компилера. Но кроме минусов есть плюсы. Это дико эффективная технология. Избегающая лишних копирований - что актуально, особенно на больших объемах данных или если скорость критична. Поэтому tradeoff: мы теряем в надежности, но получаем быстрый компактный код. А у тебя - не tradeoff. Оно только делает мозг, ставит в стойло, но ничего не привносит. Значит нафиг.

А что до печати - не, в програмерских эдиторах лишних кнопок жать может и не требоваться, при намерении слепить блок он может и автоматом с парой скобок и потребным форматированием (например вычисленным по позиции 1-й скобки) быть сделан. Так что это проблема для юзеров ноутпада, которые все-равно много не напрогают. Хотя-бы за отсутствием подсветки синтаксиса.

> С пробелами тоже самое, только еще строже.

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

> Не, это так не работает.

Ну, вообще, это по моему опыту. Если меня заворачивают с скобкой - я таки где-то напортачил и скорее всего логика поломана и надо детально все перепроверять.

> Во-первых, вы не можете где угодно указать блок,

Вообще-то в сях - можно почти где угодно, так что при желании независимые логические блоки можно явно хайлайтить чуть активнее чем это обычно делают. Это не значит что это всегда нужно делать. Оформлять блок имеет смысл там где ... уместен логически выделенный блок, более-менее самодостаточный. Но если хочется - можно и по приколу почти везде делать. Но лучше не выпендриваться, код должен быть понятен другим, все что сверх того - нафиг надо.

> как не можете где угодно поставить фигурные скобки. Просто получите
> ошибку как и со скобками.

Вы вообще на сях программировали?

> Во-вторых, вы сами обозначаете разделитель. Если
> вы пишите большой скрипт, то ставите 4 пробела.

Я стараюсь не писать большие скрипты, предпочитая *никсвэйный подход. То есть небольшие эффективные качественные программы, при нужде объединяемые небольшими скриптами по месту. Модуляризация. Конечно это не всегда катит. Но мудрость в идеях древних есть. В отличие от вебмакак и питоняш, от которых если мне что и надо - чтобы они перестали замусоривать поиск своими поделиями.

> Если вы случайно поставите 4(!) пробела, то вы также случайно сможете и кавычки поставить.

Так если я левые кавычки/скобки влеплю - буду послан. Их надо именно парно вкатить/стереть, и вероятность нечаянно сделать в виде когда оно будет сожрано как что-то валидное довольно низкая. В этом весь пойнт и состоит.

> Если вы сделаете 1-3 или 5+ пробелов то получите ошибку.

Обычно прогерские редакторы втыкают сразу эн пробелов, для разгона эффективности прогера, так что ну так себе аргумент. Не буду же я 4 раза на уровень форматирования пробел сам жать, право? Я что, обезьяна?

> что шансы ошибиться и добавить/убавить пробел стремятся к нулю. А шанс
> запутаться в {{{{}}}}} (парные? уже посчитали? с пробелами это сразу видно)

1) Ну ващет за мена это компилер посчитает.
2) Лично мне нравится примерно так:


{
    abcd();
    cdef();
    {
        efgh();
        jklm();
    }
}

3) Если мне чей-то синтаксис не нравится, я могу ему reflow в автоматическом режиме сделать при желании. И от дурно поставленых скобок голова будет болеть у компилера или парсера.

> Тем более. Зачем вам в таком случае лишние символы в виде скобок?

Они удачно хайлайтят структуру блока и логические сущности, жестко указывая где задумано начало и конец этого блока. И парой случайных ошибок редактиврования сломать это в виде когда автоматика сие проглотит - довольно трудно.

> За вас редакторы итак эти пробелы ставят, почему же вы считаете что
> в других случаях автоматика не справится?

Потому что явный маркер начала-конца блока отдельным символом - не встречающимся в других случаях - как-то эффективнее и надежнее в качестве надежного разграничения логических блоков.

> Это абсолютно такой же разделитель как скобки, автоматика работает точно также.

Только вот требования попарности нет, а пробелы встречаются при нормальном курсе событий, поэтому сломать это нечаянно - куда проще.

> Тогда вы должны топить за пробелы, потому что они именно это и делают.

Вообще, получить warning при подозрительном форматировании кода - почему бы и нет? На самом деле нормальный фичреквест.

> Как раз наоборот. Если делать по стандартам с автоформатированием то и то
> и другое прекрасно справляется, только пробелы чище, компактнее, понятнее.

Для меня выделение логических блоков отдельными символами как-то лучше схватывается. Алсо хайлайт парных скобок - штука в редакторах весьма типовая, мне так нравится.

> Но если делать без форматирования то пробелы не позволяют вольностей, а скобки позволяют.

Это чисто декоративная проблема, в то время как слом логики при ошибке редактирования становится уже технической проблемой. Для меня логическая корректность кода приоритетнее эстетики, хотя, конечно, красивый код имеет больше предпосылок к тому чтобы его правильно поняли.

> Опять же пробелы ставятся однозначно, со скобками как миниум есть 2
> распространенных стандарта как ставить скобки.

А вон ту задачу я вообще могу более 9000 способов решить. Это, типа, плохо?

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

Я могу с этим жить. И если им так больше нравится - ну, я не парюсь особо, прогерские редакторы все равно культурно это все сделают.

> Скобки: Лишний пробел поставил. Лажа, форматирование страдает.

Это чисто эстетическая проблема, сама по себе к факапам не ведет.

> Все собирается и работает, отправляется в продакшн.

А может и не отправляется. Кому сильно надо могут ревью и анализаторы развесить.

> Пробелы: Лишний пробел поставил. Лажа, ничего не собирается, иди дорабатывай.

Но отъезд логики на ошибке редактирования оно не поймает, от оригинала намерений ничего не осталось, и в целом удачи понять как оно было задумано. Сломать так curly bracket все же сложно и маловероятно.

> не заметивший горизонтальную прокрутку этого не заметил (что есть еще пробелы
> не видит), бэкдор внедрен (антибаг технологии, ага)

Ващет гнать такого ревьюера надо. Гит на такие вещи например дико кислотные цвета рисует в консоли в git log -p и прочих git diff. Я не знаю как это можно не увидеть, от этого глаза сразу вытекают.

Более того - если у ревьюера не вызвал вопрос пустой блок/строки - это как минимум странно. А, да, я еще так то код немного ревьюю другим. Это для тебя ревьюеры божества, ставящие таких как ты в стойло. А для меня одни из равных.

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

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

Алсо, в минимально серьезном процессе будет автоматический чекер рубящий просто по критерию длины строки. А потому что никто не нанимался 8К мониторы всем вообще кодерам на планете покупать только потому что у одного тела видите ли 250 символов мелким шрифтом на экран лезет.

> Опять попытка увести разговор в сторону. У питонистов трейс на любой пшик
> не из-за пробелов. Но мы сейчас про пробелы говорим, а не
> про методику обработки исключения и питоновскую философию.

У питонистов вообще статический анализ в зачаточном состоянии. И обработка ошибок. Поэтому вообще все пихонскрипты рассыпались при малейшем тыкании палочкой. А зачастую и сами по себе как апгрейдер убунты, тот позорный случай когда руками проще и надежнее чем таким скриптом.

> Ну и определенное число пробелов наклепать в нужном месте тоже весьма маловероятно.

Чего бы? А в прогерском редакторе скорее 1 кнопой, не буду же я 4 пробела мануально, право?

> Вы визуально выделяете блоки не скобками, а пробелами, даже если используете скобки.

Скобки очень хорошо отделяют и подчеркивают это. И жестко маркируют задуманные границы блока. Даже плюс-минус пара пробелов - все еще позволяет восстановить задуманный вид кода и я все еще вижу именно ту логику которую задумал кодер. А вот грохнув пробелы я уже и логику убиваю. Это некая избыточность - но она обеспечивает дополнительную надежность, сменить логику придется явно. А нечаянно - скорее всего компил егор.

> Вы же выше сами же пишите что автоматика же эту парность и делает.

Оно либо не повлияет ни на что кроме эстетики либо даст компил егор. Однако вот именно логику кода сломать оно не сможет и баста. И мы всегда будем видеть что на самом деле задумано. Ну как, начинка вон того блока не переедет в этот блок автоматически сама по себе, хоть там что. Правильно перекинуть блок кода с одного сегмента в другой, ничего не сломав, нечаянно - ну, это из области фантастики.

> ИМХО разделять код на логический и визуальный - неудачный антипаттерн с точки
> зрения отлова явных багов

ИМХО дублирование декларации намерений делает это устойчивее к ошибкам редактирования как раз. И чаще позволяет восстановить задумку испорченного кода как раз. Ну как, блочные операции случайно сделать в правильном виде - черт знает, у меня так не получалось. Чтобы код попал в другой блок с другим уровнем вложенности другого блока надо очень кастомное действо, деликатно выбрав правильные границы. Иначе компил егор.

Вообще идея что я могу менять принадлежность кода тому или иному блоку/уровню вложенности пробелом - не кажется мне удачной, слишком просто порушить незапланировано, а бонусом намерения автора полностью утрачены и разве что в git или бэкап идти смотреть что там было, если, конечно, это все есть.

Ответить | Правка | Наверх | Cообщить модератору

297. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от keydon (ok), 28-Апр-22, 03:36 
> Потому что людям свойственно ошибаться и вон то - легко посадить при
> кодинге случайно, не имея на самом деле в виду. Явная маркировка
> начала-конца логического блока позволяет ловить немало дурных случаев такого плана, когда
> оно вдруг бай и не совпадает. Ну как, если например я
> пробел тапнул на выделении - и там даже улетел какой-то кусок
> блока, шансы что в выделении идеально убьется по парным скобкам и
> ошибки не будет - мизерный. Значит я буду тут же послан
> компилером, пойму что все испортил и пойду разбираться.

Похоже ты сектант. То ты топишь за акууратность и еррор, то "случайну уберу пробел, компиль без ошибок". Походу тебе ни то ни другое не надо, лишь бы "пробелов не было" и находу пытаешься придумать вымышленные проблемы, которых (еще раз напомню) нет.

> Ну я бы в принципе кидал бы компил варнинг при подозрительном форматировании,
> а с точки зрения приоритетов меня корректность поведения кода и его
> соответствие задумке волнует все же больше эстетики. Поэтому вот так.

Кидай ошибку при форматировании и нет никаких проблем с пробелами. Я уже в очередной раз тебе об этом пишу, но ты упорно не читаешь.

> А при чем тут тремор рук, если в редакторе селекшн был, я
> про него забыл и что-то тапнул? Ну и получил что-то unspecified
> вместо того чего на самом деле хотел. И таки очень кстати
> если автоматика поймает подозрительное место и сообщит что я сделал фигню.

Если говорить про одинарный пробел, то также как и с кавычками. Если говорить про любой символ, то вы так и [10] в [1] можете превратить и Get в Set, так что не вижу смысла расусоливать на эту тему.

> То-есть это не отменяет нужды быть внимательным самому. Но компьютер должен помогать
> человеку, а не только п-лями в стойло его строить.

Вот именно. И тем более компьютер мешать не должен. Блоки кавычками мешают.

> Смотри, в сях например указатели это кусок проблем если быть невнимательным. И
> там проблемы в том числе и с анонсом намерений дла анализа/компилера.
> Но кроме минусов есть плюсы. Это дико эффективная технология. Избегающая лишних
> копирований - что актуально, особенно на больших объемах данных или если
> скорость критична. Поэтому tradeoff: мы теряем в надежности, но получаем быстрый
> компактный код. А у тебя - не tradeoff. Оно только делает
> мозг, ставит в стойло, но ничего не привносит. Значит нафиг.

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

> При том эта строгость ничего кроме эстетики не привносит. Я не вебмакака
> чтобы в стойло становиться ради декоративно-эстетических целей. Если там будет что-то
> системное, крутое, можно подумать.

Начинается. Сначала за безопасность. Теперь вот "ради декоративно-эстетических целей" не готов.
Тогда ради однообразия, сокращения размеров кода, количества коммитов, времени на ревью, ошибок связанных с неверным форматированием, ради прекращения войн стандартов, ради экономии на новых кнопках для клавиатуры в конце концов...

> Ну, вообще, это по моему опыту. Если меня заворачивают с скобкой -
> я таки где-то напортачил и скорее всего логика поломана и надо
> детально все перепроверять.

Точно так же и с пробелами.

> Вообще-то в сях - можно почти где угодно, так что при желании
> независимые логические блоки можно явно хайлайтить чуть активнее чем это обычно
> делают. Это не значит что это всегда нужно делать. Оформлять блок
> имеет смысл там где ... уместен логически выделенный блок, более-менее самодостаточный.
> Но если хочется - можно и по приколу почти везде делать.
> Но лучше не выпендриваться, код должен быть понятен другим, все что
> сверх того - нафиг надо.

Фактически в сях можно выкинуть пробелы в начале строк и жить только со скобками. Но вы же так делать не будете? Вы же все равно используете пробелы. Так зачем вам две одинаковые вещи? Вы итак отделяете блок двумя разделителями.

> Вы вообще на сях программировали?

Да.


> Я стараюсь не писать большие скрипты, предпочитая *никсвэйный подход. То есть небольшие
> эффективные качественные программы, при нужде объединяемые небольшими скриптами по месту.
> Модуляризация. Конечно это не всегда катит. Но мудрость в идеях древних
> есть. В отличие от вебмакак и питоняш, от которых если мне
> что и надо - чтобы они перестали замусоривать поиск своими поделиями.

Тогда тем более вам должен нравиться этот подход потому что в однострочниках вам не нужны блоки и никакие пробелы и скобочки тоже. А там где нужны, там 4 пробела.

> Так если я левые кавычки/скобки влеплю - буду послан. Их надо именно
> парно вкатить/стереть, и вероятность нечаянно сделать в виде когда оно будет
> сожрано как что-то валидное довольно низкая. В этом весь пойнт и
> состоит.

Так и шансы что вы именно 4 пробела случайно влепите крайне низкая.

> Обычно прогерские редакторы втыкают сразу эн пробелов, для разгона эффективности прогера,
> так что ну так себе аргумент. Не буду же я 4
> раза на уровень форматирования пробел сам жать, право? Я что, обезьяна?

Тогда определитесь каким редактором вы пользуетесь и опишите как он работает с кавычками и автодополнением и я покажу что в худшем случае он может работать точно также при использовании пробелов не теряя в эффективности и "безопасности".

> 1) Ну ващет за мена это компилер посчитает.

Это не вы 5 минут назад не хотели "мозг в стойло ставить"? Вы уж определитесь как-нибудь. С пробелами я и без компилятора сразу все увижу (и вы тоже, если захотите).

>[оверквотинг удален]
>

 
> {
>     abcd();
>     cdef();
>     {
>         efgh();
>         jklm();
>     }
> }
>

То же самое:

 
    abcd();
    cdef();
        efgh();
        jklm();

Читается лучше, строк меньше, символов меньше, набирать быстрее, сразу видно где какой блок.

> 3) Если мне чей-то синтаксис не нравится, я могу ему reflow в
> автоматическом режиме сделать при желании. И от дурно поставленых скобок голова
> будет болеть у компилера или парсера.

То же самое и с пробелами.

> Они удачно хайлайтят структуру блока и логические сущности, жестко указывая где задумано
> начало и конец этого блока. И парой случайных ошибок редактиврования сломать
> это в виде когда автоматика сие проглотит - довольно трудно.

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

> Потому что явный маркер начала-конца блока отдельным символом - не встречающимся в
> других случаях - как-то эффективнее и надежнее в качестве надежного разграничения
> логических блоков.

Не встречающимся в других случаях? Три раза ха-ха. Вы все равно вставляете пробелы в начале строки, парсить 5 различных символов менее эффективно чем 4 символа. А если еще и добавить парность скобок то еще тяжелее.

> Только вот требования попарности нет, а пробелы встречаются при нормальном курсе событий,
> поэтому сломать это нечаянно - куда проще.

Пробел да, 4 пробела в начале строки - нет.

> Вообще, получить warning при подозрительном форматировании кода - почему бы и нет?
> На самом деле нормальный фичреквест.

Ну вот, я же говорил.

> Для меня выделение логических блоков отдельными символами как-то лучше схватывается. Алсо
> хайлайт парных скобок - штука в редакторах весьма типовая, мне так
> нравится.

Пфф..есть даже плагин на разноцветную подсветку разных блоков. Работает с пробелами.

> А вон ту задачу я вообще могу более 9000 способов решить. Это,
> типа, плохо?

Попытка увести разговор в сторону не засчитана.

> Я могу с этим жить. И если им так больше нравится -
> ну, я не парюсь особо, прогерские редакторы все равно культурно это
> все сделают.

Это не вы недавно писали про "эффективность" и "мозг в стойле"?

> Это чисто эстетическая проблема, сама по себе к факапам не ведет.

Располагает к разгильдяйству.

> Но отъезд логики на ошибке редактирования оно не поймает, от оригинала намерений
> ничего не осталось, и в целом удачи понять как оно было
> задумано. Сломать так curly bracket все же сложно и маловероятно.

Уже неоднократно писал об этом.

> Ващет гнать такого ревьюера надо. Гит на такие вещи например дико кислотные
> цвета рисует в консоли в git log -p и прочих git
> diff. Я не знаю как это можно не увидеть, от этого
> глаза сразу вытекают.

Что-то подсветит, а что-то нет. И ревьювера и тех кто решил скобки использовать.

> Более того - если у ревьюера не вызвал вопрос пустой блок/строки -
> это как минимум странно. А, да, я еще так то код
> немного ревьюю другим. Это для тебя ревьюеры божества, ставящие таких как
> ты в стойло. А для меня одни из равных.

Так блок не пустой, там в начале что-нибудь безобидное. Или пустой, но как вы любите отделяющий логический блок.

> Тем не менее пример довольно странный - бэкдор очень паливный, ибо пустые
> строки в логическом блоке очень бросаются в глаза. Их там быть
> не должно.

А с пробелами и вовсе невозможен.

> У питонистов вообще статический анализ в зачаточном состоянии. И обработка ошибок. Поэтому
> вообще все пихонскрипты рассыпались при малейшем тыкании палочкой. А зачастую и
> сами по себе как апгрейдер убунты, тот позорный случай когда руками
> проще и надежнее чем таким скриптом.

Причем тут питонисты? Причем тут убунта? Можете еще приплести школьников за то что на питоне учатся и рассказать какие школьники криворукие, поэтому де пробелы обречены.

> Чего бы? А в прогерском редакторе скорее 1 кнопой, не буду же
> я 4 пробела мануально, право?

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

> Оно либо не повлияет ни на что кроме эстетики либо даст компил
> егор. Однако вот именно логику кода сломать оно не сможет и
> баста. И мы всегда будем видеть что на самом деле задумано.
> Ну как, начинка вон того блока не переедет в этот блок
> автоматически сама по себе, хоть там что. Правильно перекинуть блок кода
> с одного сегмента в другой, ничего не сломав, нечаянно - ну,
> это из области фантастики.

Также и с пробелами.

> ИМХО дублирование декларации намерений делает это устойчивее к ошибкам редактирования
> как раз. И чаще позволяет восстановить задумку испорченного кода как раз.
> Ну как, блочные операции случайно сделать в правильном виде - черт
> знает, у меня так не получалось. Чтобы код попал в другой
> блок с другим уровнем вложенности другого блока надо очень кастомное действо,
> деликатно выбрав правильные границы. Иначе компил егор.

И у меня не получалось. Но вы отчаянно этого боитесь.

> Вообще идея что я могу менять принадлежность кода тому или иному блоку/уровню
> вложенности пробелом - не кажется мне удачной, слишком просто порушить незапланировано,
> а бонусом намерения автора полностью утрачены и разве что в git
> или бэкап идти смотреть что там было, если, конечно, это все
> есть.

В Африке акулы,
В Африке гориллы,
В Африке большие
Злые крокодилы
Будут вас кусать,
Бить и обижать,-
Не ходите, дети,
В Африку гулять.

Ответить | Правка | Наверх | Cообщить модератору

318. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от Аноним (-), 29-Апр-22, 08:30 
> Похоже ты сектант. То ты топишь за акууратность и еррор, то "случайну
> уберу пробел, компиль без ошибок".

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

> Походу тебе ни то ни другое не надо, лишь бы "пробелов не было" и находу пытаешься
> придумать вымышленные проблемы, которых (еще раз напомню) нет.

Я лишь констатирую факт что синтаксис curly bracket видится мне сбалансированым. Не считается что кодер даун и есть гибкость с одной стороны, но явно кривые ситуации все же ловятся, а информации достаточно хоть для полного reflow. Мне так больше нравится.

> Кидай ошибку при форматировании и нет никаких проблем с пробелами.

Я тебе не необучаемое нечто чтобы меня п-лями без права оверрайда к форматированию приучать. Пусть к тебе такие подходы применяют. Как и запрет опасных операций типа указателей, ага. А себе я все же позволю немного гибкости, свободы и предпочтений не спущенных на бошку сверху божествами. Системщики сами себе божествами умеют быть - делая себе все окружение так как им хочется. Да, например макросней можно камня на камне не оставить от оригинального синтаксиса, например. Правда, так лучше не делать, т.к. другим будет тяжко одуплить.

> Я уже в очередной раз тебе об этом пишу, но ты упорно не читаешь.

С другой стороны системщики могут и повыпендриваться. Ну там посмотри c.otto.c какой - программа которая симметрична относительно ... оси симметрии :). На сях пожалуйста. А на пихоне - хренли я мяснику про картины рембрандта задвигаю?

> Если говорить про одинарный пробел, то также как и с кавычками.

Вообще речь была про скобки. Но кавычки тоже парами должны быть и это тоже хорошо. А пробелы, вот, не парные - и форматирование единственный хинт о намерении. Разметить скобками как ключевыми точками а форматирование лишь опциональная вспомогаловка мне больше нравится.

> Если говорить про любой символ, то вы так и [10] в [1]
> можете превратить и Get в Set, так что не вижу смысла
> расусоливать на эту тему.

Могу. Это даже иногда случается. Поэтому прошареный народ делает интересные вещи, про которые питоняши не в курсе. Типа static assert'ов всяких и параноидальных проверок. Если вон та функция by design жрала от 3 до 8 а ей 1 дали - компил как раз и сломается. В этом направлении особенно интересно zig'овские вычисления в компилтайм смотрятся, так много чего можно сделать, прогнав произвольную логику во время сборки.

> Вот именно. И тем более компьютер мешать не должен. Блоки кавычками мешают.

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

> Наоборот. Нет лишних символов, чище код, проще читать, больше сфокусирован на действии,

А мне нестандартные символы позволяют визуально выхватывать логический блок. И более того - эдиторы умеют в продвинутую навигацию по блокам на основе этого самого, и прочий фолдинг и так далее. Так что можно взять да и скрыть логически-завершенный блок "под кат" раз он работает и более не интересен, сфокусировавшись на чем-то ином. С пробелами это все кривее будет.

> а не на форматировании или стиле.

Програмерские эдиторы сами на этом фокусируются и это проблема только для юзера нотпада. Но у него других проблем есть, например, там нет подсветки синтаксиса что сильно портит эффективность.

> В надежности не теряем,

Вообще-то теряем. Скобки + форматирование дают некоторую избыточность, что в случае факапа помогает восстановить изначально задуманную логику даже если вышел фэйл.

> код становится еще компактнее чем с кавычками.

И выглядит стеной кода без особой разбивки на блоки...

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

Ващет он был не бесполезный - когда что-то шло не так, его можно было вынуть и дать им по морде вон тому багу. А у тебя так низя.

> Так что либо пробелы в твоей аналогии это указатели (тк они
> максимально эффективные), либо лучше чем указатели.

В каком-то роде да. И с теми же проблемами - при неаккуратном использовании имеем проблемы. Но, знаешь, у системщиков аллергия на жесткую постановку в стойло. Даже у хипстерских нубов хрустиков unsafe есть ;)

> Начинается. Сначала за безопасность. Теперь вот "ради декоративно-эстетических целей" не готов.

Как бы для меня надежность имеет приоритет над эстетикой ради эстетики. А несколько избыточный маркап позволяет проще заметить и починить факап. К тому же эта избыточность ну вот мне самому жить не мешает - ее редакторы сами разруливают так то. Ну, если это не нотпад.

> Тогда ради однообразия, сокращения размеров кода,

Ставиться в стойло прерогатива взаимозаменимых вебманки.

> количества коммитов,

Это как?! Кто-то коммитит скобочки а не какие-то осмысленные фичи? :)

> времени на ревью,

Ващет при ревью я хочу понимать соответствие того что есть тому что задумано. Curly bracket дает лишний уровень обороны. Если там форматирование будет не соответствовать расстановке блоков, я спрошу у кодера что он имел в виду на самом деле.

> ошибок связанных с неверным форматированием, ради прекращения войн стандартов, ради экономии

Знаете, есть офигенный способ сэкономить ваше время - вообще программы не писать. Я буду очень рад если вы именно так и сделаете.

> на новых кнопках для клавиатуры в конце концов...

Э не, я ж не в нотпаде печатаю, более потребные редакторы, таки, удобно делают. И форматят сами, и блок могут парно оформить сразу, подогнав "болваночку". И подсвечивают парные скобки, все такое. С пробелами это вообще не очень понятно как делать. Если весь блок будет мигать, можно эпилептиком стать нахрен, а когда только парная скобка кислотненько подсвечена, это и видно хорошо и не бесит огромной площадью хайлайта. Баланс опять же...

> Точно так же и с пробелами.

А вот не так же - избыточности нет. И что я, буду сам все 4 пробела тапать? А как же экономия нажатий? Значит хоткеи на +1/-1 уровень, по эн пробелов за раз. Но избыточности при этом нет и факап с этим - полностью теряет инфо о намерениях. А в curly bracket - в силу избыточности это будет заметно (вплоть до коипил егора) и вернуть взад испорченое проще.

> Фактически в сях можно выкинуть пробелы в начале строк и жить только
> со скобками. Но вы же так делать не будете?

В общем случае не буду. Но отдельные эстеты иногда в декоративных целях зажигают - и это красиво. Это - программисты. А не вебабизяны.

> Вы же все равно используете пробелы. Так зачем вам две одинаковые вещи? Вы
> итак отделяете блок двумя разделителями.

Для некоторой избыточности гарантирующей что intent и реализация совпадают. А у вас есть только реализация, intent вообще не декларирован.

>> Вы вообще на сях программировали?
> Да.

Что-то не очень похоже. Или это было в нотпаде.

> Тогда тем более вам должен нравиться этот подход потому что в однострочниках
> вам не нужны блоки и никакие пробелы и скобочки тоже.

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

> А там где нужны, там 4 пробела.

Мне со скобками больше нравится. И даже в баше таки можно делать какие-никакие функции и проч в таком духе, ага.

> Так и шансы что вы именно 4 пробела случайно влепите крайне низкая.

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

> Тогда определитесь каким редактором вы пользуетесь и опишите как он работает с
> кавычками и автодополнением и я покажу что в худшем случае он может работать точно
> также при использовании пробелов не теряя в эффективности и "безопасности".

Да на самом деле разными. Что-то совсем мелкое я могу и mcedit отрихтовать, в нем все маргинально зато навигация по иерархии супербыстрая. Для более тяжеловесных операций как минимум что-то типа geany или kate (в маздайке еще programmer's notepad бывает). И таки оно уже на границе между эдитором и ide и там подобные вещи настраиваются и оптимизируются.

> Это не вы 5 минут назад не хотели "мозг в стойло ставить"?

Так это... в сях вот именно в стойло не очень сильно ставят. Да и даже в хрусте unsafe есть. А показать логчиески-некорректную программу - при чем тут стойло? Предполагается что я сразу же и задумаю программу логически-некорректной? А зачем?

> все увижу (и вы тоже, если захотите).

Боюсь что мне не нравится такой стиль кода и я не хочу иметь с ним ничего общего. А ваши аргументы меня не цепляют потому что при объемистом редактировании продвинутыми редакторами это их проблема в основном.


     abcd();
     cdef();
         efgh();
         jklm();

Ага блин, но если было

abcd();
{
bcde();
cdef();
}
efgh();

...то мы знаем что они все на 1 уровне, но если хочется то вон то, в середине, можно выдирать как реюзабельный законченный блок! А с пробелами так вообще не отмаркируешь. Вон тем увлекаться конечно не стоит, но это полностью валидный синтаксис в си.

> Читается лучше, строк меньше, символов меньше, набирать быстрее, сразу видно где какой блок.

Можно подумать я скобки и форматирование руками делаю чтобы скорость набора просела. А читается оно имхо как стена текста.

> То же самое и с пробелами.

С пробелами это не имеет смысла. Скажем в сях можно разное число пробелов юзать. Например если я знаю что что-то заведомо сложное, то можно и 2 пробела на уровень сделать, для компактности. А если цель наоборот, зарубить сложный код во имя надежности - можно и 8 символов на уровень влепить, писать сильно вложенный код станет неудобно и паливно. То что один размер катил всем - ну, не факт, случаи разные бывают.

> Пробелы в начале строк вы так не используете. Вы ими никогда не
> хайлайтите. Вы хайлайтите переносом строк и зачем-то(для компилятора) добавляете скобки.

Я их и для себя добавляю как маркап логически завершенного блока, точки навигации и аннотацию намерений. Я вижу блок даже если еще не накодил его. Более того, его даже можно оставить пустым как напоманание самому себе что тут что-то на самом деле задумано и должно быть добавлено при случае. Пустой блок будет мозолить глаза но фатально ничего не сломает.

> Вы можете использовать пробели для выравнивания посреди строки, но и в
> моем способе вы точно также можете использовать пробелы посреди строки.

И тем не менее, со скобами имхо мощнее, гибче а избыточность уменьшает лажу.

> Не встречающимся в других случаях? Три раза ха-ха. Вы все равно вставляете
> пробелы в начале строки, парсить 5 различных символов менее эффективно чем
> 4 символа. А если еще и добавить парность скобок то еще тяжелее.

Пардон, но скобки в curly bracket применяются в конкретных случаях. И не фигурируют в остальном тексте программы наобум. И они сильно менее распостранены чем пробелы, что делает их удобными точками навигации, фолдинга блоков и проч.

> Пробел да, 4 пробела в начале строки - нет.

Вы не одупляете. На границах начала и конца блока соответственно, а в этом случае - явных маркеров начала и конца нет.

> Ну вот, я же говорил.

Знаете, статические анализаторы так то много на какие аномалии бухтят... если разрешить... и вот тут мое дело что из этого я считаю нужным видеть а что нафиг.

> Пфф..есть даже плагин на разноцветную подсветку разных блоков. Работает с пробелами.

Да ну нафиг эту эпилепсию. Одно дело мелкая кислотно светящаяся скобка и другое - полэкрана мигает.

> Попытка увести разговор в сторону не засчитана.

Типа не комплекс ходьбы строем...

> Это не вы недавно писали про "эффективность" и "мозг в стойле"?

Я. А в чем проблема, редакторы ж это делают удобно и быстро.

> Располагает к разгильдяйству.

Что-то не помогло это питону, глядя на то как скрипты на этом дохнут в первые 5 минут знакомства со мной, почти все. И эти люди будут про разгильдяйство?...

> Уже неоднократно писал об этом.

Я не знаю что вы там писали, но curly bracket хорошо ловит именно про@бы при редактировании. Мне это нравится. А вот реализовывать задумку, и даже например акцентировать внимание на вон том блоке - таки не мешает.

> Что-то подсветит, а что-то нет.

Ну как бы git обычный его подсвечивает как прожектор.

> И ревьювера и тех кто решил скобки использовать.

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

> Так блок не пустой, там в начале что-нибудь безобидное. Или пустой, но
> как вы любите отделяющий логический блок.

Так длинные линии проблема сама по себе - и это не должно пройти ни ревью, ни автоматические чекеры. Если это не так, толку от вашего ревью и чекеров - около ноля.

> А с пробелами и вовсе невозможен.

Да и хрен с ним - не выглядит огромной проблемой. Зато вот вам другой бэкдор: пробелов в уникоде так то более одного вида! В сях оно похрену. А вот вас можно попытаться накормить логикой которая выглядит иначе нежели по факту работает, используя пробелы которые типа не пробелы, в том плане что визуализуются как пустое место но не имеют эффекта на логику.

Кажется я только что придумал как иметь питоняш по технологии BadSource, лол :)

> что на питоне учатся и рассказать какие школьники криворукие, поэтому де пробелы обречены.

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

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

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

> Также и с пробелами.

Да ща.

> И у меня не получалось. Но вы отчаянно этого боитесь.

Скорее, мне нравится явное маркирование блоков. Много усилий от меня оно не требует и позволяет ряд интересных вещей. Вплоть до разнесенных по времени декларации намерений и фактического кодинга. Когда пустой блок является placeholder для какого-то сегмента который я попозже накатаю. А если не накатаю - визуально это достаточно заметно и вызовет вопросы.

Ответить | Правка | Наверх | Cообщить модератору

330. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от keydon (ok), 29-Апр-22, 21:34 
Не буду повторяться, вижу вы даже не собираетесь вникать. Все ваши аргументы заключаются в одной фразе: лишь бы не как в питоне. Притом про питон речи не было(я не предлагаю следовать его синтаксису). Но видно что и питоном вы никогда и не пользовались и на ходу пытаетесь придумать проблемы которых нет. Когда я вам объясняю почему их нет, вы либо повторяетесь, либо меняете тему, либо меняете сторону на противоположную(но и там проблем с пробелами не находится), либо безуспешно пытаетесь расставить логические ловушки с извращенной логикой.
Ответить | Правка | Наверх | Cообщить модератору

334. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от Аноним (-), 30-Апр-22, 02:14 
Да и я устал. Посчитаем что мне тот синтаксис все же не нравится, настолько что я им пользоваться не буду по совокупности свойств.

А питон что, образец голимой наколенщины и одноразовго софта писаного сразу на выброс. Там аргументы про экономию сил ламерьем не умеющим редактор настраивать, любой ценой, поймут - там надо чтобы раб у весла как можно больше прожЕктов в единицу времени хреначил, а заказчик все равно ламер и ничерта не смыслит. Ваши аргументы все из этой области. И хрен с ним что багов больше, утеряны намерения кодера и прочие несущественные мелочи. А меня в системщине все же волнует качество кода, возможность других двуногих в него въехать, antibug и проч.

Ответить | Правка | Наверх | Cообщить модератору

90. "Дрю ДеВолт представил язык системного программирования Hare"  +1 +/
Сообщение от Аноним (90), 25-Апр-22, 18:42 
Название языка о много говорит. Какая-то сишечка же.
Ответить | Правка | Наверх | Cообщить модератору

92. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от Аноним (231), 25-Апр-22, 18:56 
> We have no intention of supporting non-free platforms, but because the language is standardized, a third-party implementation or fork could easily develop Windows or macOS support if desired.
Ответить | Правка | Наверх | Cообщить модератору

125. "Дрю ДеВолт представил язык системного программирования Hare"  +3 +/
Сообщение от Аноним (140), 25-Апр-22, 20:38 
>We have no intention of supporting non-free platforms

Одобряю!

Ответить | Правка | Наверх | Cообщить модератору

216. "Дрю ДеВолт представил язык системного программирования Hare"  –3 +/
Сообщение от Vacu923ek (ok), 26-Апр-22, 12:58 
Банда непуганых uдuотов! Благодаря этим "non-free platforms" вы вообще сидите в тырнетах!!
Просто представьте, что Винды нет и никогда не было. В мире работает 100 компьютеров, потому что только 100 погромиздов и умудрилось разобраться, как там настроить Иксы, сконфигурить сеть и запустить (А ПОТОМ И ВЫЙТИ) из vi. :)
Только благодаря "коммерческим Окошкам" ИТ развернулось практически на всё население планеты. Не говоря о том, что ТЕБЕ ЛИЧНО платность винды вообще никак не мешает! Чел хотел - чел купил Венду. И хочет под ней хороший компилер - в чём проблема-то? Боитесь, что все ваши 15 рублей уйдут БГ? Каким образом??
Ответить | Правка | К родителю #92 | Наверх | Cообщить модератору

236. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от Ю.Т. (?), 26-Апр-22, 19:11 
> Банда непуганых uдuотов! Благодаря этим "non-free platforms" вы вообще сидите в тырнетах!!

Вы говорите так, будто это что-то хорошее.

Ответить | Правка | Наверх | Cообщить модератору

242. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от Vacu923ek (ok), 26-Апр-22, 21:20 
>> Банда непуганых uдuотов! Благодаря этим "non-free platforms" вы вообще сидите в тырнетах!!
> Вы говорите так, будто это что-то хорошее.

Ну да, так и есть - хорошее! А преставь, вместо тырнетов такие сидели бы в Думе!

Ответить | Правка | Наверх | Cообщить модератору

264. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от n00by (ok), 27-Апр-22, 10:17 
>> Банда непуганых uдuотов! Благодаря этим "non-free platforms" вы вообще сидите в тырнетах!!
> Вы говорите так, будто это что-то хорошее.

Он говорит так, будто бы _мы_ сидим, а он исключение. Этим исключением он и опроверг своё "правило". :)

Ответить | Правка | К родителю #236 | Наверх | Cообщить модератору

315. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от Аноним (-), 28-Апр-22, 20:19 
>_мы_

Вы-то как раз сидите крепко на пляшке non-free platforms. Чем дальше, тем глубже.

Ответить | Правка | Наверх | Cообщить модератору

320. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от n00by (ok), 29-Апр-22, 09:26 
Я обычно сижу "на" кресле, а ты, похоже, в очереди к Фрейду. Или уже на операцию?
Ответить | Правка | Наверх | Cообщить модератору

250. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от Типолог без стажа (?), 27-Апр-22, 00:57 
Так пусть владельны non-free platforms и форкают, если им потребуется чуть менее безумный чем C и более простой чем Rust системный язык.

А те, кто хочет писать на нём сидя на non-free platform пусть ставят себе Docker Desktop, non-free прослойку для запуска вполне себе free линукса и конпелируют свой код.

Ответить | Правка | К родителю #216 | Наверх | Cообщить модератору

285. "Дрю ДеВолт представил язык системного программирования Hare"  +2 +/
Сообщение от Аноним (-), 27-Апр-22, 18:33 
> Банда непуганых uдuотов! Благодаря этим "non-free platforms" вы вообще сидите в тырнетах!!

Тырнеты появились без этих платформ. Тырнеты продолжат работать без этих платформ.

Ответить | Правка | К родителю #216 | Наверх | Cообщить модератору

97. "Дрю ДеВолт представил язык системного программирования Hare"  +2 +/
Сообщение от warlockemail (??), 25-Апр-22, 19:09 
Слишком похож на C — слишком мало профита от перехода. В то же время достаточно непохож, чтобы переход был простым.
Ответить | Правка | Наверх | Cообщить модератору

110. Скрыто модератором  +4 +/
Сообщение от Z (??), 25-Апр-22, 19:39 
Ответить | Правка | Наверх | Cообщить модератору

112. Скрыто модератором  +/
Сообщение от Минона (ok), 25-Апр-22, 19:50 
Ответить | Правка | Наверх | Cообщить модератору

151. Скрыто модератором  +3 +/
Сообщение от Z (??), 25-Апр-22, 22:43 
Ответить | Правка | Наверх | Cообщить модератору

113. Скрыто модератором  +1 +/
Сообщение от Аноним (113), 25-Апр-22, 19:52 
Ответить | Правка | К родителю #110 | Наверх | Cообщить модератору

115. Скрыто модератором  –2 +/
Сообщение от Аноним (115), 25-Апр-22, 19:57 
Ответить | Правка | К родителю #110 | Наверх | Cообщить модератору

122. Скрыто модератором  +/
Сообщение от outdoor (?), 25-Апр-22, 20:32 
Ответить | Правка | Наверх | Cообщить модератору

124. Скрыто модератором  +3 +/
Сообщение от Аноним (140), 25-Апр-22, 20:37 
Ответить | Правка | К родителю #110 | Наверх | Cообщить модератору

126. Скрыто модератором  –2 +/
Сообщение от Аноним (113), 25-Апр-22, 20:41 
Ответить | Правка | Наверх | Cообщить модератору

158. Скрыто модератором  –2 +/
Сообщение от keydon (ok), 25-Апр-22, 23:17 
Ответить | Правка | К родителю #110 | Наверх | Cообщить модератору

118. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от Аноним (118), 25-Апр-22, 20:12 
Зачем, когда есть C3? https://www.c3-lang.org/compare/
Ответить | Правка | Наверх | Cообщить модератору

148. "Дрю ДеВолт представил язык системного программирования Hare"  +1 +/
Сообщение от Hck3r (?), 25-Апр-22, 22:36 
Зачем, когда есть
D, J, V?
Ответить | Правка | Наверх | Cообщить модератору

180. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от Аноним (180), 26-Апр-22, 01:23 
При чем здесь J к D и V? Он же от всех компилируемых императивных языков очень сильно отличается.
Ответить | Правка | Наверх | Cообщить модератору

197. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от Hck3r (?), 26-Апр-22, 11:11 
Имел в виду Jai
Ответить | Правка | Наверх | Cообщить модератору

217. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от Vacu923ek (ok), 26-Апр-22, 12:59 
D и этого достаточно :)
Ответить | Правка | К родителю #148 | Наверх | Cообщить модератору

212. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от Аноним (200), 26-Апр-22, 12:49 
Hare selfhosted, а C3 на LLVM. Преимущество, млин...
С4 будет?
Ответить | Правка | К родителю #118 | Наверх | Cообщить модератору

120. "Дрю ДеВолт представил язык системного программирования Hare"  +1 +/
Сообщение от Борода Столлмана (?), 25-Апр-22, 20:25 
Как вы уже забодали плодить языки ради пложения языков. А потом плодить по 2.5 поломаных проекта для них и кричать вот мой то язык самый языкатый и правильный.
Ответить | Правка | Наверх | Cообщить модератору

121. "Дрю ДеВолт представил язык системного программирования Hare"  +1 +/
Сообщение от Аноним (140), 25-Апр-22, 20:30 
>Hare

По-русски означает "заяц".

Ответить | Правка | Наверх | Cообщить модератору

156. "Дрю ДеВолт представил язык системного программирования Hare"  +1 +/
Сообщение от Аноним (156), 25-Апр-22, 23:04 
Спасибо, продолжайте наблюдение.
Ответить | Правка | Наверх | Cообщить модератору

196. "Дрю ДеВолт представил язык системного программирования Hare"  –2 +/
Сообщение от Аноним (-), 26-Апр-22, 10:44 
А может дать тебе по Харе?
Ответить | Правка | Наверх | Cообщить модератору

253. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от Вы забыли заполнить поле Name (?), 27-Апр-22, 04:47 
Да харе уже
Ответить | Правка | Наверх | Cообщить модератору

123. "Дрю ДеВолт представил язык системного программирования Hare"  +1 +/
Сообщение от Аноним (140), 25-Апр-22, 20:33 
>язык программирования Hare

Хорошо, что его компилятор не на llvm/gcc основан.

Ответить | Правка | Наверх | Cообщить модератору

128. "Дрю ДеВолт представил язык системного программирования Hare"  +1 +/
Сообщение от zog (??), 25-Апр-22, 20:45 
Почему это хорошо?
Ответить | Правка | Наверх | Cообщить модератору

134. "Дрю ДеВолт представил язык системного программирования Hare"  –1 +/
Сообщение от Аноним (140), 25-Апр-22, 21:33 
Самостоятельность, безопасность, легковесность.
Ответить | Правка | Наверх | Cообщить модератору

214. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от Аноним (200), 26-Апр-22, 12:52 
Но вот если для ядра... На Опеннет пару раз приводилась ссылка на исследование о скрытых опасностях связывания кода, произведённого разными кодогенераторами.
Ответить | Правка | Наверх | Cообщить модератору

249. "Дрю ДеВолт представил язык системного программирования Hare"  –1 +/
Сообщение от Типолог без стажа (?), 27-Апр-22, 00:53 
Например, никто не подумает использовать СИСТЕМНЫЙ язык там, где требуется оптимизация. Си в этои смысле испортил не одну тысячу погромистов заблуждением, что он якобы быстрый
Ответить | Правка | К родителю #128 | Наверх | Cообщить модератору

293. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от Аноним (-), 27-Апр-22, 23:04 
> Например, никто не подумает использовать СИСТЕМНЫЙ язык там, где требуется оптимизация.
> Си в этои смысле испортил не одну тысячу погромистов заблуждением, что
> он якобы быстрый

А что, попробуй LZ4 на сях соптимизить, да? Прикинь, если он в память упирается, переписывание на асме ему не поможет совсем никак :)

Ответить | Правка | Наверх | Cообщить модератору

296. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от Аноним (-), 28-Апр-22, 00:18 
>> Например, никто не подумает использовать СИСТЕМНЫЙ язык там, где требуется оптимизация.
>> Си в этои смысле испортил не одну тысячу погромистов заблуждением, что
>> он якобы быстрый
> А что, попробуй LZ4 на сях соптимизить, да? Прикинь, если он в
> память упирается, переписывание на асме ему не поможет совсем никак :)

Расскажи поподробнее, какой у тебя оптимальный и "упирающийся лишь в память" гном/гтк.
Заодно прикинь, сколько разных алгоритмов сжатия и шифрования, помимо LZ4, ты еще используешь повседневно.


Ответить | Правка | Наверх | Cообщить модератору

319. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от Аноним (-), 29-Апр-22, 08:36 
> Расскажи поподробнее, какой у тебя оптимальный и "упирающийся лишь в память" гном/гтк.

Сразу после того как ты на асме что-то сравнимое по фичам накатаешь вообще.

> Заодно прикинь, сколько разных алгоритмов сжатия и шифрования, помимо LZ4, ты еще
> используешь повседневно.

Однако хорошие алгоритмы так то шустро работают даже на си. Просто автор LZ4 очень круто знает особенности современного железа, вплоть до выравнивания кешей проца и проч. А так да, иногда асм может что-то отыграть, особенно если кодогенератор протупляет. Но в целом ареал обитания асма заметно сузился. И таки даже в каком-нибудь мизерном бутлоадере может быть распаковщик или крипто на сях. Как бы майнтенанс и портабельность кода тоже аргумент, равно как и тот факт что его вон там уже 20 раз проверили, в отличие от нечто на асме. Поэтому асмом ща пользуются только если здорово приперло и выигрыш того реально стоит. А вот так весь проект на асме - ну, нет, есть, конечно, колибридос но тот уже возлюбил C--. Еще годиков 10 и до них допрет почему мы любим си :)

Ответить | Правка | Наверх | Cообщить модератору

321. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от Аноним (-), 29-Апр-22, 11:54 
>> Расскажи поподробнее, какой у тебя оптимальный и "упирающийся лишь в память" гном/гтк.
> Сразу после того как ты на асме что-то сравнимое по фичам накатаешь
> вообще.

Как славно ты опять свинтил с темы на свои фантазии (об асме речь завел тут ислючительно ты).
> ... А так да, иногда асм может что-то отыграть, особенно если кодогенератор протупляет. Но в целом ареал обитания асма заметно сузился.

Сам придумал, сам накатал целую простыню ...

btw:
> Однако хорошие алгоритмы так то шустро работают даже на си.

И поэтому в какой видеокодировщик не глянь - куча асма.
https://www.opennet.me/opennews/art.shtml?num=57068
> Компания Intel опубликовала кодировщик видео SVT-AV1 1.0
> https://github.com/AOMediaCodec/SVT-AV1/search?l=assembly

https://www.opennet.me/opennews/art.shtml?num=56876
> Выпуск dav1d 1.0, декодировщика AV1 от проектов VideoLAN и FFmpeg

https://github.com/videolan/dav1d/search?l=assembly

Ответить | Правка | Наверх | Cообщить модератору

329. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от Аноним (-), 29-Апр-22, 18:53 
> Как славно ты опять свинтил с темы на свои фантазии (об асме
> речь завел тут ислючительно ты).

Остальные языки не доказали делом что они - системные. Всякая академдрянь к системщине близко не стояла - решает какие-то задачи про сферических коней в вакууме в основном. Ну ей системщики и не пользуются, они относительно низкоуровневые и приземленные ребята по академмеркам. С мышлением инженера-имплементера а не абстрактного математика.

Для горе академов сообщаю: в системщине от высокопарных абстракций и крутых загибонов только вред. Код должен быть простым, предсказуемым, понятным, и - должны удобно и просто делаться всякие системные низкоуровневые вещи. Остальное в лучшем случае опционально и при серьезном настрое все-равно делается как часть внешнего процесса. И чем проще яп тем на него проще "safe" спеки накатать типа правил MISRA всяких, нацеленных на то чтобы кодеры однозначно понимали что код делает без разночтений, а поведение кода совпадало с тем что задумано.

> Сам придумал, сам накатал целую простыню ...

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

> И поэтому в какой видеокодировщик не глянь - куча асма.

Это да, однако если детально копнуть в гит того или иного кодека - там весьма стебные цифры бывают. Вот тут AVX/SSE фрагмент делает си в 7 раз. И это круто. А вот там почему-то в 0.6 :)) раза. И вознимает вопрос "зачем эта гадость место вообще занимает?!" (ее ж даже не вызывают потом).

> https://github.com/videolan/dav1d/search?l=assembly

Кажется, капитанить не только я умею... и все же заметьте что основная тушка кодека писана на сях а на асме только небольшие критичные куски где компилер может протупить. Ну как, компилер же не AI и имеет очень примерное представление где горячий код и что критично. Штуки типа PGO пытаются с этим что-то делать, но довольно утомительны в использовании ибо требуют рантайм статистику собирать.

А для понимания почему капитанинг - я так то сам себе интринсиков на асме понаделал под несколько архитектур. А как раз потому чтобы вынести мерзкую непортабельную помойку в 1 мелкий загон. А остальное - более чистый портабельный код, вызывающий таки уже нормальную сишную абастракцию. Даже если унутрях она и будет 1 асмовой командой потом. Или не 1 - от платформы зависит как оно там у них. Факт в том что основной код может быть абсрактным и портабельным. И когда так удается проскочить даже в системщине это все же круто.

Ответить | Правка | Наверх | Cообщить модератору

331. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от Аноним (-), 29-Апр-22, 22:13 
>> Как славно ты опять свинтил с темы на свои фантазии (об асме
>> речь завел тут ислючительно ты).
> Остальные языки не доказали делом что они - системные. Всякая академдрянь к
> системщине близко не стояла - решает какие-то задачи про сферических коней
> в вакууме в основном. Ну ей системщики и не пользуются, они относительно низкоуровневые и приземленные ребята по академмеркам. С мышлением инженера-имплементера а не абстрактного математика.

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

>>>> Хорошо, что его компилятор не на llvm/gcc основан.
>>> Почему это хорошо?
>> Например, никто не подумает использовать СИСТЕМНЫЙ язык там, где требуется оптимизация.

<тут еще можно было кинуть ссылку на недавнюю новость, где излишняя оптимизация gcc подложила очередной сюрприз разработчикам, впрочем, достаточно иногда заглядывать в lkml или багтрекеры
https://lore.kernel.org/lkml/20200104215156.689245-1-arnd�.../
https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=37054 >

> Для горе академов сообщаю: в системщине от высокопарных абстракций и крутых загибонов
> только вред. Код должен быть простым, предсказуемым, понятным, и - должны
> удобно и просто делаться всякие системные низкоуровневые вещи.
> <остальная простыня на тему "мои сегодняшние фантазии о ..." поскипана>

Да успокойся уже, никто на твое звание Чемпиона по чтению опой не претендует.



Ответить | Правка | Наверх | Cообщить модератору

332. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от Аноним (-), 30-Апр-22, 01:19 
> Ты опять доказал, что прекрасно владеешь уменим читать жопой и домысливать большую
> часть, не более.

Да и ты тоже это не хуже сделал, лолка. Особенно доставили ссылки.

> <тут еще можно было кинуть ссылку на недавнюю новость, где излишняя оптимизация
> gcc подложила очередной сюрприз разработчикам, впрочем, достаточно иногда заглядывать
> в lkml или багтрекеры

Для этого достаточно всего лишь .. пользоваться тулсами. Большой и сложный тул не может быть идеальным. А знаешь, когда большой самолет идет на взлет - там пара сотен дефектов запросто есть. Довести до идеального технического состояния эту махину малореально. Но оно в целом летает, а роялит - умение того кто в кресле понимать можно ли с этим лететь. И тебе я бы свою тушку не доверил. Тебе не место в кресле пилота. Ну или в нашем случае, прожект менеджера или лида, равно как и автора своих проектов.

> https://lore.kernel.org/lkml/20200104215156.689245-1-arnd�.../
> https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=37054

Вау, просто эпик.
1) В первом случае аццкий жрач стека. Аж 1330 байтов при варнинге в 1024. Вообще, кернел это сделал потому что там кода МНОГО и если КАЖДЫЙ будет по кило жрать, из тысяч дров, душно все же может стать. Но это специфика кернела и их юзкейсов. И эта проблем в целом решается.
2) Баг на gcc 2.96 это конечно свежо и актуально. Багу 21 год всего. Этот анон поставил рекод арч-некромансии опеннета, е...ь!
3) А так то по приколу в других компилерах тоже баги бывают. LLVM вообще кусок багодрома, и на фоне его приколов вон то смотрится мелочью жизни и незначительными придирками.
4) Писать на асме я все же из-за этого не собираюсь.
5) А в других тулсах баги не находят в основном потому что ими никто не пользуется.

> Да успокойся уже, никто на твое звание Чемпиона по чтению опой не
> претендует.

А как же ты, жгун? Откопать баг которому 2 десятка лет в качестве доказательств "своей правоты" это жэсть. Мне так слабо, я понимаю что за 2 десятилетия там скорее уже и кода то от gcc 2.96 не осталось, а его проблемы интересуют только музеи истории вычислительной техники. Настолько с@с@ть в управлении проектами и балансировкой соотношений мне слабо, это талант иметь надо походу.

Ответить | Правка | Наверх | Cообщить модератору

335. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от Аноним (-), 30-Апр-22, 03:56 
>> Ты опять доказал, что прекрасно владеешь уменим читать жопой и домысливать большую
>> часть, не более.
> Да и ты тоже это не хуже сделал, лолка. Особенно доставили ссылки.

Узнается Балабол294 - когда не хотят оспаривать его бредовые фантазии и тыкают в то, что разговор был не об этом, следует переход на "сам дурак".

>> <тут еще можно было кинуть ссылку на недавнюю новость, где излишняя оптимизация
>> gcc подложила очередной сюрприз разработчикам, впрочем, достаточно иногда заглядывать
>> в lkml или багтрекеры
> Для этого достаточно всего лишь .. пользоваться тулсами. Большой и сложный тул
> не может быть идеальным. А знаешь, когда большой самолет идет на

Только вот, Балаболка, разговор шел совсем не об этом. Если бы ты не читал жопой, а обращал внимание на цитированное, то заметил бы, что там выше - было высказывание, что для _системного_ языка супер-навороченная оптимизация возможно "не очень" - ну или наоборот.
Но никак не "перепишите на асм" и че-то-там про академиков и прочие твои фантазии.

>> https://lore.kernel.org/lkml/20200104215156.689245-1-arnd�.../

... As there is an easy way to work around it, just add a comment and the barrier that stops gcc from trying to overoptimize the function.
> Вау, просто эпик.
> 1) В первом случае аццкий жрач стека. Аж 1330 байтов при варнинге
> в 1024. Вообще, кернел это сделал потому что там кода МНОГО и если КАЖДЫЙ будет по кило жрать, из тысяч дров, душно все же может стать. Но это специфика кернела и их юзкейсов.
> И эта проблем в целом решается.

Опять решил на всякий пожарный подтвердить звание Чемпиона?


> 2) Баг на gcc 2.96 это конечно свежо и актуально. Багу 21
> год всего. Этот анон поставил рекод арч-некромансии опеннета, е...ь!

Эк тебя припекло. О том, что это пример "да, оно давно так", ты уже подумать не успел, бедолага - срочно очередную простыню ваять нужно было.

>> Хорошо, что его компилятор не на llvm/gcc основан.

...
> 3) А так то по приколу в других компилерах тоже баги бывают.
> LLVM вообще кусок багодрома, и на фоне его приколов вон то
> смотрится мелочью жизни и незначительными придирками.

Да Чемпион ты, Чемпион, успокойся.


>> где излишняя оптимизация gcc подложила очередной сюрприз разработчикам
> А как же ты, жгун? Откопать баг которому 2 десятка лет в качестве доказательств "своей правоты" это жэсть.

И? Два сэмпла, почему излишняя оптимизация может выдать "сюрпрайз" в системной разработке, причем "уже давно".
Тебя так подорвало, что отключило логику или просто ты читал опять этим самым и сейчас оспариваешь свои очередные фантазии?

> Мне так слабо, я понимаю что за 2 десятилетия там скорее уже и кода то от gcc 2.96 не осталось, а его проблемы интересуют только музеи истории
> вычислительной техники. Настолько с@с@ть в управлении проектами и балансировкой соотношений
> мне слабо, это талант иметь надо походу.

Эта балаболка порвалась, вносите следующую!


Ответить | Правка | Наверх | Cообщить модератору

356. "Дрю ДеВолт представил язык системного программирования Hare"  –1 +/
Сообщение от Аноним (-), 05-Май-22, 14:22 
> Эта балаболка порвалась, вносите следующую!

Да вообще пипец, не хочет в багах gcc 2.96 копаться. Вы еще б приволокли мне DOS 3.30. А, майкрософт уже даже там на сях прогал, на асме их уже заколебало к тому моменту.

В конечном итоге создание софта - не о гребаном перфекционизме отдельных отшибленых личностей, высасывающих из пальца бредовые примеры. Оно о разумном балансе свойств. Сишка этот баланс обеспечивает в очень широком спектре, от фирмварей и бутлоадеров до чатботов и вебсерваков, махрово апликушных. А между делом можно реюзануть в обоих некий удачный алгоритм.

p.s. а чисто поугарать я не только умею на асме прогать но и нехилые штуки на этом прогал. Только нафиг мне это счастье когда си есть. А на других яп, кроме, вот, еще полутора wannabe-системных, прогать махровую системщину от "мучительно" до "не катит". И даже так - можно найти например сказ о том как хрустики в микроконтроллеры пытались. Тут то они и познали прелести кастомного лэйаута бинаря и генерации этого. И что их "системная" штука это не очень то умеет. Возьмите, дескать, gcc'шный линкер, но вон там в ночной версии уже почти совсем...

TL;DR: я не люблю взбрыки софта, но у любой проблемы есть severity и priority. И для gcc 2.96 в 2022 году это полное ололо.

Ответить | Правка | Наверх | Cообщить модератору

127. "Дрю ДеВолт представил язык системного программирования Hare"  +2 +/
Сообщение от zog (??), 25-Апр-22, 20:44 
Hare Krishna, Hare RAMa!
Язык для индусов?
Ответить | Правка | Наверх | Cообщить модератору

135. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от Аноним (140), 25-Апр-22, 21:36 
Hari тогда уж.
Ответить | Правка | Наверх | Cообщить модератору

222. "Дрю ДеВолт представил язык системного программирования Hare"  +1 +/
Сообщение от Аноним (200), 26-Апр-22, 13:20 
Hare RAMa - этот для безопасТной работы с памятью?
Ответить | Правка | К родителю #127 | Наверх | Cообщить модератору

139. "Дрю ДеВолт представил язык системного программирования Hare"  +4 +/
Сообщение от _kp (ok), 25-Апр-22, 21:49 
Вместо очередного типа Си-подобного языка, но на деле не совместимого по исходникам, в том числе с автоматическим конвертером, лучше добавить в Си ключи убавляющие неопределенное поведение.

А так есть еще анализаторы исходников, для проверки на эти самые неопределённые места, и велосипедостроения.
Вот помню как то hint, Вы похоже считаете сумму бит в массиве... Для этого есть готовая функция...
Hare так может? Вот и вердикт.

Ответить | Правка | Наверх | Cообщить модератору

141. "Дрю ДеВолт представил язык системного программирования Hare"  –2 +/
Сообщение от Аноним (39), 25-Апр-22, 22:01 
У тебя с этими ключами ничего не соберётся.
Ответить | Правка | Наверх | Cообщить модератору

157. "Дрю ДеВолт представил язык системного программирования Hare"  +1 +/
Сообщение от _kp (ok), 25-Апр-22, 23:12 
По минимуму, и это достаточно.
После устранения неоднозначностей - соберется.

А если собрать исторический код, без правки, так и сейчас, вагон опций используется.

Ответить | Правка | Наверх | Cообщить модератору

160. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от keydon (ok), 25-Апр-22, 23:22 
> У тебя с этими ключами ничего не соберётся.

Если не соберется, значит там используется злобный хак...постойте! Да это же safe/unsafe как в хрусте!

Ответить | Правка | К родителю #141 | Наверх | Cообщить модератору

361. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от Аноним (360), 16-Июн-22, 15:34 
Hello World! -то соберётся. А это самое главное.
Ответить | Правка | К родителю #141 | Наверх | Cообщить модератору

190. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от Аноним (186), 26-Апр-22, 08:49 
если убрать неопределённое поведение все разработчики компиляторов взвоют поросячьим хрюком, у них на этом все оптимизации
Ответить | Правка | К родителю #139 | Наверх | Cообщить модератору

248. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от Типолог без стажа (?), 27-Апр-22, 00:50 
А всё потому, что компилятор ничего не знает о коде и вынужден догадываться. Это и наличие/отсутствие UB как раз и вызывает то, что C/C++ оптимизируется посредственно, а всевозможные императивные убийцы C оптимизируются вообще никак.
Ответить | Правка | Наверх | Cообщить модератору

191. "Дрю ДеВолт представил язык системного программирования Hare"  +2 +/
Сообщение от Аноним (191), 26-Апр-22, 09:03 
Главная проблема языка Си - препроцессор и отсутсвие адекватной замены ему. Это уже ничем не исправить.
Ответить | Правка | К родителю #139 | Наверх | Cообщить модератору

239. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от . (?), 26-Апр-22, 20:48 
m4
Ответить | Правка | Наверх | Cообщить модератору

265. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от n00by (ok), 27-Апр-22, 10:24 
Пора бы просто прочесть стандарт. Препроцессор - отдельная фаза трансляции.
Ответить | Правка | К родителю #191 | Наверх | Cообщить модератору

272. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от Аноним (272), 27-Апр-22, 14:28 
Именно. А нужно чтобы на фазе компиляции и типобезопасно.
Ответить | Правка | Наверх | Cообщить модератору

298. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от n00by (ok), 28-Апр-22, 09:55 
Тогда пишется новый "препроцессор", как сделали в компиляторе Vala. Страуструп, кстати, изначально тоже написал фронтэнд, он так и назывался - CFront.
Ответить | Правка | Наверх | Cообщить модератору

302. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от Аноним (302), 28-Апр-22, 10:41 
> пишется новый "препроцессор", как сделали в компиляторе

И это уже получается не язык Си, а какой-то другой. А нужно языковое средство. Времена, когда чтобы начать программировать, требовалось написать свой компилятор, ОС и текстовый редактор давно прошли. К счастью или к сожалению.

Ответить | Правка | Наверх | Cообщить модератору

306. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от n00by (ok), 28-Апр-22, 11:59 
Да, другой язык, но при этом совместимость сохраняется и не обязательно все на новый язык переписывать. Си разрабатывался как замена платоформозависимому ассемблеру, отсюда все "проблемы". Почему бы его и не применять как ассемблер (бэк-энд транслятора), если проблемы мешают.
Ответить | Правка | Наверх | Cообщить модератору

294. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от Аноним (-), 27-Апр-22, 23:05 
> Пора бы просто прочесть стандарт. Препроцессор - отдельная фаза трансляции.

И у него черт подери свое видение всего. Например integer'ов. Что создает много дурных ситуаций на ровном месте.

Ответить | Правка | К родителю #265 | Наверх | Cообщить модератору

299. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от n00by (ok), 28-Апр-22, 09:59 
Да тут у каждого своё видение всего. Пишешь про препроцессор, который обрабатывает токены, видят инты.
Ответить | Правка | Наверх | Cообщить модератору

325. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от Аноним (-), 29-Апр-22, 17:20 
> Да тут у каждого своё видение всего. Пишешь про препроцессор, который обрабатывает
> токены, видят инты.

Все чуть сложнее чем некоторыые пытаются изобразить.
1) Вообще-то препроцессор немного умеет в математику сам, насколько я помню. Целочисленные операции в директивах препроцессора имеют место быть.
2) Он также умеет в булевские операции и условные операнды. В том числе и с целыми числами из 1). Скажем, #if (SOME_CONST == 2) вполне валидно. И более продвинутая математика над этим тоже.

При этом нас начинает колыхать - а что такое "2" в понимании препроцессора. И как эта математика ТАМ работает. И насколько при вычислениях/операциях совпадает с остальным ЯП. Потому что some_var = (SOME_CONST + 10) ничему не противоречит. И было бы очень кстати если бы результат операций был бы симметричен. Но это не совсем так. Целочисленная математика в препроцессоре специфицирована как обычно в сишке, т.е. никаковски.

А препроцессор так то кроме всего прочего еще и почти-тюринг-полный. И единственный лимит на сложность того что он делает это лимит на число уровней вложенности. Гага, токены, с добавкой бульонов и целых могут нехилую логику завернуть. Можно самому compile time assert например сделать. Да, это "всего лишь условная кодогенерация". И все же.

Ответить | Правка | Наверх | Cообщить модератору

337. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от n00by (ok), 30-Апр-22, 08:32 
Оно действительно сложнее, но при этом достаточно строго формализовано стандартом, что бы при разногласиях мы могли не спрашивать третьего авторитетного Анонима, а там почитать и найти общий язык. Integer types - это отдельная глава ближе к середине, она относится к последующей фазе трансляции. После директивы #if может быть "the controlling constant expression which is evaluated according to the rules of 6.6" и в сноске указано, что нет гарантий одинакового результата для
#if ’z’ - ’a’ == 25
if (’z’ - ’a’ == 25)
и это называется arithmetic constant expression, а не "целочисленные".

Теперь смотрите: оно по разному названо, по разному пишется... а почему разница должна колыхать? Ну, написали так в эпоху "деревянных" машин, сохранилось для совместимости. Не нравится препроцессор, хочется большего, так можно написать свой, добавить свою фазу трансляции.

Ответить | Правка | Наверх | Cообщить модератору

357. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от Аноним (-), 05-Май-22, 14:33 
> Оно действительно сложнее, но при этом достаточно строго формализовано стандартом, что
> бы при разногласиях мы могли не спрашивать третьего авторитетного Анонима,

Называя вещи своими именами, сишные стандарты сделаны достаточно паршиво и там много implementation defined и нестыковок. В сумме все это приводит к тому что мнение програмера о том как это должно работать разъезжается с тем как оно реально работает и мы огребаем баги и некоторые из них даже вулны. Это не есть хорошо. Откуда и предпосылки потуг в создании вон тех альтернатив.

> а там почитать и найти общий язык. Integer types - это отдельная
> глава ближе к середине, она относится к последующей фазе трансляции.

Однако препроцессор тоже оперирует тем что выглядит ... почти как это самое. Но этим самым не является в том его понимании которое все интуитивно ожидали бы. И такое состояние дел вовсе даже и не фича. Да и сами integer'ы в сях специфицированы так что подарили миру много новых, клевых, годных CVE.

> и это называется arithmetic constant expression, а не "целочисленные".

А таки 25 - это что, не целое число? А коли так - хотелось бы некоей унификации таких вещей. Чтобы эти выражения работали везде одинаково, по одним и тем же правилам, хорошо специфицированным а не implementation defined. Иначе это ведет к куче багов в софте на ровном месте.

> Теперь смотрите: оно по разному названо, по разному пишется...

А выглядит 25 одинаково. Что в препроцессоре, что в int i = 25; Откуда и желание чтобы работало это везде одинаково.

> а почему разница должна колыхать?

Потому что 25 в обоих случаях выглядит одинаково на глаз. Но совсем не факт что идентично себя ведет. Вот вообще не факт. А два набора правил для делания одного и того же по смыслу ведут к бардаку и багам.

> Ну, написали так в эпоху "деревянных" машин, сохранилось для совместимости.
> Не нравится препроцессор, хочется большего, так можно написать свой, добавить свою фазу трансляции.

Только портабельность всего этого либо пойдет лесом, либо это будет БОЛЬШОЕ приключение. А вон тот кодер не сможет просто взять и просто подхватить проект без гимора. И желающих какой там еще препроцессор кастомный билдить будет предсказуемо около ноля. Поэтому реально мыши плачут, колются, но погрызают имеющийся кактус. Это ведет к определенным последствиям. Баги и вулны одни из таковых.

Ответить | Правка | Наверх | Cообщить модератору

358. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от n00by (ok), 07-Май-22, 13:47 
>> Оно действительно сложнее, но при этом достаточно строго формализовано стандартом, что
>> бы при разногласиях мы могли не спрашивать третьего авторитетного Анонима,
> Называя вещи своими именами, сишные стандарты сделаны достаточно паршиво и там много
> implementation defined и нестыковок. В сумме все это приводит к тому
> что мнение програмера о том как это должно работать разъезжается с
> тем как оно реально работает и мы огребаем баги и некоторые
> из них даже вулны. Это не есть хорошо. Откуда и предпосылки
> потуг в создании вон тех альтернатив.

Мнение программиста, который не читал стандарт, естественно может с ним расходиться. В тему о препроцессоре: ведущий разработчик Пока Линукс заявлял, что #define объявляет переменную. Другой пример, мы писали по стандарту стандартную библиотеку, и, когда взяли тесты от аналогичной из GCC, наша просто под ними заработала. Другое дело, что стандарты меняют и за этим хорошо бы следить.

>> а там почитать и найти общий язык. Integer types - это отдельная
>> глава ближе к середине, она относится к последующей фазе трансляции.
> Однако препроцессор тоже оперирует тем что выглядит ... почти как это самое.
> Но этим самым не является в том его понимании которое все
> интуитивно ожидали бы. И такое состояние дел вовсе даже и не
> фича. Да и сами integer'ы в сях специфицированы так что подарили
> миру много новых, клевых, годных CVE.
>> и это называется arithmetic constant expression, а не "целочисленные".
> А таки 25 - это что, не целое число?

25 это два ASCII символа. Это надо понимать и иметь представление, как транслятор их обрабатывает. В системном программировании принято основываться на знаниях, не на интуиции.

> А коли так
> - хотелось бы некоей унификации таких вещей. Чтобы эти выражения работали
> везде одинаково, по одним и тем же правилам, хорошо специфицированным а
> не implementation defined. Иначе это ведет к куче багов в софте
> на ровном месте.

Так напишите свой язык, всего-то делов. :)

>> Теперь смотрите: оно по разному названо, по разному пишется...
> А выглядит 25 одинаково. Что в препроцессоре, что в int i =
> 25; Откуда и желание чтобы работало это везде одинаково.

Это называется - вырвать из контекста.

>[оверквотинг удален]
> два набора правил для делания одного и того же по смыслу
> ведут к бардаку и багам.
>> Ну, написали так в эпоху "деревянных" машин, сохранилось для совместимости.
>> Не нравится препроцессор, хочется большего, так можно написать свой, добавить свою фазу трансляции.
> Только портабельность всего этого либо пойдет лесом, либо это будет БОЛЬШОЕ приключение.
> А вон тот кодер не сможет просто взять и просто подхватить
> проект без гимора. И желающих какой там еще препроцессор кастомный билдить
> будет предсказуемо около ноля. Поэтому реально мыши плачут, колются, но погрызают
> имеющийся кактус. Это ведет к определенным последствиям. Баги и вулны одни
> из таковых.

Лично Вы сталкивались с ситуацией, когда не могли подхватить проект?

Ответить | Правка | Наверх | Cообщить модератору

144. "Дрю ДеВолт представил язык системного программирования Hare"  +2 +/
Сообщение от анонимчик (?), 25-Апр-22, 22:22 
надеюсь, работа над этим языком не скажется отрицательно на развитии sway.
Ответить | Правка | Наверх | Cообщить модератору

223. "Дрю ДеВолт представил язык системного программирования Hare"  +1 +/
Сообщение от Удивительно (?), 26-Апр-22, 13:25 
Он давно отошел от разработки sway
Ответить | Правка | Наверх | Cообщить модератору

263. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от анонимчик (?), 27-Апр-22, 10:06 
в общем главное чтобы sway не скатился.
Ответить | Правка | Наверх | Cообщить модератору

152. "Дрю ДеВолт представил язык системного программирования Hare"  –2 +/
Сообщение от Аноним (152), 25-Апр-22, 22:45 
Куда уж проще чем С? Совсем что-ли?
Ответить | Правка | Наверх | Cообщить модератору

184. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от Аноним (18), 26-Апр-22, 06:10 
В Си !было не!достаточно восклица!тельных знаков!
Ответить | Правка | Наверх | Cообщить модератору

187. "Дрю ДеВолт представил язык системного программирования Hare"  –2 +/
Сообщение от Аноним (186), 26-Апр-22, 07:56 
эти унылые изобретатели ещё одного убийцы раст и питона не видят разницы между С и С++. питон сделал их очень крутыми программистами.
Ответить | Правка | К родителю #152 | Наверх | Cообщить модератору

166. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от Аноним (166), 26-Апр-22, 00:11 
Очередной Zimbu.
Ответить | Правка | Наверх | Cообщить модератору

188. "Дрю ДеВолт представил язык системного программирования Hare"  –1 +/
Сообщение от Аноним12345 (?), 26-Апр-22, 08:19 
Не взлетит
Ответить | Правка | Наверх | Cообщить модератору

189. "Дрю ДеВолт представил язык системного программирования Hare"  –1 +/
Сообщение от ng (ok), 26-Апр-22, 08:25 
> полное доверие к действиям программиста (выполнять именно то, что указано, без самодеятельности и неявного поведения)

<сарказм>

Дарю Дефолт (Drew DeVault), автор < ... > Свой (Sway) < ... > представил < ... > Харе (Hare)

</сарказм>

Ответить | Правка | Наверх | Cообщить модератору

192. "Дрю ДеВолт представил язык системного программирования Hare"  –6 +/
Сообщение от Аноним (192), 26-Апр-22, 09:37 
Эм, посмотрел на пример, это какой-то Rust:)
И врямь, что только не делают лишь бы должным образом не изучать Си:)
Ответить | Правка | Наверх | Cообщить модератору

202. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от Аноним (202), 26-Апр-22, 12:10 
Дрю и Ко запилили свой язык с префирансом и поэтесами (потому что может). Но тут же примчали хейтеры и давай этому Дрю делать большое дрю. Вопрос: с герани?!!! В школьную программу "заю" не добавили, что так возбуждатся?!
Ответить | Правка | Наверх | Cообщить модератору

220. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от Vacu923ek (ok), 26-Апр-22, 13:15 
Нельзя плодить г0вн0 просто "потому что можем". Любые попытки плюнуть в вечность должны быть как минимум ПРОФЕССИОНАЛЬНЫМИ, обоснованными и реально двигающими прогресс. А запилить "ещё одну сишечку" много ума не надо, благо 20 век дал сотни через-жо-пу-вывернутых языков.
Сейчас время перехода от количества к качеству, много языков умерло как раз поэтому - де6uльные концепции отмирают сами собой. И что на этом фоне может предложить "заяц"?? Обилие :::: ?
Ответить | Правка | Наверх | Cообщить модератору

225. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от Аноним (225), 26-Апр-22, 13:36 
Это сарказм или вы просто наркоман?
Ответить | Правка | Наверх | Cообщить модератору

204. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от Vacu923ek (ok), 26-Апр-22, 12:34 
фуфло, а не язык - перед Си ВООБЩЕ НИКАКИХ преимуществ! Язык ради языка. И бесконечные ::::::: - нафуа???
Ответить | Правка | Наверх | Cообщить модератору

227. "Дрю ДеВолт представил язык системного программирования Hare"  –1 +/
Сообщение от ананоша (?), 26-Апр-22, 13:45 
Игрался с ним пару недель назад, какой-то кастрированный зиг получился, не уверен что у него есть шансы
Ответить | Правка | Наверх | Cообщить модератору

234. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от Аноним (5), 26-Апр-22, 16:41 
Кто-то уже группу в тг сделал.
Ответить | Правка | Наверх | Cообщить модератору

235. "Дрю ДеВолт представил язык системного программирования Hare"  –1 +/
Сообщение от Amonra (?), 26-Апр-22, 18:14 
Уже более 8 тысяч языков программирования придумали после Ады Лавлейс... Может, уже харэ? ах, да, Харэ - это теперь ещё один язык из 8 тысяч... Зараза заразная заражает...
Ответить | Правка | Наверх | Cообщить модератору

237. "Дрю ДеВолт представил язык системного программирования Hare"  –1 +/
Сообщение от Ю.Т. (?), 26-Апр-22, 19:15 
> Уже более 8 тысяч языков программирования придумали после Ады Лавлейс...

Серьёзно?? Это больше, чем естественных. )))
(Тех под 7 тысяч, да и то со всеми долинами Новой Гвинеи и реки Нигер.)


Ответить | Правка | Наверх | Cообщить модератору

247. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от Аноним (247), 26-Апр-22, 22:21 
Интересно будет ли он переписывать на нем sourcehut? Там сейчас переход python -> go
Ответить | Правка | Наверх | Cообщить модератору

292. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от Аноним (292), 27-Апр-22, 22:52 
> Интересно будет ли он переписывать на нем sourcehut? Там сейчас переход python -> go

Что, и он тоже? Походу питономакакокапец в разгаре. Может на этом фоне и пришла идея языка, который был бы как сишка которая DeValt'у нравится, но с некоторыми совремнными фичами из других. А что, сама по себе идея вполне рациональная.

Ответить | Правка | Наверх | Cообщить модератору

254. "Дрю ДеВолт представил язык системного программирования Hare"  +1 +/
Сообщение от Вы забыли заполнить поле Name (?), 27-Апр-22, 04:54 
В C аналога defer не хватает. Обычно используют метки и goto, но они в конце функции, а хочется, чтобы было рядом с местом "аллокации" ресурса.
Ответить | Правка | Наверх | Cообщить модератору

266. "Дрю ДеВолт представил язык системного программирования Hare"  +2 +/
Сообщение от n00by (ok), 27-Апр-22, 10:57 
Вроде бы был такой proposal в комитет по стандартизации, и его отклонили/отложили. Сходу не нашёл подробности, было похоже на это https://hal.inria.fr/hal-03090771/document
Ответить | Правка | Наверх | Cообщить модератору

259. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от bOOster (ok), 27-Апр-22, 08:28 
Жесткая помесь Паскаля, бейсика, С....
Ответить | Правка | Наверх | Cообщить модератору

270. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от Аноним (270), 27-Апр-22, 13:58 
>но проще, чем Си
>неймспейсы
>let без scope
>паскалятинка

Опять мусора в язык напихали и говорят, что проще. Почему у каждого любителя ХМ в голове живёт js?

Ответить | Правка | Наверх | Cообщить модератору

274. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от Вы забыли заполнить поле Name (?), 27-Апр-22, 16:01 
Почему js? Автор много пишет на go, поэтому скорее его влияние присутствует.
Ответить | Правка | Наверх | Cообщить модератору

286. "Дрю ДеВолт представил язык системного программирования Hare"  –1 +/
Сообщение от Аноним (-), 27-Апр-22, 19:11 
И именно поэтому у автора проклёвывается let без части in, как это есть в js и вроде бы как в go нет. Клозетных джаваскриптеров за версту видно.
Ответить | Правка | Наверх | Cообщить модератору

287. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от Аноним (-), 27-Апр-22, 19:16 
Надо уже взять и расставить все точки на си. Сделать компилятор из s-выражений на типа сишечном синтаксисе и лисповых макросах. Вуаля, раст, зиг, ви, харэ и прочий хайль становятся резко переоценёнными.
Ответить | Правка | Наверх | Cообщить модератору

295. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от Аноним (-), 27-Апр-22, 23:07 
> Надо уже взять и расставить все точки на си. Сделать компилятор из
> s-выражений на типа сишечном синтаксисе и лисповых макросах. Вуаля, раст, зиг,
> ви, харэ и прочий хайль становятся резко переоценёнными.

Да в сишке препроцессор так то есть, загугли "какой-то козел стал чих пых". Правда, это только в студии катило с русским, но на инглише можно зажечь.

Ответить | Правка | Наверх | Cообщить модератору

308. "Дрю ДеВолт представил язык системного программирования Hare"  +1 +/
Сообщение от Аноним (-), 28-Апр-22, 16:03 
>Да в сишке препроцессор так то есть

Макросы лиспа - это прокачанный препроцессор, в котором можно нарисовать свой control flow и кучу фич. И на генсимычах можно генерировать не пересекающиеся имена. Так-то да, я через бэкслеш могу навешать foreach-и и так далее, но лиспомакросы имеют доступ не просто к тексту, а к AST. И в AST лезть - по этой задаче проще лиспа нет никого.
Т.е. если некоторым хочется прокачанного си, пускай берут представление на s-выражениях, где можно залезть в ast, а не эти попытки запилить ещё один раст с очередным contributor covenant, типа безопасностью и апелляцией к вчерашним фронтендерам.

Ответить | Правка | Наверх | Cообщить модератору

326. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от Аноним (-), 29-Апр-22, 18:12 
Лично мне синтаксис S-выражений кажется уродским и невыразительным, так что спасибо но нет.

А если прогер будет сильно перепахивать яп под себя, будет хуже чем у плюсеров где каждый пишет на своем субдиалекте, поэтому взяв проект вон того придурка поди вообще в нем разберись...

Так что сильно увлекаться такими вещами ну нафиг, такие проекты потом не подлежат совместной разработке и долговременному майнтенансу. Упражнизмы для концептуалов-наколенщиков. Лучше резьбой по дереву займитесь или вышиванием, так от вашего самовыражения вреда окружающим меньше.

Ответить | Правка | Наверх | Cообщить модератору

340. "Дрю ДеВолт представил язык системного программирования Hare"  –2 +/
Сообщение от Vacu923ek (ok), 30-Апр-22, 16:03 
>И в AST лезть - по этой задаче проще лиспа нет никого.

Сам ЛИСП - концептуальный уродец, на котором можно писать лишь одноэкранники, да и те - ради понтов. Если уж по локти в АСТ, то лучше брать Немерле.

Ответить | Правка | К родителю #308 | Наверх | Cообщить модератору

341. "Дрю ДеВолт представил язык системного программирования Hare"  +1 +/
Сообщение от Аноним (26), 01-Май-22, 03:43 
> Сам ЛИСП - концептуальный уродец

По этой фразе однозначно можно отделить тех, кто понимает Лисп и умеет программировать от тех, кто заблудился в профессии. Ты, например, из последних.

Ответить | Правка | Наверх | Cообщить модератору

342. "Дрю ДеВолт представил язык системного программирования Hare"  –1 +/
Сообщение от Vacu923ek (ok), 01-Май-22, 13:23 
>> Сам ЛИСП - концептуальный уродец
> По этой фразе однозначно можно...

По твоим подростковым диагнозам можно однозначно сказать - ты ещё салага в ИТ и все твои понты только и держатся на знакомстве с парой экзотичных языков. Чем ты тут гордишься - непонятно, твоих достижений тоже не видно. Так что иди к мамке и скажи, что 3@дротов в сети никто не любит.

Ответить | Правка | Наверх | Cообщить модератору

344. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от n00by (ok), 02-Май-22, 08:07 
Откройте для себя 10-е правило Гринспена. Я, например, без вот этих всех выступлений могу честно признаться, что лямбда-исчисление Чёрча для меня слишком сложно, а пару лисп-машин не дописал и отправил в мусор, поскольку один раз получился жабоскрипт, а второй -- невесть что. ;)
Ответить | Правка | Наверх | Cообщить модератору

352. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от Vacu923ek (ok), 02-Май-22, 11:41 
> Откройте для себя 10-е правило Гринспена. Я, например, без вот этих всех
> выступлений могу честно признаться, что лямбда-исчисление Чёрча для меня слишком сложно

Лисп - это не сложно. Это КОНЦЕПЦИЯ. Причём концепция ещё самого расцвета ИТ, когда любые бредовые идеи шли сразу в байты. Но для промышленного программинга ЛИСП оказался слишком вычурным и крайне неудобным в сопровождении (особенно если использовать главный козырь ЛИСПа - генерация кода). Так что я как бы понимаю всю ущербность ЛИСПа, а говнонимус хочет опять неизвестно кому показать, как он крут. Даже непонятно, смеяться тут или сразу лечить.

Ответить | Правка | Наверх | Cообщить модератору

355. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от n00by (ok), 03-Май-22, 14:45 
>> Откройте для себя 10-е правило Гринспена. Я, например, без вот этих всех
>> выступлений могу честно признаться, что лямбда-исчисление Чёрча для меня слишком сложно
> Лисп - это не сложно. Это КОНЦЕПЦИЯ.

Лямбда Чёрча - это не язык с названием "процессор списков".

> Даже непонятно, смеяться тут или
> сразу лечить.

Ответить | Правка | Наверх | Cообщить модератору

351. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от Michael Shigorinemail (ok), 02-Май-22, 11:38 
>>И в AST лезть - по этой задаче проще лиспа нет никого.
> Сам ЛИСП - концептуальный уродец, на котором можно писать лишь одноэкранники,
> да и те - ради понтов.

Вы со своими "двадцатью языками" -- молодой гуманитарий.
Можете спорить, можете не спорить, но математик из Вас никакой.
Вы сами это только что и написали (заодно поспорив с фактами, но это уже лишь довесок).

> Если уж по локти в АСТ, то лучше брать Немерле.

Дотнетчики никогда не понимали ФП действительно хорошо, допуская фундаментальные косяки.
А що немерле -- то немерле, тут уж "как вы яхту назовёте".

Ответить | Правка | К родителю #340 | Наверх | Cообщить модератору

353. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от Vacu923ek (ok), 02-Май-22, 11:43 
> Вы со своими "двадцатью языками" -- молодой гуманитарий.

Нда... уровень аргументации - даже не гуманитарий, а где-то уровня "а я тебе сейчас куличики сломаю"! Иди уже проспись, болезный.

>> Если уж по локти в АСТ, то лучше брать Немерле.
> Дотнетчики никогда не понимали ФП действительно хорошо, допуская фундаментальные косяки.
> А що немерле -- то немерле, тут уж "как вы яхту назовёте".

Ну да. Ещё один аргумент того же уровня. Ты точно не с похмелья вылез тут комментить, милейший?

Ответить | Правка | Наверх | Cообщить модератору

363. "Дрю ДеВолт представил язык системного программирования Hare"  +/
Сообщение от Аноним (362), 09-Ноя-22, 09:08 
ну так сделай, чего ждёшь?
Ответить | Правка | К родителю #287 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру