Explain by Using as an example. You want to duplicate the behavior of an old HP calculator, there are two options: You write new program that draws the calculator's display and keys, and when the user clicks on the keys, your programs does what the old calculator did. This is a Simulator You get a dump of the calculator's firmware, then write a program that loads the firmware and interprets it the same way the microprocessor in the calculator did. This is an Emulator The Simulator tries to duplicate the behavior of the device. The Emulator tries to duplicate the inner workings of the device. More examples, For Emulation, You may know something about the case between Google and Oracle. In Brief, google implemented the same APIs(For Android) the java library provided to Java Developers to development Java applications. We can call it JRE Emulation Library. Also, in Google's GWT, it did similiar thing(weir...
The reason for doing the work is to create something useful that helps people. Please click the ads if my articles are useful for you. Definitely, that's not enough. My target is working at some great organizations, such that one day, all the people with internet access can benefit from the service I contributed.