Monday, July 29, 2002

Microsoft courts VB faithful: Java competition pressure mounts as XML determines .Net's future


By Tom Sullivan, InfoWorld, July 26, 2002 1:01 pm PT

CENTRAL TO MICROSOFT'S grand vision of unifying its entire software stack through use of XML is the task of keeping its loyal following of VB (Visual Basic) developers in the fold. "Our developers are an important asset, if not the most important asset. Developers drive everything. They're the ones who are going to take us into tomorrow," said Chris Flores, Visual Studio .Net product manager at Redmond, Wash.-based Microsoft...

But as Microsoft asks its developers to leap from VB 6 to VB .Net, a growing band of competitors, including BEA Systems, Sun Microsystems, IBM, and Macromedia, are attempting to increase the size of their own developer communities. The learning curve associated with VB .Net is creating an opportunity for competing vendors. "Microsoft has cause to worry that VB developers will think about moving to Java," said Jason Bloomberg, a consulting analyst at ZapThink Research, a Waltham, Mass.-based market research company that specializes in XML and Web services.

Microsoft, in turn, is fighting back, working to protect its legion of developers by "doing what we always do," Microsoft's Flores said. On the surface level, the software giant's plan has included upgrade tools and an increased concentration on training its corps of developers through seminars and conferences and via its MSDN (Microsoft Developers Network) Web site, which provides lessons and sample code. Microsoft is also making its toolbox work more cohesively with the rest of its products by planting the .Net Framework in all of its servers over time...

According to a survey by Evans Data, more than half of all developers plan to use Java during some part of the time they spend programming this year and next year, whereas only 3 percent will use it exclusively. Use of VB, on the other hand, is expected to decline slightly, with 43.5 percent of respondents planning to use VB next year, down from 46 percent this year.

Saturday, July 27, 2002

Unsafe At Any Speed? C#'s relaxed security model may not be the best fit for your business


Excerpt by Al Williams, New Architect, August 2002

Another new-style language, Microsoft's C#, has a slightly different way of handling security—one that might appeal to you if you're an old-fashioned C programmer like me. Some analysts dismiss C# as Microsoft's attempt to replace Java out of spite for Sun. Certainly, Microsoft's reluctance to use Java must have played a major part in the decision to develop C#. Still, it's natural for new languages to imitate older languages to some extent. The real test isn't how much a language borrows; rather, it's how much it adds.

I've often said that Java by itself isn't such a spectacular language. Its main strength is its well-designed standard library. I've often thought that someone could clone the Java library for C++ and have a winning product. C# manages this to some extent, and it goes even further. It not only has libraries that compete with Java's, but it also imitates many Java language features.

One of the most interesting qualities of C# is the compromise it makes between the freewheeling style of C and the rigorous restrictions of Java. Sun could even learn something from Microsoft in this area.

When it comes to signing code, Microsoft's .Net uses a similar architecture to that of Java. The .Net Common Language Runtime (CLR) expands on the idea a bit by replacing the idea of a certificate with the concept of evidence. Evidence might be a certificate, or credentials established by some other authentication method. Based on the evidence provided by a piece of code, the system grants or denies rights.

C# differs sharply (pardon the pun) from Java in the amount of self-protection it affords programmers. C# derives much from C, and true to its heritage, it lets you use pointers and control memory management.

C#'s developers realized that while not including these capabilities might be acceptable in a perfect world, things aren't always so simple. If you have to interface your code with other programs, those programs (or their data structures) might require pointers, however error-prone they might be. Likewise, high-performance software might require pointers to squeeze out that last microsecond of performance.

Tuesday, July 23, 2002

Taking Programming to the Extreme


By Erik Sherman July 19, 2002

"The quest for quality software may require programmers to lose the cowboy attitude and learn to cooperate.

"Mansour Raad had a big problem. His start-up firm, DiscoverCast, was developing collision-detection software for the airline industry—mistakes in the code could cost lives. But money dried up after a first round of funding, and hiring additional programmers to finish a bug-proof version was out of the question... So Raad instigated a relatively new coding discipline called extreme programming."

Agile programming has been a hot topic in every major publication from the Economist to the MIT Technology Review. It's time to get on the bus!

Wednesday, July 10, 2002

Technology Adoption: Google


How fast can a new innovation gain dominance, cross the chasm, become a household word. Google may hold the record at 3 years.

Investors Business Daily reported on 9 Jul 2002 that Google was the leading search engine with visitors averaging 25.9 minutes per month. Second place Yahoo visitors averaged 10.8 minutes per month followed by MSN at 5.9 minutes per month.

When Google was initially gaining acceptance, I reported on it in 1999.
-----------------------
21 Mar 1999 Coolest search engine!

What does a search engine have to do with Object Technology? Well, if you type in Jeff Sutherland and then click on "I'm feeling lucky" you will get this page at light speed. Google is awesome!

Google uses a complicated mathematical analysis, calculated on more than a billion hyperlinks on the web, to return high-quality search results so you don't have to sift through junk. This analysis allows Google to estimate the quality, or importance, of every web page it returns. The importance of a web page is entirely independent of any query. A page like www.google.com has high importance if other pages with high importance point to www.google.com and lots of other pages with high importance point to www.google.com. This definition seems circular, and it is. Nonetheless, it yields a well-defined notion of importance that makes finding high quality sites easy.

Tuesday, July 09, 2002

Rugby, Anyone?


Scrum is a good alternative for flexible programming that turns around a fast product.
by Brian Noyes, June 28, 2002.

In a rugby game, a scrum is a part of the game that is a cross between a kickoff and a quarterback snap in American football: a "play in which the forwards of each side come together in a tight formation and struggle to gain possession of the ball when it is tossed in among them," as defined by Merriam-Webster's Collegiate Dictionary. In a software development context, Scrum is an agile software-management process characterized, among other things, by quick daily meetings to report on project status. It has not received nearly as much attention as EXtreme Programming (XP) or Rational Unified Process (RUP), but it's gaining popularity and it's simple to understand. Like XP and RUP, Scrum tries to address the shortcomings of traditional software processes, where the assumptions that software development can be repeatable and well defined were often flawed.

Tuesday, July 02, 2002

Web services are hot and here is a fun way to learn about them ...


salcentral Web Services Brokerage has lots of web services you can play with, examine XML schemas, understand SOAP syntax. You can create web services of your own and even offer them for sale.

I remember years ago when the Web first appeared and I learned you could build web pages without any content of your own by hyperlinking to other sites. If was fun, exciting, and the Web was clearly going to make a big splash. This was before most people even knew what the Web was. I got the same feeling playing with web services on salcentral. Recommended.

Monday, July 01, 2002

Apache's Xindice Organizes XML Data Without Schema


A native XML database can make a lot of sense for organizations that want to store and access XML without all the unsightly schema mapping required to store XML in a traditional relational database system. Several commercial native XML databases exist; now, we take a first look at Apache's open source offering, Xindice.

Matt Liotta, DevX, 25 Jun 2002

XML is well deserving of its popularity. Developers are finding myriad uses for it, including application configuration files and object persistence. While using XML in this capacity has many benefits, it can also become an organizational nightmare.

At first glance, a relational database management system (RDBMS) seems like a good way to organize all of your disparate XML data. However, mapping XML documents to relational models is not only difficult, but often results in ugly schemas. For many the answer lies in using a native XML database instead of a traditional RDBMS. This article will describe what a native XML database is, introduce Apache Xindice, and show how to make use of Xindice in a Java application.