Actually, COM was a typable IDL with these features, C++ was just one of many bindings.
I have already acknowledged, and never denied, that Java takes on board Smalltalk and Objective C, but you have been unable to prove that polymorphic typing through pure interfaces was an idiom in those languages, and you were plain wrong about Simula.
If you want to continue to ignore what I'm saying and talk in circles, free feel, but for me this conversation is over until you can back up a single thing you say...
OK, I didn't mean the original idea, but I admit my English isn't very clear about that.
I remain of the opinion that Microsoft popularised the idea of first class interfaces, that that was a good thing and that that had an influence on the design of Java...
To be clear, what I was saying was that that seems to be where Sun got the idea - nothing you've said has convinced me otherwise.
In particular, can you point me at any reference to this as a (pre-Gamma) 'design pattern' (i.e. documented idiom) in any sufficiently expressive language (since you seem to have given up with Simula)?
Brocksmidt's book was my first exposure to this (in multiple inheritance C++). Such a thing might have been common practice in Objective C or Smalltalk, but if so no one has been able to show it to me in black and white...
Regardless, it certainly is possible to have interfaces in Simula, by grouping the interface methods into a Class, having the interface class as an attribute on each Class "implementing" that interface, and delegating the instance methods to the enclosing class methods. Then you can test for implementation of the interface, access methods on the interface without knowing the concrete type or supertype(s) of the object, and it is inherited to subclasses.
Object composition (to avoid the lack of multiple inheritance) will not allow polymorphic typing of the object itself, and hence references to it via such pseudo-interfaces.
I should hope your experts could come up with better ways to implement interfaces in Simula
Implementation is easy, typing is the issue. Only by recognising these things as first class can this be achieved (without the nightmare of multiple subclassing with inheritance).
In any case, the idea that Microsoft Research invented interfaces and that's where Java got them is simply wrong on any number of counts.
Who said that? Me? I simply claim, and have still to be proven wrong (though honestly am open-minded to this), that Microsoft popularised this first. I don't deny that Java is heavily based in Objective C, but is this a first class concept there (and subject to subtyping, not subclassing)? No!
Finally, I don't think either approach (COM or Java) is thorough, in any case, and prefer the notion of 'type classes' from Blott's thesis, as implemented in Haskell. I just think MS Research deserves a little credit (for COM and for the CLR at least).
The minute you're able to provide that Simula reference (to the support of multiple sub-typable pure interfaces in objects, and references polymorphically typed according to these interfaces) I'll be happy to go check it upstairs with my examiner, Graham Birtwistle (the author of the original book on Simula... obviously we can't go to Nygaard, but I'm sure you were also at his tribute in Oslo last year).
Thanks for your opinion - from an anonymous coward that really stings...
There are several JVMs that are faster than Microsoft's CLR
I forgot that's all that's important. I bow to your great wisdom. I shall also give up all the exotic languages that can run on the CLR and take up Fortran, because speed is all that's important...
Something tells me that you don't even really know what a virtual machine is, or how it's defined... but I'm stupid so what do I know?
Riiight, because Microsoft has so many ex-Smalltalk pople working for it unlike Sun
I'm not saying that Sun didn't buy in talent, and eventually pull up from the nose dive which was their initial releases, but the fact remains that Microsoft came out of the gates running. (After the lawsuits stopped MS investment it's ironically IBM that took the lead...)
Um, Simula way back in 1967.
Excuse me? Tell me I'm wrong (I admit I've never used it), but pure interfaces? (and true subtyping?) I was under the impression that Simula didn't even support multiple inheritance (i.e. doing the job badly with subclassing)...
More efficient, more stable and having a proper means (higher-level than C/IDL, but not tied to one language) to interface with external software - if you think I'm a troll for actually being there when Java was rolled out, or understanding some of the difference between the JVM and CLR, go ahead...
Theory-wise you are right. However, Java has a VM implementation with ~10 years of maturity, so your theoretical advantages might not make Java inferior _now_
I'm not talking about the efficiency of implementation of the JVM - by definition the thing in itself is inferior (under-featured).
In any case, even on that level (and as I said on another branch), Microsoft have the longer experience in VMs - anyone who was using Java right at inception (like me) knows what a huge step forward their JVM was over Sun's original...
So, a Microsoft study shows that MS software is superior
No, a study explaining what the differences are is presented by people who've both studied and used it (somewhat in their roles at Microsoft Research)
Wow, Java is celebrating ten years? There are two ways to undermine the point that you're trying to make. First, Microsoft have a longer history of developing virtual machines for programming languages (in Visual Basic). Secondly, are you claiming that after ten years it can't be improved on? That's moronic...
Finally, you want to claim Microsoft Research are credit-stealing whores over the Java community? Where do you think the idea of objects supporting multiple interfaces for the purposes of inclusion polymorphism (seperated from the nightmare of multiple inheritance that plagues/criples OO-languages) comes from? Java?
Java owes a lot (beyond even that) to MS Research. Don't judge a company by its Operating Systems division...
I'm sorry replying to myself, but moderation these days is in the hands of incompetents.
To defend my point, the JVM is undeniably technically inferior to Microsoft's CLR (read 'Technical Overview of the Common Language Runtime' - say what you like about Microsoft, but Erik Meiker is a fine researcher, whom I know from the Haskell community).
Furthermore I've worked with Tomcat for a number of years now (though not with IIS for a while), and it is an appalling and unstable piece of software.
If the moderators choose to judge everything on a political level, so be it, but my point remains, on a technical level (putting aside the political and economic) this is not a move forward...
Hooray, I can translate from one VM to an inferior one, and switch from one app server to an inferior one! (... ok, I admit, this actually says 'Tomcat or other')
I know the positivity comes from escaping lock-in and high prices, but on a technical level this is not exactly a move forwards...
I'll have to bow to your experience.
Myself, anything short of LaTeX (not that it's good enough itself) is not worth my time for 95% of what I write.
My own short experience with OOo was putting together a document with tables and it was every bit as scizophrenic as MS Word in deciding (without any possibility to predict) what font, size and alignments it would use for pasted cells.
Then when I had to correct such things I learned it speaks (on context menus) a more Germanic language than English (SOV order, not SVO - i.e. from Table to Row to Insert, not Table->Insert->Row).
Two steps forward, one step back... along the same road (to nowhere)!
Better documents?
By what measure?
I can name definite differences, making for better looking documents, between LaTeX and MS Office but OOo?
and do it in less time as well
Oh yes, because it's absolutely full of UI innovations...
(Imho it's just a derivative piece of crap. I support OSS, but an OSS turd is still a turd...)
No, longer term than a Summer School - I've spent periods of months in Germany on more than one project. I have every sympathy with the language issue but I didn't even realise he wasn't 'native' because his English is generally great and 'were/where' is a mistake of someone typing quickly (as me above in this thread), especially a fluent or at least semi-fluent speaker, not someone struggling to express anything... check his article, it's completely fluent, it's just not academic language.
It's hardly fitting for me, as a junior academic, to tell him personally what to put on his university homepage. Hopefully a colleague would tell him that, just as you wouldn't use language like "up to your chin in shit" in class, so it belongs in a personal blog, not on a staff homepage.
Finally - and this is my last word on the subject - a blog that did offer such opinions, and in such a tone, could then be judged as such (i.e. as someone running off at the mouth with an over-stated personal opinion, not an academic article).
I don't know if you've ever tried moving to a foreign country and living there on a semi-permanent basis, but I have, and I can tell you that it's fairly difficult to separate
I have, and as an academic. Informal is fine in an appropriate context. You'll note that many academics, and indeed industry researchers, keep a blog for this reason - to keep things seperate.
Please see my comment on other branch - essentially, however rambling my English, I try to represent myself appropriately in a professional context. Find swearing on my university homepage and I'll concede... but you won't.
So now that we've addressed my (lack of) hypocrisy, let's return to yours: who are you and where's your homepage?
If you were to look back at my post objectively, you would realise that I was putting down an obstensibly academic source because he swears in his article. My pointing out the general problems in his English was, if anything, to put that in perspective. Go back to sleep!
I have already acknowledged, and never denied, that Java takes on board Smalltalk and Objective C, but you have been unable to prove that polymorphic typing through pure interfaces was an idiom in those languages, and you were plain wrong about Simula.
If you want to continue to ignore what I'm saying and talk in circles, free feel, but for me this conversation is over until you can back up a single thing you say...
I remain of the opinion that Microsoft popularised the idea of first class interfaces, that that was a good thing and that that had an influence on the design of Java...
To be clear, what I was saying was that that seems to be where Sun got the idea - nothing you've said has convinced me otherwise.
In particular, can you point me at any reference to this as a (pre-Gamma) 'design pattern' (i.e. documented idiom) in any sufficiently expressive language (since you seem to have given up with Simula)?
Brocksmidt's book was my first exposure to this (in multiple inheritance C++). Such a thing might have been common practice in Objective C or Smalltalk, but if so no one has been able to show it to me in black and white...
Finally, I don't think either approach (COM or Java) is thorough, in any case, and prefer the notion of 'type classes' from Blott's thesis, as implemented in Haskell. I just think MS Research deserves a little credit (for COM and for the CLR at least).
The minute you're able to provide that Simula reference (to the support of multiple sub-typable pure interfaces in objects, and references polymorphically typed according to these interfaces) I'll be happy to go check it upstairs with my examiner, Graham Birtwistle (the author of the original book on Simula... obviously we can't go to Nygaard, but I'm sure you were also at his tribute in Oslo last year).
Something tells me that you don't even really know what a virtual machine is, or how it's defined... but I'm stupid so what do I know?
More efficient, more stable and having a proper means (higher-level than C/IDL, but not tied to one language) to interface with external software - if you think I'm a troll for actually being there when Java was rolled out, or understanding some of the difference between the JVM and CLR, go ahead...
In any case, even on that level (and as I said on another branch), Microsoft have the longer experience in VMs - anyone who was using Java right at inception (like me) knows what a huge step forward their JVM was over Sun's original...
Wow, Java is celebrating ten years? There are two ways to undermine the point that you're trying to make. First, Microsoft have a longer history of developing virtual machines for programming languages (in Visual Basic). Secondly, are you claiming that after ten years it can't be improved on? That's moronic...
Finally, you want to claim Microsoft Research are credit-stealing whores over the Java community? Where do you think the idea of objects supporting multiple interfaces for the purposes of inclusion polymorphism (seperated from the nightmare of multiple inheritance that plagues/criples OO-languages) comes from? Java?
Java owes a lot (beyond even that) to MS Research. Don't judge a company by its Operating Systems division...
Ooops, thanks... 'check your links', right? *blush*
To defend my point, the JVM is undeniably technically inferior to Microsoft's CLR (read 'Technical Overview of the Common Language Runtime' - say what you like about Microsoft, but Erik Meiker is a fine researcher, whom I know from the Haskell community).
Furthermore I've worked with Tomcat for a number of years now (though not with IIS for a while), and it is an appalling and unstable piece of software.
If the moderators choose to judge everything on a political level, so be it, but my point remains, on a technical level (putting aside the political and economic) this is not a move forward...
Hooray, I can translate from one VM to an inferior one, and switch from one app server to an inferior one! (... ok, I admit, this actually says 'Tomcat or other')
I know the positivity comes from escaping lock-in and high prices, but on a technical level this is not exactly a move forwards...
Oh, you're serious?
All this noise about Microsoft adding unnecessary hooks to their software with horrible security implications... the shoe's on the other foot again!
I'll have to bow to your experience. Myself, anything short of LaTeX (not that it's good enough itself) is not worth my time for 95% of what I write. My own short experience with OOo was putting together a document with tables and it was every bit as scizophrenic as MS Word in deciding (without any possibility to predict) what font, size and alignments it would use for pasted cells. Then when I had to correct such things I learned it speaks (on context menus) a more Germanic language than English (SOV order, not SVO - i.e. from Table to Row to Insert, not Table->Insert->Row). Two steps forward, one step back... along the same road (to nowhere)!
Maybe what separates us from the animals is a sense of irony!
Slashdot's going to show us how to make our very own Hello World program - yay!
No, longer term than a Summer School - I've spent periods of months in Germany on more than one project. I have every sympathy with the language issue but I didn't even realise he wasn't 'native' because his English is generally great and 'were/where' is a mistake of someone typing quickly (as me above in this thread), especially a fluent or at least semi-fluent speaker, not someone struggling to express anything... check his article, it's completely fluent, it's just not academic language. It's hardly fitting for me, as a junior academic, to tell him personally what to put on his university homepage. Hopefully a colleague would tell him that, just as you wouldn't use language like "up to your chin in shit" in class, so it belongs in a personal blog, not on a staff homepage. Finally - and this is my last word on the subject - a blog that did offer such opinions, and in such a tone, could then be judged as such (i.e. as someone running off at the mouth with an over-stated personal opinion, not an academic article).
I'll stick it on my fucking homepage right next to this shit, then we'll all be even... Jesus!
Please see my comment on other branch - essentially, however rambling my English, I try to represent myself appropriately in a professional context. Find swearing on my university homepage and I'll concede... but you won't. So now that we've addressed my (lack of) hypocrisy, let's return to yours: who are you and where's your homepage?
If you were to look back at my post objectively, you would realise that I was putting down an obstensibly academic source because he swears in his article. My pointing out the general problems in his English was, if anything, to put that in perspective. Go back to sleep!