The Instigator
VenomousNinja
Pro (for)
Winning
27 Points
The Contender
Tatarize
Con (against)
Losing
23 Points

C++ is a better programming language than C#

Do you like this debate?NoYes-1
Add this debate to Google Add this debate to Delicious Add this debate to FaceBook Add this debate to Digg  
Vote Here
Pro Tied Con
Who did you agree with before the debate?
Who did you agree with after the debate?
Who had better conduct?
Who had better spelling and grammar?
Who made more convincing arguments?
Who used the most reliable sources?
Reasons for your voting decision
1,000 Characters Remaining
The voting period for this debate does not end.
Voting Style: Open Point System: 7 Point
Started: 4/24/2008 Category: Technology
Updated: 9 years ago Status: Voting Period
Viewed: 5,137 times Debate No: 3778
Debate Rounds (3)
Comments (1)
Votes (11)

 

VenomousNinja

Pro

I will let my opponent argue first in this debate so I can start rebuting quickly and efficiently.
Good luck!
Tatarize

Con

C++ is not a better programming language than C#. That's a lot like saying a hammer is better than a pair of pliers. They are both tools. If you are doing aspect oriented programing then C++ is a terrible language, if your doing systems programing then C++ is a fantastic language.

They do different things. They are tools for a specific job and the "better" one depends entirely on the job. Just as you could hammer a nail with pliers or try to use the hammer to tighten a bolt you can us C++ for some jobs it does quite well and C# for jobs it does well.
Debate Round No. 1
VenomousNinja

Pro

C# is a worse language than C++ because C# is similar to more than one programming language, which may or may not make it more powerful. However, C# includes more complicated syntax, C# programmers must type more in order to achieve the same effect as a C++ programmer would while typing less(one example of this is displaying text, a C++ programmer would type "std::cout << "TEXT"; " with the include file of iostream, while a C# programmer would type "System.Console.WriteLine( "TEXT" );"), and because of all this, C# obviously has a steeper learning curve, mainly due to the similarity to multiple languages such as C++, C, and Java.
Tatarize

Con

It is one thing to have an opinion that one language is better, it's completely different to actually declare it as a fact.

You argue that C# is worse than C++ because C# is similar to a number of other programing languages. However, C++ is a lot like C and B. The quality of a programming language has little to do with how similar it is to other languages. For example, prolog is in a league of its own and does what it does quite well... whereas basic does what it does and assembly does what it does. C# does similar things to those languages mentioned and therefore sticks with the conventions put forth. Is cricket worse than baseball because cricket is a bit like bowling? -- It may very well be worse than baseball... but not because that argument makes any sense.

A complicated syntax would make for a worse language here and there, however keep in mind that some major effort in the past went to human language languages where the goal was to make the language syntax as understandable as possible... the result: COBOL! Generally thought to be one of the worst computer programming languages, even though it runs most of the financial institutions and a large number of business application (if you know COBOL you have a job for life). It does what other things can't do, is it better or worse than them? -- I don't really know, how are you judging this?

Similarity and complexity are both, themselves, aspects of a programing language. They do not, by any stretch, make a language better or worse than another one. There are some simple languages which are dreadful (basic in a modern context) there are others which are elegant and powerful (LUA). Some have simple syntax others complex and it doesn't have any real effects on how "good" the language is.

So you believe that typing,

#include
using namespace std;
int main () {
cout << "text" << endl;
return 0;
}

Is far easier than System.Console.WriteLine ("Text");?

You are referencing a "system" command to work with the "console" and 'write' the 'line', "text". I'm sure system.out.print("") is so much better? How about print "". Why not printf("Hello World")? Echo "text"? -- You're writing a line to the system console, if you wanted to do something else to the system console you could do a number of things with the class.

http://msdn2.microsoft.com...

It isn't that it's longer or counter-intuitive, rather it's treating the system and console as classes: that is because it's a true object oriented language. It requires a different way about problems because it's a different tool for solving problems.

You claim that this means it has a steeper learning curve than C++. This is categorically false. Writeline to the system console is perfectly understandable. And understanding that the system and console are classes and work as objects to be modified by the programming language gives one a good view of the system. In C++ you need to understand that you're using the Standard Template Library and the Input Output stream which creates a specific object called cout which is specifically an output stream for the console. It gives you an odd view of how the computer works rather than portraying the language in a robust and yet understandable fashion. You're trying to argue that it's too damn hard to know the command to write to the console... who could possible remember that Console.Write("This does it!"); does it?

I'm fully open to the idea that C# may not be a significant advantage over C++ or even an improvement at all... but I don't see any evidence of that here. It uses a class setup to refer to parts of the system such that it's far more intuitive.

It's a different tool, I see nothing here to suggest that it's a better tool. It is, as I noted, like saying a hammer is better than pliers.
Debate Round No. 2
VenomousNinja

Pro

"You argue that C# is worse than C++ because C# is similar to a number of other programing languages"
Actually, if we want to get into specifics, I am arguing that C# is worse because of its similarities to very different languages.

"quality of a programming language has little to do with how similar it is to other languages"
Wrong. The similarities to other languages can drastically effect the learning curve, which can make or break a language.

"[Similarity and Complexitiy] do not, by any stretch, make a language better or worse than another one"
Actually, it does. If language A is similar to a bad language, A is probably bad also.
If a language is overly complicated and complex, it has a steep learning curve which total beginners hate.

"So you believe that typing,

#include
using namespace std;
int main () {
cout << "text" << endl;
return 0;
}

Is far easier than System.Console.WriteLine ("Text");?"
Wrong. I beleive that typing

#include
int main(){
std::cout << "text\n";
return 0;
}

is far easier than typing

using System;
class a{
static void Main(){
Console.Writeline("TEXT");
}
}
, see my point.

Upon closer inspection, the C++ method uses only seventy-two characters while the C# method uses seventy-eight.
That may only be six more characters, but in really big programs, it really adds up.

Also, you keep stating that C++ and C# are different tools. This is incorrect. They are both programming languages, just different ones, and as such, you may need to do more steps with one to achieve the same effect as you would get with less steps in another. One programming language can do everything. This means that it really is the learning curve and the complexity of the language that ultimatly determines if a language is good or not.
Prove me wrong.
Tatarize

Con

They are different tools for different tasks. Just because C# took the best from a number of different languages doesn't make it bad. To make that argument you really need to show *how* it is bad. You need to point out the strengths that C++ possesses and what C# lacks. Rather than making up a silly argument as such.

In your C++ code I notice that you reference the standard template library directly with your cout but waste space on a using command for the C# code. Tisk-tisk.

#include
namespace std;
int main(){
cout << "text\n";
return 0;
}

is far easier than typing

class a{
static void Main(){
System.Console.Writeline("TEXT");
}
}

Look at that! Now C# is better on the print out the word TEXT test.

Let's not overlook that fact that this "example" is a crock. The readability and running of code is far more important than a couple of characters. If short source-code is your goal then we should all be using LISP. Honestly elegant programs in three lines and only takes about three hours to write them.

In really big programs it really adds up? Better not add in comments to the source code!

In reality the paradigm you are using is going to make a much more substantial role in how tight and understandable your code is. This is one of the reasons why Java and C# are so nice in that they make everything into classes. Properly done that makes for exceedingly good code.

Is C++ a better programming language than C#? I honestly can't say that it is from any of the comments you've made here. Wasting some characters on a using command in C# and referencing the namespace directly in C++ doesn't compel me towards an answer. I'm sorry you haven't established any points or come remotely close to meeting your burden of proof.

C# is a fantastic language. C++ is pretty good. They are different tools for different tasks. To say, universally, that one is "better" is getting down to saying that red is better than blue. You'd need a good argument to show that and you don't have a good argument here.
Debate Round No. 3
1 comment has been posted on this debate.
Posted by Shorack 9 years ago
Shorack
It got a bit repetitive towards the end.
Con had nice counters.

They are valid and it seem the counter Pro gave was where the loop started, dressed up in a different suit.
11 votes have been placed for this debate. Showing 1 through 10 records.
Vote Placed by m93samman 6 years ago
m93samman
VenomousNinjaTatarizeTied
Agreed with before the debate:--Vote Checkmark0 points
Agreed with after the debate:--Vote Checkmark0 points
Who had better conduct:Vote Checkmark--1 point
Had better spelling and grammar:Vote Checkmark--1 point
Made more convincing arguments:Vote Checkmark--3 points
Used the most reliable sources:Vote Checkmark--2 points
Total points awarded:70 
Vote Placed by Tatarize 7 years ago
Tatarize
VenomousNinjaTatarizeTied
Agreed with before the debate:Vote Checkmark--0 points
Agreed with after the debate:-Vote Checkmark-0 points
Who had better conduct:Vote Checkmark--1 point
Had better spelling and grammar:Vote Checkmark--1 point
Made more convincing arguments:Vote Checkmark--3 points
Used the most reliable sources:Vote Checkmark--2 points
Total points awarded:70 
Vote Placed by JBlake 8 years ago
JBlake
VenomousNinjaTatarizeTied
Agreed with before the debate:--Vote Checkmark0 points
Agreed with after the debate:--Vote Checkmark0 points
Who had better conduct:--Vote Checkmark1 point
Had better spelling and grammar:--Vote Checkmark1 point
Made more convincing arguments:-Vote Checkmark-3 points
Used the most reliable sources:--Vote Checkmark2 points
Total points awarded:03 
Vote Placed by Copperhead 8 years ago
Copperhead
VenomousNinjaTatarizeTied
Agreed with before the debate:Vote Checkmark--0 points
Agreed with after the debate:Vote Checkmark--0 points
Who had better conduct:Vote Checkmark--1 point
Had better spelling and grammar:Vote Checkmark--1 point
Made more convincing arguments:Vote Checkmark--3 points
Used the most reliable sources:Vote Checkmark--2 points
Total points awarded:70 
Vote Placed by Logical-Master 9 years ago
Logical-Master
VenomousNinjaTatarizeTied
Agreed with before the debate:--Vote Checkmark0 points
Agreed with after the debate:--Vote Checkmark0 points
Who had better conduct:-Vote Checkmark-1 point
Had better spelling and grammar:-Vote Checkmark-1 point
Made more convincing arguments:-Vote Checkmark-3 points
Used the most reliable sources:-Vote Checkmark-2 points
Total points awarded:07 
Vote Placed by VenomousNinja 9 years ago
VenomousNinja
VenomousNinjaTatarizeTied
Agreed with before the debate:Vote Checkmark--0 points
Agreed with after the debate:Vote Checkmark--0 points
Who had better conduct:-Vote Checkmark-1 point
Had better spelling and grammar:--Vote Checkmark1 point
Made more convincing arguments:-Vote Checkmark-3 points
Used the most reliable sources:--Vote Checkmark2 points
Total points awarded:04 
Vote Placed by WeaponE 9 years ago
WeaponE
VenomousNinjaTatarizeTied
Agreed with before the debate:--Vote Checkmark0 points
Agreed with after the debate:--Vote Checkmark0 points
Who had better conduct:--Vote Checkmark1 point
Had better spelling and grammar:--Vote Checkmark1 point
Made more convincing arguments:Vote Checkmark--3 points
Used the most reliable sources:--Vote Checkmark2 points
Total points awarded:30 
Vote Placed by Fenceman 9 years ago
Fenceman
VenomousNinjaTatarizeTied
Agreed with before the debate:--Vote Checkmark0 points
Agreed with after the debate:--Vote Checkmark0 points
Who had better conduct:--Vote Checkmark1 point
Had better spelling and grammar:--Vote Checkmark1 point
Made more convincing arguments:Vote Checkmark--3 points
Used the most reliable sources:--Vote Checkmark2 points
Total points awarded:30 
Vote Placed by number5rules 9 years ago
number5rules
VenomousNinjaTatarizeTied
Agreed with before the debate:--Vote Checkmark0 points
Agreed with after the debate:--Vote Checkmark0 points
Who had better conduct:--Vote Checkmark1 point
Had better spelling and grammar:--Vote Checkmark1 point
Made more convincing arguments:-Vote Checkmark-3 points
Used the most reliable sources:--Vote Checkmark2 points
Total points awarded:03 
Vote Placed by brian_eggleston 9 years ago
brian_eggleston
VenomousNinjaTatarizeTied
Agreed with before the debate:--Vote Checkmark0 points
Agreed with after the debate:--Vote Checkmark0 points
Who had better conduct:--Vote Checkmark1 point
Had better spelling and grammar:--Vote Checkmark1 point
Made more convincing arguments:-Vote Checkmark-3 points
Used the most reliable sources:--Vote Checkmark2 points
Total points awarded:03