Like Java you mean as that is SUCH an efficient system. The ONLY reason for such environments is to increase programmer productivity by reducing the time & engineering ability required to produce software. This doesn't mean that such programmers are less talented, just that they spend less effort in producing a final application using such means. This situation is exactly the reason higher level languages were developed in the first place (assembler anyone?). If you want a quick release to the world then interpretted languages are great (see how VB took over the corporate app world); if you want speed and efficiency then you need to put more effort and discipline in & manage the resources yourself. Garbage collection in language was introduced purely for development efficiency, not runtime.