From e59ca4a3eaa53d66fb2dcd3ddbdd86d99b04b7c8 Mon Sep 17 00:00:00 2001 From: Jed Barber Date: Mon, 28 Jun 2021 00:21:26 +1200 Subject: Converted everything to XHTML 1.1 --- project/templates/steelman.html | 72 ++++++++++++++++++++--------------------- 1 file changed, 36 insertions(+), 36 deletions(-) (limited to 'project/templates/steelman.html') 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 %} - + {% 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.

-

In 1996 David A. Wheeler wrote a paper +

In 1996 David A. Wheeler wrote a paper 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,

The Languages
-

D was created originally as a reworking of C++ in 2000-2001. It +

D 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.

-

Parasail is a research language +

Parasail 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, simplifying and adding static checking +parallelism throughout, simplifying and adding static checking to eliminate as many sources of errors as possible. It represents a possible future direction for Ada derived languages.

-

Pascal, like C, predates +

Pascal, 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 teaching algorithms. +specification and teaching algorithms. 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.

-

Rust is the newest language here, created in 2010. It +

Rust 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 -affine typing.

+affine typing.

-
+
Logo for the D programming language -
D
-
+ width="164" /> +
D
+
-
+
Logo for the Parasail programming language -
Parasail
-
+ width="149" /> +
Parasail
+
-
+
A picture of Blaise Pascal to stand in as a logo for the Pascal programming language -
Pascal*
-
+ width="142" /> +
Pascal*
+
-
+
Logo for the Rust programming language -
Rust
-
+ width="144" /> +
Rust
+
-

* Pascal does not have an official logo, so a picture of Blaise Pascal, +

* Pascal does not have an official logo, so a picture of Blaise Pascal, in whose honour the language is named, will have to do.

@@ -118,17 +118,17 @@ that, effort has been made to keep the evaluation as similar as practical to the

The defining documents used for each of these languages are as follows:

@@ -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.

-
- +
+
@@ -1502,7 +1502,7 @@ turned out to be educated guesses. Fairness was the goal, but nonetheless reader -   +   @@ -2320,7 +2320,7 @@ turned out to be educated guesses. Fairness was the goal, but nonetheless reader
-
+ {% endblock %} -- cgit