Hacker News new | ask | show | jobs
by chinigo 2120 days ago
Popularity != PR.

Choosing an obscure language with little community support imposes real-world development costs: it's harder to find or ramp up new developers, there are fewer eyes identifying bugs in the implementation, tooling support can be subpar, documentation and blog posts are harder to find, etc.

(btw I know nothing about ATS so I'm not saying this is a good description of that language in particular.)

1 comments

I agree with your points regarding tooling and dev support in general. ATS, in that regard, benefits from being a "frontend compiler" to GCC - all the tooling for GCC can be used equally well for ATS codebases. Developers need to know C well (not an issue with all the learning material available), and at least one language from ML family (OCaml, Standard ML, F#, Haskell to some extent) to quickly pick up the syntax and common recursive constructs. There are three great books [1] available online, and a collection of common system programming examples that demonstrate how data types and algorithms can leverage safe language features [2]

[1] http://www.ats-lang.org/Documents.html

[2] http://ats-lang.sourceforge.net/EXAMPLE/EFFECTIVATS/