Questions tagged [virtual-machine]

A virtual machine is an emulation layer between a program and the OS that presents to the application a specialized environment to run in, than the raw environment that the OS provides.

This helps in many ways. For example, the applications become more portable. Another advantage is that a VM can implement things not available in the native OS. One more very important benefit is that the memory management is automatic and the application developers don't need to concern themselves with it -- which makes programs less susceptible to a host of known problems when the memory is managed manually in C/C++ programs. VMs are commonly implemented in C or C++.

118 questions
65
votes
4 answers

Why do VMs need to be "stack machines" or "register machines" etc.?

(This is an extremely newbie-ish question). I've been studying a little about Virtual Machines. Turns out a lot of them are designed very similarly to physical or theoretical computers. I read that the JVM for example, is a 'stack machine'. What…
Aviv Cohn
  • 21,190
  • 31
  • 118
  • 178
58
votes
6 answers

Why aren't there other programming languages that compile to Python bytecode?

In Java, there are multiple languages that compile to Java bytecode and can run on the JVM -- Clojure, Groovy, and Scala being the main ones I can remember off the top of my head. However, Python also turns into bytecode (.pyc files) before being…
Michael0x2a
  • 1,099
  • 1
  • 7
  • 22
56
votes
3 answers

What is a type system?

Background I am designing a language, as a side project. I have a working assembler, static analyser, and virtual machine for it. Since I can already compile and run non-trivial programs using the infrastructure I've built I thought about giving a…
51
votes
25 answers

Thoughts on Development using Virtual Machines

I'll be working as a development lead for a startup and I've suggested that we use VMs for development. I'm not talking about each developer having a desktop with VMs for testing/development, I mean having a server rack where all VMs are managed…
J_A_X
  • 442
  • 1
  • 5
  • 10
41
votes
11 answers

Are there any reasons not to accept a software deliverable as a virtual machine?

This is a question about logistics, not a technical question. My company has outsourced some embedded software work. Specifically, we have payed a contractor to develop an embedded system for us since we do not have adequate in-house knowledge to…
CFL_Jeff
  • 3,517
  • 23
  • 33
38
votes
8 answers

Is overriding Object.finalize() really bad?

The main two arguments against overriding Object.finalize() is that: You don't get to decide when it's called. It may not get called at all. If I understand this correctly, I don't think those are good enough reasons to hate Object.finalize() so…
AxiomaticNexus
  • 776
  • 2
  • 7
  • 11
22
votes
3 answers

Which are the alternatives to using a stack to represent function call semantics?

We all know and love that function calls are usually implemented using the stack; there are frames, return addresses, parameters, the whole lot. However, the stack is an implementation detail: calling conventions may do different things (i.e. x86…
20
votes
7 answers

Java IDE written in pure Java?

Is there a Java IDE written in Java? I just got my year 9 DET laptop today at school, and there are all sorts of restrictions set in place. Somewhat annoyingly, you cannot run any executable other than the ones already installed on the system (for…
Darestium
  • 319
  • 1
  • 2
  • 9
18
votes
11 answers

Reasons to Use a VM For Development

Background: I work at a start-up company, where one team uses Virtual Machines to connect to a remote server to do their development, and another team (the team I'm on) uses local IIS/SQL Server 2005/Visual Studio installations to conduct…
George Stocker
  • 6,388
  • 2
  • 31
  • 55
17
votes
3 answers

Why would more CPU cores on virtual machine slow compile times?

[edit#2] If anyone from VMWare can hit me up with a copy of VMWare Fusion, I'd be more than happy to do the same as a VirtualBox vs VMWare comparison. Somehow I suspect the VMWare hypervisor will be better tuned for hyperthreading (see my answer…
DeepSpace101
  • 1,394
  • 5
  • 14
  • 26
16
votes
4 answers

Why is .NET VM based?

Java has been designed to run on a virtual machine to allow portability for programs. However .NET has been designed from the start specifically for Windows. Than what is the reason for .NET applications being compiled to bytecode for the CLR? Was…
Aviv Cohn
  • 21,190
  • 31
  • 118
  • 178
12
votes
1 answer

What's the relationship between meta-circular interpreters, virtual machines and increased performance?

I've read about meta-circular interpreters on the web (including SICP) and I've looked into the code of some implementations (such as PyPy and Narcissus). I've read quite a bit about two languages which made great use of metacircular evaluation,…
Gomi
  • 332
  • 1
  • 4
9
votes
1 answer

Computer Architectures NOT based on arrays

Wadler's original paper on Monads for Functional Programming ( Haskell ) ,he says Another question with a long history is whether it is desirable to base programs on array update. Since so much effort has gone into developing algorithms and…
9
votes
4 answers

How do I explain to my boss what a 'Virtual Machine' means?

Most probably my boss didn't write a single word on a keyboard in his entire life. He saw computers and he has a cell phone. He is a smart man. How can I explain to him what a 'virtual machine' is? (VM as in VMWare + virtual Box, not the VM as in…
John Thomas
  • 216
  • 1
  • 5
9
votes
4 answers

Why not free memory as soon as its reference counter hits zero

A lot of languages like Java and C# have garbage collectors that free memory when that memory no longer has any reference. Yet they don't immediately free it after the reference counter hits zero but instead every once in a while they check on all…
Caesar
  • 201
  • 1
  • 7
1
2 3 4 5 6 7 8