Перспективные языки программирования


#1

Не ржавчиной единой. :slight_smile: Следите ли вы за какими-то еще ЯП, системными или из других ниш, и почему?

Лично я в пол глаза поглядываю за всякими хардкорными экспериментами с зависимыми типами, вроде Agda, но так и не решился сесть и всерьез что-то сам написать попробовать.

На питерских сходках несколько раз упоминался https://www.ponylang.org, но за него взяться руки тоже еще не дошли - при беглом знакомстве остался слегка напуган и озадачен еще более сложной чем в расте системой квалификаторов ссылок или что это там было.


#2

Следил за Elm и хотел его поиспользовать даже, но это было года 2 назад.

Понравился приятный опыт разработки на нём, очень хорошие инструменты, и концептуальная простота - вот вам FRP, и всё.


#3

Я только если за си )) Вот уже и с17 на походе.Язык нравится из-за своего минимализма.


#4

Мне у поняш понравилась идея акторов в языке. Не надо своё велосипедить.


#5

идея акторов в языке

Если коротко, о чем это?)))


#6

Совсем коротко - классы которые имеют асинхронные методы.


#7

Если чуть длиннее, то вот тут - https://tutorial.ponylang.org/types/actors.html - в паре абзацев описана суть.

Я бы Pony обозвал попыткой смешать Rust и Erlang.


#8

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


#9

Уже есть actix, как минимум. У java есть akka, у плюсов своя пачка фреймворков и так в почти любом языке. Только, насколько понимаю (сам не писал такого), прям удобно без полноценной языковой поддержки все равно не сделать - всякие нюансы массово начинают вылезать.


#10

Вспомнил ещё: на четверть глаза слежу за Jai. Давно смотрел стримы Блоу и его первоначальные цели - мне показалось что он понимает некоторые вещи и может сделать интересный язык, который займёт свою нишу.

Вот относительно свежий доклад про язык в целом


#11

NIM В принципе имеет стандартный набор возможностей объектно ориентированного языка со статической типизацией, одновременно позволяя писать в функциональном стиле. Как и в Rust имеет нетривиальные макросы которые работают не с текстом, а с синтаксическим деревом программы.
Nim имеет настраиваемый сборщик мусора (GC) на основе отложенного подсчета ссылок с обнаружением циклических замыканий.

Особенность NIM в том, что он “компилируется” в C/ C ++ или JavaScript .


#12

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


#13

Интересно зачем городили dart если есть уже готовый транспилер под большинство даже системных языков. С ts все более менее понятно, обратная совместимость с js и все такое. А вот dart вроде как раз подавался что это собственный типизированный язык который плюсом может компилироваться в js, пока все браузеры пишут виртуальные машины под dart. Как по мне лучше бы сделали виртальную машину этого языка во все браузеры.

Нужно будет как ни будь найти время более посмотреть на этот язык. Может не на столько в нем все так хорошо как пишут о нем)))


#14

Тут в тему статейка будет.


#15

Zig все признаки жизни подает, хотя и вызывает у меня много сомнений:

Я так понимаю, он метит в нишу “нового си”, т.е. таких задач, где на расте будет громосткий unsafe на unsafe, а на зиге, типа, это же все будет красиво, коротко и культурно.


#16

Это надо было бы в рубрику “Почему ocalm не взлетел”.


#17

Мне видится что unsafe это просто страшилки. Нет, это очень здорово когда язык предоставляет гарантии, но если посмотреть реализацию RefCell, Arc, Mutex, Futures там тоже есть unsafe код. Поэтому не вижу ни чего в этом страшного. Другими словами это программист декларирует компилятору - я знаю что делаю.
Что касается Zig - то не очевидно какие у него есть преимущества по сравнению с Rust или C++.


#18

Я не о том, что unsafe надо никогда не использовать, я о том, что в zig явного разделения на опасный и безопасный код, как и синтаксической соли для первого, нет, поэтому там низкоуровневый код просто короче будет.

По сравнению с растом у него преимущество в лаконичности (см выше) должно быть, по сравнению с плюсами - что это новый и относительно компактный язык.

Но в целом я к zig’у скептически отношусь, потому что он не произвел пока на меня впечатления стройной и хорошо продуманной системы, да и значительной энерции за ним, хоть он и “подает признаки жизни” пока не заметил.


#19

интересно и необычно выглядит MBEDDR продвинутый язык встроенный в IDE, созданной на основе IntellMPS

уже выкладывал на форуме видео обзор

блох

руководство

High-Level Overview:
Two-Page Flyer:

 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. которые компилируй куда там нужно.

пересобрал и зааплодил документацию в виде PDF можно начинать читать прям с главы

4: mbeddr C vs. C99
и
7: C Extensions


#20

Я когда пытался почитать, зачем нужен этот язык, очень быстро сделал вывод, что это очередная поделка на коленке вроде Nim.