3 ms·
I commend the optimism it took to attempt to create a database using pure python.
by jugg1es 5y ago
I commend the optimism it took to attempt to create a database using pure python.
- 1st1 5y agoPython allows for high development velocity. Combined with our knowledge of the ecosystem and understanding of the limits to which we can push Python, as well as EdgeDB using Postgres as foundation, it wasn't an unreasonable choice. We needed to be able to refactor large swaths of code quickly. Besides, back then, Rust for instance, was still a relatively new contender. Now we have more choices, more resources, and most importantly stable language / type system / protocol so we can commit to using lower level languages. Lastly, according to benchmarks, EdgeDB is quite fast. Check out our 2 years old blog post here https://www.edgedb.com/blog/edgedb-1-0-alpha-2#results https://www.edgedb.com/blog/edgedb-1-0-alpha-2#results for example.
- mst 5y agoHaving before now helped replace a (very naive, this is -not- an attack on golang) 8 core golang bulk pg data loader with a single threaded perl script and got about a 6x performance improvement, "high level languages wielded by somebody who understands the limitations of the VM" are really much more capable than a lot of people think. Of course, "lower level languages wielded by somebody equally proficient with that language" will still be way more performant, but sometimes velocity of development wins out over straight line performance when the dynamic code is fast enough for the uses cases you're currently supporting. Wanting to rewrite components in rust is both completely logical and also (and I mean this as a compliment) a Nice Problem To Have.
- jugg1es 5y agoMy original post was not intended to shortchange the work you and your team have done. I was just saying that when you decide to create a database or database-like application, python wouldn't have been my first choice. In regards to your comments about development velocity and ability to refactor quickly - why are you attributing those things to Python as if it has an advantage over other languages? It seems like velocity and ease of refactoring does have some dependency on the language you are using but is more a factor of one's familiarity with the language and its tools/ecosystem. I've written lots of Python and it's no better or worse than most other languages for either velocity or ease of refactoring.