Chris's Wiki :: blog/programming/GoCarefulDesign Commentshttps://utcc.utoronto.ca/~cks/space/blog/programming/GoCarefulDesign?atomcommentsDWiki2021-08-18T06:01:30ZRecent comments in Chris's Wiki :: blog/programming/GoCarefulDesign.By Verisimilitude on /blog/programming/GoCarefulDesigntag:CSpace:blog/programming/GoCarefulDesign:fd87b22f05166a104427594423cfc9d5b989039cVerisimilitudehttp://verisimilitudes.net<div class="wikitext"><p>I recommend looking at Ada, featuring these innovations and more decades ago. Ada was designed carefully by more than a cabal and requires:</p>
<ul><li>variables which need an address must be declared so</li>
<li>numerical constant expressions as described</li>
<li>and also requires if constructs to be properly delimited, going further by: if True then null; end if;</li>
</ul>
<blockquote><p>On the other hand, this is not necessarily the usual experience with languages, especially languages that haven't gone through a formal (and somewhat adversarial) specification process. Solid language specifications are genuinely hard to create and you don't see them very often.</p>
</blockquote>
<p>Every language I use, such as Common Lisp, is like this; I simply refuse to use bad languages.</p>
<p>Here's a Rob Pike quote:</p>
<blockquote><p>The key point here is our programmers are Googlers, they’re not researchers. They're typically, fairly young, fresh out of school, probably learned Java, maybe learned C or C++, probably learned Python. They're not capable of understanding a brilliant language but we want to use them to build good software. So, the language that we give them has to be easy for them to understand and easy to adopt.</p>
</blockquote>
<p>Ada has also had generics since 1983.</p>
</div>2021-08-18T06:01:30Z