Ibo_kudratov's blog

By Ibo_kudratov, history, 17 hours ago, In English

When comparing programming languages, especially for competitive programming (CP), there's a clear winner: C++. Its efficiency, control over memory, and extensive STL (Standard Template Library) make it the go-to choice for top-rated users. Algorithms run faster, and intricate operations can be executed with minimal overhead. That’s why most competitive programmers swear by it.

However, no matter how good C++ is for CP, there are moments when it feels cumbersome, and I just want to switch to Python for its simplicity and elegance. For example, list comprehensions in Python are an absolute delight. With just a single line of code, you can perform complex operations on lists—something that would require several lines of loops and conditions in C++. It’s not just about saving keystrokes; it’s the readability and expressiveness that Python offers, making coding feel less like a chore and more like a creative process.

As an example, I’ve attached two photos of the quicksort algorithm implemented in both languages: Python and C++. The difference is striking.

cod

code

And I genuinely tried to write the C++ code in the simplest way possible, but even then, it remains much more verbose compared to Python.

  • Vote: I like it
  • 0
  • Vote: I do not like it

»
17 hours ago, # |
  Vote: I like it 0 Vote: I do not like it

Indeed, coding in Python is easier to read and simpler than coding in C++.

»
17 hours ago, # |
  Vote: I like it +3 Vote: I do not like it

those codes are not equal, python one uses $$$O(n\log n)$$$ memory on average, and $$$O(n^2)$$$ at worst. c++ code is always $$$O(n)$$$ memory.

and with c++20 ranges you can achieve same code length as in python, if used correctly.

  • »
    »
    17 hours ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    but I doubt it would be as readable as python code

»
17 hours ago, # |
  Vote: I like it 0 Vote: I do not like it

Python is in general very readable. Only the basic knowledge of English is enough to understand it.

Just like in the photo, anyone who doesn't know python will understand the code.