quote:I was under the impression that OLE was a protocol (for lack of a better word) that utilized COM for the purpose of embedding heterogenous types of documents. Googling is inconclusive on the matter.
OLE is an old (about 1994) term for COM (Component Object Model)
quote:I''m also inclined to suspect that application developers are unwilling to risk their applications becoming fungible and invisible, or that developers will coopt the functionality of their software and include features that will obviate any need to upgrade. Then again I could just be spiteful or paranoid.
The reason why many applications are not based on COM mainly has to do with the fact that COM components are rediculously hard to make in C++.
quote:Nontrivial applications of this ability, by any developer other than Microsoft, seem to be vaporware at the moment. There''s no reason to suspect Microsoft will beat Mono and Gnome to useful application of these ideas.
.NET components natively support serialization. In three lines of code you can save very complex hierarchies to disk and load them next time you need them. Of course it also provides very powerful interfaces for customizations, in case default serialization doesn''t suit you.
quote:Two reasons: data types and persistence.
Just out of curiosity, why do people think that a GUI as a frontend to a CLI program is a bad thing? I mean, if the wheel already exists, you don''t need to reinvent it. You just need to make it look nicer.
Data Types:
With a few exceptions, everything going through the pipes that connect programs are text. The exceptions would be tarballs sent through an unzipper on their way to tar. Naturally, it would be inefficient to mandate that every piece of software accept every type of data and ignore the types it does not understand. It would be unstable and unuserfriendly to have the programs operate on the data anyway.
So you could send a mimetype through a pipe at the beginning, but this would likely break at least partially the existing software base, which was the impetus in the first place.
UI Persistence:
You don''t enter data in a spreadsheet, tell some other program to read the data, and expect the original data to disappear, or for the spreadsheet itself to disappear, which is the equivalent of what happens in a pipe. You normally expect that a spreadsheet and its data will, barring any mishaps, remain in place and intact where you left them until dismissed. This is a necessary and desirable aspect of many applications, and only the most hardcore CLI addict could not do without its console analogs -- vi and emacs.