The OpenNET Project / Index page

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



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

"Выпуск языка программирования Hare 0.24.2"  +/
Сообщение от opennews (??), 16-Июл-24, 12:07 
Дрю ДеВолт (Drew DeVault), автор пользовательского окружения Sway, почтового клиента Aerc и платформы совместной разработки SourceHut, опубликовал выпуск языка программирования Hare 0.24.2 (номер версии образован как 0.YY.Q, где YY - две последние цифры года, а Q - номер квартала). Hare преподносится как язык системного программирования, близкий к языку Си, но проще, чем Си. Исходный код компилятора и инструментария распространяются под лицензией GPLv3, а код стандартной библиотеки под лицензией MPL (Mozilla Public License)...

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

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

Оглавление

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


1. "Выпуск языка программирования Hare 0.24.2"  –6 +/
Сообщение от Аноним (1), 16-Июл-24, 12:07 
То же самое что TypeScript для JavaScript.
Ответить | Правка | Наверх | Cообщить модератору

2. "Выпуск языка программирования Hare 0.24.2"  +26 +/
Сообщение от Аноним (2), 16-Июл-24, 12:12 
Посмотрел примеры хело ворлда на их сайте и понял, что этот язык мертворождён.

Не постите больше о нём новости.

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

11. "Выпуск языка программирования Hare 0.24.2"  +1 +/
Сообщение от нах. (?), 16-Июл-24, 12:36 
что-то вот да. Потянуло хрустом с тем же закорючко-синтаксисом но без борова.

А зачем нам неудобочитаемые закорючки вместо си - непонятно.

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

24. "Выпуск языка программирования Hare 0.24.2"  +4 +/
Сообщение от Аноним (1), 16-Июл-24, 12:53 
Это как молодёжь говорит на своём языке. Программировать они тоже хотят на своём. Но у них на получается.
Ответить | Правка | Наверх | Cообщить модератору

27. "Выпуск языка программирования Hare 0.24.2"  +/
Сообщение от нах. (?), 16-Июл-24, 12:57 
дрюша конечно молод душой, но помогите деду отмотать седую бороду от ножки стола.

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

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

159. "Выпуск языка программирования Hare 0.24.2"  +/
Сообщение от Аноним (159), 17-Июл-24, 18:32 
Это круче JCL с PL/I?
Ответить | Правка | Наверх | Cообщить модератору

161. "Выпуск языка программирования Hare 0.24.2"  +1 +/
Сообщение от ДругойАнон (?), 17-Июл-24, 18:49 
> Это круче JCL с PL/I?

Пример:

ConvexHull←{
⍝ ⍵: matrix (2 rows) of points - first row:abscissae  second row:ordinates
⍝ return: matrix (2 rows) of points of convex hull

⍝ try:  ConvexHull ⍉9 2⍴1 0,1 ¯10,3 3,2 1,6 3,1 6,3 1,6 1,9 0

     ⎕IO←0
     pts←(⊂⍋⊃↓⍵)⌷[1]⍵                        ⍝sort by x-values:first point←→start vertex
     phs←{                                   ⍝ 12○⍵ polar phase ○¯1>≥○1.  see DFNS
         x y←⊂[1↓⍳⍴⍴⍵]⍵                      ⍝ x and y coordinates.
         x0 xn←1 0=⊂0=x                      ⍝ points on/off y axis.
         top←(x0×○0.5)+xnׯ3○(|y)÷x+x0       ⍝ upper quadrants.
         (0∨.≠⍵)×(1-2×y<0)×top+○x<0          ⍝ other quadrants.
     }
     angles←phs(0 1↓pts)-[0]0⌷[1]pts         ⍝phases(radians) of the vectors
     ixStart←0,1+⊃angles⍳⌊/angles            ⍝start with indexes of first segment
     ixHull←{
         ix0 ix1←¯2↑⍵                        ⍝ix1: index of last point←→last vertex
         v←{⍵+(⍵<0)×○2}phs pts-[0]ix1⌷[1]pts ⍝phases with respect to the last vertex
         other←(⍳1↓⍴pts)~ix0 ix1             ⍝indexes of other points
         angles←|(ix0⊃v)-(⊂other)⌷v              ⍝       _______/\_______
         angles←{f←⍵>○1 ⋄ (⍵×~f)+f×-⍵-○2}angles  ⍝angles (p0-p1)  (p1-px)
         ⍵,(angles⍳⌈/angles)⊃other           ⍝new vertex is where angle is largest
     }⍣{
         0=⊃⌽⍺                               ⍝repeat until first and last vertex coincide
     }ixStart
     (⊂ixHull)⌷[1]pts
}

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

169. "Выпуск языка программирования Hare 0.24.2"  +/
Сообщение от Аноним (169), 17-Июл-24, 23:20 
Этакий предок MATLAB'а с уклоном в функциональщину и тотемные столбы (⍝?).

Что создатель - Кеннет Айверсон - нашёл в идее "1 функция - 1 символ"? Он сделал новые символы для известных математических операций, ln - слишком длинно, поэтому натуральный логарифм там ⍟.

Но некоторые его изобретения (floor, ceil и iota) прижились.

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

178. "Выпуск языка программирования Hare 0.24.2"  +/
Сообщение от Аноним (178), 18-Июл-24, 05:42 
> Вы еще бородатый APL не видели

Зато, вот, нашлось тут... https://gist.github.com/fogus/9fd771e38c561d868216725dc67e0f57 :)

Да, кто-то натурально сделал из сишки ну вот реально ООП с классами, new, и проч. ЧСХ сишку так можно расширить средствами яп. А почему хари и хрусты на каждый пшик компилер переделывать идут? Гениальности архитектам не хватило? Бывает, кули.

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

28. "Выпуск языка программирования Hare 0.24.2"  +/
Сообщение от Аноним (-), 16-Июл-24, 12:59 
> А зачем нам неудобочитаемые закорючки вместо си - непонятно.

Хм, потому что СИ это просто свалка костылей и UB?
И да, в сишном коде хватает закорючек, если добавить еще то дырени будут находится каждые два-три дня

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

35. "Выпуск языка программирования Hare 0.24.2"  –1 +/
Сообщение от Аноним (35), 16-Июл-24, 13:39 
> свалка костылей и UB?

Путаешь с С++.

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

39. "Выпуск языка программирования Hare 0.24.2"  +7 +/
Сообщение от Аноним (39), 16-Июл-24, 13:47 
мало того, что сишка почти целиком состоит из UB, так еще чтобы их все вызубрить, придется покупать стандарт сишки, потому что бесплатно его не достать. Еще раз: платишь бабки, а получаешь pdf, в котором на каждой странице undefined behavior. Прикольный стандарт, правда?
Ответить | Правка | Наверх | Cообщить модератору

41. "Выпуск языка программирования Hare 0.24.2"  –2 +/
Сообщение от Аноним (35), 16-Июл-24, 13:58 
Это опять про С++. Чистая сишка кристально ясна.
Ответить | Правка | Наверх | Cообщить модератору

53. "Выпуск языка программирования Hare 0.24.2"  +2 +/
Сообщение от Аноним (-), 16-Июл-24, 14:19 
> Это опять про С++. Чистая сишка кристально ясна.

Может та которая был от K и Р.
Даже 99 это просто груда костылей.
Ну и писаки тоже хороши, что-то не кастится? void* спасет всех!

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

137. "Выпуск языка программирования Hare 0.24.2"  +1 +/
Сообщение от Аноним (-), 17-Июл-24, 07:00 
> Даже 99 это просто груда костылей.

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

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

142. "Выпуск языка программирования Hare 0.24.2"  +/
Сообщение от Прохожий (??), 17-Июл-24, 07:39 
>>> Даже 99 это просто груда костылей.
>Ну тогда какой-нибудь хруст это вообще чистый и дистиллированый апокалиптец

Почему? Что ты бы назвал костылем в Rust?

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

157. "Выпуск языка программирования Hare 0.24.2"  –1 +/
Сообщение от Аноним (-), 17-Июл-24, 15:44 
> Почему? Что ты бы назвал костылем в Rust?

Вон там try_* для линукскернела сгородили. Надо же, при попытке прогать для кернела для wannabe-системного-яп дошло наконец почему сишники это делали - вот так. А не вон так что нате вам panic и что хотите то и делайте, зато безопасно. Конечно, ОС с упавшим в панику ядро и правда не хакнут, но радости с того? И это азы управления памятью, ать-ать-ать.

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

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

166. "Выпуск языка программирования Hare 0.24.2"  +/
Сообщение от Аноним (166), 17-Июл-24, 21:02 
>> Почему? Что ты бы назвал костылем в Rust?
> Вон там try_* для линукскернела сгородили. Надо же, при попытке прогать для
> кернела для wannabe-системного-яп дошло наконец почему сишники это делали - вот

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


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

170. "Выпуск языка программирования Hare 0.24.2"  +/
Сообщение от Аноним (-), 17-Июл-24, 23:39 
> Не, просто ты, как обычно - что-то, где-то прочитал опой и с
> какого-то перепугу решил, что ядерный аллокатор с "другим" (отличным от юзерспейса)
> интерфейсом - костыли.

Во первых, они вроде как в вооооон той версии сподвиглись аллокатор таки - докостылить. Не прошло и 10 лет.

Во вторых, изменение с try_ для всяких box и проч - именно костыль! Ибо не было в начальной логике ЯП, а потом - заметили что лажа вышла и отыграли решения взад, вернув логику "как у сишечки" по сути. Потому что иначе в системщине - фигня получается, если безопасТно улетать в панику при первом же OOM почему-то не катило. Ну что, пчелы против меда, оказывается, с этим какая-то подстава была? ЗатобезопасТно вылетающий в панику на первой ошибке аллокации кернел почему-то народу не нравится :).

Осталось теперь еще объяснить - чем это отличалось по логике действа от *alloc + проверок, кроме того что сделано как костыль через ж@пу, но эффект ровно тот же.

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

189. "Выпуск языка программирования Hare 0.24.2"  +/
Сообщение от Аноним (166), 18-Июл-24, 21:59 

> Во первых, они вроде как в вооооон той версии сподвиглись аллокатор таки
> - докостылить. Не прошло и 10 лет.
> Во вторых, изменение с try_ для всяких box и проч - именно
> костыль! Ибо не было в начальной логике ЯП, а потом -

Проблемка в том, что все это - до сих пор общедоступно и легко проверяется:
https://lore.kernel.org/lkml/20220805154231.31257-9-ojeda�.../
> This customizes the subset of the Rust standard library `alloc` that

was just imported as-is, mainly by:
> Adding fallible (`try_*`) versions of existing infallible methods

Поэтому я и говорю - прекрати читать <этим самым>, попробуй - глазками. А то у тебя "логика ЯП" в стд-либе для юзверь-спейса оказалсь и прочие "перлы" ...

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

60. "Выпуск языка программирования Hare 0.24.2"  +2 +/
Сообщение от Аноним (-), 16-Июл-24, 14:46 
> Это опять про С++. Чистая сишка кристально ясна.

О! Это не ыксперт, а Ыкспертище!
Просто открываешь ту кучу, что по недоразумению называется стандартом, www.dii.uchile.cl/~daespino/files/Iso_C_1999_definition.pdf
Ищешь там слова undefined behavior.
Просветляешься.

Некотрые даже собрали это в список (наверное было много свободного времени))
gist.github.com/Earnestly/7c903f481ff9d29a3dd1

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

151. "Выпуск языка программирования Hare 0.24.2"  +/
Сообщение от a (??), 17-Июл-24, 12:47 
Смешно.
https://thephd.dev/conformance-should-mean-something-fputc-a...
Ответить | Правка | К родителю #41 | Наверх | Cообщить модератору

70. "Выпуск языка программирования Hare 0.24.2"  +1 +/
Сообщение от YetAnotherOnanym (ok), 16-Июл-24, 16:15 
> pdf, в котором на каждой странице undefined behavior

Ты, конечно же, можешь привести хотя бы десяток примерв с указанием идущих подряд номеров страниц этого pdf?

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

115. "Выпуск языка программирования Hare 0.24.2"  +/
Сообщение от голос из леса (?), 16-Июл-24, 21:03 
gist.github.com/Earnestly/7c903f481ff9d29a3dd1
Ответить | Правка | Наверх | Cообщить модератору

124. "Выпуск языка программирования Hare 0.24.2"  –1 +/
Сообщение от YetAnotherOnanym (ok), 16-Июл-24, 23:24 
> gist.github.com/Earnestly/7c903f481ff9d29a3dd1

Ну, давай разберём хотя бы первый пункт этого "списка".
> C99 List of Undefined Behavior
> From N1256: (See http://port70.net/~nsz/c/c99/n1256.html#J.2)
> A "shall" or "shall not" requirement that appears outside of a constraint is violated (clause 4).

Пункт 4.2 полностью выглядит так:
> If a ‘‘shall’’ or ‘‘shall not’’ requirement that appears outside of a constraint is violated, the behavior is undefined.

Чтобы понять его смысл, необходимо прочесть пункт 4.1, в котором определены понятия "shall" и "shall not":
> In this International Standard, ‘‘shall’’ is to be interpreted as a requirement on an implementation or on a program; conversely, ‘‘shall not’’ is to be interpreted as a prohibition.

В переводе на общепонятный п. 4.2 означает: Если "implementation or program" нарушает требования настоящего стандарта, то уже не имеет значения, как именно они работают, и стандарт никак не определяет поведение продуктов, в которых он не соблюдается.
Дальше, извини, читать не стал.

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

68. "Выпуск языка программирования Hare 0.24.2"  +/
Сообщение от Аноним (68), 16-Июл-24, 15:43 
А назовёшь хотя бы три C++-специфичных кейса UB? Нет, весь UB растёт именно из C. И в C при этом нет никаких способов их обходить, как-то автоматическое управление памятью, checked math, да и вообще банальный range based for loop.
Ответить | Правка | К родителю #35 | Наверх | Cообщить модератору

89. "Выпуск языка программирования Hare 0.24.2"  +/
Сообщение от Аноним (89), 16-Июл-24, 17:46 
union {
    float f;
    i32 I;
}
Например ок в С и не ок в с++.
Ответить | Правка | Наверх | Cообщить модератору

95. "Выпуск языка программирования Hare 0.24.2"  +/
Сообщение от Аноним (95), 16-Июл-24, 18:23 
Это не UB, а разница между разными языками программирования. UB - это неопределённое поведение. А здесь оно чётко определено.
Ответить | Правка | Наверх | Cообщить модератору

110. "Выпуск языка программирования Hare 0.24.2"  +/
Сообщение от Аноним (35), 16-Июл-24, 20:26 
Ага, определено так что С++ компилятор может скомпилировать нормально, а может херню выдать - никакой гарантии нет, использовать union в С++ просто нельзя, но в языке есть. Хотя пока вроде как работает. Но это не точно.
Ответить | Правка | Наверх | Cообщить модератору

109. "Выпуск языка программирования Hare 0.24.2"  +1 +/
Сообщение от Аноним (109), 16-Июл-24, 20:17 
а чо в с++ будет с этим?
Ответить | Правка | К родителю #89 | Наверх | Cообщить модератору

98. "Выпуск языка программирования Hare 0.24.2"  +/
Сообщение от Совершенно другой аноним (?), 16-Июл-24, 18:35 
Вообще, в C23, который должен скоро выйти, checked math завезли.
Ответить | Правка | К родителю #68 | Наверх | Cообщить модератору

102. "Выпуск языка программирования Hare 0.24.2"  –1 +/
Сообщение от Аноним (-), 16-Июл-24, 18:46 
> Вообще, в C23, который должен скоро выйти, checked math завезли.

А в ядре он появится когда? Лет через 10?
От окамемевшего С89 отказались только в 2021 году. 2021 год, Карл!
Так что С23 стоит ждать где-то в году 35м. Если доживем, конечно.

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

143. "Выпуск языка программирования Hare 0.24.2"  +/
Сообщение от Совершенно другой аноним (?), 17-Июл-24, 08:47 
> > А в ядре он появится когда? Лет через 10?

От окамемевшего С89 отказались только в 2021 году. 2021 год, Карл!

Э... ну это вопрос, наверное, к Линусу, почему он там не хотел раньше переходить. Может, потому, что хватало того самого минимума из С89, а чего не хватало - специалисты уровня разработчиков ядра ОС вполне себе могут сами реализовать в любом удобном им виде.

Например, нестандартные checked math в виде builtin-ов существуют как минимум с версии gcc 5.1.0 (https://gcc.gnu.org/onlinedocs/gcc-5.1.0/gcc/Integer-Overflo...). А возможно и в более ранних версиях. Как минимум есть подозрение, что с версии gcc 5.0. А до того делались, скорее всего, ассемблерными вставками, для архитектуры x86, например:

static inline int __builtin_sadd_overflow(int a, int b, int *c)
{
  _Bool p;

  asm __volatile__("addl %2, %0\n\tseto %1" : "+g"(a) , "=g"(p) : "g"(b));

  *c = a;

  return p;
}

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

static inline int __builtin_sadd_overflow(int a, int b, int *c)
{
  *c = a + b;
  return (((*c ^ a) & (*c ^ b)) < 0);
}

Из того, что добавили в С99 по сравнению с C89, как по мне, это разве что designated initializers очень удобная вещь и составные константы, хотя второе уже сильно на любителя, ещё стандартизировали inline. Остальное, не очень то и нужно, особенно в разных ядрах ОС.

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

156. "Выпуск языка программирования Hare 0.24.2"  +/
Сообщение от Аноним (-), 17-Июл-24, 15:38 
> От окамемевшего С89 отказались только в 2021 году. 2021 год, Карл!

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

> Так что С23 стоит ждать где-то в году 35м. Если доживем, конечно.

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

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

71. "Выпуск языка программирования Hare 0.24.2"  +1 +/
Сообщение от YetAnotherOnanym (ok), 16-Июл-24, 16:22 
Ещё один неосилятор Си, которому виноваты все, от K&R до ISO/IEC WG14 в полном составе.
Ответить | Правка | К родителю #28 | Наверх | Cообщить модератору

78. "Выпуск языка программирования Hare 0.24.2"  –1 +/
Сообщение от Аноним (78), 16-Июл-24, 16:45 
> Ещё один неосилятор Си, которому виноваты все, от K&R до ISO/IEC WG14 в полном составе.

Какой громкий пук!
Просто восхитительно.

Для того чтобы говорить "нужник вида 'дырка в земле' это устарело" не нужно им пользоваться массово.
Достаточно одного раза.
Мне, к сожалению, довелось писать под СИ лет десять назад. Много кода.
Ночные забеги с дебагом тк кто-то нагадил в память, ну удовольствия в этом мало.
Слава богу машине, свалил из этого болота.


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

106. "Выпуск языка программирования Hare 0.24.2"  +/
Сообщение от YetAnotherOnanym (ok), 16-Июл-24, 19:17 
> кто-то нагадил в память

Вот-вот.

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

108. "Выпуск языка программирования Hare 0.24.2"  +1 +/
Сообщение от vitalif (ok), 16-Июл-24, 19:52 
Сам и нагадил))
Ответить | Правка | Наверх | Cообщить модератору

139. "Выпуск языка программирования Hare 0.24.2"  +1 +/
Сообщение от Прохожий (??), 17-Июл-24, 07:13 
“Вот-вот“ означает, что с тобой бы такого никогда не случилось? Все профессиональные системные программисты на Си - лохи, один ты д'Артаньян?
Ответить | Правка | К родителю #106 | Наверх | Cообщить модератору

136. "Выпуск языка программирования Hare 0.24.2"  +1 +/
Сообщение от Илья (??), 17-Июл-24, 03:09 
А есть смысл осилять? Можно же просто взять Раст или с#
Ответить | Правка | К родителю #71 | Наверх | Cообщить модератору

140. "Выпуск языка программирования Hare 0.24.2"  +/
Сообщение от Прохожий (??), 17-Июл-24, 07:16 
Проблема в том, что огромное количество местных экспертов едва-едва Си осилили. А ты им куда более сложные языки программирования предлагаешь освоить.
Ответить | Правка | Наверх | Cообщить модератору

186. "Выпуск языка программирования Hare 0.24.2"  +/
Сообщение от Аноним (186), 18-Июл-24, 21:10 
>Потянуло хрустом с тем же закорючко-синтаксисом но без борова.

Уровень познания языка: споткнулись на синтаксисе. Раст есть за что ругать, но ситнаксис - едва ли не последняя вещь.

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

19. "Выпуск языка программирования Hare 0.24.2"  +4 +/
Сообщение от ИмяХ (ok), 16-Июл-24, 12:49 
Не совсем мертворожден, но судя по логотипу людей написавших сойдут с ума
Ответить | Правка | К родителю #2 | Наверх | Cообщить модератору

48. "Выпуск языка программирования Hare 0.24.2"  +/
Сообщение от Аноним (48), 16-Июл-24, 14:11 
Но Hare позволяет достичь до максимальной производительности!
Ответить | Правка | К родителю #2 | Наверх | Cообщить модератору

141. "Выпуск языка программирования Hare 0.24.2"  +/
Сообщение от Прохожий (??), 17-Июл-24, 07:19 
Анониму (65). А в чем ты здесь видишь проблему?
Ответить | Правка | Наверх | Cообщить модератору

144. "Выпуск языка программирования Hare 0.24.2"  +/
Сообщение от Прохожий (??), 17-Июл-24, 09:15 
Не позволяет, потому что основан на qbe, который, в свою очередь, по заявлению авторов языка генерирует код на 25-75% более медленный, чем LLVM.
Ответить | Правка | К родителю #48 | Наверх | Cообщить модератору

65. Скрыто модератором  +6 +/
Сообщение от Аноним (65), 16-Июл-24, 15:09 
Ответить | Правка | К родителю #2 | Наверх | Cообщить модератору

174. Скрыто модератором  –2 +/
Сообщение от Аноним (174), 18-Июл-24, 01:36 
Ответить | Правка | Наверх | Cообщить модератору

3. "Выпуск языка программирования Hare 0.24.2"  +2 +/
Сообщение от zeecape (ok), 16-Июл-24, 12:14 
Hare плодить не нужные языки. С - для старых профи. С++ - для молодых профи. Rust - для зумеров пока-не-но-скоро-станут-профи.
Ответить | Правка | Наверх | Cообщить модератору

34. "Выпуск языка программирования Hare 0.24.2"  –3 +/
Сообщение от Аноним (39), 16-Июл-24, 13:36 
Си - для любителей повылазить за буфер (других профи у меня для вас нет).
Ответить | Правка | Наверх | Cообщить модератору

42. "Выпуск языка программирования Hare 0.24.2"  +/
Сообщение от Аноним (42), 16-Июл-24, 14:00 
И часто линукс у вас вылазит за буфер? И в целом, какой софт такое часто делает? Мне кажется что программы на С вполне быстры и с отказоустойчивостью там вроде вполне нормально все. Не чаще случаются ошибки такие как переполнение буфера чем и на других языках.Это уже от программиста зависит больше.
Ответить | Правка | Наверх | Cообщить модератору

61. "Выпуск языка программирования Hare 0.24.2"  +/
Сообщение от Аноним (-), 16-Июл-24, 14:56 
А сколько раз в неделю нужно чтобы сказать часто)?

Вот типичнейший пример
opennet.ru/opennews/art.shtml?num=59867
запись значения за пределы выделенного буфера -> права root в большинстве дистрибутивов Linux

Типичная дыряшка.

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

72. "Выпуск языка программирования Hare 0.24.2"  +/
Сообщение от Аноним (72), 16-Июл-24, 16:24 
Если я постоянно попадаю молотком по пальцам — то вроде бы и сам виноват. Но если после покупки другого молодка ситуация выправляется — повод задуматься о разнице между молотками.
Ответить | Правка | К родителю #42 | Наверх | Cообщить модератору

80. "Выпуск языка программирования Hare 0.24.2"  +2 +/
Сообщение от Аноним (-), 16-Июл-24, 17:15 
> Если я постоянно попадаю молотком по пальцам — то вроде бы и сам виноват.
> Но если после покупки другого молодка ситуация выправляется — повод задуматься
> о разнице между молотками.

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

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

А тут все косости и кривости инструмента, определенная категория программеров, выпячивают как достоинства:
"ты только представь, я могу засунуть сверло себе в нос и сделать роскомнадзор!",
"я потерял бур и использовал палочку динамита, теперь через дырку в стенке какиры украли библиотеку пользователя",
"на мой инструмент можно поставить диск от болгарки, и да!, я уверен, что это безопасно"

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

129. "Выпуск языка программирования Hare 0.24.2"  +/
Сообщение от YetAnotherOnanym (ok), 17-Июл-24, 00:01 
> Тут у молотка голова может улететь, просто в зависимости от того в
> какой цвет покрашена ручка и какой там логотип.

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

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

160. "Выпуск языка программирования Hare 0.24.2"  +/
Сообщение от Аноним (-), 17-Июл-24, 18:48 
> У хорошего мастера рукоять молотка выточена из древесины твёрдой породы и точно подогнана под форму отверстия в головке, а сама головка намертво зафиксирована на рукояти плотно вбитым клином.

Да именно так!
СИшка - это молоток у которого ручка может быть из мореного дуба, а может из навоза и соломы.
Кто знает. Ведь в так называемом 'стандарте' написано "ХЗ как сделать, разбирайтесь сами"
Может голова там тоже из пластилина?

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

Слава богу в нормальных языках от такого отказываются.

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

81. "Выпуск языка программирования Hare 0.24.2"  +/
Сообщение от Аноним (-), 16-Июл-24, 17:16 
Я уже молчу про необязательность реализации отдельных модулей.
И при этом называть получившиеся "компилятор С99"
А когда просишь скажите какой опенсорсный компилятор реализует язык полностью, то начинаются какие-то виляния.
А потому что их нет! (с)
en.cppreference.com/w/c/compiler_support
Ответить | Правка | К родителю #72 | Наверх | Cообщить модератору

105. "Выпуск языка программирования Hare 0.24.2"  +/
Сообщение от Совершенно другой аноним (?), 16-Июл-24, 19:15 
К сожалению не всему, что по приведённой Вами ссылке написано можно доверять.

Например для "C99 core language features" есть запись про "Variably-modified (VM) types" (N2778).

Идём на сайт стандарта и смотрим это предложение, для начала на его заголовок:

JTC1/SC22/WG14 - N2778
Title: Variably-Modified Types
Author: Martin Uecker, University of Göttingen
Date: 2021-07-11
      ^^^^^^^^^^

И видим, что оно поступило в 2021 году, и в C99 оно не могло никак попасть. Далее, на сайте стандарта смотрим один из черновиков стандарта С23 - N3096 working draft — April 1, 2023 ISO/IEC 9899:2023 (E), и видим там, что оно применено, в контексте C23.

Далее по существу, если почитать данное предложение, то там предлагают "we propose to make variably-modified types mandatory in C23".

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

123. "Выпуск языка программирования Hare 0.24.2"  +/
Сообщение от Аноним (169), 16-Июл-24, 22:59 
Не-не-не. Доверять можно, смотри в чём дело.

> там предлагают "we propose to make variably-modified types mandatory in C23".

Это не потому что их не было в C99, а потому что их успели сделать необязательными в C11

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

82. "Выпуск языка программирования Hare 0.24.2"  +/
Сообщение от _kp (ok), 16-Июл-24, 17:20 
первый был микроскоп
Ответить | Правка | К родителю #72 | Наверх | Cообщить модератору

96. "Выпуск языка программирования Hare 0.24.2"  +/
Сообщение от Аноним (72), 16-Июл-24, 18:24 
Я понимаю, что при слове «молоток» нужно искромётно пошутить про микроскоп (хотя местные ни того, ни другого в руках не держали), но микроскоп — это тоже инструмент, и он может быть плохим, дрянным и просто опасным для жизни (поинтересуйтесь ускоряющим напряжением у электронного микроскопа).
Ответить | Правка | Наверх | Cообщить модератору

127. "Выпуск языка программирования Hare 0.24.2"  +/
Сообщение от Аноним (127), 16-Июл-24, 23:46 
> при слове «молоток» нужно искромётно пошутить про микроскоп (хотя местные ни того, ни другого в руках не держали)

Стесняюсь спросить. В наше позднесоветское школьное время и молоток в руках держали на трудах и в микроскоп пытались что-то разглядеть на уроках биологии. В постсоветских школах всё это выкинуто?

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

130. "Выпуск языка программирования Hare 0.24.2"  +/
Сообщение от Аноним (72), 17-Июл-24, 00:11 
Уроки труда в 2010 выкинуты. Собираются вернуть, но какое импортозамещённое китайское качество будет у инструментов, могу догадаться.
Ответить | Правка | Наверх | Cообщить модератору

158. "Выпуск языка программирования Hare 0.24.2"  +/
Сообщение от Аноним (158), 17-Июл-24, 15:48 
> Уроки труда в 2010 выкинуты. Собираются вернуть, но какое импортозамещённое китайское качество
> будет у инструментов, могу догадаться.

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

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

175. "Выпуск языка программирования Hare 0.24.2"  +/
Сообщение от Аноним (174), 18-Июл-24, 01:45 
> Уроки труда в 2010 выкинуты

Хоть что-то полезное сделали. И вечно пьяных матерящихся трудовиков, небось, поувольняли к чёртовой матери, аллилуйя.

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

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

179. "Выпуск языка программирования Hare 0.24.2"  +/
Сообщение от Аноним (179), 18-Июл-24, 05:54 
> Я помню что нас на уроках труда то какие-то гвозди заставляли выпрямлять,
> то ржавую проволоку чистить. Не думаю, чтобы у меня была прямо
> совсем уникальная школа.

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

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

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

181. "Выпуск языка программирования Hare 0.24.2"  +/
Сообщение от Совершенно другой аноним (?), 18-Июл-24, 09:00 
>> Я помню что нас на уроках труда то какие-то гвозди заставляли выпрямлять,
>> то ржавую проволоку чистить. Не думаю, чтобы у меня была прямо
>> совсем уникальная школа.
> Мне пару раз в жизни даже доверяли там не очень убитый рубанок.
> Правда, и его все равно сперва пришлось пересобрать до того как
> он заработал. Не, как им орудовать правильно - не показали почти.
> Долбоклюев много, а учитель 1, урок 1 в неделю, на всех
> благодати не хватает хоть тресни. Уделить каждому минуту в неделю -
> да, вы сразу станете столяром экстра класса. Ну и вот на
> что убито время? Не, таким скиллом даже на жрат не заработаешь.

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

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

190. "Выпуск языка программирования Hare 0.24.2"  +/
Сообщение от Аноним (186), 18-Июл-24, 22:10 
У школьников просто рабочие часы бесплатные, и по этому их чем только не нагружают. К выпусному классу школьник(если занимается) уже вполне может сносно коммерчески программировать, как минимум на уровне джуна, паять всякую электронику, рисовать и так далее. Но на практике, большинство выпускников ничего не умеют, зря что ли в школе штаны просиживали?
Ответить | Правка | Наверх | Cообщить модератору

197. "Выпуск языка программирования Hare 0.24.2"  +/
Сообщение от Аноним (-), 25-Июл-24, 19:16 
> Прошу прощения, что вмешиваюсь, но от уроков физики в школе Вы тоже
> ожидали, что Вам дадут знания на уровне чуть ниже Стивена Хокинга,

Поэтому я и считал ту школу по сути бесполезным времяпровождением. Все что они там вещали я и сам в паре книжек прочитал. Да, старый учебник физики и математики, так то, даже и покруче были.

> а на уроках музыки научат сочинять музыку чуть хуже Чайковского?

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

> Вообще-то школа немного не про это, а про то, чтобы дать базис,
> чтобы ребёнок примерно знал про то, что это всё вообще такое
> и имел общее представление о мире.

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

И какую базу я получил возякнув пару раз рубанком - тоже фиг бы его разберет.

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

126. "Выпуск языка программирования Hare 0.24.2"  +/
Сообщение от Аноним (127), 16-Июл-24, 23:38 
> Не чаще случаются ошибки такие как переполнение буфера чем и на других языках.

Но не на всех "других языках". В том же уже набившем оскомину полуторагодичной давности отчете гугловских андроид-разработчиков об использовании раста в разработке системных компонент андроида заявляется, что не допустили ни одной ошибки работы с памятью (т.е. не только выхода за пределы буфера) за несколько лет использования этого самого раста. Даже жирным шрифтом выделили это утверждение: "...To date, there have been zero memory safety vulnerabilities discovered in Android’s Rust code..."

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

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

163. "Выпуск языка программирования Hare 0.24.2"  +/
Сообщение от Аноним (-), 17-Июл-24, 19:00 
Разве?
Во-первых, 70% CVE - это ошибки, от которых рас защищает.
Во-вторых, защищать от остальных (логическая ошибка, копипаста кода) он и не обещал.
Ответить | Правка | Наверх | Cообщить модератору

154. "Выпуск языка программирования Hare 0.24.2"  +/
Сообщение от Серб (ok), 17-Июл-24, 13:16 
И по этому представители google в 2024 году сказали, что в обозримом будущем не собираются отказываться от C/C++ и выделили 1М на улучшение интеграции rust с C/C++?
Ответить | Правка | К родителю #126 | Наверх | Cообщить модератору

162. "Выпуск языка программирования Hare 0.24.2"  +/
Сообщение от Аноним (-), 17-Июл-24, 18:59 
А ты ту новость читал?
opennet.ru/opennews/art.shtml?num=60556
и первоисточник security.googleblog.com/2024/02/improving-interoperability-between-rust-and-c.html

Вот что пишет гугл  
"At the time, Rust was already in wide use across Android and other Google products. ...
Rust is one of the strongest tools we have to address memory safety security issues."
Т.е Раст у них уже применяется массово и это один из самых полезных инструментов.

"We are delighted to announce that Google has provided a grant of $1 million to the Rust Foundation to support efforts that will improve the ability of Rust code to interoperate with existing legacy C++ codebases."
А тут речь идет о легаси кодах. От которых действительно отказываться не хотят - тк дорого.
Но если добавить туда секретный ингредиент - то они станут гораздо лучше и менее дырявыми.

“Based on historical vulnerability density statistics, Rust has proactively prevented hundreds of vulnerabilities from impacting the Android ecosystem. This investment aims to expand the adoption of Rust across various components of the platform.”
Думаю тут комментарии излишни.

И наконец-то мы пришли к тому "а зачем это делается?!" все-таки лям баксов это не мало.
As these improvements have continued, we’ve seen a reduction in the barriers to adoption and accelerated adoption of Rust.
Т.е это все затеяли чтобы ускорить внедрение Раста!

Подытожим.
Ты случайно или намеренно исказил предпосылки и причины.

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

164. "Выпуск языка программирования Hare 0.24.2"  +/
Сообщение от Серб (ok), 17-Июл-24, 19:11 
А что ты это не привел?

“While Rust may not be suitable for all product applications, prioritizing seamless interoperability with C++ will accelerate wider community adoption, thereby aligning with the industry goals of improving memory safety.” – Royal Hansen, Google Vice President of Safety & Security

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

165. "Выпуск языка программирования Hare 0.24.2"  +/
Сообщение от Аноним (-), 17-Июл-24, 19:17 
> “While Rust may not be suitable for all product applications, prioritizing seamless
> interoperability with C++ will accelerate wider community adoption, thereby aligning with
> the industry goals of improving memory safety.” – Royal Hansen, Google
> Vice President of Safety & Security

Оно ж не противоречит тому что я написал)

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

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

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

172. "Выпуск языка программирования Hare 0.24.2"  +1 +/
Сообщение от Аноним (172), 18-Июл-24, 00:14 
Сразу видно евангилиста.

Тут как раз и имелось ввиду, что rust полностью заменить C/C++ не может. Если ты этого не видишь, то твои глаза застилает слепая вера.

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

185. "Выпуск языка программирования Hare 0.24.2"  –1 +/
Сообщение от Аноним (186), 18-Июл-24, 21:08 
>И часто линукс у вас вылазит за буфер?

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

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

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

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

101. "Выпуск языка программирования Hare 0.24.2"  +1 +/
Сообщение от Аноним (101), 16-Июл-24, 18:43 
В то время когда я программировал на С, ничего никуда не вылезало, потому, что вначале думаешь над данными потом делаешь, а не полагаешься на то, что компилятор за тебя все сделает
Ответить | Правка | К родителю #34 | Наверх | Cообщить модератору

128. "Выпуск языка программирования Hare 0.24.2"  +/
Сообщение от Аноним (127), 16-Июл-24, 23:49 
Неуловимый Джо? Или создатель qmail'а почтил нас своим присутствием? Дэниел Бернштейн, Вы ли это?
Ответить | Правка | Наверх | Cообщить модератору

187. "Выпуск языка программирования Hare 0.24.2"  +/
Сообщение от Аноним (186), 18-Июл-24, 21:15 
Расскажи это авторам Linux для начала.
Ответить | Правка | К родителю #101 | Наверх | Cообщить модератору

43. "Выпуск языка программирования Hare 0.24.2"  +/
Сообщение от Аноним (43), 16-Июл-24, 14:05 
Я начал изучать Си и С++ одновременно в ВУЗе. Я какой профи, стары или молодой?
Ответить | Правка | К родителю #3 | Наверх | Cообщить модератору

67. "Выпуск языка программирования Hare 0.24.2"  +2 +/
Сообщение от Аноним (39), 16-Июл-24, 15:21 
Не ломай ему картину мира, а то сегфолтнется.
Ответить | Правка | Наверх | Cообщить модератору

107. "Выпуск языка программирования Hare 0.24.2"  +/
Сообщение от Бывалый Смузихлёб (ok), 16-Июл-24, 19:20 
ещё не стар, но уже и не молод. В общем, и там и там - мимо )
Ответить | Правка | К родителю #43 | Наверх | Cообщить модератору

4. "Выпуск языка программирования Hare 0.24.2"  +4 +/
Сообщение от Ося Бендер (?), 16-Июл-24, 12:18 
Название прикольное. харЭ, я сказал!
Проще Си, может быть только Си. Фор-ич уже добавили, ждем-с классы, модули и т.д.
Ответить | Правка | Наверх | Cообщить модератору

16. "Выпуск языка программирования Hare 0.24.2"  +/
Сообщение от Аноним (16), 16-Июл-24, 12:44 
> Фор-ич уже добавили

где?

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

37. "Выпуск языка программирования Hare 0.24.2"  +/
Сообщение от Аноним (37), 16-Июл-24, 13:43 
Так в новсти же:
"Добавлен синтаксис для определения циклов "for-each", упрощающих перебор элементов массивов и срезов."
Ответить | Правка | Наверх | Cообщить модератору

12. "Выпуск языка программирования Hare 0.24.2"  +2 +/
Сообщение от Аноним (12), 16-Июл-24, 12:37 
Когда новая версия Nemerle?
Ответить | Правка | Наверх | Cообщить модератору

21. "Выпуск языка программирования Hare 0.24.2"  +1 +/
Сообщение от Вован (??), 16-Июл-24, 12:51 
Почему не собирается? Такая же ошибка была и на предыдущих версиях

Syntax error: unexpected 'error' at rt/+linux/+x86_64.ha:44:34, expected '{'
make: *** [makefiles/linux.x86_64.mk:11: .cache/rt.ssa] Error 1

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

180. "Выпуск языка программирования Hare 0.24.2"  +/
Сообщение от Аноним (179), 18-Июл-24, 05:58 
> Почему не собирается? Такая же ошибка была и на предыдущих версиях
> Syntax error: unexpected 'error' at rt/+linux/+x86_64.ha:44:34, expected '{'
> make: *** [makefiles/linux.x86_64.mk:11: .cache/rt.ssa] Error 1

Попробуй распаковывать .ha одноименным архиватором :)

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

31. "Выпуск языка программирования Hare 0.24.2"  +/
Сообщение от nume (ok), 16-Июл-24, 13:19 
Снова эти let, а-а-а!!!
Ответить | Правка | Наверх | Cообщить модератору

32. "Выпуск языка программирования Hare 0.24.2"  +/
Сообщение от Аноним (32), 16-Июл-24, 13:29 
Лучше бы sr.htом занимался.
Ответить | Правка | Наверх | Cообщить модератору

33. "Выпуск языка программирования Hare 0.24.2"  –1 +/
Сообщение от Аноним (-), 16-Июл-24, 13:31 
Молодец Дрю!
Ответить | Правка | Наверх | Cообщить модератору

38. "Выпуск языка программирования Hare 0.24.2"  +/
Сообщение от Аноним (37), 16-Июл-24, 13:47 
Дрю, давай механизм наподобие alias this из BetterC, шаблоны не хуже, если сможешь, даже лучше.
Ответить | Правка | Наверх | Cообщить модератору

91. Скрыто модератором  +/
Сообщение от Аноним (-), 16-Июл-24, 17:49 
Ответить | Правка | Наверх | Cообщить модератору

94. "Выпуск языка программирования Hare 0.24.2"  +/
Сообщение от 9392012938к8282 (?), 16-Июл-24, 18:20 
Есть кстати первоапрельский патчсет где добавляются шаблоны в Hare.
Ответить | Правка | К родителю #38 | Наверх | Cообщить модератору

40. "Выпуск языка программирования Hare 0.24.2"  +1 +/
Сообщение от Швондик (?), 16-Июл-24, 13:53 
ТО что надо! Я как раз хочу написать DOS для z280
Ответить | Правка | Наверх | Cообщить модератору

73. "Выпуск языка программирования Hare 0.24.2"  +1 +/
Сообщение от Аноним (72), 16-Июл-24, 16:26 
Для Z280 сам бог велел писать на ассемблере.
Но ты ведь ни на чём не напишешь всё равно.
Ответить | Правка | Наверх | Cообщить модератору

86. "Выпуск языка программирования Hare 0.24.2"  +/
Сообщение от Швондик (?), 16-Июл-24, 17:43 
Конечно же я пошутил. DOS я собираюсь делать на ассумблере, а если брать в основу исходники CP/M-3 то большая часть работы уже сделана:
https://oldcomputers.dyndns.org/public/pub/rechner/zilog/z28...
Ответить | Правка | Наверх | Cообщить модератору

138. "Выпуск языка программирования Hare 0.24.2"  +/
Сообщение от Аноним (-), 17-Июл-24, 07:13 
> Конечно же я пошутил. DOS я собираюсь делать на ассумблере, а если
> брать в основу исходники CP/M-3 то большая часть работы уже сделана:

Ну да, самое время в 2024 писать CP/M... :). Я конечно понимаю что некоторые медленно запрягают, но, кажется, вас уже обошли на целый круг.

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

148. "Выпуск языка программирования Hare 0.24.2"  +/
Сообщение от Швондик (?), 17-Июл-24, 10:57 
А кто обошел, чем обошли? я даже не слыхал, можно ссылку?
Ответить | Правка | Наверх | Cообщить модератору

176. "Выпуск языка программирования Hare 0.24.2"  +/
Сообщение от Аноним (-), 18-Июл-24, 05:35 
> А кто обошел, чем обошли? я даже не слыхал, можно ссылку?

С тех пор во первых майкрософт скопипастил и улучшил - как MSDOS. Более того - скопипастил не у себя так что еще и суд продул. С треском! Заплптив сколько-то миллионов оригинальному автору.

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

А на круг обошли - многочисленные task switching многозадачки, в изобилии нагенеренные студнями на все вкусы. Как бы более другой уровень технологии ОСостроения уже.

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

182. "Выпуск языка программирования Hare 0.24.2"  +/
Сообщение от Швондик (?), 18-Июл-24, 13:57 
А какое отношение майкрософт с MSDOS имеет к z280? Вы слышали звон, но не поняли где он!
Ответить | Правка | Наверх | Cообщить модератору

192. "Выпуск языка программирования Hare 0.24.2"  +/
Сообщение от Аноним (192), 19-Июл-24, 12:36 
В Z280 есть MMU и прочее, а вы туда дос хотите чтобы все это игнорировать.

Туда что-то уровня OS/2 просится...

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

193. "Выпуск языка программирования Hare 0.24.2"  +/
Сообщение от Швондик (?), 19-Июл-24, 14:28 
Вы для каких задач мне советуете OS/2 для z280? Опять - слышу звон, но не знаю где он! Или это такой толстый троллинг?
Ответить | Правка | Наверх | Cообщить модератору

75. "Выпуск языка программирования Hare 0.24.2"  +/
Сообщение от Аноним (37), 16-Июл-24, 16:34 
Зачем DOS? Лучше какой-нить mini NIX.
Ответить | Правка | К родителю #40 | Наверх | Cообщить модератору

92. "Выпуск языка программирования Hare 0.24.2"  +/
Сообщение от Швондик (?), 16-Июл-24, 17:58 
ну NIX на ассумблере мне не подсилу, у меня вообще мозги куриные
Ответить | Правка | Наверх | Cообщить модератору

195. "Выпуск языка программирования Hare 0.24.2"  +/
Сообщение от Швондик (?), 21-Июл-24, 11:26 
уже есть, пользуйтесь
https://github.com/hperaza/UZI180
Ответить | Правка | К родителю #75 | Наверх | Cообщить модератору

44. "Выпуск языка программирования Hare 0.24.2"  +/
Сообщение от Wed (??), 16-Июл-24, 14:06 
Мне больше нравится Nim вместо C.
Ответить | Правка | Наверх | Cообщить модератору

49. "Выпуск языка программирования Hare 0.24.2"  +4 +/
Сообщение от Аноним (1), 16-Июл-24, 14:11 
Единственная норма это zig
Ответить | Правка | Наверх | Cообщить модератору

46. "Выпуск языка программирования Hare 0.24.2"  –9 +/
Сообщение от pavlinux (ok), 16-Июл-24, 14:10 
>  ..., но проще, чем Си.


fn example(x: int, y: int = 34) void = {
    // ...
};
example(12);    //эквивалентно вызову example(12, 34);


Нуфуя создавать ф-цию я ДВУМЯ аргументами, когда один из них всегда константа?!!!

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

51. "Выпуск языка программирования Hare 0.24.2"  +9 +/
Сообщение от Аноним (1), 16-Июл-24, 14:13 
Ты программировать то умеешь? Это дефолтное значение, а не константа.
Ответить | Правка | Наверх | Cообщить модератору

55. "Выпуск языка программирования Hare 0.24.2"  –8 +/
Сообщение от pavlinux (ok), 16-Июл-24, 14:22 
> Это дефолтное значение, а не константа.

это называется константа.  

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

58. "Выпуск языка программирования Hare 0.24.2"  +2 +/
Сообщение от Ананимус (?), 16-Июл-24, 14:24 
> гoвнoкoдя, прикинь, это называется константа.  

Это называется опциональные параметры, лол. Тебя не смущает что open() имеет в одном случае два аргумента, а в другом -- три?

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

59. "Выпуск языка программирования Hare 0.24.2"  +/
Сообщение от pavlinux (ok), 16-Июл-24, 14:31 
>> гoвнoкoдя, прикинь, это называется константа.
> а в другом -- три?

Там "по дефолту" не написано 34,   va_arg это отдельная тема, тоже корявость С  

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

66. "Выпуск языка программирования Hare 0.24.2"  +/
Сообщение от Ананимус (?), 16-Июл-24, 15:14 
> Там "по дефолту" не написано 34,   va_arg это отдельная тема, тоже корявость С  

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

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

77. "Выпуск языка программирования Hare 0.24.2"  +/
Сообщение от pavlinux (ok), 16-Июл-24, 16:40 
>> это довольно жирный плюс C

С c плюсами это в другой теме  

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

145. "Выпуск языка программирования Hare 0.24.2"  +/
Сообщение от Аноним (-), 17-Июл-24, 09:19 
> Потому что та же самая задача в C реализована через va_arg. И
> нет, это не корявость, это довольно жирный плюс C, которого не
> хватает в том же Rust.

А что хрустики делают при реализации чего-то типа printf? oO

Еще variadic macro забавные. Можно даже исхитриться посчитать аргументы - в компил тайме - и таки прямо в компилтайме например выбрать разные имплементации с нужным числом параметров. В том числе можно и дефолты вкатить если параметры не дадены. Это конечно чуть кривее, но круть си в том что - так можно было. Без редизайна нового ЯП и постоянной его правки на каждый пшик. Мол, мы тут упростили немного парсер - и теперь любой такой фокус требует менять код компилера.

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

150. "Выпуск языка программирования Hare 0.24.2"  +/
Сообщение от Ананимус (?), 17-Июл-24, 11:59 
> А что хрустики делают при реализации чего-то типа printf? oO

Через макросы. Сильная сторона раста это годные макросы с нормальным доступом к AST, что позволяет делать много прикольных штук.

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

153. "Выпуск языка программирования Hare 0.24.2"  +/
Сообщение от Аноним (152), 17-Июл-24, 13:09 
Годные макросы - это у Zig.
Ответить | Правка | Наверх | Cообщить модератору

177. "Выпуск языка программирования Hare 0.24.2"  +1 +/
Сообщение от Аноним (-), 18-Июл-24, 05:37 
> Годные макросы - это у Zig.

Эти да, довели идею до абсолюта - все компил тайм вычисления с тем же синтаксисом что основной ЯП. Что, хрустики, а вам так слабо было. Нагенерили какой-то блевоты. А надо то было - вот так.

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

191. "Выпуск языка программирования Hare 0.24.2"  +/
Сообщение от Ананимус (?), 18-Июл-24, 22:33 
>  Годные макросы - это у Zig.

Они и у раста годные. Тут не то чтобы только один может быть.

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

50. Скрыто модератором  +/
Сообщение от Аноним (48), 16-Июл-24, 14:12 
Ответить | Правка | Наверх | Cообщить модератору

52. Скрыто модератором  +/
Сообщение от Аноним (1), 16-Июл-24, 14:13 
Ответить | Правка | Наверх | Cообщить модератору

57. Скрыто модератором  +1 +/
Сообщение от Аноним (-), 16-Июл-24, 14:24 
Ответить | Правка | К родителю #50 | Наверх | Cообщить модератору

88. Скрыто модератором  +/
Сообщение от _ (??), 16-Июл-24, 17:45 
Ответить | Правка | К родителю #50 | Наверх | Cообщить модератору

63. "Выпуск языка программирования Hare 0.24.2"  +2 +/
Сообщение от Аноним (169), 16-Июл-24, 15:01 
Есть вообще целый феномен языков-убийц С, напирающих на простоту. Они не уточняют, что за простота (это как безопасность - безопасность от вас с помощью DRM - тоже безопасность), а просты они для создания языка. С точки зрения пользователя это примитивность.

"There are no macros, generics, or metaprogramming features"
"Omitting generics (and similar features) in Hare is a deliberate design choice which simplifies the language considerably and is more aligned with its design roots in C."
"We use terms like "borrow" and "ownership" to reason about memory, but this is not enforced at the language level. The compiler does not prevent double-free or use-after-free bugs."

То есть в языке отказались от фич C++, D, Rust, от Zig'овского comptime, даже от C-макросов, отказались от тесной совместимости с C (только обычный FFI). Вот вам C в синтаксисе Go (заяц, суслик - почти одно и то же) и даже с defer'ом.

Автора понять и простить - создавать язык с нуля веселее, чем разгребать проблемы других (как делают в cppfront и в Circle C++, например), а до скучной стадии языку не обязательно доживать. Но зачем пользователям клевать на ограниченность языка, преподносимую как преимущество? Hare хочет быть как Go, но FAANG-компании за ним почему-то не видно.

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

69. "Выпуск языка программирования Hare 0.24.2"  –1 +/
Сообщение от Аноним (169), 16-Июл-24, 16:14 
И ещё - в ядре линукса в 60 файлах используется _Generic. Язык расширили дженериками не без помощи макросов образца 1973 года и жить стало немного лучше.

systemd написан даже не с defer, а с RAII[1]. И с виртуальными методами. Только не средствами языка, а вручную, макросами и расширениями языка.

То есть они не находят какой-то правильной архитектурной чистоты в старом C. Они видят ограничения языка, которые кое-как обходятся отступлениями от стандарта, макросами и паттернами проектирования. На кого рассчитаны слова про "aligned with its design roots"?

[1] https://github.com/systemd/systemd/blob/main/src/fundamental...
[2] https://github.com/systemd/systemd/blob/main/src/network/tc/...

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

97. "Выпуск языка программирования Hare 0.24.2"  +1 +/
Сообщение от 9392012938к8282 (?), 16-Июл-24, 18:26 
_Generic в C позволяет перегружать. Это не то, что обычно имеется в виду под дженериками (параметрический полиморфизм).
Ответить | Правка | Наверх | Cообщить модератору

122. "Выпуск языка программирования Hare 0.24.2"  +/
Сообщение от Аноним (169), 16-Июл-24, 22:46 
Хм, да, это ad-hoc-полиморфизм и лучше _Generic дженериками не называть.

Кстати, в Hare перегрузки нет.

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

188. "Выпуск языка программирования Hare 0.24.2"  +/
Сообщение от Аноним (186), 18-Июл-24, 21:18 
Зато можно спать спокойно, не взлетит. Нет у них таких денег на рекламу, как у гугла с голангом.
Ответить | Правка | К родителю #63 | Наверх | Cообщить модератору

74. "Выпуск языка программирования Hare 0.24.2"  +1 +/
Сообщение от zog (??), 16-Июл-24, 16:31 
> for (let item .. items) {

Почему они используют упавшее двоеточие? Чтобы было не так, как везде?

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

93. "Выпуск языка программирования Hare 0.24.2"  +/
Сообщение от Аноним (93), 16-Июл-24, 18:05 
Автор не знает, как везде. Потому и взялся за свой язык.
Ответить | Правка | Наверх | Cообщить модератору

104. "Выпуск языка программирования Hare 0.24.2"  +3 +/
Сообщение от Аноним (72), 16-Июл-24, 19:07 
> x: int, y: int = 34

Его Вирт покусал?
Нет, не то что бы что-то плохое, но ЗАЧЕМ, если мы пишем замену сишечке?

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

114. "Выпуск языка программирования Hare 0.24.2"  –1 +/
Сообщение от 9392012938к8282 (?), 16-Июл-24, 20:51 
Потому что в этом случае декларации читаются слева направо, а не по спирали, как в C.

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

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

116. "Выпуск языка программирования Hare 0.24.2"  +1 +/
Сообщение от Аноним (72), 16-Июл-24, 21:32 
Я не спорю. Вообще по факту особой разницы нет.
Просто зачем трындеть про сишечку?
Ответить | Правка | Наверх | Cообщить модератору

125. "Выпуск языка программирования Hare 0.24.2"  +/
Сообщение от Аноним (169), 16-Июл-24, 23:24 
2ALL: спираль всё-таки неудобна, но её можно исправить с сохранением преемственности с C.

Вместо let и const без типов тогда будут auto и const auto.


int[] a;      // dynamic array of ints
int[4][3] b;  // array of 3 arrays of 4 ints each
int[][5] c;   // array of 5 dynamic arrays of ints.
int*[]*[3] d; // array of 3 pointers to dynamic arrays of pointers to ints
int[]* e;     // pointer to dynamic array of ints

void f(int);
void function(int) fp = &f; // fp is a pointer to a function taking an int


https://dlang.org/spec/function.html#function-pointers
https://dlang.org/spec/arrays.html#declarations
Ответить | Правка | Наверх | Cообщить модератору

132. "Выпуск языка программирования Hare 0.24.2"  +/
Сообщение от Аноним (72), 17-Июл-24, 00:54 
Ну в принципе достаточно яркий пример синтаксиса, чтобы понять, почему дишечка мертворождённая.
Ответить | Правка | Наверх | Cообщить модератору

135. "Выпуск языка программирования Hare 0.24.2"  +/
Сообщение от Аноним (169), 17-Июл-24, 03:07 
> почему дишечка мертворождённая

Не из-за синтаксиса же. Но я хотел указать правильное начало - справа от имени переменной нет частей её типа. Скобки массива перенесены влево, как в C# и Java. А ты углубился в то, что они правило "читать тип справа налево" довели до абсурда:


    int[1][10] x;
    auto y = new int[1][10];
    auto z = new int[][](10,1);
    
    x[9][0] = 1; // OK
    y[9][0] = 1; // OK
    z[9][0] = 1; // OK

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

111. "Выпуск языка программирования Hare 0.24.2"  +1 +/
Сообщение от Аноним (111), 16-Июл-24, 20:36 
Всё это не нужно. Потому что текстовые AI модели про этот язык ничего не знают. И не надо говорить, что вы по старинке кодите. Даже в захудалых компаниях сейчас есть prompt engineer.
Ответить | Правка | Наверх | Cообщить модератору

147. "Выпуск языка программирования Hare 0.24.2"  +/
Сообщение от Прохожий (??), 17-Июл-24, 09:35 
Как показывает мой личный опыт, часто (не всегда) ИИ генерирует или неполный код, или вообще какую-то ахинею. Поэтому всё равно приходится самому в итоге вникать в тематику.
Ответить | Правка | Наверх | Cообщить модератору

168. "Выпуск языка программирования Hare 0.24.2"  +/
Сообщение от kusb reg (ok), 17-Июл-24, 22:12 
Они могут знать даже про те языки, которых не существует.
Ответить | Правка | К родителю #111 | Наверх | Cообщить модератору

146. "Выпуск языка программирования Hare 0.24.2"  +/
Сообщение от Прохожий (??), 17-Июл-24, 09:31 
Смешанные впечатления о языке.

С одной стороны, вроде бы, боремся за скорость, с другой - используем qbe ради простоты пронимания всего фреймворка. По заявлению авторов qbe генерирует на 25-75% более медленный код, чем LLVM.

Далее. Декларируем приверженность открытому коду, не желая поддерживать проприетарные ОС. Но при это не поощряем использовать этот самый открытый код, чем оправдываем отсутствие менеджера пакетов.

Дженерики, которые как бы упрощают разработку, отсутствуют. Автоматическое управление памятью отсутствует. Зато есть defer, как в Golang.

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

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

149. "Выпуск языка программирования Hare 0.24.2"  +2 +/
Сообщение от Аноним (149), 17-Июл-24, 11:08 
> Не уверен, что надо сколь-либо внимательно следить за развитием этого языка.

Достаточно посмотреть пример helloworld на главной странице, чтобы понять это.

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

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

184. "Выпуск языка программирования Hare 0.24.2"  +/
Сообщение от Аноним (186), 18-Июл-24, 21:00 
Казалось бы, двадцать первый век, прогресс, но язык как-будьто из восьмидесятых. Прорывных идей в языке не видно, но язык до сих пор не стабилен(перепишите код при переходе на новую версию). Вместо работы, например над алгебраическими типами данных, автор делает foreach как костыль для отдельного случая, гораздо логичнее было бы дать рекурсию, вместе с map, fold, iter. В лучшем случае, автор переизобретёт условный паскаль, который и так есть, и мало кому нужен. Казалось бы есть куча разных идей, будь-то системный язык с зависимыми типами как ATS, оптимизирующий компилятор, как Clean, эффекты, как Eff или Koka, и так далее, но автор с умным видом продвигает посредственность.
Ответить | Правка | Наверх | Cообщить модератору

194. "Выпуск языка программирования Hare 0.24.2"  +/
Сообщение от randomize (?), 20-Июл-24, 15:17 
> Hare fits on a 3½" floppy disc — these will be available for purchase when Hare 1.0 is released!

Дрю делал язык для троллинга?

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

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру