| 1.18, Джон Титор (ok), 02:15, 12/08/2026 [ответить] [﹢﹢﹢] [ · · · ]
| +6 +/– |
С одной стороны это кажется не нужным, но с другой стороны это питон который можно компилировать в родной код. А вот это нужно - чтобы работало быстрее питона. Это своеобразный раст для питона. Может и взлететь
| | |
| |
| 2.35, Axonic (ok), 08:21, 12/08/2026 [^] [^^] [^^^] [ответить]
| +/– |
Особенность Modjo — в ориентации на разработку LLM-систем. А компилируемая замена Python — это Nim.
| | |
| |
| 3.73, Xurxor (?), 14:17, 12/08/2026 [^] [^^] [^^^] [ответить]
| +2 +/– |
Вы слишком узко смотрите — LLM частный кейс применения Mojo, одна из ключевых фичей которого в том, что он позволяет выполнять на код GPU без CUDA.
| | |
|
| 2.40, Аноним (40), 08:45, 12/08/2026 [^] [^^] [^^^] [ответить]
| –1 +/– |
Несмотря на питонообразный синтаксис, mojo больше похож на rust, только с человеческим лицом.
| | |
|
| 1.1, Аноним (1), 00:16, 12/08/2026 [ответить] [﹢﹢﹢] [ · · · ]
| +6 +/– |
> создателя языка программирования Swift
> использованию привычного синтаксиса языка Python
> напоминающие возможности языка Rust
мутант
| | |
| |
| 2.3, Ivan_83 (ok), 00:29, 12/08/2026 [^] [^^] [^^^] [ответить]
| +3 +/– |
И в питона и в кресты смог:
> Синтаксис Mojo основан на языке Python, а система типов близка к C/C++.
реально мутант :)
| | |
| |
| 3.28, Аноним (28), 06:04, 12/08/2026 [^] [^^] [^^^] [ответить]
| –2 +/– |
Странно что Вирт в своё время придумывал для указателя специальный тип. В сишке это просто знак звёздочка.
| | |
| |
| 4.33, Брат Анон (ok), 08:13, 12/08/2026 [^] [^^] [^^^] [ответить]
| +1 +/– |
Как раз ожидаемо. Сейчас во всех языках есть идеи Вирта. В частности, типизированные ссылка (в больных языках -- типизированный указатель)
| | |
| 4.93, Аноним (93), 16:53, 12/08/2026 [^] [^^] [^^^] [ответить]
| +/– |
Это одно и тоже. Нужно понимать, что есть именованые указатели int* в Си или ^Integer в паскале. Ну а Pointer это неименнованный указатель.
| | |
|
|
| |
| 3.39, Jff (?), 08:38, 12/08/2026 [^] [^^] [^^^] [ответить]
| –5 +/– |
К сожалению обезьяна до сих пор не стала человеком.
| | |
| |
| 4.75, funny.falcon (?), 14:26, 12/08/2026 [^] [^^] [^^^] [ответить]
| +/– |
Как же не стала, если стала: человеки есть и они произошли от обезьяны (от общего предка)
| | |
|
|
|
| 1.4, Аноним (4), 00:35, 12/08/2026 [ответить] [﹢﹢﹢] [ · · · ]
| +2 +/– | |
> например, возможно прямое обращение к памяти в режиме unsafe с использованием типа Pointer
Может быть на этом языке ещё и некорректный код с неопределенным поведением можно написать?
| | |
| |
| 2.34, Брат Анон (ok), 08:14, 12/08/2026 [^] [^^] [^^^] [ответить]
| +3 +/– |
Этот язык полный по Тьюрингу. Поверх LLVM полным по Тьюрингу. Поверх нескольких типов железа полных по Тьюрингу. А значит можно. Неизбежное следствие из теорем Гёделя о неполноте. Это неизбежно.
| | |
|
| 1.6, Аноним (7), 00:44, 12/08/2026 [ответить] [﹢﹢﹢] [ · · · ]
| –2 +/– | |
> распараллеливание и задействование всех вычислительных ресурсов даёт возможность добиться производительности, превосходящей приложения на C/C++
Дальше можно не читать. Почему автор считает, что на Си/Си++ нельзя создавать программы, использующие GPU и пр. железо?!
| | |
| |
| 2.9, Ivan_83 (ok), 00:48, 12/08/2026 [^] [^^] [^^^] [ответить]
| +/– |
Обычно такое следует читать как: там под капотом волшебная либа типа OpenMP и вот тому подобного и оно без заморочек с оптимизацией - в PoC коде будет работать быстрее чем тяп-ляп реализация на С/С++.
| | |
| |
| |
| |
| |
| 6.84, Ivan_83 (ok), 15:33, 12/08/2026 [^] [^^] [^^^] [ответить]
| +/– |
Можно, но обычно реализации с SIMD, распараллеливанием и прочим это ручные реализации в С/С++ которые делаются уже после профилирования кода и понимания что оно даст прирост.
В сабжевом же языке типа оно делается само на автомате под капотом и поэтому авторы сабжа сравнили такую автовекторизацию с обычной реализацией и типа победили по скорости.
| | |
| |
| 7.97, Аноним (7), 18:17, 12/08/2026 [^] [^^] [^^^] [ответить]
| –1 +/– | |
> в С/С++ которые делаются уже после профилирования кода и понимания что оно даст прирост. В сабжевом же языке типа оно делается само на автомате
Т.е. в Можо это делается без профилирования и без понимания, надо ли оно и даст ли вообще профит.
| | |
|
|
|
|
|
| 2.16, Джон Титор (ok), 02:05, 12/08/2026 [^] [^^] [^^^] [ответить]
| +1 +/– |
В статье ясно написано что в С++ ты какой-нибудь OpenMP, OpenCL, OpenACC или напрямую чет подключаешь. А там просто пишешь код и не контролируешь что на чем - оно само распределит более эффективное использование ресурсов.
| | |
| 2.21, Аноним (21), 03:28, 12/08/2026 [^] [^^] [^^^] [ответить] | +/– | А где конкретно ты прочел, что автор так считает Про конкретно ситуацию с C С ... большой текст свёрнут, показать | | |
| |
| 3.22, Аноним (22), 03:42, 12/08/2026 [^] [^^] [^^^] [ответить] | +/– | Естественно, я имею в виду, что он не может это делать в большинстве общих случа... большой текст свёрнут, показать | | |
| |
| 4.23, Ivan_83 (ok), 03:59, 12/08/2026 [^] [^^] [^^^] [ответить]
| +/– |
Зависит от области в которой пишется код.
У меня код реже про обработку данных и чаще про перекладывание между сисколами и либами.
Для обработки тоже ситации сильно разные бывают, та же крипта не очень хорошо параллелится, особенно хэши, максимум в пределах одного блока можно SIMD~ами поколдовать.
Из того что совсем хорошо параллелилось (и с чем я работал) помню только обработку изображений в OpenCV или вокруг него.
А так, в большинстве кода на векторизацию пофик, оно там даст незаметные или отрицательные приросты.
| | |
| |
| 5.30, Аноним (22), 06:18, 12/08/2026 [^] [^^] [^^^] [ответить]
| +/– | |
> У меня код реже про обработку данных и чаще про перекладывание между сисколами и либами.
И к чему эта информация в контексте обсуждения аппаратного ускорения вычислений и векторизации в частности?
> та же крипта не очень хорошо параллелится, особенно хэши, максимум в пределах одного блока можно SIMD~ами поколдовать.
В общем случае это заявление справедливо для любого алгоритма на уровне CPU. А так даже в x86 есть SHA расширения, не говоря уж о ARM.
| | |
| |
| 6.83, Ivan_83 (ok), 15:29, 12/08/2026 [^] [^^] [^^^] [ответить]
| +/– |
К тому что ситуация когда векторизация и распараллеливание даёт профит встречается редко в обычных программах, и замена С/С++ на что то другое - не даст ничего в плане производительности.
| | |
| |
| 7.95, Аноним (22), 17:08, 12/08/2026 [^] [^^] [^^^] [ответить]
| +/– | |
> ситуация когда векторизация и распараллеливание даёт профит встречается редко в обычных программах
Объясняю еще раз: в этом обсуждении речь идет конкретно о аппаратном ускорении вычислений и как они ложатся на язык - для ситуаций, когда ускорение не только 100% дает профит, но и в принципе является незаменимым в силу бесполезности алгоритма, который иначе будет в разы и стони раз медленнее.
Поэтому второй раз спрашиваю: при чем здесь твое словоблудие про "обычные программы", системные АПИ и замену С/С++? Ты правда не понимаешь, что эти темы вообще не имеют отношения к обсуждаемой проблеме?
| | |
|
|
|
| 4.25, Норм (?), 04:08, 12/08/2026 [^] [^^] [^^^] [ответить]
| +/– | |
> GPU, в котором распараллеливание происходит на несоизмеримо более продвинутом уровне по сравнению с CPU-шым "перемножь мне 4 float вместо одного".
У меня для вас плохие новости.
| | |
| |
| 5.29, Аноним (22), 06:10, 12/08/2026 [^] [^^] [^^^] [ответить]
| +/– |
>> GPU, в котором распараллеливание происходит на несоизмеримо более продвинутом уровне по сравнению с CPU-шым "перемножь мне 4 float вместо одного".
> У меня для вас плохие новости.
Я готов - сообщай.
| | |
| |
| 6.68, Норм (?), 13:53, 12/08/2026 [^] [^^] [^^^] [ответить]
| +/– |
Именно что перемножить 4 флота вместо одного.
Там те-же самые вне очереди риск ядра с "avx" что и в цп.
Никакой волшебной супер техноложии распараллеливания.
Разница в модели памяти. ЖПУ читает и пишет большими кусками. И чтобы оно работало быстро и параллельно доступ к памяти во всех "потоках" должен быть синхронизирован. В идеале прочитать из одного массива и записать в один массив по окончании вычислений.
Между доступном к памяти код в потоках по большому счету каким угодно может быть и делать чего угодно. Но лучше чтобы схлопывался к 4 флота за раз если явно не указано вектора дробить.
| | |
|
|
|
|
|
| |
| 2.36, Брат Анон (ok), 08:22, 12/08/2026 [^] [^^] [^^^] [ответить]
| +1 +/– |
Для повышения эффективности разработки и эксплуатации?
Чукча не читатель, чукча писатель?
| | |
| |
| 3.44, Аноним (44), 09:50, 12/08/2026 [^] [^^] [^^^] [ответить]
| +/– | |
> Чукча не читатель, чукча писатель?
Сложно сказать это про автора языка. Но да, он опоздал. Появление LLM сделало питоноподобный синтаксис ненужным. В сущности, сейчас вообще стало не важно на чём писать с точки зрения, лишь бы LLM понимала, а целевой код эффективно исполнялся.
| | |
| 3.67, aname (ok), 13:49, 12/08/2026 [^] [^^] [^^^] [ответить]
| +/– |
> Для повышения эффективности разработки и эксплуатации?
> Чукча не читатель, чукча писатель?
Ну и, как, повысил?
| | |
|
|
| 1.20, Аноним (21), 03:15, 12/08/2026 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
> Представлен стабильный релиз языка программирования
> готовый к повсеместному использованию и позволяющий начать разрабатывать крупные проекты, не опасаясь появления в языке изменений, нарушающих совместимость.
И тут же:
> Исходный код компилятора планируют открыть после завершения стабилизации внутренней архитектуры.
То есть ребята еще не определились со внутренней архитектурой компилятора, но уже предлагают писать на нем крупные проекты?
| | |
| |
| 2.37, Брат Анон (ok), 08:24, 12/08/2026 [^] [^^] [^^^] [ответить]
| +1 +/– |
Ребята давно определились -- надо было блог читать. Закроют все ошибки, перепишут под другой лицензией несколько компонентов и тогда откроют. Клятвенно обещали, и пока обещания выполняют. Работают очень бодро. Вплоть до того, что в своё время приняли правильное решение и сильно изменили структуру языка (считаю, в этом была объективная необходимость).
| | |
| |
| 3.79, Аноним (22), 15:19, 12/08/2026 [^] [^^] [^^^] [ответить]
| +/– | |
> Ребята давно определились -- надо было блог читать. Закроют все ошибки, перепишут под другой лицензией несколько компонентов и тогда откроют.
Мой вопрос был не о том, когда завершится "перепишут и закроют ошибки". Вопрос был в том, почему песни о "стабильности" начали петь ДО МОМЕНТА окончания этого процесса.
| | |
|
|
| |
| 2.31, Sm0ke85 (ok), 07:38, 12/08/2026 [^] [^^] [^^^] [ответить]
| +1 +/– |
>В С/С++ нет системы типов.
'''
Система типов в C/C++ — это набор правил и механизмов, которые определяют:
какие значения можно хранить в переменной/выражении (тип),
какие операции допустимы между типами (совместимость, перегрузки, преобразования),
как именно компилятор проверяет корректность программы на этапе компиляции,
какие преобразования выполняются автоматически (implicit conversions, promotions) или требуют явного приведения (casts),
как устроены типы на уровне компилятора: базовые (int, double), указатели (T*), массивы, ссылки, классы/структуры, шаблоны и т.д*
'''
Дай "голову на отсечение", ибо ты в нее похоже просто ешь... аахахах
| | |
| |
| 3.52, Аноним (52), 10:24, 12/08/2026 [^] [^^] [^^^] [ответить]
| +2 +/– | |
https://godbolt.org/z/Ga8o71zjn
#include <iostream>
using namespace std;
void print(int x) {
cout << "int: " << x << '\n';
}
int main() {
print(true);
print(3.14);
print('A');
print("A");
print(new runtime_error("A"));
}
Что не смеетесь?
Не смешно?
Не поняли?
ЭТО СИСТЕМА ТИПОВ СИ/СИ ++!
| | |
| |
| |
| 5.70, Норм (?), 14:03, 12/08/2026 [^] [^^] [^^^] [ответить]
| +/– | |
В разименовании указателя на void.
Теперь можно смеяться 👍
| | |
| 5.82, Аноним (22), 15:28, 12/08/2026 [^] [^^] [^^^] [ответить]
| +/– | |
> неявное приведение к int в чем проблема?
В неявном приведении к int.
| | |
| |
| 6.87, Аноним (66), 16:15, 12/08/2026 [^] [^^] [^^^] [ответить] | +/– | так компилятор тебе запрещает его по дефолту, ты должен его врубить через опцию ... большой текст свёрнут, показать | | |
|
|
| 4.78, Sm0ke85 (ok), 15:16, 12/08/2026 [^] [^^] [^^^] [ответить]
| –1 +/– |
>Что не смеетесь?
>Не смешно?
>Не поняли?
>ЭТО СИСТЕМА ТИПОВ СИ/СИ ++!
Во-первых это таки С++, а во-вторых: Что ты доказал? Что cout работает с разными типами и вполне удачно конвертирует это все в строку? Что за бредовый пример? Ну склеил ты строку "int: " с конвертированными в строки другими типами приведенными к инту, и что дальше? Проблема где? А то, что компилятор скорее всего тебе говорил, что беда с неявным преобразованием в инт тебя не беспокоило, ты наверное еще и флаги специальные использовал?
Там же все просто, ты даешь функции константу неопределенного типа под видом инта, а далее все это cout склеивает с твоей строкой "инт: ", а вот попробовал бы завести переменные и так подсунуть, то без шаманства оно бы уже неоткомпилировалось бы даже, ибо в этом отношении компилятор С++ пожестче будет чем у каноничного Си....
| | |
| |
| 5.80, Аноним (22), 15:25, 12/08/2026 [^] [^^] [^^^] [ответить]
| +/– | |
> Что ты доказал?
Что "система типов" в С/С++ - неудачная шутка.
> Что cout работает с разными типами и вполне удачно конвертирует это все в строку?
> Проблема где?
Ты ведь ничего не понял, не так ли? Код вообще не о cout, а о том, что у тебя куча неявных преобразований в int на уровне той самой системы типов. Включая преобразование строки в int.
Можешь еще даже писать "1" + 1, прямо как в JavaScript.
| | |
| |
| 6.85, Sm0ke85 (ok), 15:43, 12/08/2026 [^] [^^] [^^^] [ответить]
| +/– |
>Что "система типов" в С/С++ - неудачная шутка.
Где? В неявном приведении? Или не понятно как твой фокус компилятор пропустил (а это именно что фокус)?
>Ты ведь ничего не понял, не так ли? Код вообще не о cout, а о том, что у тебя куча неявных преобразований в int на уровне той самой системы типов. Включая преобразование строки в int.
Я свой ответ поправил уже, а твои "куча неявных преобразований" не сработают, если ты заведешь переменные, фокусник (Ты б еще б тип #define 77 проверил бы на char'ность, ахахах, при чем тут Система типов, когда ты сырую дату подсовываешь, для которой выделено место в памяти, чтоб оно просто поместилось)...
А может ты "боевой" код покажешь, где твой фокус вдруг сработает...? Есть такой? ахахах
| | |
|
|
| 4.86, Sm0ke85 (ok), 15:53, 12/08/2026 [^] [^^] [^^^] [ответить]
| +1 +/– |
>[оверквотинг удален]
> print(true);
> print(3.14);
> print('A');
> print("A");
> print(new runtime_error("A"));
> }
> Что не смеетесь?
> Не смешно?
> Не поняли?
> ЭТО СИСТЕМА ТИПОВ СИ/СИ ++!
Убрал твои флаги, Фокусник, не благодари:
'''
<source>: In function 'int main()':
<source>:12:11: error: invalid conversion from 'const char*' to 'int' [-fpermissive]
12 | print("A");
| ^~~
| |
| const char*
<source>:4:16: note: initializing argument 1 of 'void print(int)'
4 | void print(int x) {
| ~~~~^
<source>:13:11: error: invalid conversion from 'std::runtime_error*' to 'int' [-fpermissive]
13 | print(new runtime_error("A"));
| ^~~~~~~~~~~~~~~~~~~~~~
| |
| std::runtime_error*
<source>:4:16: note: initializing argument 1 of 'void print(int)'
4 | void print(int x) {
| ~~~~^
Compiler returned: 1
'''
| | |
|
| 3.69, Норм (?), 14:02, 12/08/2026 [^] [^^] [^^^] [ответить]
| +/– |
Все что угодно можно назвать системой типов конечно.
Типы в сишке указывают на то как компилятору интерптиривать кусок памяти (и то не всегда, смотрим описание типа int)
Есть ли какая-то в них система? Ну, если вы мухомором наелись, то можно найти, а так это бред просто.
С++ делает этот бред настолько запутанным, с описанием на 2 тысячи страниц, что сможет показаться что там есть какая-то симтема.
| | |
| |
| 4.74, Sm0ke85 (ok), 14:23, 12/08/2026 [^] [^^] [^^^] [ответить]
| +/– |
>Все что угодно можно назвать системой типов конечно.
мимо
>Есть ли какая-то в них система?
есть
>С++ делает этот бред настолько запутанным, с описанием на 2 тысячи страниц, что сможет показаться что там есть какая-то симтема.
Короче, я так понял ты "брякнул не подумавши"... И разговор был о С/С++, если что...
| | |
|
|
|
| |
| 2.38, Брат Анон (ok), 08:25, 12/08/2026 [^] [^^] [^^^] [ответить]
| +/– |
Если ты вайбеодер, тогда да. А если у тебя нет лишнего лярда на толстую железку -- тогда разница есть.
| | |
| |
| 3.42, User (??), 09:45, 12/08/2026 [^] [^^] [^^^] [ответить]
| +/– |
Не, ну с точки зрения программиста идея "потратить ярд на зряплату" вместо "ярда на железку" выглядит конечно ничего так, ага. Но с точки зрения конкретного вот бизнеса - "есть нюансы"
| | |
| |
| 4.46, Аноним (44), 09:52, 12/08/2026 [^] [^^] [^^^] [ответить]
| +/– |
Если у вас нет лярда, то на питоне разрабатывать вы точно не будете. Зависит, конечно, от бизнеса. Но там, где нужна эффективность использования оборудования, питон не используют. А значит и язык ему подобный, знать там некому.
| | |
| |
| 5.53, User (??), 10:35, 12/08/2026 [^] [^^] [^^^] [ответить]
| +/– |
> Если у вас нет лярда, то на питоне разрабатывать вы точно не
> будете. Зависит, конечно, от бизнеса. Но там, где нужна эффективность использования
> оборудования, питон не используют. А значит и язык ему подобный, знать
> там некому.
\Записывает\ Да что вы говорите? Дааа? А мужики-то не знают!
| | |
|
|
|
|
| |
| 2.60, User (??), 11:54, 12/08/2026 [^] [^^] [^^^] [ответить]
| +2 +/– |
> goto нету.
> язык без goto - сразу понятно, что язык и его разработчики пытаются
> быть умнее программиста.
По этому комментарию сразу понятно: у них получилось!
| | |
| |
| |
| 4.94, Аноним (94), 17:01, 12/08/2026 [^] [^^] [^^^] [ответить]
| +1 +/– |
бы если речь шла о тебе, то можно было бы сказать, что точно получилось, но ты не программист
| | |
|
|
|
| 1.57, Аноним1234 (?), 10:53, 12/08/2026 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
По описанию не понял. Как там освобождают память? Там сборщик мусора, ручное управление или время жизни?
| | |
| 1.61, corvuscor (ok), 12:39, 12/08/2026 [ответить] [﹢﹢﹢] [ · · · ]
| +1 +/– |
Вроде бы хорошо, но компилятор по-прежнему закрыт?
емнип, обещали к релизу, и теперь опять обещают?
| | |
| 1.99, Аноним (99), 18:19, 12/08/2026 [ответить] [﹢﹢﹢] [ · · · ]
| +/– | |
> Синтаксис Mojo основан на языке Python, а система типов близка к C/C++.
Вые**ла жаба гадюку, так и появился Mojo.
| | |
| 1.102, Аноним (102), 19:59, 12/08/2026 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Сделайте наконец во ФриПаскале блоки отступом. Пусть опционально даже. И будет вам статически типизированный Питон с производительностью почти Си.
| | |
|