If AI writes your code, why use Python?
Medium and reading UX
- Several commenters dislike Medium’s paywalls and intrusive UI, and recommend alternative frontends or extracting text into editors.
- Others defend Medium as a durable, monetizable host with a built‑in audience, analogous to newspaper paywalls.
Why still use Python with AI?
- Many say: use the language you know best, because you must still read, debug, and maintain AI‑generated code.
- Python is praised for readability, “pseudocode‑like” style, fast iteration (no compile step), and a huge ML/data ecosystem.
- Type hints plus tools (mypy/pyright/ruff/pydantic) are seen as important guardrails when using LLMs with Python.
- Critics argue Python’s dynamic nature hides bugs until runtime and becomes hard to reason about in large systems.
Arguments for Rust, Go, and other typed languages
- Strong static typing and strict compilers (Rust, C#, Java, Go, Haskell, OCaml, TypeScript, Elixir, Clojure, etc.) provide:
- Better feedback loops for agents (compile‑time errors as “free tests”).
- Smaller search space for LLMs, reducing slop and runtime failures.
- Easier navigation of large, AI‑generated codebases.
- Go is often highlighted as a “boring,” simple, fast‑compile, batteries‑included choice that LLMs handle well.
- Some report excellent results with Rust+LLMs, claiming fewer bugs vs Python and that the borrow checker becomes “invisible” to them via the AI.
Training data, benchmarks, and language quality
- One camp says: Python/JS dominate training corpora, so models work best there.
- Others counter that consistency of code (e.g., Go, Perl) may matter more than volume; Python’s corpus may be noisy and stylistically fragmented.
- Benchmarks cited (agentic coding evals, esoteric‑language studies) suggest:
- Compiled, statically typed languages often outperform Python for agentic coding.
- Models do poorly on tiny or esoteric languages, indicating reliance on training data rather than pure reasoning.
Human review, verification, and risk
- Many insist shipping unreviewed AI code is reckless; verification (tests, type systems, linters, property‑based tests, formal methods) becomes the hard, expensive part.
- Some advocate “vibe‑coding” prototypes in Python, then having AI port them to Rust/Go/etc. once requirements stabilize.
- Others are experimenting with dual‑language setups (e.g., Python reference implementation + Rust/TS/Elixir production).
Broader reflections
- Several predict dynamic languages will lose ground for production, but remain useful for quick scripts, notebooks, and ML.
- A recurring theme: the “best” language in the AI era is the one that maximizes:
- Static guarantees and compiler feedback for the agent.
- Readability and debuggability for humans.
- Library support for the problem domain.