diff options
Diffstat (limited to 'project/templates/steelman.html')
-rw-r--r-- | project/templates/steelman.html | 72 |
1 files changed, 36 insertions, 36 deletions
diff --git a/project/templates/steelman.html b/project/templates/steelman.html index bb61548..6fb543b 100644 --- a/project/templates/steelman.html +++ b/project/templates/steelman.html @@ -8,7 +8,7 @@ {% block style %} - <link href="/css/steelman.css" rel="stylesheet"> + <link href="/css/steelman.css" rel="stylesheet" /> {% endblock %} @@ -28,7 +28,7 @@ more refined versions of the requirements from Strawman through to Ironman, this programming language, possibly the gold standard language for writing safe and secure software, was designed to comply with Steelman.</p> -<p>In 1996 David A. Wheeler <a href="http://www.adahome.com/History/Steelman/steeltab.htm" target="_blank">wrote a paper</a> +<p>In 1996 David A. Wheeler <a href="http://www.adahome.com/History/Steelman/steeltab.htm" class="external">wrote a paper</a> that compared Ada, C, C++, and Java against the Steelman. This served to highlight the strengths and weaknesses of those languages, areas that could be improved, and a scant few requirement points that perhaps aren't even applicable anymore. Since then several more programming languages capable of systems work have been created, so it's time for an @@ -37,70 +37,70 @@ update. More datapoints! Hence, this article will conduct a similar comparison, <h5>The Languages</h5> -<p><a href="https://dlang.org/" target="_blank">D</a> was created originally as a reworking of C++ in 2000-2001. It +<p><a href="https://dlang.org/" class="external">D</a> was created originally as a reworking of C++ in 2000-2001. It serves to represent a progression of the C language family, adding features including contracts, optional garbage collection, and a standard threading model.</p> -<p><a href="https://forge.open-do.org/plugins/moinmoin/parasail/" target="_blank">Parasail</a> is a research language +<p><a href="https://forge.open-do.org/plugins/moinmoin/parasail/" class="external">Parasail</a> is a research language created in 2009 by AdaCore, the main vendor of Ada compiler tooling today. The language is designed with implicit -parallelism throughout, <a href="https://www.embedded.com/design/programming-languages-and-tools/4375616/1/ParaSail--Less-is-more-with-multicore" target="_blank">simplifying and adding static checking</a> +parallelism throughout, <a href="https://www.embedded.com/design/programming-languages-and-tools/4375616/1/ParaSail--Less-is-more-with-multicore" class="external">simplifying and adding static checking</a> to eliminate as many sources of errors as possible. It represents a possible future direction for Ada derived languages.</p> -<p><a href="https://en.wikipedia.org/wiki/Pascal_(programming_language)" target="_blank">Pascal</a>, like C, predates +<p><a href="https://en.wikipedia.org/wiki/Pascal_(programming_language)" class="external">Pascal</a>, like C, predates the Steelman requirements and so they cannot have had any influence at all on the language. It was designed for formal -specification and <a href="https://www.tutorialspoint.com/pascal/pascal_overview.htm" target="_blank">teaching algorithms</a>. +specification and <a href="https://www.tutorialspoint.com/pascal/pascal_overview.htm" class="external">teaching algorithms</a>. Later dialects were used to develop several high profile software projects, including Skype, Photoshop, and the original Mac OS. It is useful to consider as a precusor of Ada, sharing many points of functionality and style.</p> -<p><a href="https://www.rust-lang.org/" target="_blank">Rust</a> is the newest language here, created in 2010. It +<p><a href="https://www.rust-lang.org/" class="external">Rust</a> is the newest language here, created in 2010. It is an odd mix of C and ML influence, placing more emphasis on the functional paradigm than other systems languages. Its main claim to fame is adding another method of heap memory safety via -<a href="https://en.wikipedia.org/wiki/Substructural_type_system" target="_blank">affine typing</a>.</p> +<a href="https://en.wikipedia.org/wiki/Substructural_type_system" class="external">affine typing</a>.</p> <table id="lang"> <tr> <td> - <figure> + <div class="figure"> <img src="/img/logo_d_small.png" alt="Logo for the D programming language" height="124" - width="164"> - <figcaption>D</figcaption> - </figure> + width="164" /> + <div class="figcaption">D</div> + </div> </td> <td> - <figure> + <div class="figure"> <img src="/img/logo_parasail_small.png" alt="Logo for the Parasail programming language" height="144" - width="149"> - <figcaption>Parasail</figcaption> - </figure> + width="149" /> + <div class="figcaption">Parasail</div> + </div> </td> </tr> <tr> <td> - <figure> + <div class="figure"> <img src="/img/logo_pascal_small.png" alt="A picture of Blaise Pascal to stand in as a logo for the Pascal programming language" height="144" - width="142"> - <figcaption>Pascal*</figcaption> - </figure> + width="142" /> + <div class="figcaption">Pascal*</div> + </div> </td> <td> - <figure> + <div class="figure"> <img src="/img/logo_rust_small.png" alt="Logo for the Rust programming language" height="144" - width="144"> - <figcaption>Rust</figcaption> - </figure> + width="144" /> + <div class="figcaption">Rust</div> + </div> </td> </tr> </table> -<p>* Pascal does not have an official logo, so a picture of <a href="https://en.wikipedia.org/wiki/Blaise_Pascal" target="_blank">Blaise Pascal</a>, +<p>* Pascal does not have an official logo, so a picture of <a href="https://en.wikipedia.org/wiki/Blaise_Pascal" class="external">Blaise Pascal</a>, in whose honour the language is named, will have to do.</p> @@ -118,17 +118,17 @@ that, effort has been made to keep the evaluation as similar as practical to the <p>The defining documents used for each of these languages are as follows:</p> <ul> - <li>D: The <a href="https://dlang.org/spec/spec.html" target="_blank">D Language Specification</a> and the - accompanying <a href="https://dlang.org/phobos/index.html" target="_blank">Library Reference</a>.</li> - <li>Parasail: The <a href="https://forge.open-do.org/plugins/moinmoin/parasail/FrontPage?action=AttachFile&do=view&target=parasail_ref_manual.pdf" target="_blank">Parasail Reference Manual</a>. + <li>D: The <a href="https://dlang.org/spec/spec.html" class="external">D Language Specification</a> and the + accompanying <a href="https://dlang.org/phobos/index.html" class="external">Library Reference</a>.</li> + <li>Parasail: The <a href="https://forge.open-do.org/plugins/moinmoin/parasail/FrontPage?action=AttachFile&do=view&target=parasail_ref_manual.pdf" class="external">Parasail Reference Manual</a>. Parasail is still a work in progress, and no efforts to standardise it have yet been started.</li> <li>Pascal: ISO 7185 details Standard Pascal, and is available at several places in various formats. The copy used here - was retrieved from <a href="http://www.pascal-central.com/standards.html" target="_blank">Pascal Central</a>. + was retrieved from <a href="http://www.pascal-central.com/standards.html" class="external">Pascal Central</a>. Checking for features of more recent Pascal dialects is done on a more ad hoc basis.</li> <li>Rust: The closest there is to a definition of the language is given in - <a href="https://doc.rust-lang.org/reference/" target="_blank">The Rust Reference</a>. It should + <a href="https://doc.rust-lang.org/reference/" class="external">The Rust Reference</a>. It should be noted that this document is not complete, nor stable. Supplementary information was obtained from - <a href="https://rustbyexample.com/" target="_blank">Rust by Example</a>. No work to standardise + <a href="https://rustbyexample.com/" class="external">Rust by Example</a>. No work to standardise Rust has been started yet either.</li> </ul> @@ -224,8 +224,8 @@ considered meet that requirement on the right. Some explanatory notes are includ turned out to be educated guesses. Fairness was the goal, but nonetheless reader discretion is advised.</p> -<section class="accordian"> - <input type="checkbox" name="collapse" id="handle1"> +<div class="accordian"> + <input type="checkbox" name="collapse" id="handle1" /> <label for="handle1">Toggle Appendix Table</label> <div class="hidden_content"> @@ -1502,7 +1502,7 @@ turned out to be educated guesses. Fairness was the goal, but nonetheless reader </tr> <tr> <td colspan="4"> - +   </td> </tr> @@ -2320,7 +2320,7 @@ turned out to be educated guesses. Fairness was the goal, but nonetheless reader </table> </div> -</section> +</div> {% endblock %} |