C# or Python?

Chat about anything not covered in these forums, but keep it civil!

Post » Fri Oct 22, 2010 11:56 am

Hi guys,

I'm really interested in learning programming and having it as a everyday hobby. I did quite a lot of research to find a language that gives a good foundation of programming while being something that isn't too hard to understand.

My best picks were C# and Python, the problem is I can't pick between these two and I have no I idea which one I should start with.

Information:

1. I need a language that gives me a solid foundation of programming and doesn't give me any bad habits when migrating to harder languages such as C++.

2. Easy to pick up and immediately start writing programs.

3. I'll be writing programs in Windows only.


I'm very grateful for those who can share their thoughts and comments. I'll be getting feedback from a couple of forums and see which is the best for me.

Oh and your welcome to suggest other languages, if you recommend it I'll take a look.

Thanks.
B
1
G
2
Posts: 6
Reputation: 637

Post » Fri Oct 22, 2010 12:32 pm

My personal opinion would be C#.It's not the easiest language in the world but it's more versatile.And if you can do c# then going to a harder language like c++ would be easier.
B
22
S
3
G
6
Posts: 1,356
Reputation: 7,141

Post » Fri Oct 22, 2010 1:10 pm

With those requirements C# is the obvious choice. Visual Studio's GUI builder is unbeatable so you'll be building useful GUIs immediately. C# has significantly more in common with C++ than Python does.
B
17
S
6
G
6
Posts: 113
Reputation: 4,161

Post » Fri Oct 22, 2010 2:56 pm

I've heard Python is a good starter language. It's clean and has some nice and intuitive features.
Scirra Founder
B
359
S
214
G
72
Posts: 22,952
Reputation: 178,610

Post » Fri Oct 22, 2010 3:08 pm

[quote="Trevor10":hwkur80p]With those requirements C# is the obvious choice. Visual Studio's GUI builder is unbeatable so you'll be building useful GUIs immediately. C# has significantly more in common with C++ than Python does.[/quote:hwkur80p]
This, basically. C# remains the only thing I've made anything vaguely decent in.
B
2
S
2
G
3
Posts: 193
Reputation: 1,636

Post » Fri Oct 22, 2010 4:12 pm

I heard from IT teachers, they prefer teaching Python for starters, as it is without any unnecessary stuff, so it is clean and brief. So for the first objective - to think like a computer programmer - it fulfills easily its purpose. It forces you to use the advanced Object oriented programming - that kind of thinking also takes quite a few weeks to take up.
It will also quickly grant you success for hobby tasks, as its external libraries are very fine, (Pygame,...) I took up Python this summer, and created a playable platformer remake in approx 1100 lines. Pygame is so kewl.

However, for long-term business purposes, C# seems to be a more solid choice.

So would suggest learning the basic programming and advanced OOP thougths with Python - for quite a few months. Then perhaps familiarize yourself with libraries (Pygame - for gfx and game creation), and if you are not pleased switch to the versatile C# in the meantime.

Bad habits can be picked up in C++ itself, mixing pure C with C++ methods. For clean OOP thinking python will teach you good grounds.

Also look at other opinions on net:
[url:1yw17qlf]http://www.google.hu/search?hl=hu&q=c%23+vs+python&aq=f&aqi=g1&aql=&oq=&gs_rfai=[/url:1yw17qlf]
B
2
G
2
Posts: 51
Reputation: 752

Post » Fri Oct 22, 2010 4:32 pm

if you feel confident i'd say you're better starting with C#. If not then start with Python. I say this because C# is much more versatile as was said, but mainly, if you are going to program games, the engines\frameworks for C# are much much better than the ones for Python; If you're gonna make applications C# wins flawlessly... etc. Personally for me C# wins in almost all aspects except syntax cleanliness. But... if you're just starting and want to have a soft learning then Python is better.
B
58
S
13
G
10
Posts: 632
Reputation: 12,515

Post » Fri Oct 22, 2010 11:03 pm

I don't know too much about c#, so maybe someone can expand upon whether that comes with it's own similar problems, but python has a few features and idiosyncrasies that I think will require you to later relearn things, that are common to most major languages, whereas I hear c# is very c-like.

things like using horizontal whitespace to block a subprogram. not have to declare any variables. and inheritance and classes in general are very awkward in python, and to me seem like bad starting points for learning about them. I know classes are something you're going to learn in the first few weeks, but they arrive precisely when programming starts to get really powerful and interesting. so why not already be in a language that will make them both easier to understand, and better prepare you for other languages.

Also, as others said, C# is popping up everywhere. it's getting bigger, where python seems to have it's place, but not one in constant large scale growth
Spriter Dev
B
88
S
21
G
12
Posts: 3,240
Reputation: 16,486

Post » Sat Oct 23, 2010 3:52 am

I've programmed in both C# and Python.... Python is much easier to learn and immediately start making programs. However, C# is going to be closer in syntax to C++ and would probably prepare you better to transition to that. Also, C# has a really sexy interface (Visual Studio) with auto-completion, hints, etc...

My view is if you can learn one language you can learn any of them. More importantly there is more to programming than just syntax. You need to know data structures (arrays, lists, queues, stacks, maps/hash tables), need to know Classes and objected oriented concepts. How to design a program... then you have to learn syntax as well.

I don't think you can go wrong with either choice. Pick one and get started!! :D
B
8
S
3
G
7
Posts: 835
Reputation: 5,313

Post » Sun Oct 24, 2010 3:09 am

Thanks guys for all the feedback, it seems that Python is the most likely. I'm looking forward to hear more of your thoughts. :)
B
1
G
2
Posts: 6
Reputation: 637

Next

Return to Open Topic

Who is online

Users browsing this forum: Hetrogames1, LoneVox and 6 guests