Bob Belderbos's Avatar

Bob Belderbos

@bbelderbos.bsky.social

Co-founder @pybites.bsky.social. Python developer & coach helping devs level up with project-based learning & modern Python. Start here β†’ https://pybit.es

1,134 Followers  |  56 Following  |  769 Posts  |  Joined: 19.11.2024
Posts Following

Posts by Bob Belderbos (@bbelderbos.bsky.social)

Pybites Podcast 218: Why Python developers are learning Rust
Join our friendly Python Developer Community for free: https://pybites.circle.so/ πŸŒπŸ‘‹___Rust is everywhere - in your tools and in your stack - and has been ... Pybites Podcast 218: Why Python developers are learning Rust

New Pybites podcast is live -> Why #Python developers are learning #Rust

Check it out here: www.youtube.com/watch?v=-5u... and let me know if you're into Rust or planning to learn it this year ...

04.03.2026 10:26 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Sweet, goes to show how important tooling in Python is!

04.03.2026 08:18 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Preview
Pybites Platform | Master Python Through Hands-On Coding Overwhelmed by tutorials? Stop consuming books and courses! Confidence will come through a lot of deliberate practice. Our platform helps you master Python and grasp Pythonic best practices.

I hope these docs will contribute to a more friction-free way to learn.
Check it out at Help β†’ Docs.

Not on our platform yet? Start learning Python for free. 🐍 πŸ“ˆ
pybitesplatform.com/via/bob

04.03.2026 08:15 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Have you ever abandoned a tool β€” not because it was bad, but because you couldn't figure out how it worked fast enough? πŸ’‘

04.03.2026 08:12 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

Good docs don't just answer questions. They remove the moment of doubt that makes people walk away.

04.03.2026 08:12 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

The best developer tools (Stripe, Vercel, Linear) treat docs as a first-class citizen and so should we from here on for all our products ... πŸ“ˆ

04.03.2026 08:12 β€” πŸ‘ 3    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Post image

Not having (complete) docs earlier has been a miss!

And with AI, it's now easier to fix than ever.

Last week we added the whole suite to our @Pybites platform πŸ‘‡

No more people abandoning the app because it's unclear how it works. 😱

04.03.2026 08:12 β€” πŸ‘ 1    πŸ” 1    πŸ’¬ 1    πŸ“Œ 0
Learn Rust for Python Developers | Pybites Rust Platform

Learn Rust with our 8 tracks + 60 exercises -> rustplatform.com/via/bob

03.03.2026 16:12 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Are you learning Rust or planning to do so this year?

Comment below -> why would you want to learn it? And already facing some challenges coming from Python?

03.03.2026 15:44 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

This is one of the reasons I really like Rust. πŸ¦€ 😍

Yes, it's a steep learning curve.
Yes, it takes more effort to write the same amount of functionality.

But the strictness leads to more robust code.
And the current trend of faster tooling, is because of Rust.

03.03.2026 15:44 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Post image

#Rust on the other hand, makes this impossible: apart from being explicit about mutability, the compiler spots that there is a path in my code missing.

And its error messaging is superb:

03.03.2026 15:44 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

But it is not enforced!

03.03.2026 15:44 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

Of course Python devs see this and defensely put `result =Β ...` in the outer scope so this won't happen.

03.03.2026 15:44 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

Ever had this in your #Python code?

def process(items):
for item in items:
if item > 0:
result = item * 2
return result

print(process([1, 2, 3])) # Works
print(process([])) # Raises UnboundLocalError

03.03.2026 15:44 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 2    πŸ“Œ 0

This pattern is increasingly used and to me it's really exciting: Rust is not replacing Python, the two are actually a great companion! 🐍 πŸ¦€

#Python #Rust #Performance #SoftwareEngineering

02.03.2026 19:00 β€” πŸ‘ 4    πŸ” 1    πŸ’¬ 0    πŸ“Œ 0

This is exactly whatΒ Polars does to offer a faster alternative to Pandas.

The route pydantic v2 took when pure Python validation became to slow.

What HuggingFaceΒ tokenizersΒ does for NLP pipelines.

02.03.2026 19:00 β€” πŸ‘ 0    πŸ” 1    πŸ’¬ 1    πŸ“Œ 0

Libraries like PyO3 let you write Rust code that Python imports like any other module:

```python
import my_fast_lib # Rust under the hood
result = my_fast_lib.process(huge_dataset) # 2-5x faster
```

Same Python interface. Compiled-language performance.

02.03.2026 19:00 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

Option 4 is more accessible than it sounds.

02.03.2026 19:00 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

At this point you have a few options:

β€’ Accept it (probably not for long)

β€’ Rewrite in C (like programming with one hand tied behind your back)

β€’ Add more hardware (expensive, not really a fix)

β€’ Rewrite the slow part in Rust and call it from Python 😎

02.03.2026 19:00 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Post image

Python is great, but sometimes you need more performance.

A simplified example to show where Python might run out of road:

```python
# This looks fine. Runs 30 seconds on 500MB of data.
for row in huge_dataset:
result = process(row)
```

02.03.2026 19:00 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Learn Rust for Python Developers | Pybites Rust Platform

I'm building exercises that do exactly this β€” map Python patterns to Rust.

Free Python→Rust 10 intro exercises → rustplatform.com/via/bob

Feedback:
> "I like the Python to Rust mapping structure in the lessons. I found that really helpful."

02.03.2026 12:49 β€” πŸ‘ 2    πŸ” 1    πŸ’¬ 0    πŸ“Œ 0

Don't get me wrong, the learning curve is real!

However Python devs have a head start β€” you already think in types, you already care about elegance + clean code.

Which tip would've helped you most? Or any other ones?

#Python #Rust #LearnRust #PythonTips #SoftwareDevelopment

02.03.2026 12:47 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

< Tip 3: Write Python first, then Rust-ify it >

When stuck, sketch the logic in Python. Then translate it step by step.

You already know how to think about the problem, which removes a lot of cognitive overload.

You just have to learn a new way to express it.

02.03.2026 12:47 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

Stop fighting the compiler. Read its error messages β€” they're the best in any language. It's teaching you something.

02.03.2026 12:47 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

< Tip 2: The compiler is your pair programmer >

Python tells you what broke at runtime (or dev if tooling is set up). Rust tells you what would break before you even run it (compile time).

02.03.2026 12:47 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

β€’ Error Handling: try/except -> Result<T, E> (errors must be handled)
β€’ Logic & Data: class (inheritance) -> struct + impl (focus on composition, and data layout)
β€’ Memory Management: GC -> Ownership & Borrowing (focus on who "owns" the data, enforced by the compiler)

02.03.2026 12:47 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

< Tip 1: Map, don't translate >

Don't ask "how do I write Python feature x in Rust?" Ask "what problem does Python feature x solve β€” and how does Rust solve it?"

02.03.2026 12:47 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Post image

3 things I wish I knew before learning Rust as a Python developer.

02.03.2026 12:47 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

Which Python tool surprised you most? Drop it below πŸ‘‡ (and follow my Pythonβ†’Rust mapping series this week)

And then put it in practice: free 10 intro exercises to get started β†’ rustplatform.com/via/bob

01.03.2026 09:20 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

I spent 10+ years teaching Python. Now I'm building Rust exercises specifically for Python devs β€” mapped to concepts you already know.

01.03.2026 09:20 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0