Remix.run Logo
drnick1 4 hours ago

I don't see what's wrong with Python for a first course. In fact, you can go very far with Python alone (in terms of performance) if you learn to use Numba well. If that isn't enough, I would go straight to C (opportunistically augmented by C++98 when needed), and learn how to use the GNU Scientific Library and Eigen (the linear algebra library).

adastra22 2 hours ago | parent [-]

Nobody should be using C/C++ for anything new, much less using it as a teaching vehicle. That's just irresponsible at this point.

drnick1 an hour ago | parent [-]

Not true. C++ is great for scientific computing. There is a huge number of mature libraries like Eigen. You can also painlessly use Fortran/C libraries like LAPACK, SLICOT and many others. Performance is top notch. It's multiparadigm so you can use OOP where it makes sense. It's a very complex language, but for scientific computing the C++98 subset is enough and IMO it's far cleaner than modern C++ or Rust.

C++ also has by far the best support for graphics (OpenGL/Vulkan) and GUI toolkits like Qt.