1

It’s the first time I submit a question in this forum. I’m posting a general question. I don’t have to develop an application for a specific purpose. After a lot of “googling” I still haven’t found a language/runtime/script engine/virtual machine that match these 5 requirements:

  1. memory allocation of variables/values or objects cleaned at run time (e.g. a la C++ that use keyword delete or free in C )
  2. language (and consequently the program) is a script or pseudo-compiled a la byte code that should be portable on main operating system (windows, linux, *bsd, solaris) & platform(32/64bit)
  3. native use of multicore (engine/runtime)
  4. no limit on the heap usage
  5. library for network

The programming language for building application and that run on this engine is agnostic oriented (paradigm is not important). I hope that this post won’t stir up a Holy-War but I'd like to put focus on engine behavior during program execution.

Sorry for my bad english.

Luke

  • I don't understand why C++ doesn't work. Have you read about [RAII](http://en.wikipedia.org/wiki/Resource_Acquisition_Is_Initialization)?Failing that, smart pointers are another option. It's very rare that you would need to use `new` or `delete`. – Cody Gray - on strike Feb 10 '12 at 17:42
  • @CodyGray he says "binary-level portability" in his second requirement. – Sedat Kapanoglu Feb 10 '12 at 18:03
  • @user1202456, can you justify your first requirement? why do you require that? – Sedat Kapanoglu Feb 10 '12 at 18:04
  • Thanks for your attention I just wanted to know if there could be a "script engine" or "virtual machine" without the existence of the garbage collector but with the instant cleaning of objects after use. This would limit the waste of memory at runtime (and without delays due to cleaning), however, I realize that the language would be "much more dangerous". – user1202456 Feb 11 '12 at 23:02

1 Answers1

0

I think Erlang might fit your requirement:

  1. most data is either allocated in local scopes and therefore immediately deleted after use or contained in a library-powered permanent storage like ETS, DETS or Mnesia. There is Garbage Collection, though, but the paradigm of the language makes the need for it not as important.
  2. the Erlang compiler compiles the source code to the BEAM virtual machine byte code, which, unlike Java is register-based and thus much faster. The VM is available for:
    • Solaris (including 64 bit)
    • BSD
    • Linux
    • OSX
    • TRU64
    • Windows NT/2000/2003/XP/Vista/7
    • VxWorks
  3. Erlang has been designed for distributed systems, concurrency and reliability from day one
  4. Erlang's Heap grows with your demand for it, it's initially limited and expanded automatically (there are numerous tweaks you can use to configure this on a per-VM-basis)
  5. Erlang comes from a networking background and provides tons of libraries from IP to higher-level protocols
jupp0r
  • 4,502
  • 1
  • 27
  • 34