Профиль: Аноним (вход | регистрация)
The OpenNET Project / Index page

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



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

"Релиз языка программирования Mojo 1.0"  +/
Сообщение от opennews (??), 12-Авг-26, 00:16 
Представлен стабильный релиз языка программирования Mojo 1.0, который ознаменовал стабилизацию языка и реализацию всех базовых возможностей. Выпуск оценивается как готовый к повсеместному использованию и позволяющий начать разрабатывать  крупные проекты, не опасаясь появления в языке изменений, нарушающих совместимость...

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

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

Оглавление

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

1. Сообщение от Аноним (1), 12-Авг-26, 00:16   +8 +/
> создателя языка программирования Swift
> использованию привычного синтаксиса языка Python
> напоминающие возможности языка Rust

мутант

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #3, #7, #32

3. Сообщение от Ivan_83 (ok), 12-Авг-26, 00:29   +4 +/
И в питона и в кресты смог:
> Синтаксис Mojo основан на языке Python, а система типов близка к C/C++.

реально мутант :)

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

4. Сообщение от Аноним (4), 12-Авг-26, 00:35   +2 +/
> например, возможно прямое обращение к памяти в режиме unsafe с использованием типа Pointer

Может быть на этом языке ещё и некорректный код с неопределенным поведением можно написать?

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

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

6. Сообщение от Аноним (7), 12-Авг-26, 00:44   –3 +/
> распараллеливание и задействование всех вычислительных ресурсов даёт возможность добиться производительности, превосходящей приложения на C/C++

Дальше можно не читать. Почему автор считает, что на Си/Си++ нельзя создавать программы, использующие GPU и пр. железо?!

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #9, #16, #17, #21, #58

7. Сообщение от Аноним (7), 12-Авг-26, 00:46   +/
> с использованием типа Pointer

А вот и Паскаль подъехал :)

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #1 Ответы: #26, #28

9. Сообщение от Ivan_83 (ok), 12-Авг-26, 00:48   +2 +/
Обычно такое следует читать как: там под капотом волшебная либа типа OpenMP и вот тому подобного и оно без заморочек с оптимизацией - в PoC коде будет работать быстрее чем тяп-ляп реализация на С/С++.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #6 Ответы: #12

11. Сообщение от aname (ok), 12-Авг-26, 01:03   –1 +/
Но зачем?
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #36

12. Сообщение от Аноним (7), 12-Авг-26, 01:19   –1 +/
на С/С++ запрещено использовать OpenMP?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #9 Ответы: #14

14. Сообщение от Ivan_83 (ok), 12-Авг-26, 01:29   +2 +/
Перечитайте предложение целиком.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #12 Ответы: #43, #98

16. Сообщение от Джон Титор (ok), 12-Авг-26, 02:05   +1 +/
В статье ясно написано что в С++ ты какой-нибудь OpenMP, OpenCL, OpenACC или напрямую чет подключаешь. А там просто пишешь код и не контролируешь что на чем - оно само распределит более эффективное использование ресурсов.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #6 Ответы: #90

17. Сообщение от Джон Титор (ok), 12-Авг-26, 02:12   +2 +/
В языке [Mojo](https://docs.modular.com/mojo/) распределение вычислений между CPU, GPU и векторизацией SIMD строится на концепции единого оборудования с явным управлением через метапрограммирование, параметры и модули компилятора [MLIR](https://docs.modular.com/mojo/manual/metaprogramming/comptim.../), позволяя писать кросс-аппаратный код для разных типов вычислителей из одной функции. [1, 2]
## CPU и SIMD (Векторизация)
На центральном процессоре Mojo задействует векторные регистры и параллелизм на уровне потоков через встроенные абстракции: [3, 4]

* Тип SIMD: Является базовым строительным блоком. Позволяет упаковывать несколько скалярных значений (например, 4, 8 или 16 элементов Float32) в один вектор и применять к ним единую инструкцию за такт. [5, 6]
* Автоматическая векторизация и циклы: Компилятор умеет разворачивать и векторизировать код, а алгоритмические примитивы (например, vectorize) явно указывают размер шага вектора для конкретной архитектуры CPU (x86, ARM). [5, 7]
* Многоядерность: Модуль задач распределяет потоки выполнения по ядрам CPU с помощью функции parallelize, задействуя всю многоядерную мощность процессора. [4]

## GPU (Ускорители)
Для графических чипов (NVIDIA, AMD) модель распределения похожа на CUDA/HIP, но выражена в более чистом синтаксисе Mojo: [2]

* Разделение Host / Device: CPU выступает в роли хоста (управляет логикой и памятью), а GPU — в роли устройства (выполняет параллельные ядра — kernels). [8]
* Иерархия потоков: Вычисления разбиваются на сетки (grids), блоки (blocks) и потоки (threads), где каждый поток обрабатывает свою порцию данных. [9]
* SIMT-модель: На GPU применяется подход Single Instruction, Multiple Threads, когда потоки внутри варпа (warp) выполняют общие команды параллельно. При этом доступны низкоуровневые оптимизации через общую (shared) память и варп-примитивы (block_reduce). [10, 11]

## Универсальность (Target-agnostic код)
Главная особенность Mojo — возможность писать единый алгоритм (через параметризацию и декораторы с параметром target="cpu" или "gpu"), который компилируется и подстраивается под конкретное «железо» без дублирования бизнес-логики. [1]
Если вы хотите углубиться в конкретный сценарий, уточните:

* Вы планируете оптимизировать код под CPU (AVX-512/Neon) или под GPU (CUDA)?
* Какая у вас задача (например, умножение матриц, обработка изображений или кастомный ИИ-опер)?


[1] [https://docs.modular.com](https://docs.modular.com/deve.../)
[2] [https://arxiv.org](https://arxiv.org/html/2509.21039v1)
[3] [https://mojolang.org](https://mojolang.org/docs/std/bui.../)
[4] [https://deepengineering.net](https://deepengineering.ne...)
[5] [https://mojolang.org](https://mojolang.org/docs/std/bui.../)
[6] [https://mojolang.org](https://mojolang.org/docs/manual/.../)
[7] [https://deepengineering.net](https://deepengineering.ne...)
[8] [https://mojolang.org](https://mojolang.org/docs/manual/.../)
[9] [https://shubhamg.in](https://shubhamg.in/posts/2025-07-...)
[10] [https://mojolang.org](https://mojolang.org/docs/std/alg.../)
[11] [https://docs.modular.com](https://docs.modular.com/mojo.../)
Поддержка NPU (Neural Processing Unit) — одна из ключевых точек роста для экосистемы Mojo и фреймворка [Modular MAX](https://www.modular.com/open-source/max). Стратегическая важность этого направления кратно возросла после того, как летом 2026 года технологический гигант Qualcomm завершил сделку по приобретению компании Modular. Теперь создатель Mojo Крис Латтнер отвечает за передовое ИИ-ПО во всей экосистеме чипов Qualcomm (от мобильных Snapdragon до серверных ускорителей). [1, 2]
Распределение ресурсов и запуск кода на NPU в рамках этой экосистемы подчиняются следующим принципам:
## 1. Драйвер абстракции ускорителя (Accelerator API)
В экосистеме [Modular MAX API](https://docs.modular.com/max/api/python/generated/max.driver.../) класс NPU является подклассом базового класса Accelerator. Инициализация и выделение контекста устройства под NPU выполняются через драйвер: [3]

from max import driver
# Выбор первого доступного NPU устройстваdevice = driver.NPU(id=0)

Диспетчер графа компиляции считывает этот контекст, ставит метку устройства "npu", генерирует соответствующие ядра сборки и перенаправляет поток выполнения в специализированный плагин-хук (NPU dispatch path) вместо стандартного конвейера GPU или CPU. [3]
## 2. Компиляция под гетерогенную архитектуру (MLIR)
Как и в случае с CPU/GPU, компилятор Mojo не пишет машинный код под конкретный NPU напрямую. Он преобразует высокоуровневый код в промежуточное представление MLIR (Multi-Level Intermediate Representation). [4, 5, 6]

* Граф вычислений нейросети автоматически квантуется (например, переводится из Float32 в INT8 или FP16), так как большинство NPU аппаратно оптимизированы под низкоточную целочисленную математику.
* На уровне генерации низкоуровневого кода (target="npu") MLIR-компилятор задействует специфичные для конкретного NPU векторные и матричные движки (например, тензорные процессоры Hexagon в чипах Qualcomm). [3]

## 3. Интеграция через партнерские экосистемы (Пример: ATOM-MAX)
Разработчики NPU-чипов создают специализированные программные прослойки для бесшовного выполнения Mojo-кода на своем «железе». Ярким примером служит проект ATOM-MAX (совместная разработка компаний Rebellions и SqueezeBits). Архитектура их NPU спроектирована так, чтобы разработчики могли писать, отлаживать и профилировать кастомные ядра на Mojo с тем же уровнем удобства и предсказуемости памяти, который они ожидают от классических GPU. [7]
## 4. Роль фреймворка MAX (Inference Engine)
Вместо того чтобы вручную писать низкоуровневые регистровые команды для NPU, экосистема предлагает использовать MAX Inference Engine. Фреймворк принимает готовую модель (например, DeepSeek, Llama или Qwen) и берет на себя всю рутину распределения: [8, 9]

* Разделяет граф модели на блоки вычислений.
* Отправляет тяжелые тензорные операции (свертки, умножения матриц Attention) на NPU.
* Оставляет последовательную логику управления и сбор данных на CPU. [5]

Если вы планируете тестировать работу с NPU, подскажите:

* Под какую архитектуру или чип ведется разработка (смартфоны/ноутбуки на Qualcomm Snapdragon X, процессоры AMD Ryzen AI, Intel Core Ultra или специализированные серверные NPU)?
* Вы хотите запускать на NPU готовую открытую модель через MAX Serving или писать собственные математические операции (kernels) на Mojo? [9]


[1] [https://www.unite.ai](https://www.unite.ai/ru/qualcomm-.../)
[2] [https://techora.ru](https://techora.ru/news/glava-qualc...)
[3] [https://docs.modular.com](https://docs.modular.com/max/.../)
[4] [https://arxiv.org](https://arxiv.org/html/2509.21039v1)
[5] [https://www.reddit.com](https://www.reddit.com/r/golang...)
[6] [https://www.birjob.com](https://www.birjob.com/blog/moj...)
[7] [https://blog.squeezebits.com](https://blog.squeezebits....)
[8] [https://www.modular.com](https://www.modular.com/open-s...)
[9] https://www.modular.com

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

18. Сообщение от Джон Титор (ok), 12-Авг-26, 02:15   +11 +/
С одной стороны это кажется не нужным, но с другой стороны это питон который можно компилировать в родной код. А вот это нужно - чтобы работало быстрее питона. Это своеобразный раст для питона. Может и взлететь
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #35, #40

20. Сообщение от Аноним (21), 12-Авг-26, 03:15   +/
> Представлен стабильный релиз языка программирования
>  готовый к повсеместному использованию и позволяющий начать разрабатывать крупные проекты, не опасаясь появления в языке изменений, нарушающих совместимость.

И тут же:

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

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

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

21. Сообщение от Аноним (21), 12-Авг-26, 03:28   +/
>> распараллеливание и задействование всех вычислительных ресурсов даёт возможность добиться производительности, превосходящей приложения на C/C++
> Дальше можно не читать. Почему автор считает, что на Си/Си++ нельзя создавать программы, использующие GPU и пр. железо?!

А где конкретно ты прочел, что автор так считает?

Про конкретно ситуацию с C/С++: юзать GPU  и прочее железо ты, конечно можешь, но только если явно ручками это напишешь. CUDA, там, OpenMP, SIMD-вставки для конкретного CPU - вот это вот все. Без "ручной" работы копролиты из 70-80 к этому не приспособлены, потому что у них прямо в стандарты зашиты жесткие требования к memory layout и правилам выравнивания времен PDP-11, которые компилятор не в праве нарушать. Поэтому автоматически векторизовать твой код SIMD-вставками и делать для этого банальные оптимизации типа SROA компилятор не может. Про то, чтобы еще хлеще перелопатить инструкции под GPU и говорить нечего...

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #6 Ответы: #22

22. Сообщение от Аноним (22), 12-Авг-26, 03:42   +/
> Поэтому автоматически векторизовать твой код SIMD-вставками [...] компилятор не может.

Естественно, я имею в виду, что он не может это делать в большинстве общих случаев. А так на С/C++ приходится всегда писать с учетом работы именно CPU и всячески "помогать" ему в потенциальной векторизации прописыванием restrict, заменой целочисленного деления умножением, перелопачиваем структур/циклов для оптимального использования кеша, написанием того самого SROA рачками (рабивать struct на массивы из базовых типов данных) и прочей фигней.

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #21 Ответы: #23, #25

23. Сообщение от Ivan_83 (ok), 12-Авг-26, 03:59   +1 +/
Зависит от области в которой пишется код.

У меня код реже про обработку данных и чаще про перекладывание между сисколами и либами.

Для обработки тоже ситации сильно разные бывают, та же крипта не очень хорошо параллелится, особенно хэши, максимум в пределах одного блока можно SIMD~ами поколдовать.
Из того что совсем хорошо параллелилось (и с чем я работал) помню только обработку изображений в OpenCV или вокруг него.

А так, в большинстве кода на векторизацию пофик, оно там даст незаметные или отрицательные приросты.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #22 Ответы: #30, #167

24. Сообщение от Норм (?), 12-Авг-26, 04:06   –9 +/
В С/С++ нет системы типов.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #31, #88

25. Сообщение от Норм (?), 12-Авг-26, 04:08   +/
> GPU, в котором распараллеливание происходит на несоизмеримо более продвинутом уровне по сравнению с CPU-шым "перемножь мне 4 float вместо одного".

У меня для вас плохие новости.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #22 Ответы: #29

26. Сообщение от Норм (?), 12-Авг-26, 04:10   +7 +/
Колесо сансары совершило оборот.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #7

27. Сообщение от Анонимemail (27), 12-Авг-26, 04:12   –1 +/
Да какая разница на чем вейбкодить
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #38

28. Сообщение от Аноним (28), 12-Авг-26, 06:04   –2 +/
Странно что Вирт в своё время придумывал для указателя специальный тип.  В сишке это просто знак звёздочка.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #7 Ответы: #33, #93

29. Сообщение от Аноним (22), 12-Авг-26, 06:10   +/
>> GPU, в котором распараллеливание происходит на несоизмеримо более продвинутом уровне по сравнению с CPU-шым "перемножь мне 4 float вместо одного".
> У меня для вас плохие новости.

Я готов - сообщай.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #25 Ответы: #68

30. Сообщение от Аноним (22), 12-Авг-26, 06:18   +/
> У меня код реже про обработку данных и чаще про перекладывание между сисколами и либами.

И к чему эта информация в контексте обсуждения аппаратного ускорения вычислений и векторизации в частности?

> та же крипта не очень хорошо параллелится, особенно хэши, максимум в пределах одного блока можно SIMD~ами поколдовать.

В общем случае это заявление справедливо для любого алгоритма на уровне CPU. А так даже в x86 есть SHA расширения, не говоря уж о ARM.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #23 Ответы: #83

31. Сообщение от Sm0ke85 (ok), 12-Авг-26, 07:38   +1 +/
>В С/С++ нет системы типов.

```
Система типов в C/C++ — это набор правил и механизмов, которые определяют:

    какие значения можно хранить в переменной/выражении (тип),
    какие операции допустимы между типами (совместимость, перегрузки, преобразования),
    как именно компилятор проверяет корректность программы на этапе компиляции,
    какие преобразования выполняются автоматически (implicit conversions, promotions) или требуют явного приведения (casts),
    как устроены типы на уровне компилятора: базовые (int, double), указатели (T*), массивы, ссылки, классы/структуры, шаблоны и т.д*

```

Дай "голову на отсечение", ибо ты в нее похоже просто ешь... аахахах

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #24 Ответы: #52, #69

32. Сообщение от Брат Анон (ok), 12-Авг-26, 08:11   +3 +/
Мутация -- это непрерывный процесс. И единственный способ эволюции.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #1 Ответы: #39

33. Сообщение от Брат Анон (ok), 12-Авг-26, 08:13   +1 +/
Как раз ожидаемо. Сейчас во всех языках есть идеи Вирта.  В частности, типизированные ссылка (в больных языках -- типизированный указатель)
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #28

34. Сообщение от Брат Анон (ok), 12-Авг-26, 08:14   +7 +/
Этот язык полный по Тьюрингу. Поверх LLVM полным по Тьюрингу. Поверх нескольких типов железа полных по Тьюрингу. А значит можно. Неизбежное следствие из теорем Гёделя о неполноте. Это неизбежно.


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

35. Сообщение от Axonic (ok), 12-Авг-26, 08:21   +/
Особенность Modjo — в ориентации на разработку LLM-систем. А компилируемая замена Python — это Nim.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #18 Ответы: #45, #73, #103

36. Сообщение от Брат Анон (ok), 12-Авг-26, 08:22   +3 +/
Для повышения эффективности разработки и эксплуатации?
Чукча не читатель, чукча писатель?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #11 Ответы: #44, #67

37. Сообщение от Брат Анон (ok), 12-Авг-26, 08:24   +2 +/
Ребята давно определились -- надо было блог читать. Закроют все ошибки, перепишут под другой лицензией несколько компонентов и тогда откроют. Клятвенно обещали, и пока обещания выполняют. Работают очень бодро. Вплоть до того, что в своё время приняли правильное решение и сильно изменили структуру языка (считаю, в этом была объективная необходимость).
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #20 Ответы: #79

38. Сообщение от Брат Анон (ok), 12-Авг-26, 08:25   +2 +/
Если ты вайбеодер, тогда да. А если у тебя нет лишнего лярда на толстую железку -- тогда разница есть.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #27 Ответы: #42

39. Сообщение от Jff (?), 12-Авг-26, 08:38   –6 +/
К сожалению обезьяна до сих пор не стала человеком.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #32 Ответы: #41, #50, #75

40. Сообщение от Аноним (40), 12-Авг-26, 08:45   –1 +/
Несмотря на питонообразный синтаксис, mojo больше похож на rust, только с человеческим лицом.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #18 Ответы: #48, #92

41. Сообщение от ИмяХ (ok), 12-Авг-26, 09:08   +/
А человек до сих пор не стал обезьяной
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #39 Ответы: #56, #109, #143

42. Сообщение от User (??), 12-Авг-26, 09:45   +/
Не, ну с точки зрения программиста идея "потратить ярд на зряплату" вместо "ярда на железку" выглядит конечно ничего так, ага. Но с точки зрения конкретного вот бизнеса - "есть нюансы"
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #38 Ответы: #46

43. Сообщение от опеншлёпивпродакшн (?), 12-Авг-26, 09:45   +1 +/
То есть ту же реализацию нельзя воспроизвести на другом языке?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #14 Ответы: #84

44. Сообщение от Аноним (44), 12-Авг-26, 09:50   +1 +/
> Чукча не читатель, чукча писатель?

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

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

45. Сообщение от Hack3r (?), 12-Авг-26, 09:51   +4 +/
Nim совсем другой синтакс
Mojo python-family язык
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #35

46. Сообщение от Аноним (44), 12-Авг-26, 09:52   +1 +/
Если у вас нет лярда, то на питоне разрабатывать вы точно не будете. Зависит, конечно, от бизнеса. Но там, где нужна эффективность использования оборудования, питон не используют. А значит и язык ему подобный, знать там некому.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #42 Ответы: #53

47. Сообщение от здравствуйте_я_ваша_тётя (?), 12-Авг-26, 10:03   +/
goto нету.
язык без goto - сразу понятно, что язык и его разработчики пытаются быть умнее программиста.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #60

48. Сообщение от здравствуйте_я_ваша_тётя (?), 12-Авг-26, 10:05   –1 +/
а раст с чьим лицом?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #40 Ответы: #49, #136

49. Сообщение от Аноним (49), 12-Авг-26, 10:13   +9 +/
Думаю, что личо там как у разработчиков - рептилойдов.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #48

50. Сообщение от Аноним (49), 12-Авг-26, 10:16   +/
На интервале написания коммента на OpenNet? На интервале вашей жизни?
На интервале в 2000 лет существования эпохи Христа?

У Вас вон ИИ эволюционирует за пару минут и ответ вам готовит.

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

52. Сообщение от Аноним (52), 12-Авг-26, 10:24   +/
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"));
}

Что не смеетесь?
Не смешно?
Не поняли?
ЭТО СИСТЕМА ТИПОВ СИ/СИ ++!

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #31 Ответы: #55, #66, #78, #86

53. Сообщение от User (??), 12-Авг-26, 10:35   +/
> Если у вас нет лярда, то на питоне разрабатывать вы точно не
> будете. Зависит, конечно, от бизнеса. Но там, где нужна эффективность использования
> оборудования, питон не используют. А значит и язык ему подобный, знать
> там некому.

\Записывает\ Да что вы говорите? Дааа? А мужики-то не знают!

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #46 Ответы: #148

55. Сообщение от Archer73 (ok), 12-Авг-26, 10:49   +1 +/
-fpermissive?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #52

56. Сообщение от Аноним (56), 12-Авг-26, 10:49   +1 +/
Уже давно стал
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #41

57. Сообщение от Аноним1234 (?), 12-Авг-26, 10:53   +/
По описанию не понял. Как там освобождают память? Там сборщик мусора, ручное управление или время жизни?
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #59

58. Сообщение от Аноним (58), 12-Авг-26, 11:13   +/
> Почему автор считает

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

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

59. Сообщение от Hack3r (?), 12-Авг-26, 11:52   +/
ownership/lifetime + manual
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #57 Ответы: #100

60. Сообщение от User (??), 12-Авг-26, 11:54   +2 +/
> goto нету.
> язык без goto - сразу понятно, что язык и его разработчики пытаются
> быть умнее программиста.

По этому комментарию сразу понятно: у них получилось!

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #47 Ответы: #81

61. Сообщение от corvuscor (ok), 12-Авг-26, 12:39   +2 +/
Вроде бы хорошо, но компилятор по-прежнему закрыт?
емнип, обещали к релизу, и теперь опять обещают?
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #63

63. Сообщение от Hack3r (?), 12-Авг-26, 12:50   +1 +/
они вроде и говорили что первый этап это стандартная библиотека
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #61

64. Сообщение от Аноним (64), 12-Авг-26, 13:06   –1 +/
"The systems language for the AI era.". Спасибо, что сразу предупредили
Ответить | Правка | Наверх | Cообщить модератору

65. Сообщение от Аноним (65), 12-Авг-26, 13:28   +/
Пермиссивщину планируют приоткрыть после завершения ... а потом снава призакрыть.
Ответить | Правка | Наверх | Cообщить модератору

66. Сообщение от Аноним (66), 12-Авг-26, 13:38   +/
неявное приведение к int в чем проблема?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #52 Ответы: #70, #82

67. Сообщение от aname (ok), 12-Авг-26, 13:49   –1 +/
> Для повышения эффективности разработки и эксплуатации?
> Чукча не читатель, чукча писатель?

Ну и, как, повысил?

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #36 Ответы: #149

68. Сообщение от Норм (?), 12-Авг-26, 13:53   +/
Именно что перемножить 4 флота вместо одного.
Там те-же самые вне очереди риск ядра с "avx" что и в цп.
Никакой волшебной супер техноложии распараллеливания.

Разница в модели памяти. ЖПУ читает и пишет большими кусками. И чтобы оно работало быстро и параллельно доступ к памяти во всех "потоках" должен быть синхронизирован. В идеале прочитать из одного массива и записать в один массив по окончании вычислений.

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #29 Ответы: #77

69. Сообщение от Норм (?), 12-Авг-26, 14:02   –1 +/
Все что угодно можно назвать системой типов конечно.
Типы в сишке указывают на то как компилятору интерптиривать кусок памяти (и то не всегда, смотрим описание типа int)

Есть ли какая-то в них система? Ну, если вы мухомором наелись, то можно найти, а так это бред просто.

С++ делает этот бред настолько запутанным, с описанием на 2 тысячи страниц, что сможет показаться что там есть какая-то симтема.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #31 Ответы: #71, #74

70. Сообщение от Норм (?), 12-Авг-26, 14:03   +/
В разименовании указателя на void.

Теперь можно смеяться 👍

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #66 Ответы: #72

71. Сообщение от Аноним (66), 12-Авг-26, 14:04   +/
а ты походу очередной ЫЫ бот!
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #69

72. Сообщение от Аноним (66), 12-Авг-26, 14:07   +/
> В разименовании указателя на void.

где там разименовании?

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

73. Сообщение от Xurxor (?), 12-Авг-26, 14:17   +3 +/
Вы слишком узко смотрите — LLM частный кейс применения Mojo, одна из ключевых фичей которого в том, что он позволяет выполнять на код GPU без CUDA.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #35 Ответы: #76

74. Сообщение от Sm0ke85 (ok), 12-Авг-26, 14:23   +/
>Все что угодно можно назвать системой типов конечно.

мимо

>Есть ли какая-то в них система?

есть

>С++ делает этот бред настолько запутанным, с описанием на 2 тысячи страниц, что сможет показаться что там есть какая-то симтема.

Короче, я так понял ты "брякнул не подумавши"... И разговор был о С/С++, если что...

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #69 Ответы: #119

75. Сообщение от funny.falcon (?), 12-Авг-26, 14:26   –1 +/
Как же не стала, если стала: человеки есть и они произошли от обезьяны (от общего предка)
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #39 Ответы: #163

76. Сообщение от Axonic (ok), 12-Авг-26, 14:29   +/
Да, я это имел в виду. С замечанием согласен.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #73

77. Сообщение от Аноним (22), 12-Авг-26, 15:16   +/
> Именно что перемножить 4 флота вместо одного.

Это было предсказуемо. Мы же на Опеннете.

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

Дядя, иди проспись, там вообще концептуально другой архитектурный подход по сравнению с CPU, при котором вместо "примени мне инструкцию к вектору из N элементов"  операция выполняется в сотнях и тысячах потоков вычислений, и группировка этих потоков выполняется самим GPU.

Это абсолютно другой подход как на уровне железа, так и непосредственно на уровне кода, а ты про "4 float" и "вектора дробить" поешь. Глянул бы хотя бы API той же CUDA.

Да, модель доступа памяти тоже играет роль. Но, во-первых, это далеко не одна единственная причина. Во-вторых, даже она сама по себе исходит из фундаментально разной архитектуры железа: тот же концепт расшареной памяти для группы потоков из GPU (__shared__ из CUDA) в CPU отсутствует как концептуально, так и физически. А ты пытаешься натянуть сову на глобус, пытая провести параллели.

И, как я и писал, именно из-за того, что эти концептуальные различия влияют на структуру в т.ч. кода - копролиты типа С/С++ автоматом сами по себе на этот подход GPU не ложатся, а после перелопачивания алгоритмов ради CPU-векторизацию - и подавно.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #68 Ответы: #118

78. Сообщение от Sm0ke85 (ok), 12-Авг-26, 15:16   –1 +/
>Что не смеетесь?
>Не смешно?
>Не поняли?
>ЭТО СИСТЕМА ТИПОВ СИ/СИ ++!

Во-первых это таки С++, а во-вторых: Что ты доказал? Что cout работает с разными типами и вполне удачно конвертирует это все в строку? Что за бредовый пример? Ну склеил ты строку  "int: " с конвертированными в строки другими типами приведенными к инту, и что дальше? Проблема где? А то, что компилятор скорее всего тебе говорил, что беда с неявным преобразованием в инт тебя не беспокоило, ты наверное еще и флаги специальные использовал?

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #52 Ответы: #80

79. Сообщение от Аноним (22), 12-Авг-26, 15:19   +/
> Ребята давно определились -- надо было блог читать. Закроют все ошибки, перепишут под другой лицензией несколько компонентов и тогда откроют.

Мой вопрос был не о том, когда завершится "перепишут и закроют ошибки". Вопрос был в том, почему песни о "стабильности" начали петь ДО МОМЕНТА окончания этого процесса.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #37 Ответы: #106, #150

80. Сообщение от Аноним (22), 12-Авг-26, 15:25   +/
> Что ты доказал?

Что "система типов" в С/С++ - неудачная шутка.

> Что cout работает с разными типами и вполне удачно конвертирует это все в строку?
> Проблема где?

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

Можешь еще даже писать "1" + 1, прямо как в JavaScript.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #78 Ответы: #85

81. Сообщение от Ivan_83 (ok), 12-Авг-26, 15:28   –3 +/
Не получилось.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #60 Ответы: #94

82. Сообщение от Аноним (22), 12-Авг-26, 15:28   +/
> неявное приведение к int в чем проблема?

В неявном приведении к int.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #66 Ответы: #87

83. Сообщение от Ivan_83 (ok), 12-Авг-26, 15:29   +1 +/
К тому что ситуация когда векторизация и распараллеливание даёт профит встречается редко в обычных программах, и замена С/С++ на что то другое - не даст ничего в плане производительности.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #30 Ответы: #95

84. Сообщение от Ivan_83 (ok), 12-Авг-26, 15:33   +1 +/
Можно, но обычно реализации с SIMD, распараллеливанием и прочим это ручные реализации в С/С++ которые делаются уже после профилирования кода и понимания что оно даст прирост.
В сабжевом же языке типа оно делается само на автомате под капотом и поэтому авторы сабжа сравнили такую автовекторизацию с обычной реализацией и типа победили по скорости.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #43 Ответы: #96, #97, #122, #164

85. Сообщение от Sm0ke85 (ok), 12-Авг-26, 15:43   +/
>Что "система типов" в С/С++ - неудачная шутка.

Где? В неявном приведении? Или не понятно как твой фокус компилятор пропустил (а это именно что фокус)?

>Ты ведь ничего не понял, не так ли? Код вообще не о cout, а о том, что у тебя куча неявных преобразований в int на уровне той самой системы типов. Включая преобразование строки в int.

Я свой ответ поправил уже, а твои "куча неявных преобразований" не сработают, если ты заведешь переменные, фокусник (Ты б еще б тип #define 77 проверил бы на char'ность, ахахах, при чем тут Система типов, когда ты сырую дату подсовываешь, для которой выделено место в памяти, чтоб оно просто поместилось)...

А может ты "боевой" код покажешь, где твой фокус вдруг сработает...? Есть такой? ахахах

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #80 Ответы: #89, #91

86. Сообщение от Sm0ke85 (ok), 12-Авг-26, 15:53   +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
```

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #52 Ответы: #141

87. Сообщение от Аноним (66), 12-Авг-26, 16:15   +/
> В неявном приведении к int.

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

-Wimplicit-int
-Wint-conversion

-Wno-implicit-int (C and Objective-C only)
This option controls warnings when a declaration does not specify a type. This warning is enabled by default, as an error, in C99 and later dialects of C, and also by -Wall. The error can be downgraded to a warning using -fpermissive (along with certain other errors), or for this error alone, with -Wno-error=implicit-int.

This warning is upgraded to an error by -pedantic-errors.

-Wno-int-conversion (C and Objective-C only)
Do not warn about incompatible integer to pointer and pointer to integer conversions. This warning is about implicit conversions; for explicit conversions the warnings -Wno-int-to-pointer-cast and -Wno-pointer-to-int-cast may be used.

By default, in C99 and later dialects of C, GCC treats this issue as an error. The error can be downgraded to a warning using -fpermissive (along with certain other errors), or for this error alone, with -Wno-error=int-conversion.

This warning is upgraded to an error by -pedantic-errors.

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

88. Сообщение от Ivan_83 (ok), 12-Авг-26, 16:16   +/
А зачем оно надо то?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #24

89. Сообщение от Аноним (66), 12-Авг-26, 16:18   +/
> А может ты

это ЫЫ бот!

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

90. Сообщение от Аноним (92), 12-Авг-26, 16:45   +/
Волшебство?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #16 Ответы: #111, #142

91. Сообщение от Аноним (22), 12-Авг-26, 16:46   +/
>>Что "система типов" в С/С++ - неудачная шутка.
>Где? В неявном приведении?

Да.

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

Переменные как-то помогут не присвоить float к int с молчаливым отбрасыванием дробной части?

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #85 Ответы: #127

92. Сообщение от Аноним (92), 12-Авг-26, 16:48   –1 +/
Не люблю питон и раст, ещё человеческих лиц им не хватало!
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #40 Ответы: #151

93. Сообщение от Аноним (93), 12-Авг-26, 16:53   +2 +/
Это одно и тоже. Нужно понимать, что есть именованые указатели int* в Си или ^Integer в паскале. Ну а Pointer это неименнованный указатель.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #28

94. Сообщение от Аноним (94), 12-Авг-26, 17:01   +2 +/
бы если речь шла о тебе, то можно было бы сказать, что точно получилось, но ты не программист
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #81

95. Сообщение от Аноним (22), 12-Авг-26, 17:08   +/
> ситуация когда векторизация и распараллеливание даёт профит встречается редко в обычных программах

Объясняю еще раз: в этом обсуждении речь идет конкретно о аппаратном ускорении вычислений и как они ложатся на язык - для ситуаций, когда ускорение не только 100% дает профит, но и в принципе является незаменимым в силу бесполезности алгоритма, который иначе будет в разы и стони раз медленнее.

Поэтому второй раз спрашиваю: при чем здесь твое словоблудие про "обычные программы", системные АПИ и замену С/С++? Ты правда не понимаешь, что эти темы вообще не имеют отношения к обсуждаемой проблеме?

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #83 Ответы: #101

96. Сообщение от Аноним (7), 12-Авг-26, 18:15   +/
Начну издалека: у LLVM есть Си/Си++ морды?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #84

97. Сообщение от Аноним (7), 12-Авг-26, 18:17   –1 +/
> в С/С++ которые делаются уже после профилирования кода и понимания что оно даст прирост. В сабжевом же языке типа оно делается само на автомате

Т.е. в Можо это делается без профилирования и без понимания, надо ли оно и даст ли вообще профит.

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

98. Сообщение от Аноним (7), 12-Авг-26, 18:19   +/
Хинто 1: у LLVM есть Си/Си++ фронтэнды?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #14

100. Сообщение от Аноним (7), 12-Авг-26, 18:21   +/
> manual

Здравствуй, сишный мир!

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #59 Ответы: #114

101. Сообщение от Ivan_83 (ok), 12-Авг-26, 19:39   +1 +/
> в принципе является незаменимым в силу бесполезности алгоритма

Если алгоритм бесполезный - зачем на него тратить время?)


Какой теме то?
Оно изначально началось с того что аноним возмутился тому что на С/С++ можно сделать никак не менее производительно, с чем я полностью согласен.
И то что авторы притянули производительность якобы выше - оное надо читать как с кучей звёздочек типа: когда С/С++ пограмисту было пофиг и лень и он написал просто чтобы работало не напрягясь.

Что же до самого ЯП то он за програмиста не будет делать ничего кроме местечкой векторизации, ну где то даст средства подобные OpenMP/CUDA/тп, но как их правильно юзать опять же на програмисте.

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

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

102. Сообщение от Аноним (102), 12-Авг-26, 19:59   +/
Сделайте наконец во ФриПаскале блоки отступом. Пусть опционально даже. И будет вам статически типизированный Питон с производительностью почти Си.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #132

103. Сообщение от BrainFucker (ok), 12-Авг-26, 22:00   +2 +/
Компилируемая замена Python это Cython.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #35

104. Сообщение от BrainFucker (ok), 12-Авг-26, 22:01   +/
Т.е. свифт в итоге оказался такой себе и автор решил начать с нуля новое?
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #112

106. Сообщение от Комические куплеты (?), 12-Авг-26, 23:36   +1 +/
А ты лично видел эту самую стабильность когда-нибудь? Может внятно сказать как она выглядит?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #79

109. Сообщение от Сладкая булочка (?), 13-Авг-26, 00:03   +1 +/
> А человек до сих пор не стал обезьяной

Судя по распространению вебни как раз обратное.

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

111. Сообщение от Володька Драйвер (?), 13-Авг-26, 00:07   +/
MLIR. В теории волшебство, но на практике пока ещё нет.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #90

112. Сообщение от Сладкая булочка (?), 13-Авг-26, 00:08   +1 +/
Он вроде свифт для яблока делал. Проект сдал - деньги взял. А это личный проект.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #104 Ответы: #124

113. Сообщение от Сладкая булочка (?), 13-Авг-26, 00:09   +/
1.0, а код компилятора пока так и не открыли... Думается это тормоз проекту.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #137

114. Сообщение от Сладкая булочка (?), 13-Авг-26, 00:11   –1 +/
> Здравствуй, сишный мир!

Приве
Segmentation fault (core dumped)

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #100 Ответы: #138

116. Сообщение от Володька Драйвер (?), 13-Авг-26, 00:52   –3 +/
Так это же Rust с Python синтаксисом. Аналогичная система владения/заимствования(только без явных лайфтаймов), перемещения по умолчанию, системой трейтов. Незнаю, зачем вообще писать про С++, когда язык на это совсем не похож.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #120

118. Сообщение от Норм (?), 13-Авг-26, 03:11   –1 +/
Операция сложения в тысячах потоках?
Или какая у вас там операция?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #77 Ответы: #128

119. Сообщение от Норм (?), 13-Авг-26, 03:17   +/
В сишке слава богу нет.
В С++. Система есть в том как оно разрабатывалось путем "прикол если компилятор это скомпилит хы прокатило добавим в стандарт".

Но разобрать это работа следствия и психиатрии. Но лучше ненужно.

Система в смысле одно связано с другим. Да. Оно не совсем случайным образом все.

Это о системе.

Разговор о типах кончается с описания типа int в стандарте.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #74 Ответы: #126

120. Сообщение от Норм (?), 13-Авг-26, 03:23   –1 +/
Это старая такая марка. В свое время (оно как с/с++!) использовалось как реклама, C# один чего стоит. Тимо мартышке ненужно учиться все такое привычное и понятное.
Сколько несчасьных сипипишников это сломало, когда оказывалось что оно совсем вот совсем не то.
Кстати RUST, тоже пиариался как сиподобный синтаксис 🤣.
Сишник смотрит в код и видит фигу. А обещали что будет понятно.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #116

122. Сообщение от Норм (?), 13-Авг-26, 03:28   +/
Похожее кстати в Julia обещали.
А на деле 🤣 они целые числа не смогли.
Вот флоты да. На жпу может.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #84

124. Сообщение от Аноним (124), 13-Авг-26, 06:07    Скрыто ботом-модератором+/
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #112

126. Сообщение от Sm0ke85 (ok), 13-Авг-26, 07:05   –1 +/
>Разговор о типах кончается с описания типа int в стандарте.

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #119 Ответы: #130, #140

127. Сообщение от Sm0ke85 (ok), 13-Авг-26, 07:24   +/
>Переменные как-то помогут не присвоить float к int с молчаливым отбрасыванием дробной части?

Да, флаг -Wconversion тебе в помощь (а можно ворнинг и в еррор превратить), это очередное подтверждение того, что ты очень слаб в С, тебе компилятор все напишет, а если флаги верные боевые выставишь, то ты это не соберешь, а там где тип позволяет неявно преобразовываться получишь минимум ворнинг, что потребует ручного каста... Си - это история не про "собралось" и ладно, там в железо и работу компилятора надо уметь...

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #91 Ответы: #129

128. Сообщение от Аноним (22), 13-Авг-26, 08:03   +/
> Операция сложения в тысячах потоках?

И сложения в том числе. А так - какую напишешь. Что непонятного-то?

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

129. Сообщение от Аноним (22), 13-Авг-26, 08:11   +/
>>Переменные как-то помогут не присвоить float к int с молчаливым отбрасыванием дробной части?
> Да, флаг -Wconversion тебе в помощь

Ну, то есть, поможет мне специфичный для GCC флаг, а не система типов С/С++.

> Си - это история не про "собралось" и ладно, там в железо и работу компилятора надо уметь...

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #127 Ответы: #134

130. Сообщение от Аноним (22), 13-Авг-26, 08:14   +1 +/
> Не надо придумывать, все там отлично с типами, гораздо лучше чем в других языках, проблемы только у тех, кто в железо не понимает

Чел, твои попытки напустить пыли в глаза выглядят максимально нелепо. Система типов не имеет никакого отношения к железу. Вообще. Если считаешь иначе - валяй, покажи, как выглядит на CPU тип "знаковое 32-битное число".

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #126 Ответы: #131

131. Сообщение от Sm0ke85 (ok), 13-Авг-26, 08:35   –1 +/
>Чел, твои попытки напустить пыли в глаза выглядят максимально нелепо. Система типов не имеет никакого отношения к железу. Вообще. Если считаешь иначе - валяй, покажи, как выглядит на CPU тип "знаковое 32-битное число".

А ты смешон, ахахахах!!!!! Ну попихай uint32_t в int8_t - тогда поймешь как железо "не влияет" на систему типов... ахаха!!!!! И для справки: "знаковое 32-битное число" выглядит вообще не так как "беззнаковое"))))) клоунада, ахахах!!!!

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

132. Сообщение от Аноним (7), 13-Авг-26, 08:40   +/
Напиши просто препроцессор, который отступный код преобразует в блочный.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #102 Ответы: #157

134. Сообщение от Sm0ke85 (ok), 13-Авг-26, 08:54   +/
>Ну, то есть, поможет мне специфичный для GCC флаг, а не система типов С/С++.

А ты решил язык без компилятора эксплуатировать???? Странный подход... А может и директивы еще надо убрать, они ж "не язык", а команды для препроцессора...?? ахахаха!!!!

>Ну да, что же остается, когда сам Си не сумел в нормальную систему типов и стандарт?

За стандартом следит компилятор... И он вполне справляется... Компилятор - это неотъемлемая часть языка программирования, если что... Пример же даже не сможешь привести, который твою претензию подтвердил бы... Что тебе Не нормально в системе типов Си - она самая правильная и удобная, а все остальное для луддитов, которым в руки ничего давать нельзя, ибо сломают, короче для безмозглых, ну есть такие, которые решили, что можно просто белиберду писать и она обязательно должна работать как хотел автор... ахахаха))))

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

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

Си - топовый язык, ибо при всей простоте синтаксиса он предоставляет фактически неограниченную функциональность, при этом требуя достаточно простой компилятор и мозг не из желе (вот тут "сложность" обычно и отсев по принципу пЕйсатель/программист)....

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

136. Сообщение от Аноним (136), 13-Авг-26, 12:02   +/
краб же
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #48

137. Сообщение от Аноним (7), 13-Авг-26, 14:41   –1 +/
Да боятся открывать, а то любой ИИ стащит.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #113

138. Сообщение от Аноним (7), 13-Авг-26, 14:42   +/
unsafe unwrap panic :)
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #114

140. Сообщение от Норм (?), 13-Авг-26, 16:58   +/
Вы стандарт таки почитайте.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #126 Ответы: #153

141. Сообщение от Аноним (52), 13-Авг-26, 17:40   +/
Проблема не во флагах, а в убогости языка. Надо быть полоумным, чтобы называть int "системой типов".
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #86 Ответы: #155

142. Сообщение от Джон Титор (ok), 13-Авг-26, 18:29   +/
> Волшебство?

Ниже ИИ расписал что нет.

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

143. Сообщение от Вася Пупкин (?), 13-Авг-26, 18:57   +/
always has been
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #41

148. Сообщение от Брат Анон (ok), 13-Авг-26, 22:17   +3 +/
Многие очень часто не знают, и строго говоря -- это реальная проблема.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #53 Ответы: #152

149. Сообщение от Брат Анон (ok), 13-Авг-26, 22:21   +2 +/
Судя по тому, что автору дали денег далеко не глупые дяди -- видимо повысил.
Но строго говоря, почему ви таки этот вопрос задание мне? Это же не я автор языка.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #67 Ответы: #158

150. Сообщение от Брат Анон (ok), 13-Авг-26, 22:24   +2 +/
Это идеализм. Они говорили не про состояние, а про приоритет.
Стабильность это процесс. И стабильность (в каких попугаях?) плывет то больше, то меньше.  Но учитывая их приоритет -- ну как минимум заявляли они правильно. Учитывая, кем является автор языка -- охотно верю, что это не просто слова на ветер. Авторитет у него более чем.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #79

151. Сообщение от Аноним (151), 13-Авг-26, 22:49   +/
Не пропадайте, держите нас в курсе того, что вам еще не нравится.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #92

152. Сообщение от User (??), 14-Авг-26, 06:59   –1 +/
Я даже не буду говорить о том, что подмножество людей, у которых есть "задачи на миллиард" порядка эдак на... четыре меньше подмножества "программирующих на python" - я просто спрошу. Вот есть у меня проект на три ярда по предикативной диагностики электрохимзащиты трубопроводной системы. 70% проекта - таки оборудование. Как и сколько переход с java+python на X(+Y) поможет заработать мне ну или хотя бы сэкономить заказчику?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #148 Ответы: #154

153. Сообщение от Sm0ke85 (ok), 14-Авг-26, 07:17   +/
>Вы стандарт таки почитайте.

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

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

154. Сообщение от Брат Анон (ok), 14-Авг-26, 07:19   +2 +/
Если говорим про 30% с лярдов, то примерно 25%. Т.е. примерно лярд. Условный Go работает в 80 раз быстрее python, и примерно в 5 раз меньше жрет памяти чем python или java. Если с питоном цифры однозначны, то по java памяти в лучшем случае -- в 3 раза отрыв.
Если взять Nim разрыв будет ещё более драматический. С python по скорости в 160 раз, по памяти в 7 раз, по надёжности а 5..7 раз.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #152 Ответы: #156

155. Сообщение от Sm0ke85 (ok), 14-Авг-26, 07:21   +/
>Проблема не во флагах, а в убогости языка. Надо быть полоумным, чтобы называть int "системой типов".

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

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

156. Сообщение от User (??), 14-Авг-26, 07:47   –1 +/
Карго-культисты такие карго-культисты... 70% стоимости - дооснощение оборудования телеметрией. Все айтишишечные погремушки с лицензиями на инфру - 300 млн по ценам начала 2025. Требования к оборудованию и избыточности - от заказчика.

Самое "груженое" там: ETL (кластер apache nifi), два физических сервера начального уровня попилены на виртуалочки, разработки вот ровно 0, настройка - 2,5 два человека. Возьмешься переписать на ХХХ так чтоб заказчик это еще и эксплуатировать мог?
Еще есть вот LLM + GPU, да. ollama+чего-то там с открытыми весами. Примерно месяц 1,5 человека - сможешь лучше\быстрее\дешевле?
Ну и рассчетный кусок по NORSOK (плюс-минус лапоть, кастом и тэдэ), ага. Вот с мыелем, куда ж без него. Горячую часть на cython перекинули, что-если анализ по ТЗшному набору параметрво гарантированно в 4 часа умещается - требования заказчика 8. 12 человек, полтора года. Вижу ач-чешуительный потенциал... по раздуванию бюджета и увеличению сроков проекта, ага.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #154 Ответы: #159

157. Сообщение от Аноним (157), 14-Авг-26, 11:13   +/
Костыль. Питонность должна быть самом компиляторе. Без вопросов должно понимать и питонные, и паскальные блоки. Совместимость. Ну чуть дольше подумает пусть.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #132

158. Сообщение от aname (ok), 14-Авг-26, 12:32   –1 +/
> Судя по тому, что автору дали денег далеко не глупые дяди --
> видимо повысил.
> Но строго говоря, почему ви таки этот вопрос задание мне? Это же
> не я автор языка.

Ты же вписался за автора.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #149 Ответы: #160

159. Сообщение от Брат Анон (ok), 14-Авг-26, 19:08   +2 +/
Ну т. е. мой ответ был принципиально не нужен, поэтому десяток новых вводных. Ну, ок. А зачем тогда что-то было меня спрашивать?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #156 Ответы: #165

160. Сообщение от Брат Анон (ok), 14-Авг-26, 19:10   +1 +/
Не надо мне приписывать то, что я не делал. Не надо путать вписывание за дядю и объяснение как работает капитализм.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #158 Ответы: #161

161. Сообщение от aname (ok), 14-Авг-26, 19:19   –1 +/
> Не надо мне приписывать то, что я не делал. Не надо путать
> вписывание за дядю и объяснение как работает капитализм.

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

Хватит маняврировать, как ленин.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #160 Ответы: #162

162. Сообщение от Брат Анон (ok), 14-Авг-26, 19:26   +1 +/
Ни в одном месте я не писал про эффективность для тебя. Я писал про эффективность тех, кто зарабатывает на тебе. Почувствуй разницу.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #161 Ответы: #166

163. Сообщение от Алексий Козубовскийemail (?), 14-Авг-26, 19:44   +/
А обезьяны от КОГО происходят?
А - от дельфинов. "Верю". То есть : не верю
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #75

164. Сообщение от Алексий Козубовскийemail (?), 14-Авг-26, 19:56   +/
то есть побеждают по скорости разработки?  Не скорости выполнения кода? После компиляции?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #84

165. Сообщение от User (??), 14-Авг-26, 20:58   +/
Кто бы мог подумать, что в жизни бывают дополнительные ограничения, да?
Кто угодно, только не программист - у него все просто: вот python, он "медленный", вот ххх - он в N раз быстрее. Меняем python на xxx, зарабатываем в N раз больше денег!
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #159

166. Сообщение от aname (ok), 14-Авг-26, 21:22   +/
А мы тут ни разу и не обсуждали мою эффективность. Опять маняврируеш
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #162

167. Сообщение от _ (??), 15-Авг-26, 05:37   +/
> А так, в большинстве кода на векторизацию пофик, оно там даст незаметные или отрицательные приросты.

Не ну ты конечно что-то с чем-то!(С) :)

Что сейчас гоняет подавляющее большинство мощностей в ынторнетах?! Тензоры перекладывают, аха! И там оно ... :)

Но можно и более приземленный пример: если у тебя не слишком люто старый Жысоси - сходи т глянь в стдлиб строковые функи 8-) Как только те знаменитые перцы нашли как туда SIMD применить ... классика только в исторических ветках осталась.

Как то так!(С)

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


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

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




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

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