blog.cleancoder.com blog.cleancoder.com

Open Letter to the Linux Foundation

To: The Linux Foundation Jim Zemlin: Executive Director Angela Brown: VP of Events Andy Updegrove: Legal Council From: Robert Martin (@unclebobmartin) (unclebob@cleancoder.com) Re: Code of Conduct case of Charles Max Wood. Dear Linux Foundation: I am writing to you as a concerned member of the software development community which I have enjoyed serving for the last 50 years. I am writing in public because the events I wish to describe...

blog.cleancoder.com blog.cleancoder.com

Circulatory

My wife and I both got genetic analyses from 23andMe recently. I discovered that my ancestry comes from Britain and Northern Europe. My wife is Mexican, and she found that her ancestry is very diverse. One of the services of 23andMe is that they offer to connect you to relatives who have also used 23andMe. Using this service my wife found a second cousin whom she had never met, but whose extended family had overlapped with hers. By...

blog.cleancoder.com blog.cleancoder.com

Classes vs. Data Structures

What is a class? A class is the specification of a set of similar objects. What is an object? An object is a set of functions that operate upon encapsulated data elements. Or rather, an object is a set of functions that operate on implied data elements. What do you mean by implied data elements”? The functions of an object imply the existence of some data elements; but that data is not directly accessible or visible outside of...

blog.cleancoder.com blog.cleancoder.com

737 Max 8

The software within the two doomed 737 Max 8 aircraft physically wrested control away from the pilots and plunged those aircraft into the Earth at speeds approaching Mach 1, killing everyone aboard. As a pilot, and a software engineer, I have dug pretty deeply into this issue. I’ve read many of the reports, and have read or listened to the opinions and commentary offered by others. Nothing I have read or heard contradicts the...

blog.cleancoder.com blog.cleancoder.com

Craftsman, Craftswoman, Craftsperson

In the past I have used the term “Craftswoman” only when refering directly to a woman. In most other cases, including most gender neutral cases, I have used the term “Craftsman”. I say “most” because when I would address a team of both men and women I’d be as likely as not to use some variation of “Craftsmen and Craftswomen”. When writing, however, I have used “Craftsman” for the gender neutral cases. This is...

blog.cleancoder.com blog.cleancoder.com

FP vs. OO

Over the last several years I have paired with people learning Functional Programming who have expressed an anti-OO bias. This usually comes in the form of statements like: “Oh, that’s too much like an Object.” I think this comes from the notion that FP and OO are somehow mutually exclusive. Many folks seem to think that a program is functional to the extent that it is not object oriented. I presume this opinion comes as a...