LINUX.ORG.RU

Язык для скриптов из одного файла

 ,


0

3

Всегда есть shell, python, perl. Но вот я решил повысить планку и добавить еще несколько нетипичных требований помимо стандартных, может что-то и найдется

Поехали

  • Как у всех языков для скриптов - поддержка shebang
  • Статическая типизация
  • Быстрая сборка
  • Высокая производительность
  • Автоматическое закачивание зависимостей если они отсутствуют со своего сервиса пакетов на основе текста того же единственного файла с shebang
★★★★★

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

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

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

Кстати заметил что D создает очень минимальные бинарники, в десятки КБ. Оказалось он стандартную библиотеку по дефолту через dub линкует динамически. Все бы ничего для моих задач, но интересно что если оптимизировать время запуска, например когда в башне гоняешь утилиту в цикле, то он запускается в три раза медленнее чем C/C++/OCaml/Rust/Haskell. Очень неожиданно. И ещё не до конца уверен в чем причина, но сугубо hello world на нем 3мс, когда остальные - 1 мс. При чем у некоторых жиробинарники по 1 МБ. Я до конца не уверен что это из-за линковки, а не из-за чего-то другого у стандартной библиотеке. Надо strace посмотреть поближе

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

Тред не читай - отвечай. Тут весь тред о том как сделать скрипты из компилируемых языков

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

deadplace
()
9 мая 2020 г.

Всегда есть shell, python, perl.

Не всегда. Да и shell может быть настолько разный, что несовместимый. Не все POSIX-совместимы, даже GNU клали на собственные стандарты.

Perl тоже есть не всегда и не везде.

Про Python вообще молчу — 2.6, 2.7, 3.4, 3.6, 3.7, 3.8 в разных комбинациях, причём бинари (или симлинки на них) могут называться совершенно рандомно: python может вести на python2.7, python2, python3 или python3.6 (версии взяты для примера), python2 или python3 могут вообще не существовать.

Как у всех языков для скриптов - поддержка shebang

В перечисленных тобой оно есть, ещё есть в Lua, об остальных не знаю.

Статическая типизация

Оно во всех и есть и нет одновременно. Но считай что нет.

Быстрая сборка

Сборка чего? Скрипта? Хватит курить солому!

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

Нет таких.

Автоматическое закачивание зависимостей если они отсутствуют со своего сервиса пакетов на основе текста того же единственного файла с shebang

Ох уж эти хипстеры…

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

Рантайм тоже не у всех тормозит, вроде только у .NET/Java

Не скажу за яву, а .Net в лице pwsh не тормозит, если ему конечно не накатать километровый промпт с анимацией, пищалками, сменой цветовой схемы хоста, подкачкой прогноза погоды и говорящими часами при каждой итерации.

anonymous
()

typed racket?

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

это не статическая типизация, она не энфорсится.

anonymous
()

Не очень понял, но вроде lua считается самым быстрым(но это не точно) скриптовым языком + может быть встраиваемым у программ на си

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

Очень смешно, открывается по секунд 5.

У тебя очень может быть. Я даже в этом уверен. У меня так же, как bash.

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

Все остальное открывается моментально, даже какой нибудь fish.

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