Free Republic
Browse · Search
General/Chat
Topics · Post Article

Skip to comments.

Why didn't Microsoft get sued for plagiarising Java when they made C#? ( For Techies Only )
Quora ^ | Chris Nash, Former game programmer, now real-world programmer

Posted on 03/16/2023 7:16:43 AM PDT by SeekAndFind

A few reasons.

First, Java was spearheaded by Sun Technologies, not Oracle. Sun was still an independent company at the time. Sun had already yelled at Microsoft for changing the Java implementation in Internet Explorer to make it faster for Windows machines.

It ended up killing Java applets completely. My feelings are they weren’t itching for another fight with the huge software giant.

Second, they didn’t copy Java’s API. That’s what Google did with Android, and that’s why Oracle is still suing them.

Microsoft borrowed a lot of ideas from Java (and C++) for their new language. If you compare the two APIs, you’ll see what I mean. C# shares a lot of syntax with Java, but the API is different.

You can’t copyright syntax and Sun couldn’t do anything about it. I don’t think they really even wanted to.

Third , Microsoft shot themselves in the foot with their initial .NET (and C#) rollout. They said it was portable, like Java, but only portable among different Windows operating systems.

* Using a Mac? Tough luck! .NET doesn’t run on Mac.

* Using Unix? Tough luck!

* Using Linux? Go suck an egg!

Java ran on all operating systems. Calling C# portable “among Windows operating systems” was a lame attempt to keep Windows the dominant business operating system.

Sun probably recognized Microsoft’s folly and just laughed.

Today, .NET and C# are available among nearly all operating systems like Java, but Java’s far more dominant and may be forever.

To recap, C# didn’t copy Java’s API. Sun didn’t have anything they could sue them over.

Update

There seems to be a lot of confusion on this topic. And Sun did sue Microsoft over Java. But they didn’t sue them for plagiarizing Java. They sued them for illegally “extending” it. Basically, they modified Java so it would run faster on Windows machines, which—according to Sun—destroyed the universality of Java.

But they didn’t sue Microsoft over plagiarizing Java.

Sun won, by the way.


TOPICS: Business/Economy; Computers/Internet
KEYWORDS: c; java; microsoft
Navigation: use the links below to view more comments.
first previous 1-2021-4041-43 next last
To: SeekAndFind

Sun believed in Open Source, until Oracle.


21 posted on 03/16/2023 9:17:34 AM PDT by nickcarraway
[ Post Reply | Private Reply | To 1 | View Replies]

To: ConservativeInPA

“Why didn’t Sun Microsystems get sued for plagiarizing C++?”

I’m not interested in the plagiarizing issue but just wasn’t aware of multiple flavors of C++.

Are there flavors that don’t adhere exactly to the ISO C++ specification? I use C++ in the MBED world.


22 posted on 03/16/2023 9:47:27 AM PDT by cymbeline
[ Post Reply | Private Reply | To 4 | View Replies]

To: cymbeline

C/C++ were open standards. Various vendors independently built compilers and other tools that conformed (more or less) to that standard.

Each vendor introduced C/C++ tools with their own idiosyncrasies/extensions.

Microsoft obtained a license to make a Java/JVM from Sun.
Sun sued Microsoft for violating their Java license alleging MS extensions were in violation of the license by enabling/promoting propriety Java source code among other thing.

Microsoft and Sun settled in 2002 with MS agreeing to pay some money to Sun.

SunOS -> Solaris transition hurt Sun as well as the rise of Linux and Windows servers — namely IIS and SQLServer.


23 posted on 03/16/2023 10:00:33 AM PDT by 13foxtrot
[ Post Reply | Private Reply | To 22 | View Replies]

To: cymbeline
There have been more C, C+, and C++ compilers in my lifetime than there have been head football coaches at Auburn. Some of them were fairly similar. For example, in the 90's when I was a computer science student with dial-up internet, I could usually do my Unix C++ homework at home on a DOS machine with a Borland C++ compiler (to keep from working across the slow hypertext terminal to one of the school's Unix machines). By the time I FTP'd my source code to the Unix box there was usually very little I had to change to make it compile with the Unix command-line compiler as well as it did on my DOS PC with the Borland C++ compiler. Of course, that's without getting into hardware or OS specific code that of course isn't cross-platform compatible.

About Java, IMHO one problem early on (late 90's early 00's) is it ran very slow in the Java API Sun made for Windows. So any apps made for the office (read: almost everybody running on Windows) meant the app ran slowly. Plus, Microsoft's Visual Studio IDE (Integrated Development Environment, the app software developers use to write code) was hands down the best app to make development easier regardless of the language. IMHO, Java as a language was a really good object-oriented language to make life easier than C++. But that benefit of Java didn't outweigh the two main problems with Java (development tools for Java couldn't compete with MS Visual Studio, and the finished project apps were slow on Windows machines).

24 posted on 03/16/2023 10:11:16 AM PDT by Tell It Right (1st Thessalonians 5:21 -- Put everything to the test, hold fast to that which is true.)
[ Post Reply | Private Reply | To 22 | View Replies]

To: cymbeline
There’s all kind of flavors of c++ and the STL depending on the age of the compiler. I’m retired now and I really don’t keep that up to date. I still code some utilities in C++, but I primarily program in MQL4, which is a loosely encapsulated, C++ derived language used for trading securities. It just reeks of C++ under its hood and I have no idea why native C++ wasn’t used for MetaTrader which runs the MQL4 code.

I also don’t care about plagiarism when it comes to programming languages. Us old guys had to deal with all sorts of language variants most of our lives that you quickly realize there are a commonalities among ever language that you can not get rid because it’s directly tied to logic that all languages need to solve problems, and every language has its unique syntactical features depending on underlying programming models.

25 posted on 03/16/2023 10:12:00 AM PDT by ConservativeInPA ("How did you go bankrupt?" Bill asked. "Two ways," Mike said. "Gradually and then suddenly." )
[ Post Reply | Private Reply | To 22 | View Replies]

To: Boogieman; ShadowAce
> Seems like we are well past due for the release of D. What’s the hold up?

Arguments over whether it should be called "D" or "P".

Before "B" there was "BCPL" https://en.wikipedia.org/wiki/BCPL

The original "Hello, world!" program was written in BCPL. BCPL influenced B, which in turn influenced C.

26 posted on 03/16/2023 10:12:04 AM PDT by dayglored (Strange Women Lying In Ponds Distributing Swords! Arthur Pendragon in 2024)
[ Post Reply | Private Reply | To 20 | View Replies]

To: SeekAndFind

Microsoft was and is always a monopolistic business. They started by buying the original DOS from the guy who wrote it for a pittance and sold it to IBM for a fortune. After that they developed the first few mac applications and used the technology to develop windows. They took money from IBM to develop OS/2 and developed Windows 95 instead and never really finished OS/2. They copied Stacker outright a disk compression software. They squeezed lotus l, word perfect, dbase, novell, and almost Apple, completely out of the market. Now Bill Gates is admired by liberal teachers all over the world.


27 posted on 03/16/2023 11:17:19 AM PDT by webheart
[ Post Reply | Private Reply | To 1 | View Replies]

To: HamiltonJay

Java copied C++. C# also copied C++. Everyone copied C/C++.


28 posted on 03/16/2023 11:19:10 AM PDT by markcromwell
[ Post Reply | Private Reply | To 7 | View Replies]

To: markcromwell

No java didn’t copy C or C++

You can argue there share similar syntax, but the JVM is what made Java what it is And C/C++ had none of that.

.Net is basically MS version of Java.

.


29 posted on 03/16/2023 11:33:16 AM PDT by HamiltonJay
[ Post Reply | Private Reply | To 28 | View Replies]

To: ConservativeInPA

Thanks to all three of you (so far) that replied to my post asking about multiple flavors of C++.

The MBED environment supports dozens of multifunction target boards based on the ARM Cortex processor. A free development studio is provided with version control (Github), compiler, linker and real time operating system.

The thought of multiple flavors of C++ on top of all this stuff is horrifying. I don’t know why there’s much motivation for creating multiple flavors of the language itself.

I’d say also that you need to be Einstein to fully understand C++ 11. My major point here is that the overall software/hardware environment has become extremely complicated. Code apes have gone amuck!


30 posted on 03/16/2023 11:49:03 AM PDT by cymbeline
[ Post Reply | Private Reply | To 25 | View Replies]

To: SeekAndFind

Microsoft was and is always a monopolistic business. They started by buying the original DOS from the guy who wrote it for a pittance and sold it to IBM for a fortune. After that they developed the first few mac applications and used the technology to develop windows. They took money from IBM to develop OS/2 and developed Windows 95 instead and never really finished OS/2. They copied Stacker outright a disk compression software. They squeezed lotus l, word perfect, dbase, novell, and almost Apple, completely out of the market.


31 posted on 03/16/2023 12:03:28 PM PDT by webheart
[ Post Reply | Private Reply | To 1 | View Replies]

To: cymbeline
Just being pragmatic, I only concerned myself with language standardization when porting code to another OS was a consideration. You probably don’t have that as a requirement if you are doing real-time programming targeting MBED. Even if you had a standardized version of C++, you’ll have code that is MBED dependent and if you ported it to another platform it wouldn’t work. Architecturally you should abstract everything hardware/OS dependent into its own layer. Adapter, facade and proxy design patterns are your best friends.

As for motivation for various flavors, it’s either iterative improvement in the language or some marketing guy that thinks the word “proprietary” sounds cool and is a feature. 😂

32 posted on 03/16/2023 12:08:13 PM PDT by ConservativeInPA ("How did you go bankrupt?" Bill asked. "Two ways," Mike said. "Gradually and then suddenly." )
[ Post Reply | Private Reply | To 30 | View Replies]

To: cymbeline

So C# is M$Soft’s imitation of IBM building PL-1 (or however they spelled it). No one plagiarized it! Just like C#.

A few years ago, Bioware (for you gamers) on its site had gaming programmer before we’ll talk to you: 3 yrs C++ and program manager at 5 yrs C++.

With a high-end gaming computer, a good C++ compiler can run in minutes now, so it’s easy to use!


33 posted on 03/16/2023 12:13:38 PM PDT by Blagden Alley
[ Post Reply | Private Reply | To 30 | View Replies]

To: dayglored

I heard there was an “A” language - the only thing left of it was a.out in UNIX, and a.exe in gcc.


34 posted on 03/16/2023 12:15:46 PM PDT by scrabblehack
[ Post Reply | Private Reply | To 26 | View Replies]

To: SeekAndFind

Why not? Stupid question and full of ignorance to even ask it.

C# and Java had nothing to do with each other, that’s why.

Only young and stupid liberal soyboys think they did. There were lots of 4th and 5th generation languages at the time. The dumb kids today haven’t even heard of half of them.


35 posted on 03/16/2023 12:20:12 PM PDT by CodeToad (No Arm up! They have!)
[ Post Reply | Private Reply | To 1 | View Replies]

To: scrabblehack

Seems reasonable. I saw a microfiche of B for a sort in very early 70’s. I had not yet heard of C. But C can be viewed as a
portable assembler, so it is straightforward. C++ is much more fun.


36 posted on 03/16/2023 12:20:53 PM PDT by Blagden Alley
[ Post Reply | Private Reply | To 34 | View Replies]

To: scrabblehack
> I heard there was an “A” language - the only thing left of it was a.out in UNIX, and a.exe in gcc.

Pretty sure that "A" language was "Assembly". "a.out" was the (binary) output of the assembler program.

https://en.wikipedia.org/wiki/A.out

37 posted on 03/16/2023 12:24:33 PM PDT by dayglored (Strange Women Lying In Ponds Distributing Swords! Arthur Pendragon in 2024)
[ Post Reply | Private Reply | To 34 | View Replies]

To: dayglored

I assume “B” was for ‘BASIC’.


38 posted on 03/16/2023 12:26:12 PM PDT by dfwgator (Endut! Hoch Hech!)
[ Post Reply | Private Reply | To 37 | View Replies]

To: dfwgator
> I assume “B” was for ‘BASIC’.

Well played, Sir! Indeed it was: "Basic Combined Programming Language"

39 posted on 03/16/2023 12:30:46 PM PDT by dayglored (Strange Women Lying In Ponds Distributing Swords! Arthur Pendragon in 2024)
[ Post Reply | Private Reply | To 38 | View Replies]

To: Blagden Alley
> ... C can be viewed as a portable assembler...

Oh, it's a bit more than just that, but point granted nonetheless. :-)

Indeed, that's why it's my favorite language.

40 posted on 03/16/2023 12:33:38 PM PDT by dayglored (Strange Women Lying In Ponds Distributing Swords! Arthur Pendragon in 2024)
[ Post Reply | Private Reply | To 36 | View Replies]


Navigation: use the links below to view more comments.
first previous 1-2021-4041-43 next last

Disclaimer: Opinions posted on Free Republic are those of the individual posters and do not necessarily represent the opinion of Free Republic or its management. All materials posted herein are protected by copyright law and the exemption for fair use of copyrighted works.

Free Republic
Browse · Search
General/Chat
Topics · Post Article

FreeRepublic, LLC, PO BOX 9771, FRESNO, CA 93794
FreeRepublic.com is powered by software copyright 2000-2008 John Robinson