Selecting the optimal programming language for the job
Selecting the optimal programming language for the job isn't always easy or straightforward. Therefore I want to give an outline.
- Android: Kotlin
- MacOS/iPadOS/iOS: Swift
- Windows: C#
- Server/Distributed systems: Golang
- Hardware-level/Speed: C
- Operating systems: Rust
- Real-time: C, Rust
- AI: Python, later maybe Mojo
- Space: formally verifyable language, The Power of 10
- GPU: CUDA (Nvidia), HIP (AMD)
- Scripting: Shell, Bash, Golang
- OOP: Java
- Data Visualization/Statistics: R, Python
- Math: Matlab, GNU Octave, Julia
- To keep an eye out for: Carbon, Gleam, Mojo
There are also interesting projects like Flutter and React Native, though it is important to know that they are not be as performant as native applications and can have a non-native look and feel. Thus there is a trade-off in the user-experience for better cross-development ability and simpler code.