Scientific Programming in D
D is an excellent language for scientific programming for several reasons:
- It is a compiled, statically typed language that can produce code as fast as C.
- It provides the conveniences of a modern language with a friendly syntax.
- It is garbage collected by default, allowing you to worry about writing your program, rather than handling memory issues that few scientific programmers care about.
- As a systems language, you have complete control, including manual memory management and turning off the garbage collector as desired.
- It is very easy to interoperate with C code. C++ interoperability is under active development. It is also easy to go in the other direction - to call D functions from C and C++. This is important because a significant amount of existing code is written in C and C++.
That said, the library situation is currently less than optimal. The DlangScience group is working on it. Questions can be posted in the Gitter room. Contributions to this project are very much welcome.