Sybase Inc. announced the release of PowerBuilder 12, a .NET development tool. PowerBuilder 12 was created based on the need for an open .NET development tool that delivers applications without limitations of end-to-end managed code.
PowerBuilder provides 12 new key features including open database support, rewritten DataWindow and Visual Inheritance for WPF and User Objects. Sybase will ship PowerBuilder with two self-contained modules, one designed for Windows 32-based development and a comprehensive module for developing Windows Presentation Foundation-based applications on top of the Microsoft Visual Studio shell.
For those of us who have been in application development since before the 1990s, we remember PowerBuilder as the premier client/server development environment. Its affiliation with Microsoft is an interesting twist for this venerable tool. While PowerBuilder has seen better days, it still remains a viable legacy IDE and language for building distributed applications.
Find additional information about signing up for the PowerBuilder 12 beta program here: www.sybase.com/powerbuilder12beta
By Peter Varhol
Microsoft has opened registration for its 2009 Professional Developers Conference (PDC) (http://www.microsoftpdc.com), to be held at the Los Angeles Convention Center November 17-19th. This follows the PDC that the company had October of last year.
The interesting thing about the PDC is that Microsoft doesn’t have one every year. Rather, this is a conference where Microsoft waits until it believes it has something to talk about from a developer standpoint before hosting the conference. In the past, the company has used the PDC as a vehicle for preparing developers for new and groundbreaking development technologies or platforms.
Further, the PDC topics focus on the future, usually 12 to 24 months in the future. While Microsoft does not seem to be giving a lot of hints about what these future development trends may entail, there are at least a couple of sessions that look intriguing.
The biggest thing I see is a talk by Stephen Taub. It’s entitled Manycore and the Microsoft .NET Framework 4: A Match Made in Microsoft Visual Studio 2010, The Microsoft .NET Framework 4 and Visual Studio 2010 include new technologies for expressing, debugging, and tuning parallelism in managed applications.
Another featured session, given by Steve Marx, is Building Applications for the Windows Azure Platform. Last year, Azure was just so much smoke and mirrors. A year later, hopefully there is some more here for developers to sink their teeth into.
By Peter Varhol
Microsoft’s Silverlight engineering team doesn’t just write code. They tell application developers how to do so, too. Through the Silverlight blog at http://team.silverlight.net/, the Silverlight team provides a collection of tips and suggestions on how to design and build applications with Silverlight.
In particular, the latest entries have dealt with the use of the Expression tools in Silverlight development. The blog makes it clear that there are a number of Expression tools (I counted five different ones when they finally sent me off to the Expression Web site, along with the Expression Studio that combines all of them). These include tools for graphic design and user interface layout, which are important for starting off with Silverlight designs.
The Silverlight engineering team refers to the recent Expression postings as the Principles of Design series, focusing on emphasis, symmetry, and rhythm as design techniques, and how to use them to create interfaces that engage end users.
If you are looking for a way to get started with Silverlight, and in particular with the Expression tools, this blog is a good place to get ideas. Expect more postings on the Principles of Design series in the next several weeks as a way to better understand both design and tooling in Silverlight applications.
The vast majority of SearchWinDevelopment.com readers are using modern tools, but a significant number of them are also interested in maintaining legacy applications, according to a readership survey conducted by the site.
A preliminary look at the survey reveals that 87% are using Visual Studio 2008 or 2005. About 65% of respondents use one of those versions as their primary IDE.
.NET languages are very popular; legacy code also important
Three quarters of all respondents reported using one of the two main .NET languages, C# and VB.NET; for half of respondents, one of those languages is what they do most of their coding in. C# is the more popular language by a significant (but not overwhelming) margin of 48% to 38%. Legacy code is still important, though. One fifth of readers use C++ and almost a third use VB6 or earlier, although only 15% of all respondents use those older languages as their main programming language.
Interestingly, the “use at all” to “use as primary” stats aren’t symmetric within .NET. As I noted above, 48% of readers use C# and 38% use VB.NET. But while 36% of readers use C# as their primary coding language, only 17% use VB.NET as their primary. That means that 75% of respondents who use C# do so for most of their programming (36 / 48 = .75), but only 45% of VB.NET coders use that language as their primary.
Web development is huge, but not quite cutting edge
Unsurprisingly, Web development is very popular. Just over half of all SearchWinDevelopment.com readers work with ASP.NET. For most of those, Web development is their main responsibility. But despite the Web 2.0 craze, Silverlight isn’t nearly as popular.
Ajax development is strong, but relatively diverse. That is probably due in part to Microsoft changing strategies: although it has its own Ajax framework, the company recently decided to officially back the popular library jQuery and incorporate it into IntelliSense. About 30% of ASP.NET developers use ASP.NET AJAX, 23% use jQuery and 15% use another framework.
What you’re doing, and how you’re doing it
In case you’re wondering how other Windows developers get things done, the top four most popular programming methodologies are waterfall, extreme programming (XP), Agile and Scrum. But about a quarter of you aren’t employing any methodology at all! That could be because almost a third of respondents work in an environment with fewer than five programmers, but it’s still a bit surprising.
And as for what you’re doing, the majority of our survey respondents said that improving performance one of their architectural challenges. That’s to be expected, but what stands out is that that’s the only architectural challenge that a majority of our readers are facing. Almost 60% of our readers listed performance as a challenge their company is facing; the next popular choice, implementing a workflow, weighed in at about 42%.
Those are topics we haven’t covered extremely closely, so that feedback is great to have.
Lastly, it’s clear that many of you are interested in learning new tools and technologies. We asked readers to rank their interest in nine topics, including software-as-a-service and open source software, which Microsoft is warming up to. Most of the topics trended toward “highly interested,” with only scripting languages and grid computing technology trending toward disinterest. That might not bode well for Microsoft’s latest push to promote PHP on Azure.
Look for a more in-depth analysis of the survey in the coming weeks. In the meanwhile, to all of our readers who took the survey, our deep thanks!
A company that helps developers find, track and manage open source components has partnered with Microsoft to include projects from CodePlex, Microsoft’s open source portal.
Black Duck Software helps companies find reliable open source projects and comply with their various licenses. Although the source code for open source software (OSS) is free, various licenses have different restrictions, ranging from simple attribution to obliging developers to publish any improvements they make back to the OSS community.
It’s not easy to manage those licenses, and companies will sometimes try to find an alternative OSS project if the one they currently draw from has a relatively restrictive license, said Peter Vescuso, executive vice president of marketing and business development at Black Duck. Black Duck can also help companies gauge OSS projects’ quality by providing information about their developer community and version history, he said.
By bringing CodePlex projects into its KnowledgeBase, which catalogs open source projects, Black Duck is underscoring Microsoft’s relatively new push to embrace open source. Microsoft has made several overtures toward open source: it recently released ASP.NET MVC as open source; several of its Silverlight components are open source; it’s making sure its Azure cloud OS will work with PHP; and its CodePlex site provides a repository for open source projects. Most projects on CodePlex are Windows applications written in .NET, although that isn’t a requirement for putting a project on the site.
The partnership with Microsoft will give Black Duck access to projects’ metadata, letting it automate its information gathering process, Vescuso said. For Microsoft, the deal will help it get out the message that it’s a true, committed player in the open source world, he said.
Open source is often associated with Linux, but most developers in the last decade — including Windows developers — look to open source to help them as they write applications, Vescuso said. Those uses range from just copying a few lines to using whole components or tools.
Microsoft unveiled this week, with relatively little fanfare, a new feature on MSDN that lets developers search code samples. Users can go to a dedicated MSDN code search page to enter their queries or click on the “Code Search” button at the general MSDN search page. The new feature doesn’t appear to have any special branding, but its URL http://msdn.krugle.com, seems to at least imply a code name.
Krugle — if that is its real name — can filter source code samples by language, project, filename or where in the code the query is matched (within a class definition, function definition, comments, etc).
The search is listed as beta, and at least one user has already run into difficulties. In a thread on MSDN’s feedback forums, user “dmex” complained that searching for GetProcAddress doesn’t return code from that function’s documentation. When I queried “GetProcAddress” I got 763 matches, and the function’s page wasn’t in the top 15. The pages that were returned all seemed to be from actual code files — .h, .cpp, .vb, etc — for projects on CodePlex, indicating that Krugle queries CodePlex rather than code examples embedded in MSDN documentation.
There’s a storm brewing in the cloud, and its name is interop. More than a decade into the browser wars that have left developers struggling with two major browsers that work in different ways, cloud services vendors don’t seem to have learned the lesson.
A few weeks ago, IBM pushed the Open Cloud Manifesto, a document that was supposed to lay the tracks for openness and interoperability in cloud computing but which was rejected by the industry’s major players. Google, Amazon, Salesforce.com and Microsoft all said “thanks but no thanks” to the document. Microsoft’s objection stemmed from the fact that the supposedly open manifesto was drafted behind closed doors and presented “as is,” with no chance for other parties to have their say.
But even if the manifesto is flawed — and the industry consensus seems to be that it is — the idea is important. Interoperability requires not just standards compliance today, but a unified approach to evolving those standards and for coping with incompatibilities as they occur in the future. Addressing interop on a day-to-day basis just isn’t enough.
For its part, Microsoft looks like it will have a strong product when it rolls out the final version of Azure. When I spoke to Steven Yi, Microsoft’s director of product management for the Azure Services Platform, he noted that Azure is designed specifically for the cloud, meaning that it handles scaling and multiple instances behind the scenes. In contrast, the Amazon Elastic Compute Cloud (EC2) provides VMs closer to the metal; this gives developers more control potentially, but it also means they have to create their own scaling mechanisms and communication between VMs, Yi said.
On the interoperability side, Azure is in a good position for now. It runs non-.NET technologies like PHP natively, and developers can expose their services over several standards, including REST and SOAP. Azure services themselves conform to these standards, Yi said, and developers can configure applications hosted on Azure to communicate with end users via a browser, on-premises servers or even other clouds. At MIX09, for instance, Microsoft showed the Azure Service Bus connecting to the Google App Engine.
But it looks like the long-term interop vision is to keep a short-term vision indefinitely. When I asked Yi how he thought the cloud manifesto should have been drafted, and what Microsoft would like to see in it, his answer raised a red flag.
“I don’t necessarily think there needs to be a manifesto as long as we’re delivering on customer needs” and interoperating with other services, he said. Yi emphasized that Azure is standards-compliant and that the company is constantly talking to its developers.
That approach is working for now, but it doesn’t leave much room for the inevitable differences that will arise between cloud computing platforms. Vendors will always push the envelope in different directions, and some interoperability problems are fine, but vendors should at least agree on a way of settling their differences within a generation of two of their occurrences.
Cloud computing vendors pledge that interoperability is important to them, and so far the system is working relatively well. But it’s also in its infancy. It won’t be long before vendors start coming out with new innovations — a fix to the overly verbose XML-based communication that most services now use, for instance — that will threaten interop in the cloud.
Nobody was ready for breakthroughs when they came to Web browsers, and now we’re all scrambling to glue the eggshells back together. We should demand that cloud computing service vendors stop the next egg from breaking before it’s too late.
If HTML had an <IMHO> tag, I’d use it right about now: but I can’t help thinking as I read various articles about Microsoft bidding to power Twitter search that it’s a lot more enamored of Twitter than are many of its third-party developers.
If you’ve been to a Microsoft conference recently, you may have noticed the Twitter notification screens it puts up before keynote speeches. They basically consist of differently shaped boxes, each containing a Tweet with the event’s hashtag, falling like Tetris pieces. (In case you’re wondering, the app that powered that was Flotzam.)
But at a DevCon I attended here in Boston not long ago, the Microsoft emcee kicked off the keynote by asking for a show of hands of Twitters in the crowd. Only a handful of hands showed.
I only recently jumped aboard the Twitter bandwagon (follow me @WinDevelopment), but it seems to me, anecdotally, that Windows developers are a bit behind — or some may say skeptical of — the Twitter trend. It’s clear Microsoft is trying to push them toward it, but many of them don’t seem impressed. That’s not to say that Microsoft shouldn’t try to power Twitter’s search engine: Twitter has decently strong consumer support, and that’s something Microsoft wants regardless.
But I do wonder why Windows developers, who are on the whole a fairly tech-savvy bunch to say the least, haven’t embraced this latest child of Web 2.0. One of our in house Twitterati, Alex Howard, has an interesting observation that may explain it: Microsoft’s Twitter account has zero updates and isn’t branded, meaning it’s likely being Twittersquatted. Amazon, by contrast, has 93 updates, and Google has 152; the three companies have 67, 1,128 and 362,550 followers, respectively.
To be fair, Microsoft has other accounts that are more active, like MicrosoftVSTS. But without a unified front on Twitter, how can the company expect its developers to see the site as serious business and not just the latest Web toy?
When I complained last month that we haven’t seen enough of Microsoft’s Oslo to know what it is, Microsoft responded.
To recap: my gripe with Oslo — and specifically its programming language M, which is the most concrete part of Oslo we’ve seen so far — wasn’t that it isn’t useful. M lets developers build out domain-specific languages (DSLs) relatively easily, and that’s obviously handy. But a new language to define DSLs does not a SOA platform make, I argued.
Microsoft’s answer: Oslo isn’t about SOA; it’s about modeling (hence the “M”). SOA is one of the domains that Microsoft anticipates could be helped by Oslo, but the terms are not synonymous, said Burley Kawasaki, director of developer platform product management at Microsoft.
The problem with data modeling as it exists today is that everyone has their own way of doing it, which means nobody can talk to anybody else, Kawasaki said. Even within a given company, different groups may model data differently, which makes the handoff a pain point. Microsoft’s vision is to unify data modeling in the same way that XML unified markup.
For instance, frameworks like WPF and Spring are increasingly using metadata to build portions of applications, Kawasaki said. That means developers have “a whole bunch of mini Oslos,” each modeling and executing its own metadata; it’d be like each application writing its own XML-like specification and the tools to use parse and write it.
The biggest thing XML has going for it is that it’s a standard. If you’ve got an XML document, it’s trivial for me to read it, manipulate the data, and spit it back to you in a way you understand. That’s what Microsoft wants Oslo to do for modeling, and it wants M to be the workhorse behind the scenes.
Microsoft’s vision is to be able to actually compile and run the model, just as WPF compiles XAML and turns it into a program’s UI. That ensures that the model changes as the project goes forwards, instead of just being printed out and forgotten among a stack of papers. That’s what M and its compiler do.
But that gets us back to the original issue: we haven’t seen that kind of pervasiveness from Oslo yet. Microsoft has shown us how to use M to develop DSLs, but that’s a far cry from using it to build standardized, useful, easily transferable models.
That goal depends on three building blocks, said Kris Horrocks, senior product manager for Microsoft’s developer platform team:
- a common way to represent models
- a common way to store them; and
- a common way to display and manipulate them
M addresses the first of those steps, and the Oslo repository — currently SQL Server — addresses the second. The third will presumably be the role of Quadrant, the GUI model editing tool that Microsoft has announced but not yet demoed.
But beyond the technical building blocks, Horrocks said, is industry adoption. After all, you can’t address a lack of standardization just by throwing another contender in the ring. To that end, Microsoft has included M in its open specification promise, and it’s encouraging developers to get a head start by downloading M, playing around with it and possibly even contributing to the project.
Here’s a funny April Fool’s joke: Microsoft’s MVC is going open source, according to a blog post by Scott Guthrie on Wednesday.
But the punch line isn’t that MVC is really closed source — it’s that the headline a legitimate, non-April-Fool’s-joke news. I didn’t quite believe it until I went and grabbed the source code, but there it is. ASP.NET MVC is open source.
Guthrie didn’t explain why the move was made in his blog, but it’s consistent with Microsoft’s Web strategy. The company has already released several Silverlight components as open source, it’s working with Novell to develop an open source implementation of Silverlight, and it even worked with a company called Soyatec to put out a Silverlight development plug-in for Eclipse, the open source, Java-based IDE.
When I talked to the principle architect on Microsoft’s interoperability team about the latter, he said he sees open source purely as an interop strategy: “it hasn’t impacted Microsoft’s larger licensing models,” he told me. And yet, Microsoft seems to inch ever-closer to being a major player in the open source world.
The overall direction Microsoft seems to be taking is that the technologies higher up in the stack are candidates for open source, but its foundational technologies are still closed and proprietary. Microsoft’s MVC may be free, but you’ll need to run it on something; Microsoft is hoping you’ll pick Windows Server with ASP.NET 3.5 rather than an open source solution like Mono.
In other words: the idea is free, but the implementation will cost you.