Which categories should we allow tracks to be filtered on? #2277
-
In v3, the page that lists all the tracks, we want to implement some way of filtering of the tracks. I've tried to come up with some categories to filter on: Compiles to:
Runtime:
Paradigm:
Typing:
Domain:
Family:
Note: I've picked some of the more obvious families, but I'm sure I've missed some. We'd be really interested in hearing what you would like to filter on and what you think about the above list. |
Beta Was this translation helpful? Give feedback.
Replies: 7 comments 7 replies
-
I'd say. The specific typing options are too specific, beginners won't know what they mean. If the option is used, it suggest filtering between weak and strong typing. Other options could package manager support, native or there are bunch of options like cargo for rust, metaprogramming abilities (although I don't know how many tracks are going to teach that Regarding paradigms, will they be able to filtered for multiple paradigms for a language that is multi-paradigm |
Beta Was this translation helpful? Give feedback.
-
This may be a meta-question. How do people pick languages in general? Personally I mostly just differentiate between scripted/compiled and "web"/"system" language (which supports the "Domain" selector). It seems strange for this page to become a way of language discovery - I would expect people who find exercism already know what language they are keen to learn. |
Beta Was this translation helpful? Give feedback.
-
Maybe robotics for a domain? There is some overlap with embedded, but there are also some distinctions. |
Beta Was this translation helpful? Give feedback.
-
More domain suggestions... financial (e.g. C++) Then there are the categories of AI, ML, DL, NLP, etc. |
Beta Was this translation helpful? Give feedback.
-
Also see #2763 |
Beta Was this translation helpful? Give feedback.
-
I'm not sure iOS or Android belong in Runtime any more than Linux, Windows, or macOS would. Which in not to say that supported OSs is a bad category to filter on, but it is different from runtimes supported. You may want to consider adding server-side to your domains. Another filtering point might be whether or not it offers an interactive programming environment like a REPL or like Swift Playgrounds. |
Beta Was this translation helpful? Give feedback.
-
That list is a great start! Who should the tags primarily serve? Absolute beginners? Programmers well versed in one language seeking to learn another using exercism.io? This seems like a taxonomy problem to me. By identifying the key audience it would help constrain the relevant terms in the taxonomy. Do track maintainers need to generate relevant terms? As an aside: It would be interesting to attempt deriving the categories from all track's concept and story lists. Then we could take an intersection to find a broadly relevant set with minimal manual categorization. |
Beta Was this translation helpful? Give feedback.
That list is a great start!
Who should the tags primarily serve? Absolute beginners? Programmers well versed in one language seeking to learn another using exercism.io?
This seems like a taxonomy problem to me. By identifying the key audience it would help constrain the relevant terms in the taxonomy.
Do track maintainers need to generate relevant terms?
As an aside: It would be interesting to attempt deriving the categories from all track's concept and story lists. Then we could take an intersection to find a broadly relevant set with minimal manual categorization.