C# or Python?

0 favourites
  • 12 posts
  • 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.

  • 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.

  • 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.

  • I've heard Python is a good starter language. It's clean and has some nice and intuitive features.

  • 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.

    This, basically. C# remains the only thing I've made anything vaguely decent in.

  • 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:

    http://www.google.hu/search?hl=hu&q=c%23+vs+python&aq=f&aqi=g1&aql=&oq=&gs_rfai=

  • 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.

  • Try Construct 3

    Develop games in your browser. Powerful, performant & highly capable.

    Try Now Construct 3 users don't see these ads
  • 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

  • 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!!

  • Thanks guys for all the feedback, it seems that Python is the most likely. I'm looking forward to hear more of your thoughts.

  • C# is easy to understand and learn....Lee

  • 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++.

    Start with c++ if that is your goal. The idea of learning on language to learn another is a bit of a waste of time and a bit of a round about.

    Nothing wrong with c# though. Visual studio is a great ide, c# is not closer to c++ simply because it has c in its name. It is closer than python though.

    Python is super easy but... idk. I don't like python or javascript. I like strict typing, if you know what that is... and that leads to better dev practices if you are wanting to move to c++

Jump to:
Active Users
There are 1 visitors browsing this topic (0 users and 1 guests)