Обновить

Комментарии 37

PureBasic? битовые операции есть, ассемблерные вставки, мультиплатформенный, в Windows вызов WinAPI

(я начинал с МК-52)

Я его ставил себе, но что-то не пошло, не помню. Надо снова посмотреть. Есть еще freebasic, но он тоже большой очень. Мне надо компактный вариант, с флешки и без всяких требований дополнительных...

Размер папки PureBasiс, установленного в Windows 7, 126Мб - из них папка Compilers (компилятор, дебаггер, FASM) 62Мб, папка PureLibraries 32Мб (сами файлы библиотек маленькие, можно выбрать нужные)

У меня 280, 100 файлов.  PureLibraries 134 Мб. Но у меня Вин10 и версия от 25 года. Возможно, есть более старые варианты, которые мне бы подошли.
Кстати, я когда-то хотел сделать "портабл" версию из VB4 (working model). Она бы работала на любой Виндовс и вполне меня бы устроила вместо VB3. Но не сумел! Без инсталляции не работает, что бы я не делал... А было бы идеально...

(я начинал с МК-52)

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

Спасибо!

В требованиях не указана платформа. Рискну предположить, что Windows. Тогда хорошо подойдёт AutoIt. Похож на Basic. Много встроенных функций, можно рисовать нативный GUI или ограничиться иконкой в трее. Можно собрать компактный exe-файл (скрипт прилепляется к интерпретатору). Можно интерпретатор просто положить на флешку и запускать кучу мелких скриптов.

Возможно AutoHotkey также подойдёт.

Тоже экзотика, видимо. Поищу, спасибо!

Спасибо, поищу! Даже не слышал про такой...

выбор легкого инструмента зависит от задачи. если не требуется сложная графика, интерфейс, интерактивность - попробуйте powershell (core). есть и объекты и методы. для одноразовых задач вполне

Ну, сложная нет, но все же нужна. Грубо говоря, построить график функции...

c этим проблем у ps нет (через System.Drawing), но python с его matplotlib все же будет более подходящим инструментом

У питона другие недостатки, тем более, что графика - далеко не главная задача. Наиболее частая - расчеты или работа с файлами.

Наверно, просто каждый язык предназначен для решения своего круга задач.

С какого перепуга? Все языки полны по Тюрингу, все так или инаяе имеют FFI, сложившаяся чудовищная ситуация с одновременной раздробленностью и одновременно многократной дублированностью библиотек - чисто рукотворна руками архиподлых интересантов, что никак не есть языковый феномен. Язык для задач - та самая ложь, которая должна быть грандиозной...

Я тоже чуть не написал комментарий под той статьёй, в смысле что есть единственная причина по которой одного языка долго не будет - степень понимания того как решать задачу, на момент начала решения. На одном конце Rust, на другом конце Ruby...

Я не очень понимаю в чем проблема с флешкой - любой язык помещается на любую. В смартфон через Termux помещается немеряно языков, а к 10 гигам он у меня никогда даже не приближался. Медленно читается флешка и всё тормозит? Но ось должна кешировать... Язык полагается на наличие файлов в определённых местах? В истинно бытовой оси есть chroot... Почему не любой можно сделать бытовым? А про то, что большинство языков в бытовые не годятся потому что бесят - про это не спрашивают... хотя нет, спрашивают словами про простой язык и лёгкий транслятор... А раз так...

Может С? Язык простой, транслятор быстрый, особенно на фоне С++ или ужасов Rust, библиотек много, но систему сборки не всяк вытерпит.

Может Zig? Тот же С, только лучше, в проклятой сборке - много лучше. Библиотеки, не крайняк, берем из С. Помедленнее чуть, но не бесит точно.

Может Nim? Реально элегантно, компилируется или в С или в JavaScript, при нехватке библиотек обратно идем в С. Делают Nim несколько человек всего, но упёртых сверх всякой меры.

Может Lua? Это тоже целая вселенная, как Python, только маленькая. Есть Neovim как среда выполнения, есть Algernon для Web, есть Luau для песочницы, есть LuaJit для скорости, есть Roblox для детей...

Может Julia? Если процессор Интел и магазины приложений без надобности - очень хорошо.

Ну, а мой вариант исходит из того, что это всё они виноваты, это они языки плодят, выводят в топ худшие, давят W^X политикой и прочей "безопасностью", фрагментируют библиотеки, ломают найм, впаривают Wayland, проповедуют ИИ, вздувают цены... Поэтому быт надо налаживать там, где они не достанут!

То есть, лучший бытовой язык - JavaScript, любое выступление против для них запретительно дорого. Язык и простой, и достаточно быстрый, и для него хватает хотя бы одного не вполне убогого устройства - есть iPad, так пусть он и считает, а сервер может вообще на ладан дышать, а если есть, наоборот, относительно живой комп - тогда это он считает, а любая рухлядь только показывать будет...

Так что как по мне - акуна матата, нас не догонят, жаль только что Go, хуже всех способный меня доставать да выбешивать, как-то к слову не пришелся...

В целом я согласен. Когда мне говорят, что "бейсик не для этого, нужен Си", я отвечаю, что любой язык подходит для всего. :) Но тем не менее, специфика все же есть. И самое главное, что речь не о серьезных глобальных проектах, а о примитивным бытовых задачах типа переименовать сотню файлов из одного принципа в другой. Средствами командной строки не получится. Ну и другие задачи бывают посложнее. SmallBasic подходит часто, но иногда нужны двоичные файлы. И тут увы...
Не хочется учить что-то принципиально иное (типа Си, да он тоже не компактен). Насчет места на флешке - ну, когда транслятор занимает 300Мб и содержит тысячи файлов в сотне папок - это все же не для флешки пакет... Место есть, да, но в остальном...
Может я привередлив, но найти так найти. :)

Для флешки:

  1. Python

  2. Delphi 7 (portable)

Установленный у меня Питон занимает 500Мб, содержит более 16000 файлов в 1000 папках. Сорри, но это не для работы с флешки... :)
Про Дельфи не скажу, никогда с ним не работал. Надо будет посмотреть...

Языки устаревают, вместо старых приходят новые. То что когда казалось вершиной, сейчас выглядит устаревшим. Поэтому языков много. Тут вот ИИ и агенты приходят, похоже у нас появился новый язык программирования - markdown - очень простой, да еще с автогенерацией.

 markdown - это язык разметки, а не язык программирования. Я не спорю, что "ротация" происходит. Потому и спросил - нет ли сейчас подходящего языка для простых задач...

Выше написали, что языки устаревают. Я такого не наблюдаю - редкие языки отмирают за крайней кривостью реализации, типа Снобол, даже не вспомню родную орфографию. Немного чаще хорошие языки искусно гнобят, как Delphi. Остальные, они же большинство, не устаревают, а продолжают развиваться - лежащие в их основании идеи никуда не деваются, может сходят с хайпа когда выясняется, что практической пользы меньше чем ожидалось. С, который за 20 лет изменился до неузнаваемости, он что, устарел? Или Fortran? Или Ada, которая не на слуху потому, что использующие её люди ну вот совсем не на слуху?

Поэтому ничего устаревшим не выглядит, разве что кажется. Мне вот кажется, что ";" в языке - это устаревшее, или препроцессор, но если подумать, то им находится применение. Устаревшими, точнее заьрошенными, могут быть библтотеки в какой-либо области.

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

Поэтомуя и удивляюсь, что в основе вопроса не чисто опыт использования да возможность полностью удержать на флешке. Глянул Zig и Go, правда на Линукс, к которым у меня по опыту использования вопросов нет вообще - на флешке локализуются полностью если установить переменные окружения. Наверно и с остальными обычно так.

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

Задачи, особенно простые, решаются многими способами - тот же график функции можно в окошке видеть, окно закрыл - вот и нет его, а можно в svg записать, да ещё в html с комментариями обернуть, и хранить вечно, в смысле пока не надоест. Поэтому и удивляюсь, когда говорят что разные языки для разных задач, может и понял бы такое, если бы требования к качеству решений были заоблачные, а когда вокруг один отстой - не понимаю. И почему вместо этого не говорят что разные языки для разных людей - тоже не понимаю.

К С Вы не вполне справедливы, он компактен если не обращать внимания на историческое наследие которое в новых проектах можно игнорировать. Про Python не понял - пол гига всего не заметны на любой флешке которую сейчас можно купить, и гарантировано никогда не нужны все сразу. Ну и venv с эпигонами - в помощь.

Я пишу не потому, что ничего другого под спящей кошкой не остается, а "найти так найти" зацепило. С одной стороны, мой опыт однозначен - много сил потрачено чтобы было не найти, с другой стороны - Nim очаровывает..,

Насчет "кармы не хватает" тут вообще странно: мне вот карму понизили с формулировкой "придерживаюсь другой позиции". :) Это повод? Карма вроде поведение характеризует, а "иная позиция"... Если я буду всем, с кем не согласен, понижать карму - ее не останется. ни у кого. :) Почти. :)

Насчет Питона - дело не в объеме флешки. Один раз, конечно, записать можно. Но речь идет о возможности переносить, записывать, удалять и т.д. Возможно, это лично мои привычки и потребности, ну так я же для себя ищу. Просто языков сейчас полно, я даже не про все слышал и тем более не со всеми знаком. Потому и спрашивал, может кто знает подходящий по параметрам. Убеждать меня в "полезности" Питона нет смысла, я о нем и так все знаю. Речь о том, о чем я не знаю! :)

Насчет устаревания языков - ну, я не слышал, чтобы Алгол сейчас использовался. Где Фокал? Да и Фортран, если честно, популярен несравнимо меньше, чем раньше. Постепенно происходит монополизация, Как в вебе Вордпресс вытеснил остальные ЦМС (больше половины интернета - это ВП), так и Си с его версиями вытеснил все остальное - и Дельфи, и Бейсик, и тот же Фортран. Про Аду не знаю, а кто с ней работает? Спецслужбы, что ли?

Тут многое субъективно, конечно...

Странно, сейчас такие флешки, что можно запустить хоть саму Винду, да и у многих языков есть Embeddable-сборки собранные силами сообщества.

Есть вариант - виртуальные машины, которые на той же флешке уместятся.

Да и Неттопы сейчас не сильно больше флешки стали.

В общем вариантов и обходных путей куча.

Видимо все дело в некоторой привередливости.

И не совсем ясно описана цель. Что нужно по итогу?

Если под винду, это EXE-шник собранный на чужой машине?

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

P.S. Про Питон, чем например не устраивает  Windows embeddable package с официальной страницы? Или тот же WinPython? На флешку легко влезает.

Привередливость есть, но она не на пустом месте. :) Если брать тот же SmallBasic, то это 3Мб и 23 файла. Как говорится, "почувствуйте разницу". При том, что туда входит среда разработки с подсказками (даже если они не нужны, но сам факт). Если бы этот язык работал с двоичными файлами - я бы вообще ничего не искал другого! А так приходится. Конечно, есть и некоторые другие минусы, но их можно пережить (я даже вполне "серьезные" программы на нем писал, на моем сайте в "Исходниках" есть). А Питон, даже в самых компактных версиях, огромен.

Кстати, я вообще не понял зачем в ответе Алисы про "Windows embeddable package" упоминается административный доступ к ПК. Я упомянутый в комментариях выше огромный Питон просто скопировал с компьютера на компьютер - и никаких проблем. А под админом я вообще не работаю (вопрос безопасности).

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

Поищу, спасибо!

Using the LitDev Extension: The most popular community extension for Small Basic, called LitDev, adds an LDFile object. This extension provides explicit LDFile.ReadBytes() and LDFile.WriteBytes() functions, allowing direct manipulation of raw binary arrays.

Да, я знаю про это дополнение, но почему-то с ним возникли какие-то проблемы, я уже не помню, дело давнее. Спасибо за напоминание, надо будет еще раз посмотреть...

P.S. Английский только через гугл у меня...

Я вернулся к этой теме. Дело в том, что я использую SB версии 1, потому что более новые у меня почему-то не запускаются. Версию LitDev я еле нашел, но в ней нет функций LDFile.ReadBytes() и LDFile.WriteBytes() - видимо, они есть в более поздних версиях. Но увы, у меня они не работают. Потому и возник вопрос поиска иного языка...

Lua ,
A standard pre-compiled Lua executable for Windows typically ranges from 150 KB to 300 KB. When broken down into the standalone interpreter (lua.exe) and its dynamic-link library (lua54.dll), the total combined footprint stays well under 500 KB. [1, 2, 3]

Forth,
The file size and memory footprint of a Forth system for Windows typically ranges from a few kilobytes to several megabytes, depending on the specific implementation


Micropython
MicroPython on Windows has a very small binary and memory footprint, typically taking around 500 KB to a few megabytes for the executable, compared to standard CPython which is tens or hundreds of megabytes. It requires minimal RAM to start and run basic scripts.

Lua смотрел, но отверг, не помню, почему (много чего предлагали, я много смотрел разного).

Forth - моя давняя мечта изучить, но это все же язык специфический...

Micropython я пытался найти, но не получилось. Попробую еще...

https://github.com/micropython/micropython

Попросите кого нибудь собрать вам версию для windows.
Я собирал с на linux для wine

ls -la build-standard/micropython.exe -rwxrwxr-x 1 dima dima 564750 Jul 31 12:40 build-standard/micropython.exe
~ 565 килобайт



wine micropython.exe MicroPython v1.29.0-preview.669.gf777bc7e7b on 2026-07-31; win32 [GCC 10.0.0] version Type “help()” for more information.

help() Welcome to MicroPython!

For online docs please visit http://docs.micropython.org/

Control commands: CTRL-A – on a blank line, enter raw REPL mode CTRL-B – on a blank line, enter normal REPL mode CTRL-C – interrupt a running program CTRL-D – on a blank line, exit or do a soft reset CTRL-E – on a blank line, enter paste mode

For further help on a specific object, type help(obj)

Мне некого просить, да и все равно не буду запускать файл, непонятно кем сделанный. :) А что, готовой сборки нет? Какой смысл публиковать только исходники? Я на своем сайте тоже публикую исходники некоторых своих программ, но все архивы содержат также готовый для выполнения файл.

-да и все равно не буду запускать файл, непонятно кем сделанный. :)
Я понимаю
А что, готовой сборки нет? Какой смысл публиковать только исходники?
-Я на своем сайте тоже публикую исходники некоторых своих программ, но все архивы содержат также готовый для выполнения файл.
:) противоречия не замечаете?

Там написано как собрать с Visual Studio или mingw

https://github.com/micropython/micropython/tree/master/ports/windows

противоречия не замечаете?

В чем именно? Я даю исходные тексты в качестве обучающего материала, а не в качестве "гарантии безопасности". Безопасность и так понятна: человек с такой историей будет дорожить своей репутацией, помимо чисто моральных принципов.
Но я понимаю, что не у всех будут соответствующие трансляторы. Поэтому даю и готовые исполняемые файлы, чтобы люди могли увидеть работу этих программ. Никаких противоречий...

Там написано как собрать с Visual Studio или mingw

У меня не установлен Си++, да и студия другой версии. Я не пишу на Си... :) Кстати, на гитхабе иногда бывают и готовые исполняемые модули, помимо исходников. И это очень правильно. А тут - увы...

Если я правильно понимаю, то все свобится к тому, что либо язык не подходит из за раздутой стандартной библиотеки, либо из за ее отсутсвия?
Тут по-моему несколько вариантов:
1. python, ruby и т.п., портабл версии весят мегабайт по 50. Из плюсов - огромное кол-во пакетов, из минусов - огромное кол-во пакетов
2. lisp, lua - эти уже в килобайтах измеряются, но как полноценные языки - достаточно слабые
3. elisp - за 5 мб получаем и emacs и интерпретатор elisp, тут уже можно хоть свой полноценный клиент телеги написать, или браузер, но тогда нужно разбираться в самом emacs
4. Есть еще python2, и его портабл версии, 25мб может даже 20, но тогда про актуальные пакеты можно забыть
5. Сервак за 75р/мес с установленным python + ruby + lisp + rust + bash и еще кучей языков, без всяких флешек, с одним только ssh, но только если есть хоть какое-то подключение к интернету

Интересная подборка. :)
Да, по сути нужен язык компактный и легкий по весу и числу файлов (питон к таким явно не относится), при этом либо известный мне (версия Бейсика), либо легкий в освоении. Но мне действительно не нужны библиотеки с анимацией, с удаленным доступом и и прочими прибамбасами. Надо на локальном компьютере делать простые операции простым способом.

Если бы Smallbasic поддерживал двоичные файлы, то и вопроса бы не было. Но даже упомянутая выше библиотека litdev в своей первой версии этой функции не имеет, а более новые - не запускаются!

Вот и пытаюсь найти...

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации