Remix.run Logo
orochimaaru 4 days ago

TDD is a cult. But knowing your pre-conditions an post-conditions for your isolated parts of your code is important. I think all your AI codegen will work better with this.

The entire AI ball of wax is built on python (dynamically typed) - or at least a large part of it. It probably needs to move to rust to save on power and compute cost.

YZF 4 days ago | parent | next [-]

The heavy lifting of AI is done by GPUs that are not running Python. But yes, a lot of orchestration and glue work is done by Python. Python can be a decent glue language and it has its place. But if the core/high performance logic of inference and training was written in Python then we wouldn't have today's AI. I imagine there are other languages in the mix.

Python is also the choice of non-programmers for simple work. Nothing wrong with that. But I wouldn't want e.g. my car's ABS system to be programmed in Python (or my browser or my OS or many other examples).

Zak 4 days ago | parent [-]

Your car's ABS is probably programmed in something more error-prone than Python, like C or the assembly language of whatever microcontroller runs it.

This gets more terrifying if you've ever experienced spurious ABS activation. It's the third scariest thing that's happened to me in a vehicle.

nerptastic 4 days ago | parent [-]

What are the first and fourth?

Zak 4 days ago | parent [-]

First was hydroplaning on a motorcycle.

Fourth was probably a makeshift bridge over a creek collapsing while crossing it as a passenger on an ATV. I was pretty young when that happened.

AdieuToLogic 4 days ago | parent | prev [-]

> But knowing your pre-conditions an post-conditions for your isolated parts of your code is important.

Design-by-Contract[0] is a formalization of this concept and well worth considering when working in code using mutable types. In addition to pre/post conditions, DbC also reifies class invariants (which transcend method definitions).

0 - https://en.wikipedia.org/wiki/Design_by_contract