Мне нужно написать чрезвычайно легкую программу (попытка получить ниже 8Kb), которая выполняет некоторую простую математику. Язык также должен быть независимым от платформы. Какой язык, по вашему мнению, будет работать лучше всего? (О, и никакие рамки не допускаются.)Платформа Независимый, легкий язык программирования
ответ
C. Разумеется, вам нужно скомпилировать отдельно для каждой платформы, но кроме этого, она довольно легкая и независимая от платформы (или мультиплатформенная, в зависимости от того, какое выражение вы предпочитаете).
Будьте осторожны с компилятором. Некоторые (большинство?) Будут создавать массивные исполняемые файлы (сравнительно). –
Он говорит о простой математике и ориентации на Linux/Windows. Я не знаю, что происходит в Windows, но в Linux я не могу представить себе нелокализованный компилятор, который вы не можете выжать из двоичного кода 8 КБ из-за чего-то менее 150-200 строк незаметного С. Просто убедитесь, что разделите двоичный код. –
Есть, конечно, разные компиляторы, но я думаю, что большинство из них вполне адекватны в этом отношении: C по существу не намного больше, чем удобочитаемый язык ассемблера. На практике размер исполняемого файла во многом определяется статически связанными библиотеками; если вы не используете такие, что еще может компилятор поставить там, чтобы сделать исполняемые файлы огромными? Конечно, C++ - совершенно другое животное. –
с или сборки (хотя вы должны скомпилировать для каждой платформы)
TCL является язык сценариев, кросс-платформенный (не уверен, как легкий это)
Я бы предложил Java, но VM, вероятно, преодолевает ваши требования к размеру
Возможно ли использовать браузер на базе браузера? Легкий и работает практически на всех платформах через браузер.
Хороший звонок - я пропустил этот, и это было действительно очевидно! –
Эрр, разве он не писал, что рамки не разрешены? Если веб-браузер не является каркасом, я не знаю, что это такое. –
Нет, не могу туда попасть. Я на самом деле веб-дизайнер, поэтому это первое, о чем я думал. –
Вы думаете о чем-то вроде pico?
Не уверен, что вы подразумеваете под фреймворком?
python
Почему?
- Он устанавливается на мои дистрибутивы Linux, OSX и может быть упакован как собственный исполняемый файл на окнах. Другими словами, пользователю вашего приложения не нужно ничего устанавливать
- Это действительно легко изучить.
windows не поставляется с python, поэтому, даже если скрипт py <8kb, все это будет несколько MB. – sqram
ах, это правда, не думал об этом. –
Какие платформы предназначены для таргетинга на программы?
До сих пор мы имеем следующие требования:
- Программа должна находиться под 8 килобайт.
- Должно быть не зависит от платформы.
- Без рамки.
Вот некоторые вопросы:
- Может ли программа 8 KB быть скрипт для языка сценариев?
- Насколько велика среда выполнения для программы?
- Должен ли программа быть собственным кодом самостоятельно?
- На каких целевых платформах должен работать код?
- Является ли кросс-компиляция кода для каждой платформы опцией?
Вопросы, которые я представил, будут влиять на желаемые варианты.Если программа должна быть 8 килобайт с средой выполнения, тогда действительно не так много выбора, кроме компиляции против целевой среды.
Если цель - встроенное устройство или не-x86, то вероятность того, что выбор будет ограничен, будет ограничен. Небольшие встраиваемые langugages, такие как Lua, все еще могут использоваться (написаны на C), но для выполнения скрипта потребуется довольно большая «среда выполнения».
Если кросс-компиляция для целей является опцией, то запись программы на C и компиляция на каждую целевую платформу, вероятно, даст довольно небольшие собственные программы.
В соответствии с текущими требованиями есть несколько вопросов, которые необходимо решить, обеспечивая хороший всеобъемлющий ответ. Помимо этого, лучшее, что можно сделать, - это мозговой штурм вариантов, которые могут или не могут привести к желаемому решению.
Вы пропустили одно из требований: «без рамок разрешено», поэтому я предполагаю, что язык сценариев не учитывается ... – fretje
@fretje: Я не совсем уверен, что время выполнения скриптов можно считать «каркасом», но это дополнительное требование, которое было упомянуто, поэтому я добавлю его к ответу. Спасибо, что указали это! :) – coobird
Программа ориентирована на Linux и Windows, я сомневаюсь, что мне нужно будет нацелить что-нибудь еще. Никаких языков сценариев не разрешено, действительно, программа должна быть автономным исполняемым файлом. Я узнаю о других вопросах. –
Это в основном преувеличены калькулятор, но это 25К и застежки-молнии вплоть до 12K. Он также выполняет некоторые строковые операции, макросы и запускает внешние процессы. Вы не найдете гораздо меньше, не написав его сами. Доступны исходные и win32-файлы.
Беспин из Mozzila - это онлайн-среда. Так что, по определению, платформа независима. Попыться связаться с https://bespin.mozilla.com/
0 приблизительно Forth?
Если вы не можете получить хорошую среду Forth под 8K, вы не пытаетесь. : D –
Даже C требует времени выполнения. Только реалистичный ответ на этот вопрос - это dc или даже собственный калькулятор, который выполняет скрипты, реализованные на C. (Такой калькулятор может быть меньше, чем dc, если он не зависит от точности алгоритма).
Вы будете удивлены, как много вы можете получить сделано меньше, чем 4k Ява:
Конечно, это не включает в себя JVM :-)
- 1. Язык/платформа/независимый менеджер зависимостей
- 2. язык программирования независимый генератор случайных чисел
- 3. Платформа независимый пример subprocess.Popen
- 4. Платформа/Местоположение Независимый ini-файл
- 5. Язык программирования/платформа с доступом во время работы к AST
- 6. Язык программирования веб-программирования
- 7. Язык программирования программирования RISC
- 8. Как программировать независимый язык double.tryparse?
- 9. Kindle SDK Язык/Платформа
- 10. Язык и платформа
- 11. Язык GAMMA, язык химического программирования
- 12. Легкий язык разметки для Python
- 13. Легкий язык разметки для математики
- 14. Язык ассемблера и платформа Независимость
- 15. Язык программирования C 2. изд. вопрос
- 16. c язык программирования, указатель
- 17. AutoIt язык программирования?
- 18. Язык программирования грамматики
- 19. определить язык программирования
- 20. Создайте язык программирования JVM
- 21. Самый маленький язык программирования
- 22. Определить язык программирования
- 23. Как убрать язык программирования
- 24. ¿Какой язык программирования?
- 25. Необходим правильный язык программирования
- 26. Язык программирования R - Циклы
- 27. Схема Язык программирования
- 28. Agda как язык программирования
- 29. Что такое язык программирования?
- 30. Windows: Какой язык программирования?
Как вашей программе будет работать? Автономный, в браузере, командной строке? Будет ли он распространяться среди пользователей или он будет запущен на вашем компьютере? – Billy