Advertisement

Re-Imagineering Unix

Started by July 02, 2003 01:11 AM
22 comments, last by Oluseyi 21 years, 7 months ago
quote:
OLE is an old (about 1994) term for COM (Component Object Model)
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.

quote:
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++.
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.

quote:
.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.
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.

quote:
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.
Two reasons: data types and persistence.

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.
---New infokeeps brain running;must gas up!
Just like Strife, i don''t understand what''s the problem in writing GUI front-ends to CLI utilities. Someone said the GUI front-ends in Linux suck, but i have to disagree. Yes, some of them suck, but not all of them. Examples: the Gnome System Tools; Komba, etc.

Victor.
c[_]~~
Advertisement
quote:
Original post by Flarelocke
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.

Google is unclear because there are no clear definitions. OLE generally refers to drag and drop and object embedding, and was based entirely on COM. Later on Microsoft dropped the term "OLE" in favor of "COM".

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.

Perhaps, but I really don''t think it''s the primary reason. It''s very hard to design your application in a way that allows exposing your API to others for a number of reasons. First, because architecturally all internal API is generally not ready for public use. It would take a lot more time and money to develop usable APIs along with documentation. Second, because scripting is hard to support in languages like C and C++. With COM it requires a lot of dirty, repetitive work. Of course ATL simplified the job, but it''s still not something I''d like to do. Plus, COM was rediculously hard to manage due to registration, etc.
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.

I really hope you''re kidding. The serialization functionality is available in .NET right now, today, this very second. A lot of people are taking advantage of this functionality. I''ve looked at Bonobo and frankly it''s a crappier version of COM. I can''t image why would anyone choose to use it for simple software. Essentially the developer is forced to do all the housekeeping while with .NET it''s done for you automatically in a clean, elegant and consistant manner.
I''m reminded of a paper authored by Paul Haeberli in Siggraph about fifteen years ago. I can''t remember the name of the paper...
_______________________________
"To understand the horse you'll find that you're going to be working on yourself. The horse will give you the answers and he will question you to see if you are sure or not."
- Ray Hunt, in Think Harmony With Horses
ALU - SHRDLU - WORDNET - CYC - SWALE - AM - CD - J.M. - K.S. | CAA - BCHA - AQHA - APHA - R.H. - T.D. | 395 - SPS - GORDIE - SCMA - R.M. - G.R. - V.C. - C.F.
Ah, I rediscovered it.

Paul Haeberli writes:
Conman - A Connection Manager
An interactive data-flow environment for computer graphics. Using graphically interconnected processes to create and modify interactive graphics applications. This was originally published in Siggraph.


_______________________________
"To understand the horse you'll find that you're going to be working on yourself. The horse will give you the answers and he will question you to see if you are sure or not."
- Ray Hunt, in Think Harmony With Horses
ALU - SHRDLU - WORDNET - CYC - SWALE - AM - CD - J.M. - K.S. | CAA - BCHA - AQHA - APHA - R.H. - T.D. | 395 - SPS - GORDIE - SCMA - R.M. - G.R. - V.C. - C.F.
I''m taking a look right now at a system called Athene... it seems all the programs/scripts/system calls in it can be written in DML. Maybe this would create a better integration between GUI and CLI, since with DML (i think) you could write things independent of how it is presented on screen. Well, maybe i got it all wrong, in that case just ignore me...

Victor.

c[_]~~
Advertisement
You know, whenever I see the letters "ML" at the end of something, I automatically become very causious about real, practical use of the technology. I still think XML has no real practical use even though it''s used everywhere for some screwed up reason.
quote:
Original post by CoffeeMug
I really hope you''re kidding. The serialization functionality is available in .NET right now, today, this very second. A lot of people are taking advantage of this functionality. I''ve looked at Bonobo and frankly it''s a crappier version of COM. I can''t image why would anyone choose to use it for simple software. Essentially the developer is forced to do all the housekeeping while with .NET it''s done for you automatically in a clean, elegant and consistant manner.


Mono is essentially a clone of .Net, with ties to Gnome. I don''t remember the acronyms, but they''ve got a working implementation of an interpreter for whatever that bytecode that C# compiles down to is called.

Yes, Bonobo has many unfortunate similarities with COM.

quote:
You know, whenever I see the letters "ML" at the end of something, I automatically become very causious about real, practical use of the technology. I still think XML has no real practical use even though it''s used everywhere for some screwed up reason.

Yeah, I thought so too, at first. Then I learned about XSLT, and it started to make a lot more sense.
---New infokeeps brain running;must gas up!
quote:
Original post by CoffeeMug
You know, whenever I see the letters "ML" at the end of something, I automatically become very causious about real, practical use of the technology. I still think XML has no real practical use even though it''s used everywhere for some screwed up reason.


lol; with me it''s exactly the opposite...

Victor.
c[_]~~
quote:
Original post by -vic-
Just like Strife, i don''t understand what''s the problem in writing GUI front-ends to CLI utilities. Someone said the GUI front-ends in Linux suck, but i have to disagree. Yes, some of them suck, but not all of them. Examples: the Gnome System Tools; Komba, etc.


This was exactly my point. I know that many suck, but many don''t. I think a lot of it is up to how the GUI is designed. It can either be done crappily or well. I still don''t see how CLIs just don''t work well for making them into a GUI frontend.

And again, I do agree that new software should not be frontends as much as possible. But in some circumstances (e.g., programs like mkisofs and cdrecord), why reinvent the wheel?

The Artist Formerly Known as CmndrM

http://chaos.webhop.org

This topic is closed to new replies.

Advertisement