Sunday, May 26, 2002

Languages: Can other languages run on top of the Java Virtual Machine?

Roger Sessions comments in a recent ObjectWatch Newsletter article that Java is clearly not language neutral. The introduction to the article follows. Check the link for the whole picture.

"Is Java language neutral? This may seem like a silly question. Java IS a language. Isn't it? Maybe. And maybe not. It depends on what you mean by "Java". Some of us think of Java as being a specific programming language with an associated syntax and a set of language features (such as automatic garbage collection). Sun, however, has traditionally used the term "Java" to mean both the language and the platform (including the extensive Java platform API). In other words, Java is both what you program with and what you program to.

"I have no problem with either the language or the platform. Java is a great language, one which I have advocated since 1996 (in my book, "COM and DCOM; Microsoft's Vision for Distributed Objects"). The Java platform is very complete, and, with a few notable exceptions (such as entity beans), well thought out.

"One might argue that a platform and a language are closely related. But of the two forerunner technologies to the J2EE part of the Java platform, CORBA and the Microsoft Transaction Server, both took considerable pains to distance themselves from any particular language. The only serious competitor to the Java platform, Microsoft's .NET platform, has also been very careful to maintain language neutrality. It is hard to think of any successful platform (other than Java) that has tied itself to a specific language. Smalltalk tried something similar, and for a while appeared to be headed for real success, but eventually faded into obscurity."

Nik Boyd has built a Smalltalk environment called Bistro that runs on top of the Java Virtual Machine. He has an alternative point of view:

Language Neutrality and the Java Platform May 25, 2002 - Nik Boyd - A Somewhat Belated Response to the Assessment by Roger Sessions

Through web links, I recently found the ObjectWatch Newsletter from Roger Sessions dated June 5, 2001, which includes an article titled: Is Java Language Neutral? This article raised several questions for me, including the following. What constitutes language neutrality? What criteria should we use to judge the neutrality of a platform? Does it necessarily include complete language interoperability, or merely the ability to develop and integrate components written in multiple programming languages? Even if certain kinds of language interoperability can be achieved, what benefits does such interoperability confer? What are the natural limits of such interoperability?

Friday, May 24, 2002

Open Source Wars at the Pentagon

Open-Source Fight Flares At Pentagon: Microsoft Lobbies Hard Against Free Software
By Jonathan Krim, Washington Post Staff Writer, Thursday, May 23, 2002; Page E01

"Microsoft Corp. is aggressively lobbying the Pentagon to squelch its growing use of freely distributed computer software and switch to proprietary systems such as those sold by the software giant, according to officials familiar with the campaign. In what one military source called a "barrage" of contacts with officials at the Defense Information Systems Agency and the office of Defense Secretary Donald H. Rumsfeld over the past few months, the company said "open source" software threatens security and its intellectual property.

"But the effort may have backfired. A May 10 report prepared for the Defense Department concluded that open source often results in more secure, less expensive applications and that, if anything, its use should be expanded."

For deeper insight into Microsoft see: Microsoft and the Internet Wars: Freedom Fighters!

Wednesday, May 22, 2002

Security: Pervasive Health Care Applications Face Tough Security Challenges

Check out the latest article on mobile computing security which details my approach at PatientKeeper to delivery of secure healthcare applications on a PDA:

Stanford, Vince. Pervasive Health Care Applications Face Tough Security Challenges. IEEE Pervasive Computing, Apr-Jun 2002, pp. 1014.

"... the Health Insurance Portability Accountability Act (HIPAA) of 1996 dramatically changes the legal environment for medical records processing, defining felony offenses and penalties for disclosing individually identifiable medical records... There is nothing like the threat of going to prison to concentrate the mind, so health care IT executives are now concentrating on bringing their systems into compliance as deadlines phase in."

This paper is not on the web yet. Send me a note if you need a copy.

Network Capacity Scales with Demand

Recently, I posted a piece on a new patent for an energy device that creates electricity out of thin air. You probably wrote that off as impossible. Well, a good technologist needs to investigate these things and not dismiss them out of hand.

Here's another one. Pundit David Reed argues that with new techology and repeating stations for wireless devices, network capacity actually increases with the number of transmitting stations. Radio waves don't cancel each other out. Our old technology and the way we use the spectrum artificially limits us. In fact, the whole FCC approach to regulating spectrum is a dinosaur based on ignorance of fundamental physics.

Friday, May 17, 2002

XML: Introduction to Xquery

by Srinivas Pandrangi and Alex Cheng

When my team at a healthcare software company was developing internet distributed workflow systems a few years ago we had to write a homegrown query language for examining XML process definitions. The W3C XML Query Working Group has finally delivered a working draft of a general solution, XQuery 1.0: An XML Query Language. Pandrangi and Cheng have published the first of four articles on Introduction to Xquery:

"Over the past few years, XML has rapidly gained popularity as a formatting language for information, finding constituencies in both the document-centric and data-centric worlds. The explosive growth of XML-based standards bears testimony to XML's interest to many different technical communities. Applications now use XML for both transient messages, such as SOAP or XML-RPC messages, and as persistent storage, such as in XML databases or content management systems. An XML-based web, as opposed to an HTML-based web, no longer sounds like fantasy.

"As the volume of information stored in XML grows, it becomes correspondingly more important to be able to access information in XML documents efficiently and effectively. To do that, you need an expressive query language so you can specify precisely what information you want to retrieve or update in an XML data source. XQuery intends to be that language."

Thursday, May 16, 2002

Web Services: More than 65 articles to wet your appetite

Catch up on the Web Services buzz with dozens of articles on technical implementation. "Discover how XML-enabled Web services can connect your dissimilar platforms with these essential articles. Expert contributors show you how to implement Web services for efficiency, security, and mobility. They also help you distinguish reality from the hype, and explain what Web services mean for your business."

Friday, May 10, 2002

Coolest Search Engine: Kartoo is a search engine designed by French guys who were always the best user interface designers. When I was President of Object Databases, Gail Paquet came over to the U.S. for three years and built the best object-oriented multimedia applications I have seen before or since. Kartoo reminds me of his work.

The last search engine I recommended was Google back on 21 Mar 1999 before most people knew about it. Kartoo sits on top of Google and other search engines to give you an object-oriented views of relationships. You can click to emphasize certain words and the whole pattern will reconfigure itself. The advanced search selection features are way beyond cool!

It is always interested to see what it on sites that reference my object technology page. I immediately found:
which has the most interesting links to computer science resources I've seen in a long time. Check out at least one of them.

A couple of people in my startup have already made it their home page. Need I say more!!

Wednesday, May 08, 2002

Agile Software Development: Wicked Problems

Mary Poppendieck has an interesting article, Wicked Problems, in Software Development magazine, May 2002. She notes that SCRUM is an excellent adaptive project-management approach for wicked software development projects. In fact, Degrace and Hulet's book, Wicked Problems, Righteous Solutions, Prentice Hall, 1990, was one of the inspirations for the invention of the SCRUM software development process.

An enlightening aspect of this article is documenting who coined the phrase, "wicked problems," i.e. Rittel, H and Webber M. Dilemmas in a General Theory of Planning. Policy Sciences, Vol. 4. Elsevier, 1973. A wicked problem has these characteristics:

1. Wicked problems have no definitive formulation. Each attempt at creating a solution changes your understanding of the problem.
2. Wicked problems have no stopping rule. Stakeholders, political realities, or resource issues change the end game.
3. Solutions to wicked problems are not true-or-false, but good-or-bad. No definitive formulation and no stopping rule means the only success is when the stakeholders "feel good enough."
4. There is no immediate or ultimate test of a solution to a wicked problem. Any solution generates a wave of unpredictable consequences.
5. Every implemented solution to a wicked problem has consequences. Unanticipated side effects are the norm.
6. Wicked problems don't have a well-described set of potential solutions. Stakeholders have different views of what is acceptable.
7. Each wicked problem is essentially unique. The art of not knowing too early what solution to apply is critical. Decision making must often be delayed until the last possible moment to allow for changing requirements and technologies to assure success.
8. Each wicked problem can be considered a symptom of another problem. Changing constraints and interlocking issues are embedded in a social context.
9. The causes of a wicked problem can be explained in numerous ways. Stakeholders have varying views on what the problem is, who or what is causing it, and how to resolve it.
10. The planner (designer) has no right to be wrong. Scientists formulate hypotheses which may be tested and found wrong. Designers are not allowed to be wrong. They must get it right the first time.

I've been a VP of Engineering or CTO of nine companies. The goal for me at every company was to solve a wicked problem. That's why SCRUM was invented and why it has been used extensively in the last five companies.

Tuesday, May 07, 2002

Objects: Has Bertrand Meyer gone over to the dark side of the force?

Object guru Bertrand Meyer has a three-part series in Software Development magazine along with a new book on .NET. He has also enabled the Eiffel language to interoperated in the .NET environment. In his first article, "Polygot Programming," he promotes the language interoperability capability of .NET where Microsoft has truly gone where no one has gone before.

A routine written in a language L1 may call another routine written in a different language L2.

A module in L1 may declare a variable whose type is a class declared in L2, and then call the corresponding L2 routines on that variable.

If both languages are object oriented, a class in L1 can inherit from a class in L2.

Exceptions triggered by a routine written in L1 and not handled on the L1 side will be passed to the caller, which - if written in L2 - will process it using L2's own exception-handling mechanism.

During a debugging session, you may move freely and seamlessly across modules written in L1 and L2.

As Meyer points out, no one has ever come close to this level of interoperability before.

See Bertrand's new book, The .NET Training Course. Pentice Hall, 2001. And his classic text on object technology, Object-Oriented Software Construction, 2nd Edition, Prentice Hall, 2000.

Saturday, May 04, 2002

Agile Software Processes: Does Agility Work?

Check out the June 2002 Software Development Magazine for a great article by Jim Highsmith on Agile case studies, "Does Agility Work?" One of them was a highly successful project that reimplemented a leading radiology software products in new technology. This type of project is high risk and failure prone. It took three years of 30 day SCRUM sprints. I was SVP of Product Development and Chief Technology Officer of IDX at the time and suggested to Deb Stenner, the development leader, that she bring Ken Schwaber in as SCRUM Master. According to Deb, the project was so successful that the average sales person was at 180% of quota and some were at 400%. It was "incredibly, phenomenally, successful ... almost too successful." They had difficulty shipping and supporting new installations. Oh well, how about an installation SCRUM?