First look: Microsoft's sharp, new Windows Phone SDK
C# is not the only choice; C++ and Visual Basic are options as well. Native, C++ apps will probably be the first pick for anyone building a game that requires zippy performance. That said, the arrival of the .Net Framework in Windows Phone 8 promises significant improvements in app performance and responsiveness, thanks to a new asynchronous programming model and a more efficient runtime engine. Microsoft claims Windows Phone 8 apps will launch faster too, since they'll be compiled in the Windows Store cloud instead of "just in time" on Windows Phone 7 devices, though I haven't experienced this.
More than a dozen different coding templates come with the free version of Visual Studio you get with the SDK. If you're looking to create something that pulls data and displays it in a list, there's a template that's done much of the work for you. The IDE makes it pretty easy to pick up the SDK and get something running in the simulator. It should be noted that the simulator is much more responsive than many of the Android or BlackBerry devices around, though for some reason it doesn't accept text from my keyboard. It forced me to use the simulated phone's keyboard. Note too that you'll need to run Windows 8 on a SLAT-enabled CPU (such as Intel's Core I series) to make the simulator go.
Beyond the classic apps
Basic data-driven apps are just the first thing you'll see. Microsoft recognized that many smartphones are often more camera than phone today. I'm sure many people use Instagram or the photo-sharing features of Facebook more often than they talk and listen to the voices of their friends who actually ring them on the so-called phone. If you want to develop software that uses the camera on Windows Phone 8 devices, a big corner of the SDK is waiting for you.
Microsoft calls one class of apps a "lens." If you happen to write a lens, it becomes available in the built-in camera application. The user will pop up the camera and swap "lenses." A lens app is more a plug-in for the built-in camera than a stand-alone item.
I think this is a good feature for the user because it cuts down on the clutter. It also simplifies some of the work for the developer, but developers may feel like they're losing their identity in a demotion from full-fledged app to mere lens. The lens creator now has some user interface guidelines to follow. While this may lead to ego deflation, it makes the camera experience simpler and more consistent for the user.