What does the term "first-class" mean?

What does the term "first-class" mean in this sentence?

"We live in a flawed world, and Hadoop [computer software] is designed to survive in it by not only tolerating hardware and software failures, but also treating them as first-class conditions that happen regularly"

Websters defines first-class as being of the best quality, first-rate; as, a first-class telescope, or as in a first-class car.

However that traditional definition does not seem to fit, because I would not think of incidents of hardware failure events being of high or low quality.

Lets say my car breaks down while driving, we do not say the car failure was first-class.


The usage of First Class in programming languages and frameworks is taken from First Class Citizen, and is used to refer to concepts or mechanisms that are baked into the design of the language or framework.

I'll try to illustrate this with a programming-focused example, since your question referred to a programming framework (Hadoop). In the C language, you don't have text as first-class citizens, but only arrays of characters that are treated as strings. Newer programmming languages, like Java or C#, have strings as first-class citizens, built into the language rather than bolted on later.

A slightly less technical example might be tags/hashtags. Here on StackExchange, tags are first class citizens - each question has tags that can be used to search, filter, award badges, etc. On Twitter, however, hashtags started as just the text "#whatever" in a tweet, without any actual technical meaning - only later did Twitter adopt them as official features. They're not first-class citizens of the platform.

So in your original context, I would say that Hadoop treats software and hardware failures, not as external situations that disrupt the regular order of operation, but as part of the process, something that is integrated into the platform and can be handled normally.


OP's citation (which I found here) seems to be a relatively rare usage. As well as OP's example, I found references to it here and here, both of which are Bible study sites.

Apparently, strictly speaking a first-class condition is something like...

If you think that's funny, wait [until you hear the rest of it!]

...where the "condition" is so likely/definite that the word if could reasonably be replaced by since.

In OP's precise context, it just means that Hadoop is designed in a way that treats hardware and software failures as "normal, expected" conditions. Which is clarified by the text itself saying that such failures are treated as if they "happen regularly" (regardless of whether they actually do).


One might say that "If OP's car breaks down because he's never had it serviced in the ten years since he bought it, then that's really his own fault" qualifies as a "first-class condition".