Независимый от платформы, легкий язык программирования - PullRequest
4 голосов
/ 11 июня 2009

Мне нужно написать чрезвычайно легкую программу (пытающуюся получить меньше 8 КБ), которая выполняет простую математику. Язык также должен быть независимым от платформы. Как вы думаете, какой язык будет работать лучше? (О, и рамки не допускаются.)

Ответы [ 12 ]

7 голосов
/ 11 июня 2009

C. Конечно, вам нужно компилировать отдельно для каждой платформы, но, кроме этого, он довольно легкий и не зависит от платформы (или мультиплатформенность, какое бы выражение вы ни выбрали).

4 голосов
/ 11 июня 2009

На какие платформы ориентирована программа?

Пока у нас есть следующие требования:

  • Программа должна быть не более 8 килобайт.
  • Должно быть независимым от платформы.
  • Рамки не разрешены.

Вот несколько вопросов:

  • Может ли программа 8 КБ быть сценарием для языка сценариев?
  • Насколько большой может быть среда выполнения программы?
  • Должна ли программа иметь собственный код?
  • На каких целевых платформах должен работать код?
  • Есть ли возможность кросс-компиляции кода для каждой платформы?

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

Если целью является встроенное устройство или не-x86, то, скорее всего, выбор будет ограничен. Можно по-прежнему использовать небольшие встраиваемые языки, такие как Lua (написанные на C), но для выполнения скрипта потребуется довольно большое «время выполнения».

Если вариант кросс-компиляции с целями является опцией, то написание программы на C и компиляция на каждую целевую платформу, вероятно, приведет к довольно небольшим собственным программам.

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

3 голосов
/ 11 июня 2009

А как же Далее ?

3 голосов
/ 11 июня 2009

Lua является кроссплатформенным и чрезвычайно легким.

3 голосов
/ 11 июня 2009

Будет ли браузер на основе JavaScript вариант? Легкий и работает практически на всех платформах через браузер.

2 голосов
/ 11 июня 2009

Вы думаете о чем-то вроде пико ?

1 голос
/ 11 июня 2009

DC

Это, по сути, раздутый калькулятор, но он составляет 25 КБ и достигает 12 К. Он также выполняет некоторые строковые операции, макросы и запускает внешние процессы. Вы не найдете намного меньше, не написав это самостоятельно. Доступны исходные коды и двоичные файлы win32.

1 голос
/ 11 июня 2009

c или сборка (хотя вам нужно будет скомпилировать для каждой платформы)

TCL - это кроссплатформенный язык сценариев (не уверен, насколько он легок)

Я бы предложил Java, но виртуальная машина, вероятно, побеждает ваши требования к размеру

0 голосов
/ 02 июня 2010

Вы будете удивлены, сколько вы можете сделать менее чем за 4 Кб Java:

http://www.java4k.com/

Конечно, это не включает JVM: -)

0 голосов
/ 11 июня 2009

Даже C требует времени выполнения. Единственным реалистичным ответом на этот вопрос является dc, или даже пользовательский калькулятор, который выполняет скрипты, реализованные на C.

...