login about faq


I want to learn programming and i have narrowed it down to these two. Realy it doesnt matter because ill probably end up learning both but still which one should i learn. (first)

asked Jul 08 '10 at 17:23

joegallagher's gravatar image

joegallagher
3865720


Depends on what kind of software you want to write.

  • C++: Games, OSs, Drivers, some applications
  • C#: Enterprise Architecture, applications, websites, some games

Also consider:

  • C++: Low-level
  • C#: High level

"A programming language is low-level when its programs require attention to the irrelevant"

answered Jul 08 '10 at 17:29

tsilb's gravatar image

tsilb
21.0k65199333

First i would ask what the program that you are planning to use to program is. I use Visual Studio 2010, but that is not cheap. I code in C#(Learning to...) and will start on C++ after i get good at C#. I went with C# first because of a suggestion and because it is newer. For anyone that doesn't know C# is pronounced C"Sharp".

answered Jul 08 '10 at 20:47

TheTechDude's gravatar image

TheTechDude
16.8k4094298

I would suggest C# because you can learn it by mashing your face against the keyboard...

C#

C++ is more difficult because there are non-standard aspects (aka. undefined behaviour, "what happens when you break the rules") which aren't portable and can cause subtle yet serious issues and misunderstandings.

answered Jun 18 '11 at 11:09

beStoN's gravatar image

beStoN
216239

If I remember correctly C# is going to die very soon. As in Microsoft no longer supporting it. So C++ would be better in that case. But, I would suggest that you learn C. With no # or ++. C works on most Operating Systems not just Windows. But, if you a way to easily create normal Windows app, or use for Website (If are thinking about that, don't use C#, or anything like it, it will cast you a lot to host).

answered Jun 18 '11 at 12:09

Mab879's gravatar image

Mab879
401311

I would say learn C#. That's the path I chose, mostly because it is newer. Some argue that C# is more powerful. C# is also easier to learn if you come from any other language, because it has elements of three languages: Basic, C++ and Java. You can also run Microsoft Visual Studio Express for free. Combine that with Microsoft XNA Framework 4 (Also free) and you're set for building PC games or even xBox 360 games. So, if you are going to write games or enterprise quality software, I would say go for C#.

answered Jun 18 '11 at 12:25

Facepalm41's gravatar image

Facepalm41
1

If you don't know any languages and you want to learn in hopes to become a programmer, as in, you'r not just interested and want to use programming as a tool, not a career, learn C#, it is allot more simple, less ways to make headaches... If you are interested in becoming a programmer DONT LEARN ANY OF THESE LANGUAGES... You should always work from the bottom up when learning somthing... The same applies to programming and learning programming... When you make a big project, first you plan, which starts out at a very high level of abstraction then gets smaller... then you make these small complex systems so that the wole system can use the tested and working moduals... I don't know why I went so into that it doesn't matter... anyways, learn C first, yes I know, it doesn't do all that C++ can do, still, it will punish you'r poor programming and make you do it correct, later on when you are better, C++ is the optimal language to use as it will allow you to make the program work the way you need it to, but start at C, move to java, possibly try assembly as after learning C and java your low level algorythms should be up to par, although, from personal hatered of assembly, I'm not gonna recomend it... then move to c++ finally once you understand where and how it came to be a language through C and Java.

answered Jun 18 '11 at 13:32

falconmick's gravatar image

falconmick
1112

1

C and Java aren't really low level. The C standard defines the language in what is known as an "abstract machine" which means that they use a theoretical architecture to explain it. Java has many of the same "high-level" features as C#. The only machines that could consider C or Java low-level are those that execute C or Java source code natively, rather than using machine code to translate the source code.

Many consider C fairly "low level" because the x86 architecture was modelled around executing C code. Try executing that C code on a LISP machine and you start to realise that C is actually high level on that LISP machine; In fact, you'll probably find Javascript is more low-level than C on those machines! C probably isn't very low-level to GPU processors, either, because GPUs don't have the same branching mechanisms.

(Jun 19 '11 at 05:20) beStoN beStoN's gravatar image
Your answer
toggle preview

Follow this question

By Email:

Once you sign in you will be able to subscribe for any updates here

By RSS:

Answers

Answers and Comments

Markdown Basics

  • *italic* or __italic__
  • **bold** or __bold__
  • link:[text](http://url.com/ "title")
  • image?![alt text](/path/img.jpg "title")
  • numbered list: 1. Foo 2. Bar
  • to add a line break simply add two spaces to where you would like the new line to be.
  • basic HTML tags are also supported


Join Us in the Chat Room

Tags:

×539
×222
×90
×55
×16
×6

Asked: Jul 08 '10 at 17:23

Seen: 2,743 times

Last updated: Jun 19 '11 at 05:20