Fog Creek Software
Discussion Board

C#/.NET (Vague Troll)

Something that bugs me about people who come from an MS development background is that they seem incapable of admitting the influence of Java on both C# and .NET - C# is always "the ancestor of C and C++" (i.e. not Java); no one talks about the similarities between the CLR and the JVM (like *both* of them support multiple languages).

C'mon is it really so hard to admit that C# and .NET are inspired by Java and the JVM?

Walter Rumsby
Wednesday, June 23, 2004

Walter, I come from a Microsoft development background and instantly recognised that .Net was a new version of Java. In fact all the developers I know saw this.

What's the big deal. Who cares?

Wednesday, June 23, 2004

My first exposure to C# code was a quick glance over some code in a magazine opened at random. At first I thought I was looking at Java code. I was astounded by how similar C# was to Java.

However some of the old timers suggest that both languages both heavily from others. That is, perhaps C# and Java are siblings, both descended from the same parent languages.

Herr Herr
Wednesday, June 23, 2004

I too have a hard time distinguishing between the reek of one vs. the other.  ;-)

Preddie Frinze
Wednesday, June 23, 2004

I always assumed C# was originally based on Microsoft's Java clone after reading this old JOS article:

"And to make things worse, they throw in a brand-new programming language which is really nothing more but a copy of java which is unfinished, hasn't been tested for five years, and lacks a large standard library."

Matthew Lock
Wednesday, June 23, 2004

It's obvious, isn't it.

I've never heard anyone try to deny it.

Steve Jones (UK)
Wednesday, June 23, 2004

It's not a big deal - it's just vaguely frustrating - like when Win95 came out and people were oohing and ahing about stuff I could do on my Amiga TEN years earlier! Grrrrr!

Am I the only one who is noticing this?

Walter Rumsby
Wednesday, June 23, 2004

"Many features of C# were designed in response to the strengths and weaknesses of other languages, particularly Java and C++."

"The C# language specification was written by Anders Hejlsberg and Scott Wiltamuth. Anders Hejlsberg is famous in the programming world for creating the Turbo Pascal compiler and leading the team that designed Delphi."


C# Essentials (o'reilly)
By Ben Albahari, Peter Drayton & Brad Merrill

Tim H
Wednesday, June 23, 2004

To me, C# is what Java should have been.

It's like somebody took the bad, unfinished Java and made a serious upgrade to it.

Wednesday, June 23, 2004

Everything is connected to everything else, those that succeed make new connections that are immediately recognised as always being there.

Those that declare Java sucks, C# is cool are just as ignorant as those with the opposite view.

If I were a carpenter I'd choose a chisel that worked for the job I wanted on the bit of wood I was working on.  I wouldn't, were I so to choose, call myself after the make of chisel I happened to use at the time.

I'm an Ashley Iles chiseller, you know.  I can chisel so much better than a Stanley chiseller.

Simon Lucy
Wednesday, June 23, 2004

I think it unlikely that anyone has ever claimed C# to be the ancestor of C and C++, nor, for that matter, that Java is the ancestor of C and C++.


el, who fortunately remains descendant from his parents
Wednesday, June 23, 2004

I have to agree w/ prior replies . . . most .NET developers I'm aware of stick to the following comments/admissions:

1) .NET is an evolution of Java (specifically, C#)
2) .NET is what Java "should've" been YEARS ago.
3) MS really ripped Sun off by, 1, breaking Java by introducing their own extensions and, 2, creating their own Java and lamely attempting to take credit for it.

There's honesty amongst us . . . 

Wednesday, June 23, 2004

I completely agree that this is hardly ever acknowledged, although it goes both ways as well.  C#/.NET gave us a number of "totally new and innovative" language/platform features that java had for years, but then java 1.5 adds a bunch of equally new and innovative features like arbitrary class metadata and autoboxing.  I haven't seen either side acknowledge the other, but the influences in both directions are obvious.

I guess that's what happens when imitation is the sincerest form of flattery, but you don't want the other guys to feel flattered at all.

Wednesday, June 23, 2004

Perhaps Walter's point is that while people _talk_ about it, you're never likely to see a _book_ on C# that talks about how it's a descendent (or rip-off, or whatever) of Java.  Presumably there are political reasons for this.

Wednesday, June 23, 2004

I'd say .NET is an evolution of COM+, and C# is an evolution of Java.

.NET is what Java could have been if it weren't for Sun "everything should also run on Solaris" ball and chain and the utterly abysmal Swing user experience

MS did the best Java, Sun couldn't stand it and played foul

Just me (Sir to you)
Wednesday, June 23, 2004

C# is obviously similar to java, but in many of the areas where it is different it has taken ideas from Dephi:

scructs (records)
multiple classes per file..

I could go on.  As someone who mostly used to work in Delphi and now mostly works in C#, C# feels like Delphi with c syntax and a garbage collector.  Of course, with C# 2.0, we will get some things that Delphi never had.

Corporate Dork
Wednesday, June 23, 2004

IMO, it isn't the structs or the fact that they have delegates or that all methods start capitolized that makes C# superior to java, its the folowing reasons:

Consistant and clean Class Libraries.
Operator Overloading.

Thats it. I think anything else is really just a minor preferential thing.  Oh yeah, and ASP.NET is 100x better then JSP.

Wednesday, June 23, 2004

"different it has taken ideas from Dephi"

You mean Pascal, at least for structs and enums.  They're over thirty years old :)

Wednesday, June 23, 2004

I hope there's something more to Java than it's inspiration of C#.  If that's all there is, then it's to the glue factory for that bad boy...

Thursday, June 24, 2004

30 year old...

Right.  I didn't claim that C# was wildly innovatice, just that it borrowed from Delphi (or Pascal or even c).  Ander's fingerprints are all over it.

It seems like a simple thing, but I really miss Delphi's nested procedures in C# - somehow not object oriented enough? 

Can't wait for generics though - Delphi should have had them years ago.

Corporate Dork
Thursday, June 24, 2004

*  Recent Topics

*  Fog Creek Home