This is series of interviews with software developers interested in Ada programming language. The goal is to promote the community members and the language itself. Do you want to take part in this? Contact me!
The previous interview, with Luke A. Guest, can be found here.
My name is Patrick Kelly, although I usually go by Entomy in online circles. I'm likely one of the more abnormal programmers, especially in something as formal as Ada, as I have no CS/IT background at all. I don't have any formal education in CS/IT. I've never even taken a class in it. I've done work as a nurse, saleman, and cook.
My single most loved feature of Ada might come as a surprise to others, but it's not how "safe" the language is. I'm glad it is, but honestly it could be a bit less safe and I'd still be happy. Rather, I go for an odd one: Ada's finely granular and sophisticated type system. I've taken advantage of this to enable or ease all sorts of things that other languages either struggle with or have bizarre syntax to accomplish.
As for hate, is the userbase a feature? In all seriousness though, aspects are obnoxiously rigid. We can override
Write, but we can't override
Image? Why? For composite types
Image is just a function call to the composition of the constituent images. While things like
Unchecked_Access should definitely never be overridable, there's valid reason to override certain aspects. Because of this you have to keep track of which types actually have the
Image, or which have a function to do the same and what that function is called. It's unnecessary developer complexity.
I see it as horrible. Most of the community is blindly full of themselves and it means while things develop nicely for existing Ada developers, very little is actually done to attract new developers to the language. Clearly there is an interest with the explosion of Rust. One of the most important things learned in sales is, obviously, how to sell, and I can safely say Ada isn't being "sold" well at all, mostly because of a complete lack of understanding or misunderstanding of why people aren't adopting the language.
What I'd most like to see is never going to happen. A complete rewrite of the garbage that is GNAT/GCC-Ada with a toolchain and toolset that isn't as fragile as sugar glass.