48.2 F
Los Angeles
Saturday, November 16, 2024

Trump Lawyer Resigns One Day Before Trial To Begin

Joseph Tacopina has filed with the courts that he will not represent Donald J. Trump. The E. Jean Carroll civil case is schedule to begin Tuesday January 16,...

Judge Lewis A. Kaplan Issues Order RE Postponement

On May 9, 2023, a jury found Donald J. Trump liable for sexual assault and defamation. The jury awarded Ms. Carroll $5 million in damages. Seven months ago,...

ASUS Announces 2023 Vivobook Classic Series

On April 7, 2023, ASUS introduced five new models in the 2023 Vivobook Classic series of laptops. The top laptops in the series use the 13th Gen Intel® Core™...
Technology CompaniesMicrosoftMicrosoft's developer division is on track

Microsoft’s developer division is on track

Some point to the sluggish thinking in Vista, IE, Windows Mobile and others to illustate that Microsoft’s better days are behind it.

I’d say this is true for some markets yes, but for others no.

What I’d point out, as a developer, is that there are some very interesting things coming out of Microsoft. Very interesting.

Despite my overall sadness of Microsoft killing off C++ over the last handful of years, I’ve learned to get over it. I’m now a C#/WPF/Silverlight dev. Yes, there are some decidedly rough edges around the .NET platform, however, the direction that the dev tools team is going within Microsoft is spot on.

First and foremost I’m most enthused about the “compiling as a service” work that’s going on. Here’s a video from PDC 2008 that talks about it. The basic idea is that you’ll be able to call upon the compiler to compile and execute snippets of code. It gives the user a feeling more akin to an interpreter than a compiler, but yet still have all the advantages of a compiler. But there’s lots more power to it than this. Compiling partial code also gives you huge opportunities to explore ideas, have code than can easily analyze other code, and more.

Here’s one example: as a person working on interactive books (see the blog header for some sample screenshots), I’m particularly enthusiastic about the possibilities of developing a how-to programming eBook that not only gives you source code to try out, but also includes a compiler as a service like this so you can see the code in action right within the book. The possibilities are tremendous.

From the early days of large scale computing people have been incrementally improving the interactivity with strong gains. Adding this type of compiler interactivity to an interactive book is going to be one such major shift in learning to program. You won’t need to read about something and then go over to a computer to try it out, you’ll be able to do so right within the book itself.

This is just one scenario of how compiling as a service will impact the programming world. There are others. Needless to say when this feature hits the community we’ll see a plethora of innovation.

But the compiler as a service is just one area that I think Microsoft is on track with. There are others in the languages and tools group.

The idea of migrating Visual Studio to WPF makes a ton of sense to me too. It not only opens up easier opportunities for extension, but it also gives the team to rethink older code. This is a smart move. With the new extensibility points I can’t wait to re-explore adding ink and screenshots to source code. I’ve long been an advocate for this capability and finally with Visual Studio 2010 it looks like it’s going to be a much easier and more robust reality. My earlier prototypes with ink in Visual Studio and later Eclipse will be much more practical starting with VS 2010.

One other area I think the dev team is going in the right direction with is XAML/WPF. The declarative nature of the language is exactly what the world needs–and not just for UIs. Once you get familiar with declaring problems you get more comfortable and automatic with creating declarable components that can be reused in very interesting ways. For instance, I’ve been challenging programmers I know to think beyond applications and components for applications. It’s quite feasible today to have interactive workbooks with components within them, for instance, which in many respects are just like components designed for desktop apps, but not quite. The differences are subtle, but provide tremendous new value to the components and the users.

What I point out to people is that programs up to this point are often written with the goal of automating or improving the efficiency of tasks that are repeated over and over again. Components used in these programs, of course, are designed with this bias in mind. However, an interactive component designed for an interactive workbook may or may not be used the same way. In fact, like the “compiler as a service” notion for .NET, where the compiler is designed for little snippets, an eBook component might be similarly designed to do a whole series of little things. The difference is huge. And step back a minute and think about all the flexibility or divisions that might make up such a component like this. The manageability and easier reuse of a component like this with all of its flexibility is where a declarative model, like XAML, kicks in.

What about Silverlight you ask? Or Mesh? These are two key areas that I’m actively watching out for. In terms of Silverlight when features like webcams and microphones are supported, I think the language and runtime will hit mainstream. It’s not quite mature enough yet, though it’s going in the right direction. And that’s what I watch for. The overall progress. There’s no doubt in my mind that Silverlight is not going to be a winner. It will be. In fact, there’s not a single project that I’m working on now that I don’t try a Silverlight version of or keep asking myself how I would do so. Silverlight is that important to keep a heads up on.

Mesh is another one of those Microsoft tools I’m quite enthusiastic about too, though I’ll save a post about it till later. Suffice it to say that I think it should be something every developer looks at. I’ll also wait until that time to talk about how I see Azure potentially fitting into how I’m developing for the future.

Lastly, one other reason that I’m so keen on Microsoft’s developer strategy is that the dev tools team keeps creating and sharing. Compare its output to any other teams within Microsoft. Compare its openess. Compare how it connects with community developers. It’s a winning combination and one that I continue to place my bets around.

Loren
Lorenhttp://www.lorenheiny.com
Loren Heiny (1961 - 2010) was a software developer and author of several computer language textbooks. He graduated from Arizona State University in computer science. His first love was robotics.

Latest news

Related news