Hacker News new | ask | show | jobs
by apothegm 318 days ago
I was taught in C. Over 20 years ago. I’m massively faster in Python, and have been since about 6 weeks after I picked it up.

It sounds to me like part of that for you is about familiarity and another part might be about the specific problems you’re solving.

I’m usually working on solving problems at much higher levels of abstraction than string processing algorithms. For me, a big part of Python’s productivity is its ecosystem of useful abstractions (there’s an XKCD for that). And not having to worry about memory management or null pointers. How powerful exception handling is. Etc.

Python may in some ways be a more complex language, but I find it much simpler to reason about.

2 comments

Yeah, I think you’re right — Python really shines in many areas.

Honestly, a lot comes down to the person, the kind of problems they solve, their mindset… and sometimes, their scars.

I don’t even fully know why Python didn’t click with me. I understood it. I saw how fast it can be. But for some reason, I kept drifting back to C.

Maybe it’s just how my brain works. Maybe it’s where I found meaning. Hard to explain.

Ultimately, there are no right and wrong programming languages (except Visual Basic, lol, or maybe PHP 3). Sometimes a language is wrong for a specific project, but there’s nothing wrong with any particular language preference. I find it hilarious that there have been flame wars over the topic. So if you ultimately find more meaning or enjoyment in writing C code… sure, it’s not for everyone, but it’s awesome that you’ve figured out what you like!
It’s true — programming languages spark some of the fiercest debates. Everyone wants to defend the one that speaks to them.

That’s why it’s been such a pleasure having this kind of conversation — thoughtful, respectful, and grounded. Thanks again. I’ve really enjoyed it.

> For me, a big part of Python’s productivity is its ecosystem of useful abstractions

Yeah the huge amount of libraries that are readily available and can be used right away without messing with a complex build system is a huge deal.

For me personally, C# is like the middle ground. A language I like much better than Python but also has a fairly rich ecosystem, and usually nuget makes including dependencies easy.

That’s a great point — C# really does hit a sweet spot between control and convenience.

I’ve never spent serious time with it, but I’ve heard a lot of good things about the tooling and the ecosystem.

Maybe one day I’ll give it a try — especially if I ever need something with more abstractions but less ceremony than Python.

Thanks for sharing your take — it’s always helpful to hear how others find their flow.

I think when .Net 10 is released it's a good time to give it a whirl.

New in the upcoming release[1] will be the ability to run C# files as if they were scripts[2], ie without an explicit build step. Should lower the barrier to just fooling around.

I also like how they've gone away from the "everything must be an object" style ala Java, and allow top-level statements so it reads more like C/C++. It's just sugar, but for smaller programs that really makes a difference IMHO.

[1]: https://news.ycombinator.com/item?id=44699174

[2]: https://devblogs.microsoft.com/dotnet/announcing-dotnet-run-...

That actually sounds really cool. Being able to run C# like a script lowers the friction a lot. Thanks again.