• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Jeanne Boyarsky
  • Ron McLeod
  • Paul Clapham
  • Liutauras Vilda
Sheriffs:
  • paul wheaton
  • Rob Spoor
  • Devaka Cooray
Saloon Keepers:
  • Stephan van Hulst
  • Tim Holloway
  • Carey Brown
  • Frits Walraven
  • Tim Moores
Bartenders:
  • Mikalai Zaikin

Java vs C# (balanced view)

 
mister krabs
Posts: 13974
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
So we agree that operator overloading is not a wise thing in a language in most cases. So what? In order for C# to be compatible with C++ it was included in the language. Perhaps it was a mistake but I think the fact that Microsoft was concerned about C++ developers is very commendable.
As far as the next release of C#, it could very well come from ECMA, not Microsoft.
And agian, since you have never posted to JavaRanch except to complain about C#, I consider you a troll. Why not spend your time helping Java developers become better Java developers instead of complaining about C#?
 
Thomas Paul
mister krabs
Posts: 13974
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Originally posted by Apu Petilon:
If you run out of arguments, resort to name calling. And they made you a moderator. How ironic!

As I said, the author of that "FAQ" frequently goes on C# newsgroups for the express purpose of stirring up controversy. He acts like he's a 15 year old jerk. Why os it so important to you to complain about C#? Do you consider the languge a threat to Java? Do you feel that your career is in danger because of C#?
 
Greenhorn
Posts: 8
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Originally posted by Thomas Paul:
So we agree that operator overloading is not a wise thing in a language in most cases.


The same goes for properties and indexers too, because they have the same defects as operator overloading. User-defined implicit type conversion operators are worse. VB4 came with a bunch of predefined implicit conversions, and this caused so many problems that VB programmers nicknamed this feature "Evil Type Coercion." Structs in C# was poorly thought out, and boxing/unboxing doesn't really unify the type system like they claim.

So what? In order for C# to be compatible with C++ it was included in the language. Perhaps it was a mistake but I think the fact that Microsoft was concerned about C++ developers is very commendable.


C# is not compatible with C++.


As far as the next release of C#, it could very well come from ECMA, not Microsoft.


That is a possibility. It is also a possibility that the next version of C# will come from Microsoft and the ECMA will be sidelined. That's what happened with COM+ and the Open Group.


And agian, since you have never posted to JavaRanch except to complain about C#, I consider you a troll. Why not spend your time helping Java developers become better Java developers instead of complaining about C#?


Take a look at the first article in this thread. I posted two links, one of which was highly favorable about C#. I also posted a few comments that are critical of C# but apparently you can't handle that, so I consider you hotheaded. And please don't presume to tell me what to do with my time -- being a moderator here doesn't give you that right.
 
Thomas Paul
mister krabs
Posts: 13974
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
You said: C# is not compatible with C++.
You have now demonstrated that you don't know what you are talking about. A C# program can inherit from a managed C++ class. It can invoke methods of a C++ class (managed or otherwise). They can live together very happily in the .Net environment.
As far as indexers and properties, I can see how a VB programmer would be confused by them. But then most VB programmers have very little exposure to OO.
And I wasn't telling you what to do with your time. I was making a suggestion that spending your time worrying about C# is a waste of your time. Why don't you let the C# programmers worry about their language and you worry about yours?
I still don't understand the obsession that Java programmers have with C#. Is it really that scary to you? Or is it really that important to you that you "prove" that Java is a better language? When you are finished with C# will you go argue with the Python programmers?
[ April 23, 2002: Message edited by: Thomas Paul ]
 
Ranch Hand
Posts: 127
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

You have now demonstrated that you don't know what you are talking about. A C# program can inherit from a managed C++ class. It can invoke methods of a C++ class (managed or otherwise). They can live together very happily in the .Net environment.


How is managed C++ different from C#? If you need the .Net platform to write 'managed C++' why would you choose to have 2 languages(C# and C++) to write code in?


As far as indexers and properties, I can see how a VB programmer would be confused by them. But then most VB programmers have very little exposure to OO.


Strongly disagree! True it was no true OO and did not support inheritance and blah, blah,blah... The 'most VB programmers' is an unfair generalization. Due to low barrier of entry there are programmers who may not understand these concepts, but there a lot of serious VB programmers who understand and use OO concepts extensively.
 
Leverager of our synergies
Posts: 10065
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Originally posted by Ravi Veeraghanta:
Also be nice enough to leave a note when you are moving topics from one forum to another.


I posted a note there. Hm, looks to me that the previous moderator of "Java news" did better job...

Originally posted by Apu Petilon:
Thank you for the kind words, Randall. Most programmers spend more time maintaining code written by other people than writing new code. More time will be spent reading and maintaining code than writing it in the first place. Because of this, code maintainability is more important than saving a few keystrokes when writing it initially. A lot of professional programmers ufortunately don't understand this. Hopefully I can convince a few people here.


By the way, does anybody have an idea why there are tonns of books on the market "How to design your application" and almost nothing (or just nothing) "How to maintain an application you did not write"? This task is even more complex that to design a good application...
 
Apu Petilon
Greenhorn
Posts: 8
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Originally posted by Thomas Paul:
You said: C# is not compatible with C++.
You have now demonstrated that you don't know what you are talking about. A C# program can inherit from a managed C++ class. It can invoke methods of a C++ class (managed or otherwise). They can live together very happily in the .Net environment.


I didn't say you can't call C++ code from C#. I said C# is not compatible with C++ in the sense that the C# compiler will not compile C++ code the same way a C++ compiler compiles C code. C++ is compatible with C, but C# is not compatible with C++ in the same sense.


As far as indexers and properties, I can see how a VB programmer would be confused by them. But then most VB programmers have very little exposure to OO.


Indexers are just like operator overloading. Indexers and properties share the same traits as operator overloading. Again, the issue is not whether VB programmers are confused by them. The issue is that the feature encourages people to write non-obvious, hard-to-maintain code -- just like operator overloading.


And I wasn't telling you what to do with your time. I was making a suggestion that spending your time worrying about C# is a waste of your time. Why don't you let the C# programmers worry about their language and you worry about yours?


Why don't you let me worry about how I spend my time, and you worry about how you spend yours? How about that?


I still don't understand the obsession that Java programmers have with C#. Is it really that scary to you? Or is it really that important to you that you "prove" that Java is a better language? When you are finished with C# will you go argue with the Python programmers?


So the truth comes out. Your issue is not with me, but with Java programmers in general. I hope other participants of JavaRanch take notice. Why does any discussion of relative merits of these two related programming languages bother you so much? Why does any critical opinion about C# rile you up so much? And no, Python is not similar enough to Java to spur comparisons.
 
Thomas Paul
mister krabs
Posts: 13974
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Originally posted by Apu Petilon:
Why don't you let me worry about how I spend my time, and you worry about how you spend yours? How about that?

Makes sense. So I won't bother spending anymore time with you.
 
Ranch Hand
Posts: 5399
1
Spring Java
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
poor Apu
he does not know Thomas Paul
[ April 24, 2002: Message edited by: Ravish Kumar ]
 
reply
    Bookmark Topic Watch Topic
  • New Topic