That’s because you are trying to place an array (multiple values) into a field that can only hold a single value. Instead of a Lookup column, use a Joined List column that uses your relation to return all category names as a single delimited text string. Since that will create a single value, you will be able to use it in your list.
I hear ya. RPGLE and .NET are what I primarily work with at my day job. A lot of mainframe and web development. Even those two have their unique differences. Glide is a little different, where logic is placed in the table instead of a separate code environment. But overall, once you get the hang of Glide and learn what you can and can’t do, then you realize that it’s pretty powerful, yet simple to work with. Having a programming background definitely helps to understand how all the pieces fit together in Glide. You’ll enjoy it!
If you haven’t discovered any of this yet, here is some resources to help you learn more.