Archived

This topic is now archived and is closed to further replies.

Antony52

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

Recommended Posts

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)

Share this post


Link to post
Share on other sites
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

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites
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)

Share this post


Link to post
Share on other sites
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)

Share this post


Link to post
Share on other sites
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]

Share this post


Link to post
Share on other sites
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)

Share this post


Link to post
Share on other sites
quote:
Original post by grasshopa55
C# is very much like Visual Basic in its Syntax and form. It is easier to learn than C and C++.
Huh? VB has almost totally different syntax. I quess what you mean to say was

"C# is very much like Java in its Syntax and form."

Share this post


Link to post
Share on other sites
C++ IS easy.

It''s not because it''s difficult to master, that the language is difficult. A beginner isn''t planning to master it so soon anyway I think.

Share this post


Link to post
Share on other sites
quote:
Original post by thona
SabreMan - it is mostly your answer which is meaningless in the context.

Why, thankyou.
quote:

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

Let''s not assume anything, and let the OP tell us what he means by "easiest".
quote:

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

It''s also extremely useful under the right circumstances. The fact that there are other circumstances where it is not the right answer to a problem does not warrant it''s removal from the language.
quote:

It is also prooven that MI is unneeded.

In what way? Sure, a language is still Turing-complete without MI, but I don''t see how you can prove MI is unneeded without first defining what it means to "need" MI. The fact that MI exists as it does in C++ and I''ve found it useful in resolving some problems says to me that it is a feature worth having around.
quote:

Operator overloading - now, last time I used it C# had operator overloading.

I didn''t say it hasn''t. You gave it as an example of a "problematic" language feature.
quote:

Can it be you dont know what you talk about?

That''s entirely possible.
quote:

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.

Where did you get this figure from? Is it part of the 47.38% of statistics which are made up on the spot?

Share this post


Link to post
Share on other sites
quote:
Original post by Antony52
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++.


I''m not entirely sure what "easiest" means to you, but it is worth considering that there is a large intersection of C and C++ available as a subset of C++. If you consider that you don''t have to use all the language features all of the time, then it is perfectly possible to learn C++ by beginning with a useful subset of the language (which doesn''t have to correspond to the intersection with C), and it doesn''t really make sense to say C is easier than C++. It is worthwhile getting hold of Accelerated C++ to see how you can use the high-level features of C++ to write elegant programs without too much difficulty.

Ultimately, the answer to your question is only really going to come through personal experience, as I suspect your idea of "easiest" has some personal meaning to yourself depending on your interests, abilities and aptitudes.

Share this post


Link to post
Share on other sites
I am already learning C# but i always ask for opinions?I do know pascal,vb,qb,fortran etc but i believe it is time to try something new.And dont go about why dont you learn delphi since you know pascal.

Share this post


Link to post
Share on other sites
quote:
Original post by civguy
[quote]Original post by grasshopa55
C# is very much like Visual Basic in its Syntax and form. It is easier to learn than C and C++.
Huh? VB has almost totally different syntax. I quess what you mean to say was

"C# is very much like Java in its Syntax and form."

Yes, you are correct. I was trying to stay withing the .NET context. VB.NET and C# do have very similar syntax, however.


-----------------------------
kevin@mayday-anime.com
http://games.mayday-anime.com

Share this post


Link to post
Share on other sites
My opinion:

C and C++ - They are both fine and have future. They are the languages that are used most often in developing games, and I like them both.

C# - I don''t even want to think about it. First, because it''s so Microsoft. You learn it, you stick with Microsoft, and I hate that. I don''t want my games to be Microsoft-only games. It doesn''t mean I hate Microsoft, the same thing applies for Pascal (Borland). You know, a corporate''s language....eewwww. However, some people say it''s easier because of what-so-called garbage collection.


My compiler generates one error message: "does not compile."

Share this post


Link to post
Share on other sites
quote:
Original post by nicho_tedja
It doesn''t mean I hate Microsoft, the same thing applies for Pascal (Borland). You know, a corporate''s language....eewwww.

C# has an ECMA-ratified Standard, and Pascal has an ISO Standard. Neither of them are proprietary languages.

Share this post


Link to post
Share on other sites
quote:
Original post by Antony52
In your opinion which is the easiest C,C++ or C#?
Does C has any future?



The answer to this is all and none. What I mean by this is that C, C++ or C# are all pretty much the same since they''re all based on one anohter. Ie: C++ is just C with some new features, and C# is just C++ with some new features. So as far as which is easier, it''s the same thing as asking: Which came first, the egg or the chicken...

"DaHjajmajQa''jajHeghmeH!"

Cyberdrek
danielc@iquebec.com
Founder
Laval Linux

/(bb|[^b]{2})/ that is the Question -- ThinkGeek.com
Hash Bang Slash bin Slash Bash -- #!/bin/bash

Share this post


Link to post
Share on other sites
Whow, cyberrek - that was an ignorant post. I mean, the development of software developent styles of the last 30 years or so seem not to have reached you, right? I mean, C is not object oriented, C++ is, you know.


Regards

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

Share this post


Link to post
Share on other sites
C++? C? C#? Bleh. Learn C and Python. Then,the rest of them will come naturally. Oh yeah, C# is uh... how do you say it? A PIECE OF CRAP LIKE JAVA. It disturbs me to see so many people using so many inefficient languages.Either way, who really gives about platform compatibility? If everyone would just stick with a UNIX-alike, all we'd have to do is recompile. Screw Microsoft. I don't Windows. It's basically CP/M with some extras and a windowing system. Plus, HN sucks.

[edited by - Andrew Nguyen on August 12, 2002 12:44:18 PM]

Share this post


Link to post
Share on other sites
Now I''ll ask you thona, what''s so easy with OO languages? It''s elegant for an advanced developer who wants to code efficently, but I don''t think that it is easy to start with OO.
And C# is that easy? Some features are nice and I would like to see things like properties and events in C++, too. But MI is a feature I am missing. And is there any working implementation of C# that is not from MS?
Perhaps Antony52 should tell us, if he is a beginner or not.

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.