Not him, but software developer working with scientists>>11515554>Any particular reason you use python over C/C++ ?
- Rapid prototyping. Enacting algorithms to see what happens (scientists call it "breadboarding" like those modular electronics boards you can develop circuits on)
- Donkey work and scripting like "open these csvs and make pretty plots from x y column"
- Pure scripting like "manipulate these files on disk"
Basically scientists who don't know proper software engineering techniques and don't want to spend weeks tweaking a program for max efficiency (or don't know how), but just want to crank out an algorithm and focus on the science>>11515627>Not him but I want to know why you suggest C/C++. Is there support for packages that handle things like linear algebra, plotting, and numerical methods for C/C++? Genuinely curious
Not as such, but that's not its purpose.
When the prototyping is all done, you want to write an actual program that can crunch big numbers on a remote linux server. Python is shit for this, and its almost impossible to write large maintainable programs in it because python's object oriented support is kinda tacked on and not first class. There's no strong typing, but it's duck typed which is nice for cranking out quick code or for non developers who don't want to think about whether they want an int32 or int64. But for actual enterprise solutions and performant code its a debugging nightmare. It doesn't scale, scientists write hundreds of lines of spaghetti all in one file because that's what python encourages.
And I haven't even got to the performance issues. C/C++ with the right libraries is compiled down to bare metal machine code and lightning fast. Python is dynamically interpreted which means a VM needs to run and interpret the python to call the relevant compiled generic C routines and just feed them data.