fn замість def), value-семантикою (отакої!) з конструкторами копіювання та переміщення, темплейтами, обчисленнями під час компіляції, якимсь borrow checkerʼом тощо. Її ніби якісь не останні люди в світі програмування створюють: один був співавтором LLVM та Swift, а інший ще щось робив, я не згадаю вже.
І шо я думаю… Ну, або полетить, або ні 😂
Добре, якщо серйозно, то я собі можу легко уявити, наприклад, C++-програміста, який переходить на таку мову, бо синтаксис банально трохи приємніший та легший для сприйняття. Можу уявити собі програміста на Rust, що переходить на Mojo, якщо хайповітер взяв новий напрям. Можу навіть уявити собі програмістів на Python, котрі переходять на Mojo, бо пожерли лайна в кодобазі на десятки тисяч рядків динамічного коду (такі є взагалі на пайтоні?) й хочуть більше контролю.
Але я не можу уявити пересічного програміста на Python, котрий переходить на Mojo, бо… а нащо? Я безперечно помиляюсь, проте, мені здається, що навіть 20% коду не набереться, де кращий перформанс був би критичнішим за швидкість розробки.
Знаєте, чого мені коштувало почати писати на пайтоні у свій час? Та власне — нічого! Просто сів та почав писати. Так, я до того вже витратив років 6–7, аби «вивчити» С++ (смішно, так), тобто досвід в програмуванні я вже мав, але саме Python дозволив мені майже напряму дампати ідеї в код. Ну, колись давно ще QBasic створював таке саме враження, але й ідеї тоді були в мене простіші 😅
Або взяти JavaScript… Та я жодної книги не прочитав, і в глибоких нюансах на співбесіді напевно зіллюся. Проте дуже швидко склав певну ментальну модель, як там все працює, і цього наразі достатньо, аби уникати «undefined is not a function».
А нещодавно почав писати невеличку тулзу на ноді. Нумо, думаю, на TypeScript накодю її. І бля… не йде якось воно, капець! Складно прям розібратись експромтом, хоча я колись давно навіть книгу читав. Тупо синтаксису дофіга, якихось правил значно більше, компілятор постійно дає ляпаса. Ну, тобто, ідейно мені мова ду-у-уже до вподоби, але прям просто сісти та почати писати на собі вона не дає.
Я, мабуть, того і на Rust не переходжу, адже забагато зусиль — і заради чого? Мені треба ідеї втілювати в щось, що працює, а не підігрівати мозок на розвʼязанні чергових пазлів від компілятора. Хочеться спрощення, а не ускладнення.
А самі що думаєте? Полетить Mojo? Врешті якось так і C++ колись починався — як надмножина C. І подивіться на нього зараз… ніяк не звільнить дорогу молоді 🥲