I worked with Ada in the early part of my career. For the most part, the strong typing really helps but it can often make the logic messier that you can't push an integer subtype one past the maximum value. Unlike C, the code base tends to remain quite readable and understandable even in big projects and it is more fun to use than Java (which I find to be soulless and dull).