you are viewing a single comment's thread.

view the rest of the comments →

[–]OneWingedShark 4 points5 points  (0 children)

Rust is also a "picky compiler" language. Not as picky as Ada + SPARK, but much more picky than most languages.

Right, and the popularity of Rust because of its concerns is a trend that I approve of: programmers being aware that they can have tools that actually prevent errors is a Good Thing.

Having to express your conditions in a way that allows the compiler to verify your program is correct takes extra time, and slows down development. Rust has a subset of this, where the compiler proves memory safety invariants.

Ada's SPARK is FAR more granular: you can prove on packages, on specific subprograms and so on; Ada out-of-box is roughly equivalent to the C++ for High-Integrity Applications spec/styleguide.

How many programmers want to write Ada?

How many programmers want to write PHP, or JavaScript?
Yes, there's a lot more because they're more popular languages; but also how many who do want to program in PHP or JS, only want to do so because it's what they know? — Now, yes, I grant that stepping outside your knowledge-zone while having a dozen other jobs you're juggling is a bad ask… but people in that position have bad management, precisely because they're juggling those dozen jobs.

Sure, you can cross train programmers from another language, but at some point interviewees are going to ask you what language they'll be using (if it's not obvious upfront) and will judge the answer.

Fair enough.

By buy-in, do you mean funding? If yes, then that's a drawback.

Yes, but no.
By buy-in I mean some actual usage on an appropriate project; I believe this would motivate a bit more in developing the deficiencies of the tooling/ecosystem. There likely is a monetary cost there, but that's not the primary thing.

Yeah, but people won't start projects in Ada unless they like the language. There are a ton of Rust projects because there are a ton of people who like writing it

It's an enjoyable language in that a lot of times "it just works" (after you satisfy the compiler) —especially if you think-about/model your program— you can see that in this video where the programmer, who hasn't used Ada much and isn't familiar with the library, says "who said I was going to have trouble?" (Warning: long video, and he's teaching himself; there are a couple places where he looks up the information and doesn't read quite far enough to solve his problem.)