Software Development
Welcome to Software Development 2020!
General Readings:
Two news items: Fiat Chrysler Recalls 5.3 Million Vehicles .. Software Glitch Apple’s New Software Aim-Fewer Features, But Fewer Bugs
A discussion of the NEU curriculum:
CwC, C++, Git:
Pointers, References, Addresses: video.
Enrichment:
The Efficacy of Code Reviews
When discussing code reviews, we’ve leaned on some of the older research. Those of you with co-op experience might want to know about the utility of the _modern_ style of code reviews, as more typically practiced. For those, I invite you read the following article from "Empirical Software Engineering" in 2016:
An Empirical Study Of The Impact Of Modern Code Review Practices on Software Quality
"They Didn’t Teach Us This": A Crash Course for Your First Job in Software
A Whirlwind Tutorial on Creating Really Teensy ELF Executables for Linux
"Who’s at fault for a null pointer problem?"
As you proceed through this and future assignments in the course, one flavor of mistake you can expect to encounter is the Null pointer error. Students often want help finding who’s to blame for their null pointer errors.
The answer, of course, is Sir Tony Hoare:
https://www.infoq.com/presentations/Null-References-The-Billion-Dollar-Mistake-Tony-Hoare/
If you find this vexing, then you might want to listen to his video-recorded explanation and apology.
Code Reviewing a Spec with Bill Gates:
As we’ve said, I hope our panels and code reviews are helpful! That we can help you spot bugs you might not have seen on your own. And hopefully, persons in the audience with similar bugs to the presenters will notice them too, during the presentations.
Joel Spolsky tells a wonderful story about what it was like to do a live code review (of a spec!) in front of Bill Gates. It seems like he was quite the technical reviewer!
The importance of Software APIs The following is a draft of a supreme court brief (that one of the instructor is a co-signer of) arguing for the freedom to reimplement interfaces. It is an episode in the long fight around Android and its choice to use Java APIs.
Even Congress Doesn’t Understand Why Software Engineers Take So Long