Programming

graph LR Python[Python] --> Software_engineering[Software engineering] C[C] --> Software_engineering Cpp[C++] --> Software_engineering Fortran[Fortran] --> Software_engineering Julia[Julia] --> Software_engineering Software_engineering --> Parallel_computing[Parallel computing] Software_engineering --> GPU_computing[GPU computing] click Python "https://gjbex.github.io/Training-sessions/python" "Python" click C "https://gjbex.github.io/Training-sessions/c" "C" click Cpp "https://gjbex.github.io/Training-sessions/cpp" "C++" click Fortran "https://gjbex.github.io/Training-sessions/fortran" "Fortran" click Julia "https://gjbex.github.io/Julia_good_bad_ugly/" "Julia" click Software_engineering "https://gjbex.github.io/Training-sessions/software_engineering" "Software engineering" click Parallel_computing "https://gjbex.github.io/Training-sessions/parallel_computing" "Parallel computing" click GPU_computing "https://gjbex.github.io/Training-sessions/gpu_computing" "GPU computing"

Developing scientific programming entails a lot more than simply knowing how to write code in your favorite programming language. It requires knowledge of software engineering principles such as proper software design, version control, testing, and documentation.

If your application is performance-critical, you may need to consider parallel computing or GPU computing.