Replies: 1 comment 1 reply
-
Good question @hoegge! And sorry for the slow response. Python has been a great choice because it allows quick prototyping. However, in its current state, the lack of static typing makes it a bit hard to understand the structure for a newcomer. Also, it's harder to make changes without breaking unexpected pieces of related code. So a language with static types could be interesting. One of my goals was to try to produce a cross-platform codebase. Python, PyQt and Portaudio allowed to obtain that, at least for the 3 major desktop platforms. Python is not as much of a great fit when trying to target the web, and not the best for mobile devices either. That being said, I looked several times at other options and I never really found an obvious alternative. C# and .NET are missing good cross-platform audio libraries, and the cross-platform UI story is not clear either. I would miss Numpy too. Java is not much different from C#/.NET on those points. I looked at Rust and WASM, to target the browser, but I think that would have lead to a much more complex solution. Since you mentioned C++: I don't think I would choose it. C++ could have allowed to get better performance, but there has never really been a situation where Python was an unbeatable bottleneck causing bad performance. There has always been a different way to get good performance without leaving Python (or at worse with a little bit of Cython). Hope that answers the question 😄 |
Beta Was this translation helpful? Give feedback.
-
If you were to create Friture over again, would you choose Python again, or something else, e.g., C++ for development?
Asking to get a feeling of how good Python is for this kind of application development
Thanks
/hoegge
Beta Was this translation helpful? Give feedback.
All reactions