View mode: basic / threaded / horizontal-split · Log in · Help
August 22, 2012
Re: Fragile ABI
>> I think the only reason we still use COM today is that, sadly, 
>> there is no other OO standard interoperable with all 
>> languages. C++ vtables are the closest competitor; I guess 
>> their fatal flaw is that there is no standard for memory 
>> management across C++ DLLs.
>
> Even .NET with his goal of supporting multiple languages has the
> CLS as the common set of datatypes and OO concepts to support 
> across .NET
> languages.
>
> Given that OO has so many types of possible implementations, it 
> is hard to implement an ABI that works across multiple 
> languages.

Sure, but .NET apps are not limited to CLS. Two different .NET 
languages can easily interoperate outside the rules of CLS (as 
long as it is still within the rules of .NET). Whereas operating 
beyond the limits of COM is much harder. Besides that, CLS itself 
is far more expansive than COM, allowing function overloading, 
inheritance, constructor arguments, etc.

It's unfortunate that .NET has limitations that make it hard for 
languages with novel features, like D, to fit in. (D could target 
.NET, of course, but there would be a significant cost, in terms 
of either performance, interoperability with other .NET code, 
and/or placing limitations on what D code can do.)

> Lets see how the improved COM (WinRT) turns out to be.

Sadly, WinRT is again intended to be Windows-only, so developers 
like me that hate lock-in will avoid it in preference for .NET 
(hi Mono!) and yucky old C.
August 22, 2012
Re: Fragile ABI
On Wednesday, 22 August 2012 at 00:15:12 UTC, David Piepgrass 
wrote:
>> Lets see how the improved COM (WinRT) turns out to be.
>
> Sadly, WinRT is again intended to be Windows-only, so 
> developers like me that hate lock-in will avoid it in 
> preference for .NET (hi Mono!) and yucky old C.

Because UNIX systems are still in the stone age in terms of ABI, 
as they
barely changes since the 70's and no one seems to care enough to 
change things.

I like UNIX a lot, but got to know it, after knowing what is 
possible in more advanced languages, so it always dismays me that 
specially when dealing with most commercial UNIX it feels like 
being in the 70's computing age.

So that lives only Apple and Microsoft with room for real OS 
innovation in mainstream OS, and like any vendor they prefer to 
look for solutions that fit only their OS.

Mac OS x is also UNIX, but Apple has been changing it already 
quite a lot compared with the other vendors, hence my Apple 
remark.

--
Paulo
August 22, 2012
Re: Fragile ABI
On Friday, 17 August 2012 at 13:49:22 UTC, Jacob Carlborg wrote:
> Someone has written a piece of code making it easy to use WinRT 
> from D. I don't have the link but it should be possible to find 
> in some of the newsgroups.

Are you referring to this:

http://lunesu.com/uploads/ModernCOMProgramminginD.pdf

?
August 22, 2012
Re: Fragile ABI
On 2012-08-22 11:16, xenon325 wrote:
> On Friday, 17 August 2012 at 13:49:22 UTC, Jacob Carlborg wrote:
>> Someone has written a piece of code making it easy to use WinRT from
>> D. I don't have the link but it should be possible to find in some of
>> the newsgroups.
>
> Are you referring to this:
>
> http://lunesu.com/uploads/ModernCOMProgramminginD.pdf

Yes, exactly.

-- 
/Jacob Carlborg
August 22, 2012
Re: Fragile ABI
On 2012-08-22 06:32:29 +0000, "Paulo Pinto" <pjmlp@progtools.org> said:

> On Wednesday, 22 August 2012 at 00:15:12 UTC, David Piepgrass wrote:
>>> Lets see how the improved COM (WinRT) turns out to be.
>> 
>> Sadly, WinRT is again intended to be Windows-only, so developers like 
>> me that hate lock-in will avoid it in preference for .NET (hi Mono!) 
>> and yucky old C.
> 
> Because UNIX systems are still in the stone age in terms of ABI, as they
> barely changes since the 70's and no one seems to care enough to change things.
> 
> I like UNIX a lot, but got to know it, after knowing what is possible 
> in more advanced languages, so it always dismays me that specially when 
> dealing with most commercial UNIX it feels like being in the 70's 
> computing age.
> 
> So that lives only Apple and Microsoft with room for real OS innovation 
> in mainstream OS, and like any vendor they prefer to look for solutions 
> that fit only their OS.
> 
> Mac OS x is also UNIX, but Apple has been changing it already quite a 
> lot compared with the other vendors, hence my Apple remark.

Actually, the difference is standardization. Microsoft's COM and 
Apple's Objective-C runtime are built on top of C APIs (and you can 
access them through C if you want, although it's a little awkward). COM 
implementations and Objective-C runtime implementations exist for other 
UNIXes too, as well as other similar things, but no one is pushing them 
enough for them to become a standard.

-- 
Michel Fortin
michel.fortin@michelf.ca
http://michelf.ca/
August 22, 2012
Re: Fragile ABI
On Wednesday, 22 August 2012 at 12:56:12 UTC, Michel Fortin wrote:
> On 2012-08-22 06:32:29 +0000, "Paulo Pinto" 
> <pjmlp@progtools.org> said:
>
>> On Wednesday, 22 August 2012 at 00:15:12 UTC, David Piepgrass 
>> wrote:
>>>> Lets see how the improved COM (WinRT) turns out to be.
>>> 
>>> Sadly, WinRT is again intended to be Windows-only, so 
>>> developers like me that hate lock-in will avoid it in 
>>> preference for .NET (hi Mono!) and yucky old C.
>> 
>> Because UNIX systems are still in the stone age in terms of 
>> ABI, as they
>> barely changes since the 70's and no one seems to care enough 
>> to change things.
>> 
>> I like UNIX a lot, but got to know it, after knowing what is 
>> possible in more advanced languages, so it always dismays me 
>> that specially when dealing with most commercial UNIX it feels 
>> like being in the 70's computing age.
>> 
>> So that lives only Apple and Microsoft with room for real OS 
>> innovation in mainstream OS, and like any vendor they prefer 
>> to look for solutions that fit only their OS.
>> 
>> Mac OS x is also UNIX, but Apple has been changing it already 
>> quite a lot compared with the other vendors, hence my Apple 
>> remark.
>
> Actually, the difference is standardization. Microsoft's COM 
> and Apple's Objective-C runtime are built on top of C APIs (and 
> you can access them through C if you want, although it's a 
> little awkward). COM implementations and Objective-C runtime 
> implementations exist for other UNIXes too, as well as other 
> similar things, but no one is pushing them enough for them to 
> become a standard.

Yes, I have to agree.

Wasn't Taligent something in that direction?

--
Paulo
August 23, 2012
Re: Fragile ABI
On Tuesday, 21 August 2012 at 15:15:02 UTC, David Piepgrass wrote:
> Finally, it's Windows-only (although it has been reimplemented 
> on Linux, e.g. for WINE) and modules must be registered in the 
> Windows Registry.

Conceptually COM is just a set of ideas for interoperable 
component design, which happens to actually work across languages 
and frameworks: .net, C, C++, Delphi, D. Registry works only as a 
centralized repository of components which is needed if you want 
to plug arbitrary components into your system, it has nothing to 
do with the problem of fragile ABI.
Next ›   Last »
1 2 3 4 5
Top | Discussion index | About this forum | D home