What are some alternatives to the word "type"?

Ben Halpern on November 13, 2018

In Ruby and some other languages, type is a reserved keyword. I often find myself a bit tripped up by this because I often want to assign “types” in one way or the other. type_of or perhaps category are others.

I want to expand my vocabulary. Thanks.

markdown guide

Makes you want to program in PL/I, doesn't it? In PL/I the "keywordiness" is determined by the position of the word. That leads to fun things like


kind has a very specific meaning too - while not a reserved keyword anywhere as far as I know, it could potentially be confusing when used to mean something else. I lean towards group or _grp as a suffix.


Most of the time if I'm doing document/table design for a data structure, I'll end up using something like itemType, but after looking at this post and thinking on it a bit, some other seemingly good options would seem to be:



and perhaps, mold.

purpose I like in that it conveys the meaning of the thing, eg. "this thing is meant to be an array", where as label is a bit shorter to type, but could be confused for another more useful property on a data item.

mold is nice because it is shorter to type, but a bit more ambiguous in terms of what it could be referencing.



I don't think there's any other word that can be used as an alternative to type which also gives the correct impression to the person reading it that you are exactly referring to a type of something...


Personally want to see flavor in our database, but that's just me 🙃


Haha, this reminds me of an educational app that I once written in which the teacher was meant to organize "classes". I was torn between Java-ish "clazz" spelling and less domain-ish "lesson" (I went for the "lesson").

Anyway, for issues like that Thesaurus is my best friend. I don't think there's a one-size-fits-all synonym for type, because different synonyms fit best in different contexts.

Personally, I always look for a synonym rather than prefixing like post_type or widget_type, because I hate the way it reads in the code later e.g. widget.widget_type, grr!


Not an answer, but where are you seeing type as being reserved in Ruby? It's discouraged in Rails as it's used by default for STI, but if you want to go against the grain you can even override that.

Like others I tend to agree that more context is needed to come up with the right word. To me type just means "type of class." If we're talking about something else then other words are useful, but generically.. oof.. tough to say.


Cool! I’ve used kind and group at times. Kind strikes me as a pretty solid synonym for type, and group is a great word for type-like things.

Still in search of the perfect synonym 😂


I like group, which can easily be inferred from shorthand grp to save typing...


type is the best term I know. I go even further and name integer fields with a reference to another table (forgeign keys) like *_type_id.

For example. addresses.address_type_id or customers.customer_privacy_type_id.


I will sometimes use kind in these situations but usually end up prefixing type with something more semantic: user_type, post_type, etc.


Depends so much on context. Names are tough. Is it helpful to think about what the type is distinguishing between? Sometimes, for me,the 'why do I have this field?' suggests an answer (user_type -> access_level)


"kind" seems like a nice alternative but I must say that I end up either using a prefix like "orderType" or finding a way to not specify a type at all.

That might be an interesting second question: if you have to give something a type, what are differentiators? For instance a product might have a type: "paid" | "free" but you could also look at whether there is a price on it.

And in the other direction: when you add a type that implies a lot of difference, maybe you need separate entities.


There's ilk. I would generally start with a data model of the domain and 'group' often suggests itself as an entity name, and therefore as a foreign key (as in productGroup, userGroup etc), or community, department, set...

If the field/data item is there just for the purpose of logic or program design and does not refer to a defined entity or object, I would look again at why it is there.


In Elm a common practice, even in the core libraries, is to use type_. For example package.elm-lang.org/packages/elm/...


I usually suffix _type depending on what I'm categorising (e.g. widget_type). "Sort" also is nice and short, but has the downside of being a form of the verb sorting.


True. I normally would think sort as order of something.


I use genus.

Or 🗄️ if all the code is private and not intended to be edited by others (in libraries.)



Used in French to mean "kind of" / class / type.

code of conduct - report abuse