4 ms·
I love and use both, so here's my two cents: (Context: I am not a 'hardcore programmer'. I don't use vim or emacs because I'm simply faster/more productive wit
by neil_s 13y ago
I love and use both, so here's my two cents:
(Context: I am not a 'hardcore programmer'. I don't use vim or emacs because I'm simply faster/more productive with an editor that I don't need to go through a learning curve for. I am not averse to the command line, but GUIs can be advantageous at times too.)
Python is great. It's free, and available on every platform I care about. It has libraries that do absolutely everything in the world right out of the box.
C#/.NET is great too. It keeps everything structured, the syntax just makes sense, and Visual Studio is the best IDE I've ever used, with great debugging tools and smooth integration of everything you require (I've even started using the built-in git control at times).
However, when I was previously using a Mac as my main machine, .NET programming was largely ruled out for practical purposes. For similar reasons, finding web hosts for my ASP.NET MVC applications (which is an AWESOME framework btw) was harder and costlier. Visual Studio was free for me as a student, but the pricing would be absolutely ridiculous if I had to pay for it myself. On Python, I have a ton of choice, eg for a web framework I could choose a barebones HTTP server, or web.py, or something as heavy-weight as Django. On .NET, I'm pretty much restricted to ASP.NET, and if I don't like its defaults or the convention over configuration aspect, I'm so outta luck. In fact, for less common things, like client API libraries for specific websites, I might only find implementations in Python and Ruby, not C#. If I want help or to find documentation, the Python docs suck IMHO, but the community is amazing, whereas the community for ASP.NET isn't as robust in my opinion. There are many python experts who will happily explain obvious-in-retrospect things, whereas with .NET I'll sometimes get stuck with configuration files and what not that make no sense to me or to anyone willing to help. Lastly, if I want to quickly throw a script together for a puzzle or online coding competition, Python feels a lot more light-weight and easy to get started with than C#.
Python has a lot of downsides too, but I've got to cut this comment short now. The point is, each language has its own pros and cons - try Python for a few weeks and you might find that it isn't as one-sided as you think.