[12:37:46] <ada_ru> (Sergei)  отвечает на <(geniepro)
Sergei) …>
Да, спасибо за информацию по Sisal. Мне Chapel инетересен тем, что он совсем новый и очень динамично развивается - говорю на основе собранной мной статистике по динамике проектов на github.
[12:38:32] <ada_ru> (Sergei) Мне абсолютно не понятны преимущества фортрана. Я давно о них слышу ну никто не может объяснить, в чём они заключаются.
[12:40:09] <ada_ru> (Sergei) На очных встречах Ада Ру мы даже обсуждали, как заменять фортран адой в научных задачах.
[12:44:26] <ada_ru> (Sergei) Максим , как насчёт того, чтобы сделать очную встречу Ада Ру в Париже :) тем более, что как ты помнишь, нас с тобой в Лазурном как-то случайно (и возможно необоснованно, но с тостами) возвели в ранг отцов-основателей сего движения :))) Так что может пора нам где-то собраться и чего-то ещё основать?
[12:45:16] <ada_ru> (Sergei) Ада Ру в эмиграции ...
[12:51:24] <ada_ru> (Sergei) Тем более, ты мне жаловался, что ещё не был в Лувре (я как раз знаю как туда заходить без очереди).
[13:31:06] <ada_ru> (Sergei) https://www.top500.org/news/russian-company-develops-petascale-capable-mobile-supercomputer/
[13:36:56] <ada_ru> (Максим) Sergei 16-21 декабря буду там, если посольство америки вернет мой паспорт к тому времени. уже 7-ю неделю держут 😕
[13:37:27] <ada_ru> (Sergei)  отвечает (Максим) на <Sergei 16-21 декабря…>
Как это - посольство "держит" паспорт. Не слышал о таком.
[13:37:52] <ada_ru> (Sergei) а, ты подал документы на визу и они ещё не вернули
[13:37:57] <ada_ru> (Максим) Ну я им отправил визу продлить и с концами
[13:38:09] <ada_ru> (Sergei) а то я подумал тебя где-то поймали, депортировали
[13:38:36] <ada_ru> (Sergei) подай на них жалобу :)
[13:40:06] <ada_ru> (Sergei) ок, если вернут паспорт - мне пока время подходит. На денёк может удастся заскочить, выходной, например
[13:40:48] <ada_ru> (Максим) я на рабочие дни лечу
[13:41:43] <ada_ru> (Sergei) ну ближе к дате спишемся тогда.
[14:15:40] <ada_ru> (nitrocerber) Хз как у вас, у нас можно написать им заявку мол мне лететь ннннада, они отдают тебе паспорт на время, а как возвращаешься, сдаёшь его им обратно
[14:15:48] <ada_ru> (nitrocerber) А про и вовсе два заграна мутят
[15:39:02] <ada_ru> (FROL256) оффтоп: никто не знает чем такая красивая доркументация делается?

https://www.systutorials.com/docs/linux/man/3-pthread_setschedprio/
[15:39:57] <ada_ru> (Sergei) https://www.systutorials.com/  - там внизу ссылка
[15:42:53] <ada_ru> (FROL256) а можно меня носом ткнуть поточнее если не трудно?)
[15:46:24] <ada_ru> (Sergei) Там внизу написано "Linux man pages generated by: SysTutorials" . Но оно выглядит как стандартная страница помощи Linux, сгенерированная troff. То есть это обычный формат man , просто оттранслированный в html. То есть, поиск "troff to html" должен пролить свет, как они это делают, по идее.
[15:47:16] <ada_ru> (FROL256) понял, спасибо!
[15:48:13] <ada_ru> (Sergei) та нема за що
[17:13:54] <ada_ru> (I_vlxy_I) Root: Memory safety of C++ & blazing speed of python!
[17:15:08] <ada_ru> (Sergei) asm scalability
[20:51:31] <ada_ru> (I_vlxy_I) За фортран: https://wordsandbuttons.online/fortran_is_still_a_thing.html
[21:01:28] <ada_ru> (I_vlxy_I) А вот вам немного валидного плюсового кода:
class Foo {
private:
   struct Bar {int b;};
public:
   Bar b() {return {13};}
};


int main()
{
   Foo f;
   auto a = f.b();
   return a.b;
}
[21:05:42] <ada_ru> (I_vlxy_I) Ынкапсуляцыйа!
[21:20:09] <ada_ru> (t91x0) Ну... краткость уровня C#, и даже выше
[21:20:20] <ada_ru> (t91x0) Но вроде бы всё читаемо и ясно
[21:41:09] <ada_ru> (nitrocerber) ээээ а чо оно вернёт? для тех, кто не может в кресты))
[21:41:41] <ada_ru> (FROL256) объект типа Foo::Bar наверное
[21:41:51] <ada_ru> (FROL256) auto a = f.b();
[21:41:58] <ada_ru> (FROL256) ну а потом 13
[21:42:06] <ada_ru> (t91x0) Я полагаю, оно вернёт struct из одного поля int, преобразованный в собственно int
[21:42:26] <ada_ru> (nitrocerber) я бы не сказал, что это читаемо, и уж тем более ясно)
[21:42:29] <ada_ru> (t91x0) Структурно class Foo и простая переменная типа int  - одинаковы
[21:42:31] <ada_ru> (nitrocerber) ну это так, взгляд со стороны
[21:49:09] <ada_ru> (I_vlxy_I) Тип Bar приватный
[21:51:32] <ada_ru> (I_vlxy_I) Использование приватного типа в публичном интерфейсе.
[21:52:15] <ada_ru> (I_vlxy_I) Можете добавить полей в Bar и даже функций.
[21:52:32] <ada_ru> (I_vlxy_I) И все равно все будет работать
[21:53:15] <geniepro> в сишарпе не проканало бы -- ришлось бы Bar делать публичным
[21:53:49] <ada_ru> (I_vlxy_I) Уверен?
[21:54:26] <ada_ru> (t91x0) Тут автоприведение. В C# нет такого, разумеется
[21:54:45] <ada_ru> (I_vlxy_I) Нет тут автоприведения
[21:54:52] <ada_ru> (t91x0) Так
[21:55:00] <ada_ru> (t91x0) return a.b;
[21:55:10] <ada_ru> (I_vlxy_I) Строку выше смотри
[21:55:20] <ada_ru> (t91x0) а, блин
[21:55:25] <ada_ru> (t91x0) туплю
[21:55:53] <ada_ru> (t91x0) Я не уверен, что C# разрешит сделать поле и метод с одинаковым именем
[21:56:27] <ada_ru> (I_vlxy_I) Да пофигу на имена
[21:56:37] <ada_ru> (I_vlxy_I) Назови их как хочешь
[21:57:35] <ada_ru> (I_vlxy_I) https://godbolt.org/z/RE8SfR
[21:57:45] <ada_ru> (I_vlxy_I) Вот, поиграйся.
[21:59:51] <geniepro> using System;

namespace Rextester
{
   class Foo {
       struct Bar {int b;};
       public Bar b() {return {13};}
   };

   public class Program
   {
       int test()
       {
           Foo f;
           auto a = f.b();
           return a.b;
       }


       public static void Main(string[] args)
       {
           //Your code goes here
           Console.WriteLine(test());
       }
   }
}

(7:20) Inconsistent accessibility: return type 'Rextester.Foo.Bar' is less accessible than method 'Rextester.Foo.b()'
[22:02:28] <ada_ru> (I_vlxy_I) Гут
[22:02:38] <ada_ru> (I_vlxy_I) Надо ещё Аду проверить :-)
[22:07:29] <geniepro> вот так в сишарпе работает:

using System;
namespace Rextester
{
   class Foo {
       public struct Bar {public int b; public Bar(int _b){b=_b;}};
       public Bar b() {return new Bar(13);}
   };

   public class Program
   {
       public static void Main(string[] args)
       {
           Foo f = new Foo();
           var a = f.b();

           Console.WriteLine(a.b);
       }
   }
}

> 13
[22:28:33] <ada_ru> (nitrocerber)  отвечает (I_vlxy_I) на <Надо ещё Аду провери…>
В аде вот это не напишется:
Bar b() {return {13};}
[22:29:02] <ada_ru> (I_vlxy_I) Это фигня. Я тут просто сократил запись.
[22:29:51] <ada_ru> (I_vlxy_I) Вот на 98 плюсах: https://godbolt.org/z/JHmA_a
[22:30:18] <ada_ru> (Максим) в аде в public не видно типов из private
[22:31:19] <ada_ru> (nitrocerber) как ни скоращай, а return в тело пакета уйдёт
[22:31:30] <ada_ru> (nitrocerber) экспрешн функцию такую написать для приватного типа нельзя
[22:34:09] <ada_ru> (I_vlxy_I) С? Точно? Есть же функции полностью с телом в ads
[22:34:48] <ada_ru> (nitrocerber) конечно
[22:34:52] <ada_ru> (nitrocerber) экспрешн функции
[22:35:00] <ada_ru> (nitrocerber) но они работают с публично объявленным
[22:35:34] <ada_ru> (nitrocerber) я так понимаю вы хотите что-то такоэ?\
[22:35:35] <ada_ru> (Максим) Типа не видно же, пиши хоть Bar хоть не Bar, его не видно
[22:35:44] <ada_ru> (nitrocerber) with Ada.Text_IO;
procedure Main is

  package Foo is
     type Bar is tagged private;
     function B return Bar;
  private
     type Bar is tagged record
        B : Integer;
     end record;
  end Foo;

  package body Foo is
     function B return Bar is
     begin
        return (B => 13);
     end B;
  end Foo;

begin

  declare
     F : Foo.Bar;
  begin
     Ada.Text_IO.Put_Line (F.B.B'Img);
  end;

end Main;
[22:35:46] <ada_ru> (nitrocerber) main.adb:25:30: no selector "B" for private type "Bar" defined at line 5
[22:36:33] <ada_ru> (nitrocerber) в аде публичность не на уровне классов, а на уровне пакетов. классов нет тащемта
[22:36:51] <ada_ru> (nitrocerber) Можно угореть и сделать аналог класса через дженерик... кое-кто этим баловался, пока не сделали 95ую ревизию
[22:37:01] <ada_ru> (nitrocerber) но я не умею и не хочу уметь)
[22:39:25] <ada_ru> (Максим) Обмануть правила видимости в Аде нельзя
[23:35:11] <ada_ru> (t91x0) <прислал фото>
[23:36:20] <ada_ru> (I_vlxy_I) spin to Nim