The primary tool for developing Windows Phone 7 applications is the familiar Visual Studio. Debugging, coding, testing, and so on, can all be performed from within the integrated development environment (IDE), just as you would in any other Microsoft-based application development scenario. The Windows Phone Developer Tools that you can download and install include a phone emulator that allows you to develop applications without having a physical phone, although you should test your application on a real physical device before you deploy it.
The emulator is a virtual machine that runs a copy of the actual phone operating system, so it is an accurate simulation of the real phone runtime in all respects except for performance (the emulator will generally perform more slowly than a real device) and sensor availability (for example, location and acceleration emulation are not provided by the phone emulator).
Developing for Windows Phone is essentially the same as developing against the .NET Framework using the Silverlight and/or XNA libraries, although you can use only the C# .NET language to create your applications in the release version (Microsoft Visual Basic® will be supported in an upcoming release). The phone runtime includes specific libraries that provide access to capabilities such as sensors, location services, media capabilities, messaging services, the camera, and Windows Marketplace.