In a question I asked recently on Stack Overflow, an interesting point came up: how do we best indicate which target platform a Kotlin question is about?
Arguably, Stack Overflow is the single most important resource for getting help with programming issues today. Kotlin is represented by a growing number of questions there; it’s currently 16k. I would assume that most questions are either platform agnostic or about the JVM.
Looking at the tags used with [kotlin] most often, we get in particular
- [android] with 8213 questions,
- [jvm] with 84,
- [kotlin-native] with 43,
- [kotlin-js] with 16,
- [native] with 9.
There doesn’t seem to be a consistent strategy. I think it would be helpful for discovering and understanding Kotlin-related posts on SO if the tags would indicate whether they are platform-specific, and if so to which.
Of course, the community would have to moderate Kotlin questions aggressively for a while at least in order to establish any convention.
Here are three basic proposals.
Proposal 1: [kotlin] + [platform]
(I note that some Android devs seem to tag any question they run into [android], even if the question isn’t specific to that platform at all.)
This would bundle all Kotlin questions under a shared tag, and use established tags to differentiate.
Proposal 2: [kotlin] + [kotlin-platform]
If a question is specific to a platform, use [kotlin] together with [kotlin-jvm], [kotlin-android], [kotlin-native], or [kotlin-js].
This would bundle all Kotlin questions under a shared tag, and use (new) tags to differentiate without intersecting with existing tags in potentially unfortunate ways (For example, do JS devs really want to see Kotlin questions? Do we expect them to be able to help? [native] seems to be an odd mixing pot, too.)
Proposal 3: [kotlin] vs [kotlin-platform]
As Proposal 2, but use [kotlin] only on platform-agnostic questions.
This would give up having a single pool for all Kotlin-related questions but would allow for the most specific searches. For example, if you want to answer Kotlin questions as a way of learning the language, all platform-specific issues are probably out of scope.
What do you people think?