Jump to content

c# or c++?

theonlinegamer296

Should I learn c# first or should I jump straight into c++?

 

Thanks

 

-theonlinegamer296

Link to comment
Share on other sites

Link to post
Share on other sites

cough Java cough

Me: Yeah I just really can't get my H220 working again, I've tried everything that was suggested in the forum.

Brian (Swiftech Support): Hmm, have you tried slapping it?

Link to comment
Share on other sites

Link to post
Share on other sites

id go with c++ but Owen has a point that java is easier to start with and is friendlier 

X79A GD65 (8D), 3820, 7770, 16GB (1600Mhz cas9), 850watt(ocz zx), storm trooper, h100, xonar xense, sp2500, pc350, asus PA248Q LG 22'' ips, razor black-widow ultimate 2013, 120GB intel 520 series 128GB crucial M4 2*3TB barracuda 2*1TB barracuda 2TB Hitachi 

 

Link to comment
Share on other sites

Link to post
Share on other sites

Depends on what you want to do really. If it's game development, c++ is the way to go. If you want to create websites and applications, C# is probably better.

 

DISCLAIMER: Please bare in mind these are my opinions

 

Having said the above, if you are interested in game development, take a look at XNA or Unity.

Link to comment
Share on other sites

Link to post
Share on other sites

As stated, it depends a bit on what you intend to do. First "real" programming language

I learned was C++, and the basics aren't that difficult. Since both C++ and C# owe much

of their heritage to C anyway, the learning curve at the very beginning probably won't

be that much different between the two (I'm not very familiar with C#, so if this is

hideously wrong, somebody feel free to correct me).

I can't speak for C#, but C++ can become ridiculously complex once you've advanced to

a certain level. However, learning C++ has been quite a good investment of my time, even

though I prefer C for most things (less clutter within the language imho).

Bottom line (personal opinion): Find out what you wish to do, then decide based on that.

If you want to learn purely for the sake of learning I'd say C++, but then again I'm

a Linux guy and have probably a bit of a bias. ;)

BUILD LOGS: HELIOS - Latest Update: 2015-SEP-06 ::: ZEUS - BOTW 2013-JUN-28 ::: APOLLO - Complete: 2014-MAY-10
OTHER STUFF: Cable Lacing Tutorial ::: What Is ZFS? ::: mincss Primer ::: LSI RAID Card Flashing Tutorial
FORUM INFO: Community Standards ::: The Moderating Team ::: 10TB+ Storage Showoff Topic

Link to comment
Share on other sites

Link to post
Share on other sites

C# to me seems too.. Microsofty. Then again Java has its own issues. I started with Java as my first comprehensive programming language and then moved into C++ to learn the good stuff. C# could be your alternative to Java (both share a lot of features) so i'd start with the more user-friendly of the two (C#) then hit C++.

Link to comment
Share on other sites

Link to post
Share on other sites

The first language I learned was C# (in high school). I find it really similar to Java whenever I need to write things in Java, so it's worth a shot.

Link to comment
Share on other sites

Link to post
Share on other sites

Thanks for the help guys!

 

As unity seems to want c# and/or java I will probably learn those 1st and then c++ when I need it.

Link to comment
Share on other sites

Link to post
Share on other sites

I mainly write my code in C# as the tooling I use for developing requires it. I started out with Java at Uni and it worked well for me. When I discovered C# and tried it out rainbows and tears of happiness exploded in my face. I have grown to like C# a lot. I can't live without LINQ, ReSharper and the development environment as it is made out of pure awesomeness.

 

I might not be the best person to ask, because I am super biased about this, but C# is way better and more clean than Java, delegates and events are more clean than with Java. Properties are super awesome and I don't have to write stupid get/set methods for everything. C# is super cross-platform it runs on Windows, Linux, Mac, iOS, Android, WP, WinRT, Playstation, Xbox, PSP etc. It might even beat Java in how many platforms it runs on. Ever since Oracle took over Sun I feel that the Java community has been neglected and Java is slowly being washed out in the drain. I seet it as Android is artificially keeping Java alive.

 

I don't know much about C++, but as any languages it has its pros and cons and is used a lot in the gaming industry. I guess that is because it's zero overhead philosophy, otherwise C would have probably used a lot as well as games require performance. However it is regarded as a "Horrible Language" by people like Richard Stallman and Linus Thorvalds.

 

If you want to write games using Unity, I would personally use C# as I feel the tools are better, but either way you will learn the basics and you will be able to use the principles you learn with one of the languages with the other language and then be able to find out for yourself which one you prefer.

Link to comment
Share on other sites

Link to post
Share on other sites

However it is regarded as a "Horrible Language" by people like Richard Stallman and Linus Thorvalds.

Ah yes, I remember reading Torvald's rant about C++. Personally I'm probably not good

enough at either C++ or C to really judge this with any sort of accuracy (and I'm

pretty sure I would be classified as one of those people writing horrible code by

Torvalds, but since I'm not a professional I can live with that :lol: ). I just

usually prefer C because C++ has just so much stuff that I could never use with

any sort of efficiency due to lack of experience (templates, for example). And I'm

not one of those people who think OOP is a religion which every piece of code has

to adhere to. Not that I despise the language as much as Torvalds, I just don't have

the time to learn it well enough to really exploit it properly, at least at the moment.

Plus, I'm sort of fond of the minimalist approach to things, and the fact that C is a

rather small language with regards to its feature set (all the C++ books I've ever seen

have been much thicker than any C book I've come across for example) makes me prefer

C over C++ in most cases.

Anyway </ramble> ;)

BUILD LOGS: HELIOS - Latest Update: 2015-SEP-06 ::: ZEUS - BOTW 2013-JUN-28 ::: APOLLO - Complete: 2014-MAY-10
OTHER STUFF: Cable Lacing Tutorial ::: What Is ZFS? ::: mincss Primer ::: LSI RAID Card Flashing Tutorial
FORUM INFO: Community Standards ::: The Moderating Team ::: 10TB+ Storage Showoff Topic

Link to comment
Share on other sites

Link to post
Share on other sites

Here is my two cents. If your school is teaching C++, take it. It is a hard language to take on alone, but because your school is teaching it it will be easier to learn because you have help from people who all ready now it availabe to you. That comes in handy. After C++ you can get your hands dirty with a different language like C#., That is a good language or you can go with Python to learn code conventions and learn how to script! Comes in handy!

Do you want to know what grinds my gears?
The old forum.

Link to comment
Share on other sites

Link to post
Share on other sites

I've worked with both, C++ and C#, professionally for several years apart from other languages and I find that C# offered an overwhelming number of advantages / features that C++ didn't and made me finish applications faster than I thought. I did a lot of data processing, parallel processing, business apps, web apps etc.

Link to comment
Share on other sites

Link to post
Share on other sites

I would say go with C++. The thing is with modern languages things have been made very easy. Once you have a good handle of C++ you understand a lot about how the computer works and will be able to apply that to any language. C++ really gives you a free hand to work and play with system resources like memory, storage, graphics. Once you start writing programs you will figure out how these resources actually work internally, and how to fix errors and how things really work in the system.

GUI assisted programming languages make is so much easier to program, as they generate the code for you, but you miss out on a lot of the system internals! so i would graduate to something like C# only after learing C / C++ / Java.

 

But thats just my opinion cause thats how i went about it and to this day i thank C & C++ for a lot of my understanding of how the system works internally.

 

Regards

DL

Link to comment
Share on other sites

Link to post
Share on other sites

Yeah I haven't learnt C#, and I'm new to programming, but in my opinion, C++ is more fundamental. If you can't do something in C# which can be done in windows at all, you have to write it in C++, or "Native" code. Python can also be extended with C++ (correct me if I'm wrong). C++ is a pain to learn once you leave the console, but it's rewarding and useful for other languages too. Not to mention that when you start other languages in the future, you'll find that they're actually really easy in comparison. I have actually only learnt C++, and am doing a bit of HTML/CSS/javascript now, so I'm a bit biased and inexperienced, but that's what understand to be true.

EDIT: http://linustechtips.com/main/topic/10722-programming-faq/

HTTP/2 203

Link to comment
Share on other sites

Link to post
Share on other sites

Personally I would go with C++ and once you get a good feel of C++ everything else will seem so much easier. Except asm. Nothing beats asm in my world.

 

 

Link to comment
Share on other sites

Link to post
Share on other sites

I think you should start by a simple language like C or C++ without worrying about making class'.

Once you get good at it you should start with Object Oriented Programming.

 

The problem with C# is that it's totally Object Oriented, so you could get lost before understand how to write code nicely, C# is great for making tools with a GUI (like the "Borderlands Advanced Settings" tool).

My dream in life is to live of quality internet fiber and junk food.

Link to comment
Share on other sites

Link to post
Share on other sites

Should I learn c# first or should I jump straight into c++?

 

Thanks

 

-theonlinegamer296

C# has some stupid rules, I haven't tried C++ but from what people have said it's enjoyable.

Link to comment
Share on other sites

Link to post
Share on other sites

C# has some stupid rules, I haven't tried C++ but from what people have said it's enjoyable.

 

What do you mean it has stupid rules? What are you referring to?

Link to comment
Share on other sites

Link to post
Share on other sites

C# has some stupid rules, I haven't tried C++ but from what people have said it's enjoyable.

I think that the most stupid thing in C# is that manipulating pointers is considered "unsafe".

Either you know what you're doing or you're not.

My dream in life is to live of quality internet fiber and junk food.

Link to comment
Share on other sites

Link to post
Share on other sites

What do you mean it has stupid rules? What are you referring to?

You can't assign a larger type of variable to a smaller variable (a double to a float, for instance). The program will literally crash when you do this.

Link to comment
Share on other sites

Link to post
Share on other sites

You can't assign a larger type of variable to a smaller variable (a double to a float, for instance). The program will literally crash when you do this.

 

That's not stupid, that's type-safety. Doing exactly what you described is violating the rules of strongly-type languages. You always need to cast.

 

I think that the most stupid thing in C# is that manipulating pointers is considered "unsafe".

Either you know what you're doing or you're not.

C# is a managed language with manual garbage collection. It's a feature of the language not to allow pointer manipulation in the standard environment. While I do like being able to manipulate pointers, it's a feature of C# that it abstracts that degree of control away from the programmer. If you don't like it, don't use the language, but on a whole, the language is sound given the practices and principles the original creators were going for.

Link to comment
Share on other sites

Link to post
Share on other sites

 

That's not stupid, that's type-safety. Doing exactly what you described is violating the rules of strongly-type languages. You always need to cast.

 

Exactly this. Why on earth would you complain about the inability to assign a long to an int? The whole point is that type-safety is enforced. Though when you say it crashes, I hope you mean the compiler complains about it.

Link to comment
Share on other sites

Link to post
Share on other sites

 

That's not stupid, that's type-safety. Doing exactly what you described is violating the rules of strongly-type languages. You always need to cast.

 

C# is a managed language with manual garbage collection. It's a feature of the language not to allow pointer manipulation in the standard environment. While I do like being able to manipulate pointers, it's a feature of C# that it abstracts that degree of control away from the programmer. If you don't like it, don't use the language, but on a whole, the language is sound given the practices and principles the original creators were going for.

 

Exactly this. Why on earth would you complain about the inability to assign a long to an int? The whole point is that type-safety is enforced. Though when you say it crashes, I hope you mean the compiler complains about it.

Oh, I'm a beginner in C# and was never taught that you could do it at all. If you're able to "cast" and allow it to happen then it makes sense that this would occur.

Link to comment
Share on other sites

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×