| I'm suggesting Ada because in my mind it satisfies a similar niche to Rust, but offers a different perspective to Rust. Also I like it more. Ada is part of the Pascal family, but goes further as it were in all the Pascal aspects, making it essentially the ultimate Pascal. In that regard it's interesting just by being different from C. It's much more verbose than a lot of languages, which some people like, some people don't, I do. But even if you don't, it's nice to explore some of the design decisions taken in a language designed for use in large-scale systems with long lives. It was created as /the/ language of the US Department of Defense, which once again may not interest you. I think that in itself makes it exciting, despite having almost no interest in any other aspect of the US. The compiler has a linter (I guess is the right word) built in, similar to Go or something. It also checks for all sorts of other little errors or potential problems like misspellings, scope, overflows, and off-by-ones. As a language designed to be used in systems controlling space equipment, train networks, and other massive and important things, these features are quite important. I guess more languages have these things now but they were an Ada priority from the beginning. Useful is definitely relative and for a lot of things Ada won't be the best choice. I've used it for very little, but I think it's a really well done language for the most part that suffers from not being so popular. Now that a lot of other systems languages are getting thrown around - Rust, Go, and things like Nim and Zig - I think Ada should get a share of the light too. But ultimately I just think that "learn Rust" is said much too often with much too little justification when so many other languages that could be equally as enlightening or fun are around. |