Hi, I'm Tomek.

I'm a software engineer and I solve problems by (not) writing Clojure. You can find me as @_tomekw on Twitter, @tomekw on Mastodon, or @tomekw on Github. I write (mostly) about programming.

Ada programmers: Patrick Kelly

Feb 21, 2019

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.

Today we will talk with Patrick Kelly. You can follow him on Twitter and Github. You can check out his Ada extension for Visual Studio Code and a collection of tooling for Ada projects.

Could you introduce yourself? What’s your background? What do you do?

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.

What is the single feature you love the most in Ada?

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.

What is the single feature you hate the most in Ada?

As for hate, is the userbase a feature? In all seriousness though, aspects are obnoxiously rigid. We can override Input/Output and Read/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 Size or 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.

How do you see the future of Ada?

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.

We all know Ada 202X is around the corner. What would you like to find in the new release of Ada?

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.

Do you like what to see here?

Consider subscribing to my newsletter. Get helpful guides, articles, and projects announcements. Low traffic, no spam.

Or subscribe to my Atom feed.