10 ms·
Main factors were (roughly in order): - None of us are experts in Rust, and we're all solid at Python. - Rust felt like an under-correction for what we wanted
by aviaviavi 2mo ago
Main factors were (roughly in order):
- None of us are experts in Rust, and we're all solid at Python.
- Rust felt like an under-correction for what we wanted (get all friction in front of the LLM out of the way).
- Our high-performance stuff is not being migrated at this time (Scarf Gateway), so we're just talking about basic CRUD backends here. Basically any language will work.
- benced 2mo agoPython has so many footguns for server work and the world's worst typing system. It sounds like Golang is perfect for your use-case
- whateveracct 2mo agoGolang has to compile the world iirc, so it'll need more and more time and resources as the slop grows in size. Whereas Python just interprets and gets off to the races. Feels like we had this discussion years ago as humans..the false promise of dynamic languages.
- YZF 2mo agoPython just interprets and blows up in production more like it ;) Also so slow. But bad Golang is full of `any` and turns into a Python in disguise.
- whateveracct 2mo agoagreed. i just use haskell for everything because i'm not a wuss
- bkovacev 2mo agoWhat is exactly slow when building APIs in Python and compared to what? :)
- hunterpayne 2mo agoPython is preferred because Python programmers are cheaper than other languages. Not because of any sort of technical advantages. Its literally the worse performing programming language in popular use. And it uses invisible characters in its syntax. Truly, it is the VHS of our industry.
- whateveracct 2mo agogood point it's a shame scarf is struggling so much they are pinching pennies :/
- phrotoma 2mo agoTrue that an interpreted language has a leg up on any compiled language in the arena of compile time, but worth noting that one of Go's primary design goals was improving compile times of massive code bases. Google was drowning under the weight of compiling huge C++ codebases and Go was the response to that (among other things).
- typesanitizer 2mo agoGo compiles things at package-level granularity. You only need to recompile your reverse dependencies on making changes. Also there's build caching available out-of-the-box, as well as some support for test caching.
- timcobb 2mo ago> None of us are experts in Rust, and we're all solid at Python. you don't need to be, you can learn Rust or whatever way-better-than Python language as you use it with an LLM! it's an amazing process.
- camkego 2mo agoYou might not like Microsoft but they did a video on why they re-wrote the last version of the Typescript compiler in Go. Basically, because of LLMs. It's worth viewing even if you don't decide to go with Go.
- gbacon 2mo agohttps://devblogs.microsoft.com/typescript/typescript-native-port/ https://devblogs.microsoft.com/typescript/typescript-native-... https://github.com/microsoft/typescript-go https://github.com/microsoft/typescript-go
- pdimitar 2mo agoUsing a frontier model you can combine it writing high-quality Rust and educate you in the process. You guys were too scared, needlessly. But as others said: if Haskell was not giving you too much in terms of excellent typing system then maybe going for a PL with a much faster compiler like Golang would have been best for you.
- za3faran 2mo agoJava/Kotlin would have given you what you needed, and more (better observability, performance, etc.)