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