I've been on such a huge Ada and SPARK kick lately; it's become one of my main programming languages outside of work. I looked at it about 20 years ago (right around Ada 2005) and couldn't really grasp what was so interesting about it, but now it feels like that sweet spot that I enjoy with OCaml, a little bit less visually dense than Rust, but fun to work with. It's also convinced me that I shouldn't have such an aversion to first-class modules.
And have a few more books on my desk (including Barnes' Programming in Ada 2022). I'm happy to see it get more exposure here, because I think it has some really interesting ideas.
jmiven
now it feels like that sweet spot that I enjoy with OCaml, a little bit less visually dense than Rust, but fun to work with.
Good support for contracts (better on average than Eiffel, arguably, when coupled with subtyping) is how I got to Ada, and I agree completely with that assessment. The community is small, but active and while it tends to rely on AdaCore for many infra projects (package manager, docs, compiler, etc.), it also do stuff on its own.
lojikil
I've been on such a huge Ada and SPARK kick lately; it's become one of my main programming languages outside of work. I looked at it about 20 years ago (right around Ada 2005) and couldn't really grasp what was so interesting about it, but now it feels like that sweet spot that I enjoy with OCaml, a little bit less visually dense than Rust, but fun to work with. It's also convinced me that I shouldn't have such an aversion to first-class modules.
And have a few more books on my desk (including Barnes' Programming in Ada 2022). I'm happy to see it get more exposure here, because I think it has some really interesting ideas.
jmiven
now it feels like that sweet spot that I enjoy with OCaml, a little bit less visually dense than Rust, but fun to work with.
Good support for contracts (better on average than Eiffel, arguably, when coupled with subtyping) is how I got to Ada, and I agree completely with that assessment. The community is small, but active and while it tends to rely on AdaCore for many infra projects (package manager, docs, compiler, etc.), it also do stuff on its own.
I've been on such a huge Ada and SPARK kick lately; it's become one of my main programming languages outside of work. I looked at it about 20 years ago (right around Ada 2005) and couldn't really grasp what was so interesting about it, but now it feels like that sweet spot that I enjoy with OCaml, a little bit less visually dense than Rust, but fun to work with. It's also convinced me that I shouldn't have such an aversion to first-class modules.
I'm currently working through:
And have a few more books on my desk (including Barnes' Programming in Ada 2022). I'm happy to see it get more exposure here, because I think it has some really interesting ideas.
Good support for contracts (better on average than Eiffel, arguably, when coupled with subtyping) is how I got to Ada, and I agree completely with that assessment. The community is small, but active and while it tends to rely on AdaCore for many infra projects (package manager, docs, compiler, etc.), it also do stuff on its own.
I've been on such a huge Ada and SPARK kick lately; it's become one of my main programming languages outside of work. I looked at it about 20 years ago (right around Ada 2005) and couldn't really grasp what was so interesting about it, but now it feels like that sweet spot that I enjoy with OCaml, a little bit less visually dense than Rust, but fun to work with. It's also convinced me that I shouldn't have such an aversion to first-class modules.
I'm currently working through:
And have a few more books on my desk (including Barnes' Programming in Ada 2022). I'm happy to see it get more exposure here, because I think it has some really interesting ideas.
Good support for contracts (better on average than Eiffel, arguably, when coupled with subtyping) is how I got to Ada, and I agree completely with that assessment. The community is small, but active and while it tends to rely on AdaCore for many infra projects (package manager, docs, compiler, etc.), it also do stuff on its own.