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

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

Релиз языка программирования Mojo 1.2 и публикация кода движка MAX Framework

25.10.2026 09:34 (MSK)

Представлен релиз языка программирования Mojo 1.2. Язык Mojo развивается под руководством Криса Латнера (Chris Lattner), основателя и главного архитектора проекта LLVM и создателя языка программирования Swift. Код компилятора и сопутствующего инструментария, необходимого для сборки проектов на языке Mojo, распространяется под лицензией Apache 2.0 c исключениями от проекта LLVM, допускающими смешивание с кодом под лицензией GPLv2.

Синтаксис Mojo основан на языке Python, а система типов близка к C/C++. Проект преподносится как язык общего назначения, расширяющий возможности языка Python средствами системного программирования, подходящий для широкого круга задач и сочетающий простоту применения для исследовательских разработок и быстрого создания прототипов с пригодностью для формирования высокопроизводительных конечных продуктов.

Простота достигается благодаря использованию привычного синтаксиса языка Python, а разработке конечных продуктов способствуют возможность компиляции в машинный код, механизмы безопасной работы с памятью и задействование средств для аппаратного ускорения вычислений. Для достижения высокой производительности поддерживается распараллеливание вычислений с задействованием всех имеющихся в системе аппаратных ресурсов гетерогенных систем, таких как GPU, специализированные ускорители для машинного обучения и векторные процессорные инструкции (SIMD). При интенсивных вычислениях распараллеливание и задействование всех вычислительных ресурсов даёт возможность добиться производительности, превосходящей приложения на C/C++.

Язык поддерживает статическую типизацию и средства для безопасной низкоуровневой работы с памятью, напоминающие возможности языка Rust, такие как отслеживание времени жизни ссылок и проверка заимствования переменных (borrow checker). При этом в языке доступны и возможности для низкоуровневой работы, например, возможно прямое обращение к памяти в режиме unsafe с использованием типа Pointer, вызов отдельных SIMD-инструкций или доступ к аппаратным расширениям, таким как TensorCores и AMX.

Mojo может использоваться как в режиме интерпретации с использованием JIT, так и для компиляции в исполняемые файлы (AOT, ahead-of-time). В компилятор встроены современные технологии автоматической оптимизации, кэширования и распределённой компиляции. Исходный код на языке Mojo преобразуются в низкоуровневый промежуточный код MLIR (Multi-Level Intermediate Representation), развиваемый проектом LLVM. Компилятор позволяет применять для генерации машинного кода различные бэкенды, поддерживающие MLIR.

Среди изменений в Mojo 1.2:

  • Добавлена поддержка сопоставления с образцом, используя конструкции match / case. В качестве образца могут использоваться литералы ("case 100:"), логические выражения с литералами ("case 100 | 200:"), кортежи ("case (10, 10, 10):"), структуры, ограничивающие условия ("case limit if limit > 10:") и шаблоны ("case _:"). Дополнительно реализовано выражение "comptime match" для выполнения проверки на этапе компиляции.
    
       def classify_point(p: Tuple[Int, Int]) -> String:
           match p:
               case 0, 0:
                   return "origin"
               case x, 0 if x < 0:
                   return String("negative x-axis:", x)
               case x, 0:
                   return String("x-axis:", x)
               case 0, y:
                   return String("y-axis:", y)
               case x, y:
                   return String("point:", x, ",", y)
    
  • Добавлена поддержка деструктуризации списков, которая может использоваться как отдельно, так и внутри проверок в match:
    
       var [first, *middle, last] = values
       match values:
           case []:
               print("empty")
           case [1, *middle, last]:
               print(len(middle), last)
           case [first, *rest]:
               print(first, len(rest))
    
  • В выражения if, elif и while добавлена возможность использования конструкций "if case" и "while case" для проверки и извлечения данных.
    
        if case .Some(item) = value:
            return String("some:", item)
        else:
            return "none"
    
        while case .Some(item) = get_next():
            process(item)
    
  • В библиотеку std.math добавлено более 20 математических функций (atan(), tan(), cbrt(), erfc(), lgamma(), log10(), remainder(), hypot() и т.п.), доступных в вариантах, способных работать на CPU и GPU, и не использующих системную библиотеку libm.
  • Добавлен тип TargetAccelerator для метаданных аппаратных ускорителей, сочетающий возможности типов GPUInfo и CompilationTarget.
  • Добавлен синтаксис "not <Trait>" для отключения реализации определённых типажей (например, "struct Handle(not Movable, Writable):"), который рекомендуется использовать вместо "<Trait> where False".
  • Появилась возможность определения собственных сообщений об ошибках в проверочных выражениях where - "where <condition> else "<message>".
    
       def foo[sc: Int]() where sc > 1 else "scaling factor must be greater than"
    
  • Компилятор mojo переведён на выделение памяти при помощи библиотеки jemalloc на платформе Linux. Компиляция крупных пакетов и больших ядер для GPU ускорилась на 10-13%. Например, пакет nn теперь компилируется за 61 секунду вместо 98.
  • Проведена оптимизация производительности. Операции выравнивания строк ускорены до 86 раз, а повторения больших строк через оператор "*" примерно в 2 раза. Значительно повышена производительность методов String.startswith() и String.endswith(). В среднем на 20% ускорен разбор чисел с плавающей запятой при помощи функции atof().
  • Структура StringSpan теперь предоставляет доступ к байтам строки только в режиме чтения (immutable). Поддержка структур MutStringSpan, MutStringSlice и параметра mut, позволявших напрямую изменять данные в строковом буфере, прекращена.
  • Пустой кортеж "()" теперь всегда означает значение кортежа, а не тип. Для указания типа пустого кортежа следует указывать "Tuple[]".
  • Ключевые слова async и await переименованы в "__async" и "__await для индикации их экспериментального статуса (старые варианты сохранены, но будут выдавать предупреждение).

Одновременно сформирован выпуск движка MAX Framework 26.7, предлагающего платформу для разработок в области машинного обучения. MAX Framework дополняет инструментарий Mojo средствами для разработки и отладки приложений, использующих модели машинного обучения в различных форматах (TensorFlow, PyTorch, ONNX и т.п.).

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

Из функциональных изменений в MAX Framework 26.7 отмечается добавление поддержки AI-моделей Muse Glimmer и MiMo-V2.6-Flash, возможность передачи видео в модели Qwen3.5 и Qwen3-VL, новый API Decisions для оценки вероятностей при классификации и принятии решений, значительное ускорение выполнения моделей на GPU NVIDIA B200 и AMD MI355. Реализован режим "eager" для ускорения тестирования и отладки кода, позволяющий выполнять операции мгновенно по мере их вызова, без предварительной полной обработки графовым компилятором.

  1. Главная ссылка к новости (https://www.modular.com/blog/2...)
  2. OpenNews: Релиз языка программирования Mojo 1.1
  3. OpenNews: Открыт код компилятора для языка программирования Mojo
  4. OpenNews: Релиз языка программирования Mojo 1.0
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/66544-mojo
Ключевые слова: mojo
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (62) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.2, анм (?), 11:06, 25/10/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/–
    Если в мане по mojo нет резона для раздела "как заставить компилироваться рабочие приложения а то наш боров тупой как пробка" - уже на голову выше чем руст
     
  • 1.6, Аноним (6), 12:26, 25/10/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +4 +/–
    Бесит то что убрали именование функции через fn. А так все хорошо начиналось.
    В python ужасное именование операторов которые нужно было исправить. Def, str, elif и т.д
     
     
  • 2.20, Аноним (20), 15:42, 25/10/2026 [^] [^^] [^^^] [ответить]  
  • +4 +/–
    Да какая разница, один раз привык и используешь, тем более во многом это вкусовщина.
     
  • 2.58, bergentroll (ok), 05:10, 26/10/2026 [^] [^^] [^^^] [ответить]  
  • –1 +/–
    Программистопроблемушки. Скажите шпасибо, что без 'endif'.
     
  • 2.62, Xasd7 (?), 13:58, 26/10/2026 [^] [^^] [^^^] [ответить]  
  • –1 +/–
    > В python ужасное именование операторов которые нужно было исправить. Def, str, elif и т.д

    вроде бы ни кто раньше не жаловался

     

  • 1.8, Инопланетянин (?), 13:13, 25/10/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/–
    if case .Some(item) = value:

    Раст в синтаксисе питона. Теперь я видел все.

     
     
  • 2.15, Аноним (15), 14:47, 25/10/2026 [^] [^^] [^^^] [ответить]  
  • +9 +/–
    как-то недостаточно знаков препинания, я бы сделал так:
    _if !case .Some#(item) == @value:;.
     

  • 1.11, Инопланетянин (?), 13:28, 25/10/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/–
    > Простота достигается благодаря использованию привычного синтаксиса языка Python

    Давайте честно скажем, что выглядит как питон и ползает как питон, но не питон. Просто похож. Семантика другая.

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

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

     
     
  • 2.18, Аноним (18), 15:19, 25/10/2026 [^] [^^] [^^^] [ответить]  
  • +/–
    >Но питон же выбирают для быстрого прототипирования

    как минимум лет 20 как нет, а тут просто попытка - не можешь победить - возглавь

     
     
  • 3.33, Tron is Whistling (?), 18:19, 25/10/2026 [^] [^^] [^^^] [ответить]  
  • +/–
    Скорее его выбирают, когда не в состоянии осилить ничего кроме.
     
  • 3.41, Аноним (41), 21:34, 25/10/2026 [^] [^^] [^^^] [ответить]  
  • +2 +/–
    Кого ты возглавлять собрался? Сила питона в его экосистеме, биндигах. Ага, сейчас все все бросили и начали переводить все на можо. Попыток ускорить питон много было и есть, но что-то все пользуются ванильным.
     
     
  • 4.42, Аноним (41), 21:36, 25/10/2026 [^] [^^] [^^^] [ответить]  
  • +/–
    А те, кто писал быструю реализацию, просто перешли на другой яп. Ну потому что не получится у тебя соединить динамику питона и скорость. Нужно язык менять, что и сделали авторы сабжа и делают другие проекты.
     
  • 3.48, Аноним (48), 22:38, 25/10/2026 [^] [^^] [^^^] [ответить]  
  • +/–
    > как минимум лет 20 как нет

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

     
     
  • 4.74, Смотрящий (?), 00:25, 27/10/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/–
    У нас Питон именно в проде. Но при этом в веб ничего не смотрит, и к нам ничего не лезет. Что мы делаем не так?

    А, у вас прод - это только то, что к относится к вебне? Ну, спешу разочаровать, на вебне свет клином не сошёлся.

     
     
  • 5.86, _ (??), 20:16, 27/10/2026 [^] [^^] [^^^] [ответить]  
  • +/–
    А грязные подробности? :)
     

  • 1.12, Аноним (12), 14:08, 25/10/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/–
    Я не понял. Только совсем недавно же вышел 1.0. Значит еще и 1.1 успело выйти? Или я что то путаю
     
     
  • 2.43, Аноним (41), 21:39, 25/10/2026 [^] [^^] [^^^] [ответить]  
  • +/–
    Не путаешь, только вышел и уже устарел. В 1.0 писали async, в 1.1 теперь надо писать __async. Прогресс! Не видишь прогресса? А он есть
     

  • 1.16, Метрика (?), 14:54, 25/10/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/–
    Синтаксис простой и приятный, может выстрелить
     
     
  • 2.44, Аноним (41), 21:40, 25/10/2026 [^] [^^] [^^^] [ответить]  
  • +/–
    Лол, синтаксис питона, ещё бы ему не быть простым. Но ржаветь уже начал.
     
     
  • 3.78, Метрика (?), 07:58, 27/10/2026 Скрыто ботом-модератором     [к модератору]
  • +/–
     

  • 1.17, Аноним (17), 15:07, 25/10/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/–
    Пойдет. Всяко лучше раста и быстрее питона.
     
  • 1.22, Разраб (?), 16:22, 25/10/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/–
    Просто сравните (F#):
    let classifyPoint p =
        match p with
        | (0, 0) -> "origin"
        | (x, 0) when x < 0 -> $"negative x-axis: {x}"
        | (x, 0) -> $"x-axis: {x}"
        | (0, y) -> $"y-axis: {y}"
        | (x, y) -> $"point: {x}, {y}"
     
     
  • 2.31, Tron is Whistling (?), 18:17, 25/10/2026 [^] [^^] [^^^] [ответить]  
  • –1 +/–
    yup, noshit языки всегда лучше
     
  • 2.38, Смузихеб забывший пароль (?), 19:26, 25/10/2026 [^] [^^] [^^^] [ответить]  
  • +/–
    Просто сравните( Rust ):

    fn classify_point(p: (i32, i32)) -> String {
        let (x, y) = p;
        match (x, y) {
            (0, 0) => "origin".to_string(),
            (x, 0) if x < 0 => format!("negative x-axis: {}", x),
            (x, 0) => format!("x-axis: {}", x),
            (0, y) => format!("y-axis: {}", y),
            (x, y) => format!("point: {}, {}", x, y),
        }
    }

     
  • 2.45, Аноним (41), 21:44, 25/10/2026 [^] [^^] [^^^] [ответить]  
  • +/–
    Что сравнивать, что f#, что раст с ocaml идей натырили. Нет чтобы на нем писать.
     
     
  • 3.49, Аноним (48), 22:42, 25/10/2026 [^] [^^] [^^^] [ответить]  
  • +/–
    > Нет чтобы на нем писать

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

     
     
  • 4.51, Инопланетянин (?), 22:47, 25/10/2026 [^] [^^] [^^^] [ответить]  
  • +/–
    > Мёртвый язычок без сообщества, тулинга, бэкинга

    Ты на главную давно заходил https://ocaml.org/

    > и модулей.

    ЛОЛ что?

     
     
  • 5.71, User (??), 21:30, 26/10/2026 [^] [^^] [^^^] [ответить]  
  • –1 +/–
    Ну зашёл. Чего полезного на ем написано - не нашёл. И?
     
     
  • 6.72, Инопланетянин (?), 22:28, 26/10/2026 [^] [^^] [^^^] [ответить]  
  • +/–
    > Ну зашёл. Чего полезного на ем написано - не нашёл. И?

    На главной есть ответы по поводу "сообщества, тулинга, бэкинга и модулей". А если еще воспользоваться поиском...

    Из полезного? Rocq, Frama-C, rustc (в ранних версиях), haxe, pyre (первой версии), flow, moonbit, MirageOS

     
     
  • 7.79, User (??), 09:06, 27/10/2026 [^] [^^] [^^^] [ответить]  
  • +/–
    >> Ну зашёл. Чего полезного на ем написано - не нашёл. И?
    > На главной есть ответы по поводу "сообщества, тулинга, бэкинга и модулей". А
    > если еще воспользоваться поиском...
    > Из полезного? Rocq, Frama-C, rustc (в ранних версиях), haxe, pyre (первой версии),
    > flow, moonbit, MirageOS

    Ну, т.е. пару POC'ов написали и уже успешно с них переписали, да вот ещё внутри корпоративной разработки используется - наравне с delphi 7 и brainf*ck. Хорошие сапоги, надо брать

     
     
  • 8.84, Инопланетянин (?), 17:58, 27/10/2026 [^] [^^] [^^^] [ответить]  
  • +/–
    Rocq, Frama-C, MirageOS никто с него не переписывает Никто не спорит, что это у... текст свёрнут, показать
     
     
  • 9.85, User (??), 19:06, 27/10/2026 [^] [^^] [^^^] [ответить]  
  • +/–
    И на практике шанс столкнуться с этим - ну, примерно как динозавра встретить Та... текст свёрнут, показать
     
     
  • 10.87, Инопланетянин (?), 20:45, 27/10/2026 [^] [^^] [^^^] [ответить]  
  • +/–
    От твоих задач зависит Если ты сталкивался с формальной верификацией, то скорее... текст свёрнут, показать
     
     
  • 11.89, User (??), 08:03, 28/10/2026 [^] [^^] [^^^] [ответить]  
  • +/–
    Но у тебя же таких задач нет И у меня нет И я не удивлюсь, если и у остальных ... текст свёрнут, показать
     
  • 2.65, Гуманоид (?), 14:19, 26/10/2026 [^] [^^] [^^^] [ответить]  
  • +/–
    омерзительное нагромождение спецсимволов
     
     
  • 3.90, Аноним (90), 10:20, 28/10/2026 [^] [^^] [^^^] [ответить]  
  • +/–
    а ты паттерн матчить как иначе собрался, умник?
     

  • 1.24, economist (?), 17:12, 25/10/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/–
    Эдак скоро в PEP записывать идеи из Mojo придется. Местами очень здраво и продвинуто.

    По поводу fn немного жаль, но def привычнее и всего лишь на одну букву длинее (других поводов для грусти не вижу)

     
     
  • 2.47, Аноним (47), 22:34, 25/10/2026 [^] [^^] [^^^] [ответить]  
  • +/–
    какой смысл вообще делать сокращения, любое сокращение некрасиво
     
     
  • 3.91, Аноним (90), 10:21, 28/10/2026 [^] [^^] [^^^] [ответить]  
  • +/–
    а писать function полностью — высшая степень психопатии. так и живём
     
  • 2.54, Аноним (54), 00:23, 26/10/2026 [^] [^^] [^^^] [ответить]  
  • +/–
    Дело не в том что на одну букву длинее, а то в том что само именование функции словом def выглядит максимально уродливо и вырвиглазно.
    Ну почему нельзя было просто назвать ее fn/func/function как в других нормальных языках..
     
     
  • 3.63, Аноним (63), 14:00, 26/10/2026 [^] [^^] [^^^] [ответить]  
  • +/–
    Вкусовщина. Нормальный язык Python, который Top-1 уже 6 лет, использует def(). И Mojo тоже.
     

  • 1.27, Аноним1234 (?), 18:05, 25/10/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/–
    Языке с borrow checker - очень нежно. Остальное должно умереть со временем.
     
     
  • 2.29, Аноним (29), 18:13, 25/10/2026 [^] [^^] [^^^] [ответить]  
  • –1 +/–
    Любишь когда боров вычекивает тебе весь мозг?
     
     
  • 3.34, Аноним1234 (?), 18:27, 25/10/2026 [^] [^^] [^^^] [ответить]  
  • –2 +/–
    borrow нужен для того чтобы AI было проще код писать. Только для этого.

     
  • 3.50, Аноним (48), 22:44, 25/10/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/–
    Боров только лишь проверяет контракты которые и так обязаны соблюдаться в программе. Если он тебе мешает, он тебе мешает лепить UB, и либо тебе у него нужно учиться, либо валить из программирования куда подальше.
     
     
  • 4.57, Инопланетянин (?), 03:02, 26/10/2026 [^] [^^] [^^^] [ответить]  
  • +/–
    > Если он тебе мешает, он тебе мешает лепить UB, и либо тебе у него нужно учиться, либо валить из программирования куда подальше

    Зачем боров в языке с gc?

     
  • 4.60, Tron is Whistling (?), 07:15, 26/10/2026 [^] [^^] [^^^] [ответить]  
  • –1 +/–
    Да все и валят из _вашего_ программирования.
    В котором за 3 года ну почти переписали coreutils, а это 0.001% от всего, что есть.
    Лет через 3000 - закончите переписывать, да, если желающих найдёте.
     
     
  • 5.76, Смотрящий (?), 00:34, 27/10/2026 [^] [^^] [^^^] [ответить]  
  • +/–
    Счас модели этим занимаются. Говорят, вполне успешно и гораздо (на порядки) быстрее кожаных. Врут?
     
     
  • 6.81, Tron is Whistling (?), 10:23, 27/10/2026 [^] [^^] [^^^] [ответить]  
  • +/–
    Пусть занимаются, ловите успех.
     
  • 6.82, Tron is Whistling (?), 10:24, 27/10/2026 [^] [^^] [^^^] [ответить]  
  • +/–
    А так - на заборе тоже много чего пишут. Окупаемость моделей отрицательная.
     

  • 1.52, Инопланетянин (?), 22:50, 25/10/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/–
    Если не питон, то я бы julia рассмотрел
     
     
  • 2.64, Аноним (63), 14:06, 26/10/2026 [^] [^^] [^^^] [ответить]  
  • +/–
    Я бы тоже, но Julia не пошла в массы, несмотря на скорость. А с сабжем - тем паче не пойдет. Позиции python-синтаксиса в DS/ML очень сильны.
     
     
  • 3.68, Инопланетянин (?), 16:56, 26/10/2026 [^] [^^] [^^^] [ответить]  
  • +/–
    > Я бы тоже, но Julia не пошла в массы, несмотря на скорость.

    Массы, не массы, но пользуются.

     

  • 1.53, Год лунпуса на десктопе (?), 00:15, 26/10/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/–
    Зачем это надо, если про сабж AI ничего не знает? Только не говори, что кто-то в 2026 году кодит вручную (речь не про хеллоувроты, а про коммерческую разработку).
     
     
  • 2.55, разраб (?), 02:55, 26/10/2026 [^] [^^] [^^^] [ответить]  
  • +/–
    ну а чо? кодит не сабж и не ии, кодит человек, так то
    коммерсант говоришь... кхех!
     
  • 2.56, Инопланетянин (?), 03:00, 26/10/2026 [^] [^^] [^^^] [ответить]  
  • +/–
    > речь не про хеллоувроты, а про коммерческую разработку

    Если тебе платят за формошлепство, еще ничего не значит.

     
  • 2.88, Аноним (88), 22:29, 27/10/2026 [^] [^^] [^^^] [ответить]  
  • +/–
    Так этим он тоже прекрасен, что по крайней мере пока про него твой AI не знает.
     

  • 1.61, Anonimbus (?), 10:51, 26/10/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/–
    Вся элегантность кода Python заканчивается на строгой типизации.
    Поэтому все эти пихон заменители так и останутся корявыми костылями
     
     
  • 2.66, Аноним (63), 14:21, 26/10/2026 [^] [^^] [^^^] [ответить]  
  • +/–
    Строгость типизации в С/С++/JAVA проявляется в IDE и во время компиляции.

    Строгость типизации в Python проявляется в IDE и CI/CD/git pre-commit.

    С т. зр. практики разницы нет - типизация стала если не строгой в Python, то довольно "злой". Конечно, если вы включите линтеры и расширение, Tab-дополняющее ваш код проверками типов (Pylance).

    Но проблема в том что вы хотите просто ругать язык, как ругали его 5-10-15-20 лет назад раньше. Если ничего не менять в своих подходах десятилетиями - да, корявые костыли могут попасть в прод. Но это обычно невозможно по причине того что у прода есть харнители (более тщательные ребята).

    F5 в IDE с Python сработает, но нижняя панель будет верещать во вкладке ПРОБЛЕМЫ(30), и это вполне делает стиль кодинга на С/С++/JAVA похожим на Python.

     
  • 2.77, Метрика (?), 07:57, 27/10/2026 [^] [^^] [^^^] [ответить]  
  • +/–
    А чем проблема строгой типизации? Сейчас в C++ можно писать 90% кода через auto и компилятор все выведет сам, кроме наверное аргументов функций или если сам создаешь свой тип
     

  • 1.70, Sabay (?), 19:04, 26/10/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/–
    мне лично нравится синтаксис Crystal но он как то нишево взлетел и не увеличивает аудиторию :(
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    XSQUARE
    Inferno Solutions
    Hosting by Hoster.ru
    Хоcтинг: