Which is the easiest? ("NO FLAME PLEASE")

Started by
32 comments, last by Antony52 21 years, 8 months ago
In your opinion which is the easiest C,C++ or C#? Does C has any future?
Advertisement
quote:Original post by Antony52
In your opinion which is the easiest C,C++ or C#?

In what way?
quote:
Does C has any future?

Yes.
C#.

Reasoning:

(a) C is a structured programming language - basically a thing of the past. Not object oriented at all.
(b) C++ is extremely slow (to develop with and get used to). YOu can fuck up your memory, and the language is extremely complex once you start using templates etc. All this is a huge advantage for C++, but it is not exactly an easy langauge to master.
(c) C# is the easisest language. Most problematic parts (of the LANGUAGE) were cut off, you still have operator overloading, though. It is fully object oriented. Also, you get the .NET Framework - swhich is an industrial level framework for handling disc IO, database and windowing - means you dont have to deal with API''s that are "written but not really part of the language" (read: try out ATL, WTL of MFC in Win32 and you will know what I mean). Also, you dont have to deal with a lot of problems C++ has (memory allocation errors).

That said, this was ONLY for the language - not for its usefulness in a particular scenario. But it was an answer to exactly your question.


Regards

Thomas Tomiczek
THONA Consulting Ltd.
(Microsoft MVP C#/.NET)
RegardsThomas TomiczekTHONA Consulting Ltd.(Microsoft MVP C#/.NET)
C++ is not quite as hard to understand or use as you may think. If you have a decent understanding of C, then syntatically, C++ is just a little different.

C# is very much like Visual Basic in its Syntax and form. It is easier to learn than C and C++.

All of these languages have futures in industry. C is still used a lot in Unix/Linux environments. Plus, there is a lot of legacy C code that will need to be maintained.

It has been my expierence that C++ and Java are the two most highly used languages in business today. C# will take some time to catch on.

Opinion Time:
C++ is far from slow. Yes, you can mess up memory, but that''s because you have much more control over what goes on. C++ is neither more or less complex than any other language. Each has its strengths and weaknesses. Knowing them and which language fits the right task helps to make you a better developer.

C is not a thing of the past. If you are not comfortable with Object Oriented Techniques or are looking for a quick, low overhead solution, C is the way to go. You can still mess up memory just as easily in C as in C++, it just shows up faster in OO C++ because of the extra memory overhead, which is still minimal.

C#, and all of .NET, is Microsoft''s attempt to usurp Java. The similarities between .NET and Java are astounding. The Common Language Runtime is the same concept as the Java Virtual Machine. Pointers have also been removed. As for industrial strength, I can neither dispute or prove that claim. I have yet to see it implemented in that way. And yes, you can also mess up memory just as easily in C# as in C and C++, but because of C#''s interpreted nature, memory errors are caught much earlier.

Well that''s enough on that and I have really gone off topic. My 2 cents.

-----------------------------
kevin@mayday-anime.com
http://games.mayday-anime.com
-----------------------------kevin@mayday-anime.comhttp://www.mayday-anime.com
Gotta agree with Thona.

BTW, it''s funny how Microsoft only compares C# to C++ on it''s pages, even though C# is *much* closer to Java.
Ooh, it''s been a while since I got involved in one of these. This could be fun...

quote:Original post by thona
(a) C is a structured programming language - basically a thing of the past. Not object oriented at all.

And that proves what exactly? There''s nothing inherently wrong with structured programming, and I am very sure you cannot demonstrate that the property of "being OO" is the same thing as "being simple".
quote:
(b) C++ is extremely slow (to develop with and get used to). YOu can fuck up your memory, and the language is extremely complex once you start using templates etc. All this is a huge advantage for C++, but it is not exactly an easy langauge to master.

From the evidence on these boards, most programmers simply do not use C++ language and library facilities to full advantage. While, admittedly, C++ is a fairly large language, it is not the language itself that fosters idiocy.
quote:
(c) C# is the easisest language.

Based on what criteria? You might be right, but as it stands this is a completely unqualified statement.
quote:
Most problematic parts (of the LANGUAGE) were cut off, you still have operator overloading, though.

Interestingly, what people commonly call the "problematic parts" (such as MI and operator overloading) are the same parts which allow concepts to be expressed quite elegantly when used in the right way. The fact that some people abuse certain language features is not justification for castrating the language, which results in restricting freedom of expression for more intelligent developers.
quote:
It is fully object oriented.

So?
quote:
Also, you get the .NET Framework - swhich is an industrial level framework for handling disc IO, database and windowing - means you dont have to deal with API''s that are "written but not really part of the language" (read: try out ATL, WTL of MFC in Win32 and you will know what I mean).

C++ has hundreds of freely available libraries for these purposes. This is an issue of both portability and freedom of choice. A platorm-dependent library simply cannot be part of a platform-independent language standard.
quote:
Also, you dont have to deal with a lot of problems C++ has (memory allocation errors).

C++ does not "have" memory allocation errors. That would be a side-effect of language misuse.

The question of "which is the easiest" is meaningless when devoid of context.
grasshoppa - read my comment again. When I said C++ is slow, I said it is slow to MASTER. I would not call using classes in C++ mastering C++. For mastering you need to understand Templates in full, for example - and HERE things get hairy :-)

Regards

Thomas Tomiczek
THONA Consulting Ltd.
(Microsoft MVP C#/.NET)
RegardsThomas TomiczekTHONA Consulting Ltd.(Microsoft MVP C#/.NET)
grasshoppa - read my comment again. When I said C++ is slow, I said it is slow to MASTER. I would not call using classes in C++ mastering C++. For mastering you need to understand Templates in full, for example - and HERE things get hairy :-)

Regards

Thomas Tomiczek
THONA Consulting Ltd.
(Microsoft MVP C#/.NET)
RegardsThomas TomiczekTHONA Consulting Ltd.(Microsoft MVP C#/.NET)
When i say easy i also mean easiest syntax and easiest to master.From books i have, C seems to has easiest syntax than C++.For C# i dont know yet.

[edited by - Antony52 on August 12, 2002 9:37:59 AM]
SabreMan - it is mostly your answer which is meaningless in the context.

Lets assume the person querying seeks for a first language to learn.

quote:
Interestingly, what people commonly call the "problematic parts" (such as MI and operator overloading) are the same parts which allow concepts to be expressed quite elegantly when used in the right way.


Now, mutliple inheritance the C++ way is extremely problematic and not function complete - look at Eiffel if you dont know what I mean. It is also prooven that MI is unneeded.

Operator overloading - now, last time I used it C# had operator overloading. Can it be you dont know what you talk about?
The problematic part is mostly catching memory allocating errors. Never forget that basically more than 50% of the errors go back to acessing invalid memory addresses.


Regards

Thomas Tomiczek
THONA Consulting Ltd.
(Microsoft MVP C#/.NET)
RegardsThomas TomiczekTHONA Consulting Ltd.(Microsoft MVP C#/.NET)

This topic is closed to new replies.

Advertisement