3 ms·
I tried to use Ada for some numerical code I was developing a few years ago (see this old blog post of mine: http://ziotom78.blogspot.it/2012/09/discovering-ada
by ziotom78 10y ago
I tried to use Ada for some numerical code I was developing a few years ago (see this old blog post of mine: http://ziotom78.blogspot.it/2012/09/discovering-ada.html http://ziotom78.blogspot.it/2012/09/discovering-ada.html). The language is fantastic, and the type system is perfect for describing physical quantities which can only assume values within well-specified ranges.
However, what made me put aside Ada is the lack of scientific libraries. Nothing similar to NumPy/SciPy/LAPACK/FFTW/GSL/ATLAS... exists, and writing nontrivial bindings to C libraries is extenuating. The problem is not to write thin bindings: this is almost immediate, as the post shows. But if you want to take advantage of Ada's features, you want thick bindings. And this is a long and complex process.
I was able to create bindings to a few CFITSIO functions (https://github.com/ziotom78/adafits https://github.com/ziotom78/adafits), and it took more than expected. When I realized that even completing this set of bindings would have been just a small step towards the kind of full scientific stack I need for my daily job (I'm an astrophysicist), I gave up with Ada.
I think the same situation applies for other fields than astrophysics. How many Ada bindings to commonly used libraries (e.g., ZeroMQ, dbus, bzip2, libjpeg, libunicode, Qt, OpenGL, glib, etc.) exist today?
- Keyframe 10y agoIt seems the real technical issues are surfacing as the posts flow in. There are two. Primary being that burden/control is in one company's hands and the other being lack of (thick) wrappers for C libraries. That other issue is common among less popular languages. First one is concerning, not much because of potential malevolence of Ada core, but more that they seem to do a lot of work and that can present itself as a bottleneck. On a sidenote, you're an astrophysicist? How awesome is that?! I'm in TV and Film, and I wanted to meet/know one who I can pester here and there with questions/collab for an SF script development I had in mind which I would like to present in 'accurate' way.
- ziotom78 10y agoAgreed. At the end I turned to Python + Fortran (via the awesome f2py) for almost everything, although using two languages is far from ideal. It confuses students which hardly know just one of them, plus there is the cognitive burden of using two different sets of conventions (e.g., zero-based vs one-based array indices) and models of computation. I don't know how much help I could give you regarding your script, but I would be happy to help. Feel free to contact me, my email is maurizio dot tomasi at outlook dot com.