2012-02-10 4 views
1

Это первый раз, когда я задаю вопрос на этом форуме. Я отправляю общий вопрос. Мне не нужно разрабатывать приложение для определенной цели. После много «погуглить» Я до сих пор не нашел/виртуальную машину языка/выполнение/скрипт двигателя, которые соответствуют этим требованиям, 5: распределениевысокая производительность во время работы

  1. памяти переменных/значений или объектов очищаемых во время выполнения (например, a la C++, которые используют ключевое слово delete или free в C)
  2. Язык (и, следовательно, программа) является скриптом или псевдокомпилированным байт-кодом, который должен быть переносимым на основной операционной системой (windows, linux, * bsd, solaris) & платформа (32/64 бит)
  3. Собственное использование многоядерных (двигатель/время работы)
  4. нет ограничений на использование кучи
  5. библиотеки для сети

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

Извините за мой плохой английский.

Люк

+0

Я не понимаю, почему C++ не работает. Вы читали о [RAII] (http://en.wikipedia.org/wiki/Resource_Acquisition_Is_Initialization)? В противном случае интеллектуальные указатели - это еще один вариант. Очень редко вам нужно использовать 'new' или' delete'. –

+0

@CodyGray он говорит «портативность на двоичном уровне» в своем втором требовании. –

+0

@ user1202456, можете ли вы обосновать свое первое требование? зачем вам это нужно? –

ответ

0

Я думаю, что Erlang может соответствовать вашим требованиям:

  1. большинство данных либо выделяется в локальных областях, и поэтому сразу же удаляется после использования или содержащиеся в библиотеке с питанием от постоянного хранения как ETS, DETS или Mnesia. Однако есть сборка мусора, но парадигма языка заставляет его не так важен.
  2. компилятор Erlang компилирует исходный код в байтовый код виртуальной машины BEAM, который, в отличие от Java, основан на регистрации и, следовательно, намного быстрее. VM доступна:
    • Solaris (включая 64 бит)
    • BSD
    • Linux
    • OSX
    • tru64
    • Windows NT/2000/2003/XP/Vista/7
    • VxWorks
  3. Erlang был разработан для распределенных систем, параллелизма и надежности с первого дня работы
  4. Erlang's Heap растет с вашим спросом на него, он изначально ограничен и расширен автоматически (есть множество настроек, которые вы можете использовать для настройки на основе каждой VM)
  5. Erlang происходит из сетевого фона и предоставляет тонны библиотеки от протоколов IP до более высокого уровня
+0

большое спасибо! только сомнение: что вы подразумеваете под «надежностью с первого дня»? – user1202456

+0

Я имею в виду, что эти функции были основополагающим критерием дизайна, а не функцией, добавленной позже, как в других языках/системах. – jupp0r