I once asked a project manager “why are we using MS Word instead of LaTeX for our tech docs?” His answer: “because no one knows LaTeX”. Then I asked the prof of a college of science at a university: “why aren’t the students learning & using LaTeX?” His answer: “because LaTeX is not used in industry”.
You’re going to have to clarify “in industry”.
I wouldn’t use LaTeX to do technical docs compared to any of the available hosted or free wiki solutions, Google docs, docusaurus, mdbook, or just general support for Markdown doc preview, with associated version control inside a (git) repository, or something like Hugo. A lot of these also support MathJax or other LaTeX-like mathematical notations.
What the Ada community needs is a focused organized list of projects that are not only useful but also maximize promotion of the language.
There’s already a library wish list.
I’m not against trying to get people to collaborate. But which authority is there to speak for the community that “these are the things which should be done?” Who is going to do this work on a focused organized list of projects?
The Ada open source community is absolutely tiny – I’ve only talked to less than a hundred people total – with developers split between embedded and desktop work. They’re using the language to solve their problems, that’s what it’s there for, and a problem they understand means they’re more likely to succeed.
Most profs are utilitarian & favor languages they see job vacancies calling for.
I don’t fault universities for trying to teach more broadly useful skills. There’s often coordination between universities and business professionals to discuss what skills are needed, and what they’d like to see taught.
The biggest impact on learning (learning that leads to utilization) is made in the university, which leads to “Ada” appearing on CVs under formal training
AdaCore is already doing this by working with universities. They’re also doing a bunch of internships.
After 50 years there should no longer be a need for grassroots efforts. It should be far beyond that. And the fact that it’s not— that we still need a grassroots effort really says a lot about the struggling state of Ada.
Well, that’s where the language is right now. Ada was focused on closed source and when the schools stopped teaching it and the DoD stopped requiring it, there wasn’t a funnel to get people to try it or to use it anymore.
Simply being useful is a low bar.
It’s not a low bar. This is exactly how Rust is rising to dominance.
People building using things and sharing them on crates.io, and then other people picking them up and running with them. There’s a few projects, like ripgrep which are used as “cool, I use that and it’s written in Rust, I should try Rust” pieces.
Identifying the problem is the 1st port of call, only after which the need for advocacy campaigns is evident.
How are you going to advocate for Ada without improving the ecosystem first?
“Use a niche language which you’re likely going to have to write most (or all) of your own library bindings and dig through often abandoned sites looking for information?” Barnes’ book is fantastic, but a lot of people don’t want to make that much of an investment up front, since that book is pricey.
Part of the reason I’ve written up so many things about Ada online is because so many resources I came across where out of date, or I had to assemble how things worked by using multiple sites and wanted to spare other people the trouble.
It’s only the “random ad-hoc” things which have happened over the last couple years which have significantly improved the Ada developer experience in open source (Alire, Ada language server, etc.). People identifying a problem and then solving it.
No one is claiming to “fix Ada,” we’re just trying to improve our ability to work with it.
IIUC, you seem to be talking about the aesthetics of web design. Do you really think the look and feel of a web-based tutorial influences whether a project selects a language?
Then to suggest that a company is “out of their mind” if they select Ada despite these aesthetics being “90s looking”.
Yes, that’s exactly what I’m saying.
Being able to browse and search documentation is absolutely critical for most projects. Even more so when the community is tiny compared to other languages, and you’re more dependent on documentation. From a technical point of view, as a tech lead on a project, it’s your job to ensure that your people have the available resources to succeed.
From a business point of view, you need to be able to defend your technical choices to managers or investors. It’s easy to compare Ada resources to those of other languages, and even with learn.adacore.com and ada-lang.io, it’d be really hard to defend just based on the quality of references. What we have isn’t perfect, but it’s come a long way. Getting to an acceptable “modern” point is actually pretty easy with a static site generator.
They don’t need to be flashy, but they do need to be close to modern standards and up to date. Consider Donald A. Norman’s “Design of Everyday Things”, in that “Attractive things work better.”
Compare what Ada has to these:
- cppreference.com
- Python 3 docs
- The Rust Programming Language - The Rust Programming Language
- Introduction - Rust By Example
- https://docs.rs/
- Swift.org - Documentation
- C# docs - get started, tutorials, reference. | Microsoft Learn
- F# docs - get started, tutorials, reference. | Microsoft Learn
- https://clojuredocs.org/
- https://clojure-doc.org/
- https://ocaml.org/
- Haskell
- https://hoogle.haskell.org/
- Java Documentation - Get Started
- https://ruby-doc.org/
My main point is people need to stop trying to just push advocacy and prove that the language can be used successfully to solve real visible problems. The easiest problems to understand and fix are your own, in hopes that it’s also a problem someone else has.
No one buys into a programming language, they buy into an ecosystem. The docs, the tools, the libraries, and the community. It all has to work together to provide business and programmer value in the creation of things. That’s what folks have been doing.