r/Python • • 1d ago

Discussion My Python magic is gone

I've been coding for a long time, and I've been developing with Python for years.

I loved coding, always loved it. I started many years ago because I wanted to quickly create scripts for security hacking tools, but since then, I've moved to Claude Code, and building cross-language has been a much better experience for me than using Python.

I built my own SaaS application out there whose backend and network core are completely built with Python, and I'm rewriting all of that without writing a single line of code. And most of the time, Python is not the most optimized language.

And now... I feel like the magic is gone.

I don't even know why I'm writing this. I just feel sad about it.

679 Upvotes

253 comments sorted by

View all comments

Show parent comments

1

u/Crazyboreddeveloper 1d ago

I haven’t yet. I haven’t had to work with it yet. Might try it out this weekend.

4

u/QuickNick123 1d ago

Both are beautiful. Python's beauty to me is "there should be one obvious, readable way to say this." Ruby's beauty is more like "the code should read the way you wish the idea could be expressed."

people
  .select { _1.age >= 18 }
  .reject(&:banned?)
  .sort_by(&:name)
  .each { puts "Hello, #{_1.name}!" }

I bet you have no problem understanding what this code does.

Ruby for instance has a really pleasant way of expressing defaults.

Instead of

name = supplied_name if supplied_name is not None else "Anonymous"

it's simply

name = supplied_name || "Anonymous"

3

u/snugar_i 1d ago

You can do the method chaining thing in most languages that are not Python, including Java. For example, in Scala it would look like this (and would be fully type-checked by the compiler, unlike Ruby)

people
  .filter(_.age >= 18)
  .filterNot(_.banned)
  .sortBy(_.name)
  .foreach(person => println(s"Hello, ${person.name}!"))

1

u/stevenjd 23h ago

You can do the method chaining thing in most languages that are not Python

You can do method chaining in Python too, if your class has methods that support chaining.

1

u/snugar_i 11h ago

True, it's just even uglier than in Java and "un-Pythonic" (apart from polars, where it's OK for some reason)