LINUX.ORG.RU

языки без сборки мусора

 


2

7

Всем привет!

А какие есть годные языки без сборки мусора? Ну, т.е. кроме С, С++ и Rust.

Так, чтобы не просто опциональное ручное управление, а чтобы весь язык и стандартная либа были ориентированы на работу без gc

Не обязательно что-то из мейнстрима (таких, вроде как, и нет кроме той троицы). Можно и с гитхаба, но живое и активное развивающееся


Не обязательно что-то из мейнстрима

а чем GC не устраивает? Ну есть Vala,

https://wiki.gnome.org/Projects/Vala/About

https://wiki.gnome.org/Projects/Vala

Since Vala's memory management is based on reference counting instead of tracing garbage collection, destructors are deterministic and can be used to implement the RAII pattern for resource management

Так же там есть структуры на стеке, и ручное управление через malloc/free

fsb4000 ★★★★★
()

Если ARC не GC то Swift.

anonymous
()

Не обязательно что-то из мейнстрима (таких, вроде как, и нет кроме той троицы).

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

Индекс TIOBE:

 2. Мейнстрим C
 ...
 4. Мейнстрим C++
 ...
 ...
13. Pascal
 ...
 ...
 ...
 ...
 ...
 ...
 ...
 ...
33. "Мейнстрим" Rust

anonymous
()

Ещё один программист-философ, которому некогда программировать, ведь язычок выбирать надо.

anonymous
()
Ответ на: комментарий от anonymous

Ну, хорошо rust - не мейнстрим. Вопрос был, скорее, в том, какие есть альтернативы? Да, про fortran и pascal, конечно, знаю. Но интересно про то, что есть нового в мире без сборки мусора?

jcdr
() автор топика
Ответ на: комментарий от anonymous

Есть работа на том, что практичней. А есть хобби-проект и возможности «выбирать себе язычок». Почему нет?

jcdr
() автор топика

Ada, например.

anonymous
()
Ответ на: комментарий от jcdr

Ну, хорошо rust - не мейнстрим. Вопрос был, скорее, в том, какие есть альтернативы? Да, про fortran и pascal, конечно, знаю. Но интересно про то, что есть нового в мире без сборки мусора?

Есть работа на том, что практичней. А есть хобби-проект и возможности «выбирать себе язычок». Почему нет?

Просто языки без сборки мусора (и не C или C++) — это настолько специфическая ниша, что в итоге выбрав себе какой-то малоизвестный язык, ты рано или поздно столкнешься с недостатком библиотек. Хотя для написания хелловорлдов любой язык подойдет.

anonymous
()
Ответ на: комментарий от anonymous

нет такого варианта, поскольку этот вариант хоть и есть, но является чушью.

Partisan ★★★★★
()
Ответ на: комментарий от jcdr

Кому нужен Fortran, тот об этом знает. Pascal никому не нужен. Точнее, нужен только маргинальным пользователям Delphi и тем, кто когда-то в институте ленивые преподаватели преподавали устаревший Pascal, и теперь эта жертва образования сама не хочет ничего изучать. Такие иногда используют Lazarus, но кто не знает Pascal, тому незачем его изучать.

В общем, из альтернатив для C/C++ наиболее актуальный Rust. Нельзя ожидать, что полностью заменит, но иногда применяется теми, кто иначе использовал бы C/C++.

Partisan ★★★★★
()
Ответ на: комментарий от anonymous

Просто языки без сборки мусора (и не C или C++) — это настолько специфическая ниша, что в итоге выбрав себе какой-то малоизвестный язык, ты рано или поздно столкнешься с недостатком библиотек. Хотя для написания хелловорлдов любой язык подойдет.

В языках без сборки мусора интерфейс к сишным библиотекам тривиален, так как не приходится с этой библиотекой работать не так, как с родными функциями.

А по теме есть ещё Nothing: https://github.com/tonyg/pi-nothing/tree/master/examples

monk ★★★★★
()
Ответ на: комментарий от jcdr

Ada, но сшанкции не дадут его нормально использовать. Кроме рисков, еще и поди дорогая, зараза! Только писать кода много больше надо, чем на Rust. Очень такой многословный язык. Не кобол, конечно, но многословный по сравнению с озвученной тобой троицей.

dave ★★★★★
()
Ответ на: комментарий от jcdr

Но интересно про то, что есть нового в мире без сборки мусора?

C++17.

anonymous
()
Ответ на: комментарий от dave

Ada, но сшанкции не дадут его нормально использовать. Кроме рисков, еще и поди дорогая, зараза!

???

Есть же GNAT. Free as a speech.

monk ★★★★★
()
Ответ на: комментарий от anonymous

Запилите ему кто-нибудь новость про 1.38.0, а то все темы уже засрал.

anonymous
()
Ответ на: комментарий от no-such-file

Так-то очевидный Fortran Forth очевиден.

Fixed.

Вообще секта свидетелей ЯП без сборки мусора напоминает секту свидетелей дистрибутивов без systemd. Когда вместо поставленной задачи озвучивается условие, которому должен соответствовать инструмент для её решения, и это условие ставится во главу угла, сразу понимаешь, что и задачи-то на самом деле никакой нет, и топливом биореактор не оскудеет никогда.

rebforce
()
Ответ на: комментарий от monk

Для helloworld бесплатный. Я как-то пробовал давно. Однако, коммерческая составляющая у GNAT присутствует, но я вопрос особо не изучал. Они коммерсанты с сейлзами и прочими департаментами.

dave ★★★★★
()
Ответ на: комментарий от dave

Однако, коммерческая составляющая у GNAT присутствует, но я вопрос особо не изучал.

https://www.adacore.com/gnatpro/comparison

Если ограничиваться линуксом и не нужен сертификат, то коммерческая не нужна.

monk ★★★★★
()
Ответ на: комментарий от no-such-file

Раст мне мертвее ощущается.

Deleted
()
Ответ на: комментарий от rebforce

Можно переформулировать: существуют ли языки, программы на которых выполняются не медленнее и занимают не больше места, чем написанные с идентичным алгоритмом на C++ и скомпилированные GCC?

monk ★★★★★
()
Последнее исправление: monk (всего исправлений: 1)

Ну очевидный Pascal, посмотри на Lazarus, они сделали нормальный гуй (в отличие от всяких хескелистов и растеров), сделали ide, менеджер пакетов, либы основные есть. Бери и пиши.

Deleted
()
Ответ на: комментарий от monk

Очевидный Forth в таком случае тем более очевиден. Хотя всё зависит от конкретной реализации, но есть и таковые, которые компилят всё почти в лоб в соответствующий ассемблерный/бинарный код.

rebforce
()
Ответ на: комментарий от rebforce

топливом биореактор не оскудеет никогда

Сказал человек, предложивший Forth. Здоровая самокритика - это здорово.

anonymous
()
Ответ на: комментарий от rebforce

Очевидный Forth в таком случае тем более очевиден. Хотя всё зависит от конкретной реализации, но есть и таковые, которые компилят всё почти в лоб в соответствующий ассемблерный/бинарный код.

Не очень. Оптимизирующие компиляторы форта разве существуют? По крайней мере gforth на типовых задачах раза в 3 медленнее, чем эквивалентный алгоритм на gcc.

monk ★★★★★
()
Ответ на: комментарий от monk

С тех пор как автор его выкатил, я не смотрел, но там была смехота. Он сохраняет всё, что ты ввёл, транслирует в сишку, компиляет шлангом и исполняет. Поржал от души.

WitcherGeralt ★★
()
Последнее исправление: WitcherGeralt (всего исправлений: 1)
Ответ на: комментарий от rebforce

Если тебе что-то в жёстком реалтайме нужно делать, то это очевидное требование.

Впрочем, в Go GC очень быстрый и работает предсказуемо. Может быть и на нём можно.

WitcherGeralt ★★
()
Ответ на: комментарий от anonymous

Это всё наркомания и вкусовщина. Смотреть надо по вакансиям на рынке труда в твоём регионе. В РФ очень сильны 1C, C++, Python, Java и PHP. Сишка в глубоком ауте (спрос на неё давно закрыт, новые люди не требуются).

peregrine ★★★★★
()
Ответ на: комментарий от WitcherGeralt

Если тебе что-то в жёстком реалтайме нужно делать, то это очевидное требование.

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

Deleted
()
Ответ на: комментарий от monk

В сишку компиляция это круто.

Vala тоже в С транслируется, Nim в С++

fsb4000 ★★★★★
()
Ответ на: комментарий от WitcherGeralt

У меня в Debian Linux скомпилировалось. Только с горячей заменой компилировать не хочет, функции os__file_last_mod_unix в библиотеке не хватает.

monk ★★★★★
()
Последнее исправление: monk (всего исправлений: 1)
Ответ на: комментарий от WitcherGeralt

Есть, но оно где-то ближе к концу списка. Хотя всё равно выше раста.

peregrine ★★★★★
()
Ответ на: комментарий от monk

Так то довольно быстро пофиксили. Разраб тогда сутки подряд, чтоли, с обосраными штанами всё фиксил и пулл-реквесты принимал. Я и с gcc почти без проблем сразу собрал, пробежавшись по граблям.

WitcherGeralt ★★
()
Последнее исправление: WitcherGeralt (всего исправлений: 1)
Ответ на: комментарий от WitcherGeralt

Это не так интересно, я просто копирую rebforcer'a, интереснее троллит ли он.

Deleted
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.