4 ms·
I started a new project last year (finance not scientific but I'd expect lots of similar characteristics - lots of use of dataframes etc). I'm not a massive fan
by klelatti 6y ago
I started a new project last year (finance not scientific but I'd expect lots of similar characteristics - lots of use of dataframes etc). I'm not a massive fan of Python - much prefer Ruby for scripting for example. Had a look at Julia but I still chose Python though as:
- It exposes an API and I want as big an audience as possible and widespread familiarity with Python means that there is a lower barrier to adoption;
- The interop works both ways - if really someone wants to use Julia they can;
- I felt the JIT startup times would lead to a poorer user experience in some circumstances.
Essentially, I accept it's not as elegant as Julia but I'm prepared to accept the extra complexity etc behind the scenes to try to help users.
Not saying that this is great (or even the right decision in this case) just that there can be straightforward reasons for choosing Python.
- dunefox 6y agoIMO opinion there's only one reason to choose Python and that's the size of the community. In every other aspect it's inferior.
- ChrisRackauckas 6y agoI don't think there's anything with acknowledging the engineering trade-offs that are made between the various approaches. Julia has a lot of advantages in terms of code speed and its multiple dispatch paradigm leads to a lot more code reuse and composability of packages, but there is a trade-off of JIT loading time. I personally think it's the right trade-off, and with the JIT loading time massively decreasing in v1.6 I think it's hard for me to recommend starting new students in anything but Julia. This is especially since, in the fields of scientific computing and their connections to machine learning, model-specific kernels and the speed of calculations are becoming common place, so no matter what someone in this field really needs to know how to write their own high performance code. However, I can still see that it's possible for someone to rationally look at the trade-offs that are made and making a different decision that matches their specific professional use cases.
- dunefox 6y agoWhat is happening in 1.6? I haven't been following the development much.