Learn English – 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.

Best Answer

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.