3 ms·
I wrote a python to rust transpiler (py2many) also as a fun project. I won't be surprised if writing a db in python actually becomes viable some years down the
by adsharma 5y ago
I wrote a python to rust transpiler (py2many) also as a fun project. I won't be surprised if writing a db in python actually becomes viable some years down the road due to the awesome tooling and the idea -> code uninterrupted flow that's possible.
- CyberDildonics 5y agoYou may want to write that, but why would someone want to use a database that could be 50x faster if it was written in a native language? If you write software for yourself in a slow scripting language, that is one thing, but it leaves a huge amount of performance on the table. This is the same as the problem with electron. People that only know javascript might think it is great to embed a full web browser, but it is selfish to users to push something that they think will run at a normal speed only to have it use 100x the memory and lag during simple operations.
- adsharma 5y agoThe transpiler could in theory generate code in the native language. You can see for yourself: https://news.ycombinator.com/item?id=27032399 https://news.ycombinator.com/item?id=27032399 Please file bugs/issues if something isn't working.
- MillenialMan 5y agoLook up Nubank and Datomic. You'll have an aneurysm. (Edit: to be clear, I'm agreeing with you)
- RcouF1uZ4gsC 5y ago> I won't be surprised if writing a db in python actually becomes viable some years down the road due to the awesome tooling and the idea Long term, complicated, high performance projects worked on by many developers is the Achilles heel of Python. The lack of type safety really bites over a large code base. Also issues with automatic refactoring tools due to the very dynamic nature of Python Deployment and dependency management is also a big issue in Python. Not to mention performance and multithreading.
- nprateem 5y agoYeah I had an API server to write. I looked at FastAPI and checked out the example project. So much tooling for formatting, type hinting, linting, deployment, etc. And while the project claims to be "comparable in speed to Go" the benchmarks they linked to showed that meant "significantly slower than". In the end I just went with go instead. Python has it's place but you can avoid a lot of work by using something else sometimes.
- MillenialMan 5y agoBenchmarks like that are completely artificial anyway, because the real speed difference comes when the code becomes more complex and the dynamic language can no longer be reduced to something like those simple benchmarks, because it's not provable. And God forbid someone mention the L1 cache and how "benchmarks" are completely different to the cache interactions in real-world dynamic programs.
- adsharma 5y agoPython has a PR problem: * That it's a dynamically typed language * That it's not a serious language like C or C++, suitable for writing a 50 line throwaway script I'd like to convince people that both statements are false. But probably best to use the github issue tracker than HN comments.