Mac OS X has been able to do COM for quite some time. The thing is, no one has really broadcast this — until now. You can write COM components that have the potential to run on both Windows and Mac OS X with no code changes. This is another reason for Mac OS X to be considered as a serious platform for enterprise applications.
Um, codeweavers crossover office is good and getting better, allowing you to use some windows programs. i use mac too, but still love linux. windows is good too.
I don’t think there is a bad choice for enterprise, they all work, and all cost differently, and all have better and worse things about them. Some people feel like they r locked into one system or another… so I’m all for any piece of software that says you can have MORE choices. I feel like windows knows this, too, as evidence by release of code( to small extent).
Some day, and i hope it’s not too far off, you would be able to wrtie code for an operating sytem, that would work on all flavours of os’s.
Please, Mozilla has a COM implementation too, so I can program enterprise applications with it?
Yes, see here: http://games.mozdev.org/
Why would anyone want to use COM if they don’t have to? Objective-C/Cocoa already solves all the problems COM was supposed to solve in a far more elegant, simple and easier to understand manner. If you are porting a Windows application to OS X then well maybe but chances are it will be locked into the MS tool chain you’d have to rewrite everything COM specific anyway just to get it to compile so why even bother with COM.
I see there is some confusion about what enterpise applications are, maybe we should define what we think are enterprise applications.
What I understand enterprise applications are, are applications that are part of the enterprise wide infrastructure. So, that means directory servers, authentication servers (or all in one like ActiveDirectory) and infrastructure for enterprise wide applications.
I don’t see how COM, which is a machine local technology (as opposed to DCOM or EJB) could be useful in a entreprise application setting.
But correct me if I’m wrong, may I’m wrong about the “enterprise application” part. And explain why running COM-objects is so useful.
“So with something truly great on the horizon, why spend the big money now to buy into Apple’s mostly closed universe?”
Yes, Linux will be ready for the average home user this time next year, if not sooner. Everybody in your closed universe knows that.
see subject
OK, first clue that maybe the article author doesn’t know much about COM:
Ssssh — don’t tell anyone, especially Microsoft enterprise salesmen, but COM can now be enjoyed by Mac OS X programmers.
Let’s see. Where to begin. COM is (A) obsolete and (B) a mess of a technology that nobody enjoys using, the maximum anybody I’ve ever met can do is tolerate using it.
In simplistic terms, COM provides a mechanism to share an object-oriented library as a dynamic link library
That’s wrong. COM, despite the name, is not object oriented. Unless you go through the major pain of aggregation there is no concept of inheritance, nor polymorphism. In fact, at the very lowest levels COM is just a way of throwing arrays of function pointers around.
Of course that ignores the huge amount of infrastructure COM provides – for instance, much of the reason COM is interesting is because of its RPC abilities which can even be used in-process, its abstraction of threading models, the OLE interfaces and protocols built on top of it, and so on.
In English terms, this means that COM can only be implemented using dynamic link libraries on Mac OS X (on Windows, COM can also be housed within the same executable that it is used from, and housed in a dynamic link library on another machine). In reality, the above does not present a problem. Most COM housings are implemented using dynamic link libraries on Windows.
This guy has clearly never investigated COM that deeply. A *lot* of stuff requires the RPC infrastructure: not just objects housed in remote processes. Being inproc only is a major limitation. For instance, large parts of the Office document embedding system relies on COM remoting, as does DCOP-style remote control via OLE Automation.
In summary, your Mac OS X COM components are housed in a dynamic link library that you manually load. I shall now get to the good stuff and show you how.
So let’s see. MacOS X has COM – except it doesn’t provide location transparency, it doesn’t provide context transparency (out of process/in process) and it presumably ignores the COM threading models. Great. Not really impressed, especially as COM has been done much better than the Microsoft implementation many times.
For those of you squabbling about Linux vs Windows vs MacOS X note that Linux apps can easily make use of COM if they so wish by linking with Wine, which provides a fairly good implementation (and getting better all the time). So every major platform can “enjoy” COM, if developers want that sort of thing.
The last I knew COM was obsolete and now COM+ is used.
Why would anyone want to use COM if they don’t have to? Objective-C/Cocoa already solves all the problems COM was supposed to solve in a far more elegant, simple and easier to understand manner
Try reading the article before you post.
Its clearly targeted towards developers who need to port software to the Mac or need to support both platforms from a common code base.
yeah, it is not like just because COM is obsolete that MS will stop supporting it in their OS in favor of .Net. so much software used COM and is legacy now that it would be insane for them not to support COM.
It wasn’t Apple that posted the article. It’s just an individual graciously explaining another method of Mac software development.
What’s really missing from the Mac’s software development arsenal is the EOF. It never made it from Next to Cocoa, and was instead ported to Java and is available only in the stand-alone WebObjects.
That’s a big problem. WebObjects may be fine as a web development platform, but the Mac could go much further in the enterprise if there was an easy way to link native Cocoa clients to databases. Please Apple, bring back EOF!
As someone who has had the absolute displeasure of working with the mess known as COM/DCOM/COM+ I have to ask the question – why would anyone in their right minds *choose* to use COM? Sheer lunacy.
Here is a good reason:
http://www.opcfoundation.org/
According to MS, COM is dead. MS.NET is the new way. Until MONO works on MAC, Mac OS X is behind Windows.
The word “enterprise” seems to incite alot of feelings. Enterprise simply means any business. But when you talk of enterprise computing, it used to mean connecting disparate systems together within a business. Today, it means all of that plus B2B integration and ePartnerships as well. As for COM, I think we should just acknowledge the fact that it is in very wide use. Don’t believe it? Any company that uses VB6, or even VBA6, is using COM automation in some rudimentary way, so let’s just end the COM in the enterprise debate. For those who think Microsoft has abandoned COM, you’re right, but not until Longhorn Server is released – we’re talking 2007-2008 folks. And even then, I doubt their customers will let them drop support until 2010. In the meantime, Windows Server 2003 and Windows XP both fully support COM/COM+ as a first class citizen. I think a demonstration that Mac OS X can implement/integrate with COM is the most serious way of demonstrating enterprise capability because now Apple is the only mainstream UNIX vendor that supports COM, CORBA, EJB, and Web Services. Not enterprise enough for you?
until Cocoa works on windows, Windows is behind OS X.
you get what I am saying?
just because MS has created a new development system for their OS does not mean that all OSs need to support it to be at the forefront of development.
Since GNUstep is working on Windows. So Windows is only behind by
some drawers and some toolbars. (j/k) But then, why don’t just use
GNUstep if you want Mac OS X/Windows portability?
Cool! As noted by most of this thread, some aspects of COM are messy. But for many applications it works great.
It is pretty cool to see what creative people come up with. COM on MacOS? Someone was thinking way out there to dream that up.
I don’t disagree that COM is dying, but it worried me to read “According to Microsoft, COM is dead.”
Matt
@keath:
What’s really missing from the Mac’s software development arsenal is the EOF. It never made it from Next to Cocoa, and was instead ported to Java and is available only in the stand-alone WebObjects.
That’s a big problem. WebObjects may be fine as a web development platform, but the Mac could go much further in the enterprise if there was an easy way to link native Cocoa clients to databases. Please Apple, bring back EOF!
Have you heard about the GNUstep project ? a free implementation of OpenStep … did you know that there is a GNUstep project, GDL2 (GNUstep Database Library 2), that IS an implementation of EOF 4.5 ?
@fin-anonymizer
Isn’t France a 3rd world country?
Sure, a country that back up Airbus, ESA and has nukes. Bring’em on ! moron.
And it will all be open source, not like Apple’s lip service open source effort.
More like the “OSS Community’s” lip service support of Apple. So many were up in arms about their licensing, demanding this and that from Apple, but I see very few actually contributing to Darwin development, even with the improved licensing scheme. I bet if their was a larger community behind it, other projects would open up.
“…but I see very few actually contributing to Darwin development, even with the improved licensing scheme. I bet if their was a larger community behind it, other projects would open up.”
I cannot see why a rational thinking person who believes in open source, much less free open source, would want to contribute to Apple.
The bulk of the code in OS X is not open source. Apple has a history of being a crazed IP litigant, often relying on their lawyers instead of sincere open communication. So if you end up doing something interesting with Darwin, expect a nuclear attack from Apple’s lawyers. Why expose yourself to that?
When it comes to basic principles, everything Apple offers as a finished product is not open source. Everything. So there is a major philosophical difference between the FSF/Linux open source approach and Apple’s “one little chunk of our OS” approach.
Ever the anti-mainstream company, Apple even chose a name for their open source that alienates the Christian world if not most of the religious world. I guess Apple doesn’t want anyone who believes in a god other than Steve Jobs.
In the big picture of FOSS/OSS, Darwin is a failure. However, so that Apple can use “open source” as a marketing weapon, Apple did do enough to get their checkbox. This is called lip service — accurately and fairly.
>Ever the anti-mainstream company, Apple even chose a name for their >open source that alienates the Christian world if not most of the >religious world. I guess Apple doesn’t want anyone who believes in a >god other than Steve Jobs.
Dude, relax, it’s a software company, it’s not like it’s a bunch of worshippers of Satan…. And, with the same logic, Ximian would be pretty demonic as well (Evolution). Besides, those who would be offended by the name Darwin is probably mostly Amish or other fundamentalists so they wont have a computer anyway, much less know about the inner workings of MacOS X
It is obvious no one wants to buy Macintosh.
Well, that is a blatant lie, and opinion as well. That’s all I have purchased since two years ago. Twelve years of Microsoft’s crap and the death of Be Inc. was what pushed me to the “it just works” side of Apple’s Macintosh platform.
Within two years Linux will be just as easy to use, if not better, than Macintosh. With more advanced technology. And it will all be open source, not like Apple’s lip service open source effort.
Considering Linux’ desktops feel mostly like a Windows rip-off with some copied elements of MacOS, I don’t know how this is possible. Since I can remember, it is Apple who comes out with the cool interface designs, and still to this day, the easiest platform to use on a daily basis. What will Linux desktops copy from then?
I just cannot buy this nonsense that open source will crush closed source. I love the idea behind the initiative, but I have yet to see something that has completely blown me away such as technologies from closed companies such as Apple. The reason for this is R&D, and their ability to finance it and focus their energy on a common idea.
The open source community has many different factions, and what I feel as a lot of wasted energy. If they could harness all this energy towards a couple specific projects, I think we could see some great things. Then again, if this did happen, someone like Microsoft would just end up copying them, and then branding it as their new “innovation”. I have found that it is just an endless cycle.
I just cannot buy this nonsense that open source will crush closed source. I love the idea behind the initiative, but I have yet to see something that has completely blown me away such as technologies from closed companies such as Apple. The reason for this is R&D, and their ability to finance it and focus their energy on a common idea.
The open source community has many different factions, and what I feel as a lot of wasted energy. If they could harness all this energy towards a couple specific projects, I think we could see some great things.
Everything you said is 100% correct. It’s one of those things that is widely know outside the OSS fanboy crowd. Just look at the duplication of effort with KDE and Gnome. If Gnome had never been created (KDE was started first, that’s why I picked Gnome) then just think how much better the linux/bsd/whatever desktop would be today.
See, there tends to be this myth that just because the code is out there for anybody to pick up, that there will be hordes of uber-brained geeks that can outdo anything that Microsoft or Apple comes up with. That’s just plain wrong. Most of these people are doing it part-time and finding really good developers is hard. Then you have people doing the 80th irc client….the 50th web browser and it just compounds the problem. The kernel works as well as it does because it’s a benevolant dictatorship and any major fork is seen as a futile cause. In reality there isn’t enough good developers working on desktop infrastructure issues. Don’t get me wrong. KDE and Gnome are doing a great job, but they’ll always be playing catchup as far out as I see. There’s nothing you can really do about it since it’s mostly voluntary. Developers want to scratch their own it and that’s why you will always have this hodpodge of user-space apps that really don’t work all that well together.
…Considering Linux’ desktops feel mostly like a Windows rip-off with some copied elements of MacOS…
Yeah, Apple are so inventive they stole their interface from Xerox, borrowed their processor from IBM, and their OS from BSD/*nix – but still their market share has continued to fall over the years. Bye, bye Apple …
Just look at the duplication of effort with KDE and Gnome. If Gnome had never been created (KDE was started first, that’s why I picked Gnome) then just think how much better the linux/bsd/whatever desktop would be today.
OOTH maybe the competition between Gnome and KDE made progress faster.
But in a sense you’re right, you can’t compare Open Source software development with software development within a single company like Microsoft, or Apple. The Open Source community is not a single entity. Look at Gnome and KDE as if they were different companies, just like Apple and Microsoft are.
In the closed source industry you also see a lot of duplication of effort. That’s competition for you: a lot of companies/organisation making the same product and trying to make it better than their competition.
Be glad that there is still competition. If Microsoft had it’s way, there wouldn’t be any duplication of effort, just the 1 Microsoft Way. No choice and no motivation for progress…
OOTH maybe the competition between Gnome and KDE made progress faster.
I don’t think so. They’re both basically trying to accomplish the exact same, just with a different toolkit. If the competition between Gnome and KDE was actually leading to some innovation then I would agree that it’s a good thing, but they’re just copying windows and mac. Remember, Gnome didn’t come about because of some radical different philosophy on desktop development. It came about because some people had issues with the QT license as it was back then. Miguel de Icaza actually contributed to KDE back before he started Gnome.
Look at Gnome and KDE as if they were different companies, just like Apple and Microsoft are.
Not a good analogy. Think of it this way. Say Microsoft just produced a kernel and various competing companies developed desktops for it. You think Microsoft would be as popular as it is today? Nope. Mac is the same way, but even worse. If OSX had a few competing toolkits and desktops it wouldn’t have any better user experience than linux.
In the closed source industry you also see a lot of duplication of effort. That’s competition for you: a lot of companies/organisation making the same product and trying to make it better than their competition.
These companies are not competing at the desktop infrastructural level. It’s already there for them. There is no comparison to KDE and Gnome.
Be glad that there is still competition. If Microsoft had it’s way, there wouldn’t be any duplication of effort, just the 1 Microsoft Way. No choice and no motivation for progress…
Once again you’re confusing competition among OS platforms and competition among Desktop environments within the same platform.
This is not about taking away choice, because you can’t. What it’s really about is giving a stable, standard desktop that business can target without a hassle. Another thing you have to consider is that Microsoft and Apple just don’t sit on their hands waiting for open source to catch up with them. They’ve got lots of competent, fulltime developers putting a lot of effort into Longhorn and OSX. Gnome and KDE aren’t competing against each other. They’re really competing against windows and OSX.
Assuming you’re not trolling, your comment borders on the ridiculous. Monoculture? How are Mac-only users different from Linux- or Windows-only users? Most Mac users either run Windows at home, at work or have used it in the past. How did they never see choice? Oh wait.. you must be referring to the fact that you can’t swap out mobo/cpu with Macs? Oh.. OK. But wait.. only a fraction of PC users actually upgrades components on their PC. Most just buy a new machine. So I guess that point is irrelevant as well.
Linux is nice though. For embedded and to run Apache on. And while it’s cute that you can use KDE or GNOME, for most people who want or need to run commercial applications that are available for Mac/Win, Linux just doesn’t cut it. Sorry. And don’t think I’m happy to be the one to break it to you.
“I can understand why Macintosh owners are frightened of open source”
Glossed over that. Are you trying to be funny?
I cannot see why a rational thinking person who believes in open source, much less free open source, would want to contribute to Apple.
Because maybe they’d like to work with a microkernel, another BSD, or help increase performance.
The bulk of the code in OS X is not open source.
I said Darwin, not OS X.
Apple has a history of being a crazed IP litigant, often relying on their lawyers instead of sincere open communication. So if you end up doing something interesting with Darwin, expect a nuclear attack from Apple’s lawyers. Why expose yourself to that?
Looking at the above, it doesn’t sound like you believe in Open Source much, or even understand it.
When it comes to basic principles, everything Apple offers as a finished product is not open source. Everything.
In the immortal words of Jim Morrison:
“Hey man, so what?”
You keep referring to OS X, but I’m talking about Darwin and Open Source. Open Source is about creating and collaboration. It’s about “developing” code, but people like you think it’s more about “releasing code”…And then…”releasing more code”.
I’m saying Apple put out their work, they’ve done their part, but very few on the outside want to work. You complain because they didn’t give all of it away just yet: Why should they? They did their part with Darwin, but few have met them halfway on it. That just shows them that if they gave away Aqua, you’d still expect them to do the bulk of development. They gain nothing.
Oh, but it’s all about you, right?
Ever the anti-mainstream company, Apple even chose a name for their open source that alienates the Christian world if not most of the religious world. I guess Apple doesn’t want anyone who believes in a god other than Steve Jobs.
Dude, I’m sorry that you’re that bored to just troll around and say something like this. You can’t be serious. If you are serious, then that’s pretty sad. If you’re not serious, then go out and do something. Boredom is harmful to your health.
As for this (try tech journalism), which I presume is you again:
I can understand why Macintosh owners are frightened of open source. They are people who have never seen choice, never had to use their eyes to pick between two options. It is very hard for hard core monoculture fans to even look at a world with choice, much less accept it and embrace it.
Lmao…I’ll say that you’re the most eloquent of trolls at least.
How many wrongs can a person get???
Apple is not frightened off open source software infact Apple is embracing it. This is evident in the software such as the OS (based on FreeBSD), apache, Safari etc which is based on open source project and the fact that Apple has also conributed back. Infact Apple and Linux share so many similarities that they should be bethren
As for the gnome/kde argument, why choose over desktop environment when Aqua does the job better ? No choices? Last I checked Macs run MS Windows XP, OS 9, OS X and Linux and a variety of Unix Apps through fink. No choices ???
Yellow Dog Linux is Red Hat based and quite a number of Mac users is happy with it. Infact the US Navy is one of the biggest users. If only u will do some research and not expect spoonfeeding from your butler like “the richest of us”
But for those working in heterogenous environment, this is nothing new: entireX Dcom by Software AG.
See:
http://www.softwareag.com/entirex/download/download_entxDCOM.htm
I think that the *BSDs are in the right path.
FreeBSD focused on performance.
NetBSD focused on portability.
OpenBSD focused on security.
All of them learn from each other.
All of them work a kernel + userland in the same “benevolent dictatorship” way that Linux develops its kernel.
Most of the strengths you can find in Slackware, Gentoo, Debian (except hardware support, specially multimedia) like file structure and package handling you will find in the *BSDs, and probably in a more mature and consistent way.
Documentation is at the level of the best commercial Linux distribuitions. A consistent userland helps in that.
In terms of performance FreeBSD was allways better than Linux in many ways until the arrival of the Linux kernel 2.6
The “BSD is dying” troll just doesn’t have better arguments >;)
The BSD license is SO free that even the Linux guys can grab the code and license it as GPL. But I do agree with the GPL guys when they say they want to have a look the source of modifications made to their own code, and GPL is better in that sense.
But if I’d be an enterprise making a closed-source product around open-source I’d only use BSD code or LGPL (but carefully), never GPL code. So BSD is better in this sense.
The weakest point about BSD is the desktop. They haven’t made IMHO the same amount of effort in the X11 area as they did on the rest of the userland. Great for servers, but lacking on the desktop.
But here is where Apple fits
They’ve taken the infrastructures of BSD and NeXT and made Darwin. The desktop part is closed-source and it’s what Apple is all about – a consistent, intuitive, functional desktop with coherent APIs and all they have learned about desktops in their MacOS years.
But Darwin still needs to be polished and Apple does open-source here. Just don’t expect them to do an open-source desktop environment
Microsoft has also learned a lot about desktop since their Windows 3.1 days. Apple learned from Xerox, MS learned from Apple, but all have grown their own value.
GNOME exists because of the old QT license.
They’ve walked separate paths, but if it wasn’t the effort from freedesktop.org and others we still could interoperate with a simple copy-paste between KDE and GNOME applications.
Freedom of choice? Right.
Can I have KDE/GNOME/GNUStep/X11/others working along with each other (copy/paste, drag/drop, others)? Not really.
Can they all run at the same time? Yes, they can, that was never the problem.
Just remember that because a user likes GNOME better it doesn’t mean it doesn’t prefer certain KDE applications.
This has been overlooked by the developers of both KDE and GNOME for a long time, and user had to pay the price – use our DE apps only, or they won’t work together.
Imagine a command-line where you’d be forced to use different pipes for different apps and app A would accept the same kind of pipe as app B. It’s that ridiculous.
Conclusion:
– Darwin will continue to be polished, OSX will keep getting better and it already is THE Unix desktop OS;
– MS will start bringing more innovation into their OS or else they won’t sell (I’m happy with XP, why upgrade?);
– The BSDs and the Linux kernel will keep maturing, with the Linux performance finally at the FreeBSD level;
– The open-source DE’s like KDE and GNOME will grow in eye-candy and some functionality, freedesktop.org and others will still be pushing their functionality and interoperability;
-The greatest improvements in KDE and GNOME will come from competition with the new Novell environment. Wanna bet ?
Ever the anti-mainstream company, Apple even chose a name for their open source that alienates the Christian world if not most of the religious world. I guess Apple doesn’t want anyone who believes in a god other than Steve Jobs.
‘Natural Selection’ is what they were centering on with the name. I think it was a smart choice; it actually has meaning and is thought provoking.
Since when did religion and technology ever peacefully coexist anyways? People need to realize when their religion is being attacked, and when it has nothing to do with the topic. This is a kernel, not a religious or anti-religious philosophy. “Only the strong survive” is the principle behind the kernel being developed, and it is a good motto to follow for the development.
OOTH maybe the competition between Gnome and KDE made progress faster.
I don’t think so. They’re both basically trying to accomplish the exact same, just with a different toolkit. If the competition between Gnome and KDE was actually leading to some innovation then I would agree that it’s a good thing, but they’re just copying windows and mac.
I think it’s amazing they got this far in such a short time, because they started with nothing and both Windows and Mac OS existed for a longer time.
Look at Gnome and KDE as if they were different companies, just like Apple and Microsoft are.
Not a good analogy. Think of it this way. Say Microsoft just produced a kernel and various competing companies developed desktops for it. You think Microsoft would be as popular as it is today? Nope. Mac is the same way, but even worse. If OSX had a few competing toolkits and desktops it wouldn’t have any better user experience than linux.
Your comparison is wrong, I said that you should see both Gnome and KDE as separate organisations, just like Microsoft and Apple. Gnome’s and KDE’s products are desktop environments, not OSes. Both run on other OSes than Linux: you can also run Gnome or KDE on Solaris or BSD.
While in Windows or Mac OS the desktop is an integral part of the OS, in the (rest of) the Unix world this is not true.
Just look at it this way: KDE and Gnome are competitors. They compete primarily with each other. I do think the speed of their progress comes from this competition. If they were just competing with Microsoft of Apple, I don’t think they would have the same rate of innovation.
In the closed source industry you also see a lot of duplication of effort. That’s competition for you: a lot of companies/organisation making the same product and trying to make it better than their competition.
These companies are not competing at the desktop infrastructural level. It’s already there for them. There is no comparison to KDE and Gnome.
That doesn’t mean the comparison is incorrect. Besides, Apple and Microsoft are competing at the desktop level…
Be glad that there is still competition. If Microsoft had it’s way, there wouldn’t be any duplication of effort, just the 1 Microsoft Way. No choice and no motivation for progress…
Once again you’re confusing competition among OS platforms and competition among Desktop environments within the same platform.
No, I think you are confused. Gnome and KDE are not OSes.
Mac OS and Windows couple OS with desktop environment, but other OSes don’t.
This is not about taking away choice, because you can’t. What it’s really about is giving a stable, standard desktop that business can target without a hassle. Another thing you have to consider is that Microsoft and Apple just don’t sit on their hands waiting for open source to catch up with them. They’ve got lots of competent, fulltime developers putting a lot of effort into Longhorn and OSX. Gnome and KDE aren’t competing against each other. They’re really competing against windows and OSX
True, KDE and Gnome are also competing against Windows and OS X, but they are definately competing with each other.
I’d say there’s more progress in the Open Source desktop environment world than in the closed source world. Yes, it seems like Open Source desktops are just catching up with Windows and OS X, and for the biggest part they did (I think they’re there now), but there is real innovation, like theming the whole look and feel of the desktop, which started on Open Source desktops.
Now if both KDE and Gnome would agree to common user interface guidelines then life would be much better for users.
What I’d like to see is the Gnome button placement and KDE’s preferences placement.