This thread on Hacker News terrifies me
Dennis
dkorpel at gmail.com
Sat Sep 1 10:49:41 UTC 2018
On Friday, 31 August 2018 at 22:23:09 UTC, Walter Bright wrote:
> For example, in any CS program, are there any courses at all
> about this?
In Year 1 Q4 of my Bachelor CS, there was a course "Software
Testing and Quality Engineering" which covered things like test
types (unit, end-to-end, smoke etc.), code coverage and design
by contract. They taught how to implement invariants,
preconditions and postconditions in Java by manually placing
asserts (since unlike D, there's no `in`, `out` or `invariant`
keywords in Java) but I don't recall anything related to recovery
from errors, or using aviation safety principles to make a safe
system from unreliable parts. They said that you can decide
between security and performance when choosing to leave asserts
on/off in release builds.
In Year 2 Q1 there was a follow-up "Software Engineering Methods"
course which talked about Design Patterns (the GoF ones), process
(SCRUM / Agile), and designing (with UML and other graphs). No
other courses since then talked about software engineering, they
were more focused on specific fields (big data, signal
processing, embedded systems) and fundamental computer science
(algorithms, complexity theory, programming languages).
More information about the Digitalmars-d
mailing list