| ▲ | SamuelAdams 9 hours ago |
| I love working with dotnet, but lately I’ve been writing more backend applications in Python. The code is simpler, testing is simpler since method privacy doesn’t really exist, and code is quicker to deploy because you do not have to compile it. This could also change but in my experience AI is better at generating Python code versus dotnet. |
|
| ▲ | martinald 9 hours ago | parent | next [-] |
| Problem is though Python is slow at runtime. May not matter for many use cases, but I've worked with a lot of startups that suffered terrible reliability problems because they chose Python (or Rails, or Node to some extent) and the service cannot handle peak time load without a lot of refactoring and additional app servers. Depending on your framework Python is at best ~3x slower (FastAPI) and at worst ~20x (Django) than asp.net on the techempower benchmarks, which maps pretty well to my real world experience. |
| |
| ▲ | casper14 9 hours ago | parent | next [-] | | Can confirm. Just finished load testing a FastApi service. Now the biggest selling point is that a lot of real backend never experience the level of load where this actually matters | |
| ▲ | mynameisash 8 hours ago | parent | prev | next [-] | | I don't spend a lot of time building services, but the last few I've done, I actually went straight to Rust. The downside is that it's quite slow to develop -- I probably don't have the knowledge that others do, but it seems that frameworks could really use some work. That said, I love that I can find and fix most my problems during development. Building a service in Python means I'm constantly fixing issues in production. .NET is certainly better than Python, but I'm not very happy with the type system and the code organization versus my Rust projects. | |
| ▲ | jtbaker 7 hours ago | parent | prev | next [-] | | Not saying that it’s necessarily the right choice, but it opens up contributions to code to a broader user base and making those rapid iterations that tools like fastapi allow can be pretty important when proving out a concept early on. Horses for courses… also, a Horizontal Pod Autoscaler and Load Balancer setup is pretty cheap. | |
| ▲ | WD-42 8 hours ago | parent | prev [-] | | Most web apps are waiting on the DB anyway. Rarely have I seen the speed of the actual framework make any meaningful difference. |
|
|
| ▲ | sanex 9 hours ago | parent | prev | next [-] |
| If you don't want your methods to be private make them public? |
| |
|
| ▲ | UltraSane 9 hours ago | parent | prev [-] |
| I'm moving from Python to Java because of how much easier it is to actually use all CPU cores in Java and strict typing prevents so many bugs and it is much faster. I don't think it is actually that much more complicated than Python in 2025. |
| |
| ▲ | martinald 9 hours ago | parent | next [-] | | Agreed. It's sort of crazy how little people understand about multicore software design given nearly everyone is using machines with >8 CPU cores these days (even a cheap android phone tends to have 8 cpu cores these days). In python and node it is _so_ painful to use multiple cores, whereas in .net you have parallel for loops and Task.WhenAll for over a decade. Java is similar in this sense that you don't have to do anything to use multiple cores and can just run multiple tasks without having to worry about passing state etc between 'workers'. This actually becomes a really big problem for web performance, something I'm deeply passionate about. Not everything is just IO driven holdups, sometimes you do need to use a fair bit of CPU to solve a problem, and when you can't do it in parallel easily it ends up causing a lot of UX issues. | | |
| ▲ | fijiaarone 7 hours ago | parent | next [-] | | On most cloud deployments, you get one shared “virtual” core — whatever that means. | | |
| ▲ | UltraSane 7 hours ago | parent [-] | | No you get how ever many you choose and are willing to pay for. 1vCPU is not good for very much. |
| |
| ▲ | UltraSane 7 hours ago | parent | prev [-] | | Even Guido van Rossum admits that if he had known how common high core count CPUs would become he wouldn't have chosen to use the GIL |
| |
| ▲ | mlhpdx 8 hours ago | parent | prev | next [-] | | That’s one reason I’ve preferred .Net. Put ahead of time compilation on top and it is glorious. | |
| ▲ | zem 8 hours ago | parent | prev [-] | | out of curiosity, why not kotlin? I had the impression it was the jvm language to reach for by default these days. | | |
| ▲ | a57721 6 hours ago | parent | next [-] | | I am doing backend in Kotlin, but I must admit that Java has been catching up quickly, and it seems like Kotlin has been shifting its focus to Kotlin Multiplatform. Modern Java is a good, pleasant language and a safer bet. Gradle with Kotlin DSL is nice, what's annoying is Gradle's constant API reshuffling for the sake of it that breaks plugins. Some plugins also introduce pointless breaking changes just to have a fancier DSL. The IDE support is not an issue in practice, in my opinion, because IDEA is the best IDE for both Java and Kotlin. The official Kotlin LSP was released 6 months ago, but I haven't tried it. | |
| ▲ | UltraSane 7 hours ago | parent | prev | next [-] | | I'm dabbling and like it but there is just SO MUCH JAVA code. There are 1000 Java examples for every 1 Kotlin. Maybe LLMs make this less of an issue now though. | |
| ▲ | lock1 8 hours ago | parent | prev [-] | | Has too much sugar, and without JetBrains IDE you're stuck with a plain text editor. Not sure if it's generalizable to normal Kotlin or not, but learning Gradle Kotlin DSL made me want to rip my hair out when trying to understand what happens under the hood. |
|
|