Не ржавчиной единой. Следите ли вы за какими-то еще ЯП, системными или из других ниш, и почему?
Лично я в пол глаза поглядываю за всякими хардкорными экспериментами с зависимыми типами, вроде Agda, но так и не решился сесть и всерьез что-то сам написать попробовать.
Почитал, как по мне специфическая вещь и слишком жирновато для языка… на расте можно было бы сделать какой ни будь атрибут который бы делал соответствующую асинхронную обертку для функции , ну или макрос.
Уже есть actix, как минимум. У java есть akka, у плюсов своя пачка фреймворков и так в почти любом языке. Только, насколько понимаю (сам не писал такого), прям удобно без полноценной языковой поддержки все равно не сделать - всякие нюансы массово начинают вылезать.
Вспомнил ещё: на четверть глаза слежу за Jai. Давно смотрел стримы Блоу и его первоначальные цели - мне показалось что он понимает некоторые вещи и может сделать интересный язык, который займёт свою нишу.
NIM В принципе имеет стандартный набор возможностей объектно ориентированного языка со статической типизацией, одновременно позволяя писать в функциональном стиле. Как и в Rust имеет нетривиальные макросы которые работают не с текстом, а с синтаксическим деревом программы.
Nim имеет настраиваемый сборщик мусора (GC) на основе отложенного подсчета ссылок с обнаружением циклических замыканий.
Особенность NIM в том, что он “компилируется” в C/ C ++ или JavaScript .
Не так давно узнал что на Haxe внезапно написано несколько вполне уважаемых мной игр. Надо за ним поглядывать тогда, а то почему-то был уверен что на нем только проекты помельче делают и с экосистемой там все не весело.
Интересно зачем городили dart если есть уже готовый транспилер под большинство даже системных языков. С ts все более менее понятно, обратная совместимость с js и все такое. А вот dart вроде как раз подавался что это собственный типизированный язык который плюсом может компилироваться в js, пока все браузеры пишут виртуальные машины под dart. Как по мне лучше бы сделали виртальную машину этого языка во все браузеры.
Нужно будет как ни будь найти время более посмотреть на этот язык. Может не на столько в нем все так хорошо как пишут о нем)))
Zig все признаки жизни подает, хотя и вызывает у меня много сомнений:
Я так понимаю, он метит в нишу “нового си”, т.е. таких задач, где на расте будет громосткий unsafe на unsafe, а на зиге, типа, это же все будет красиво, коротко и культурно.
Мне видится что unsafe это просто страшилки. Нет, это очень здорово когда язык предоставляет гарантии, но если посмотреть реализацию RefCell, Arc, Mutex, Futures там тоже есть unsafe код. Поэтому не вижу ни чего в этом страшного. Другими словами это программист декларирует компилятору - я знаю что делаю.
Что касается Zig - то не очевидно какие у него есть преимущества по сравнению с Rust или C++.
Я не о том, что unsafe надо никогда не использовать, я о том, что в zig явного разделения на опасный и безопасный код, как и синтаксической соли для первого, нет, поэтому там низкоуровневый код просто короче будет.
По сравнению с растом у него преимущество в лаконичности (см выше) должно быть, по сравнению с плюсами - что это новый и относительно компактный язык.
Но в целом я к zig’у скептически отношусь, потому что он не произвел пока на меня впечатления стройной и хорошо продуманной системы, да и значительной энерции за ним, хоть он и “подает признаки жизни” пока не заметил.
The core contains all of C plus a
couple of utilities such as
namespaces, closures, real boolean
types and integration with make.
A few changes have been made
relative to standard C — these are
clearly explained in the docs.
It is designed to be extensible by
users, e.g. it is simple to provide an
integration with a custom build
infrastructure
уже имея богатые конструкции позволяет расширять их по желанию… в итоге выгружается в исходники С99. которые компилируй куда там нужно.