Hacker News new | ask | show | jobs
by kumarvvr 2142 days ago
I am good with Python and C#
1 comments

Then ASP.NET is probably the superior choice. C# is a better language by far and the .NET runtime is a better runtime by far.

It only ever makes sense to use Python for data-science one-offs and munging if you have competency in Java/C#/etc. It's not a language well suited to application development.

I work mostly in Python and I like it. However, C# is a great, and for some reason underrated, language that is certainly better along a number of dimension.
I didn't downvote, but IMO it's only half true: C# and the runtime really are excellent. But the C# library ecosystem is much smaller than the Java, JavaScript, PHP, and Python ecosystems (and even Go/Rust for a lot of things), and there are even quite a few commercial (paid for) libraries! This may not matter for a particular project, but for me it's significant enough to not make C# a universal recommendation.

Hopefully it changes now that C# is open source, but for now it's quite a big downside.

Also, historically C# ran terribly on Linux, or had a bunch of gotchas when it came to interfacing with the rest of the MS ecosystem.

I don’t know if that is still true today.

It’s no longer true (at least the performance bits), especially with the upcoming release of .NET 5.
Don’t understand why you got downvoted. I work in a Python shop and 100% agree with you.
Look at the number of sweeping absolutes presenting their opinion as a global truth, with no supporting evidence presented.

Threads which start like that rarely end up contributing anything of value or convincing anyone who didn’t already agree with the author.

Because he say's a hammer is far better then a screwdriver, and Metal is far superior to wood.
Yeah I think my mistake is posting a response to a question about which language to use in a Python thread and not suggesting Python.

I work with Python every day and have for years and it's strengths and weaknesses are readily apparent to me but not to everyone apparently.

Try rewriting your comment like an engineering discussion than an opinion piece: share that experience with specific details about things which worked better or worse, using enough detail for anyone else to be able to decide whether your environment is enough like their own to be applicable.

Since this is a Django thread, that could be covering things about, say, why you prefer .Net forms or trade offs from various ORMs.

I think C# is a quite respectable language so you could cover, say, why its typing is more productive than something like mypy or how package management compares.

>C# is a better language by far and the .NET runtime is a better runtime by far.

Big nono!!

I don't see how this is controversial...

C# is a powerful language that is highly expressive, has a great type system, excellent compiler and great IDE, excellent async support, fast HTTP stack in standard library, blessed application development framework and object relational mapper, etc. Basically everything you could ask for in an ecosystem for developing a long-lived web application.

Python is a scripting language which is great for one-offs and has great data-science libraries but lacks static typing, poor IDE experience, slow runtime performance, poor portability because of it's reliance on FFI, poor long-term application maintenance track record, no blessed frameworks, competing and incompatible async solutions, etc.

Tbh I don't think there is much contest. Yes you can write a bunch of Python quickly that will do something but if you already know C# which is much better suited for the task it's clearly a better choice.

>Tbh I don't think there is much contest.

Maybe but you should always ask for what, that's the main-point. Sometimes Java or even Javascript/Node is the best stack. Many many point's play into a decision for a web-stack, maybe he wants that "quickly", maybe he works in a C# shop and so on....