Okay, here's the problem: is really vague. I'd think it would be much more beneficial to use either //etc. Additionally, do you think we should keep the sketch tag, as it seems to be very similar to programming (with an exception of sketch size, which is its own tag)? However, there still might be some applications that would be appropriate to use sketch...

Take a look at some of the tagging I've seen that use :

The programming tag seems very ambiguous. In some cases, you have to assume which language they're using.

So the solution that I feel appropriate:

  • Edit the wiki to say something like this:

    For questions about coding your Arduino, please use the language tag ( is the official language for Arduino). Use this tag when talking about the concept of a sketch, such as the actual file, not the code.

  • : retag all non-c++ questions, perform a merge (i.e. automatic mass retagging), and edit the wiki like this:

    For questions about coding your Arduino, please use the language tag ( is the official language for Arduino). Use this tag when talking about Arduino coding in general.

    With the merge, we might have to move a question or two back to programming, but that shouldn't be a big deal.

So what is your input on this? Any suggestions? Is it fine as is?

  • Closely related question: meta.arduino.stackexchange.com/questions/111/… Commented Jun 1, 2014 at 0:10
  • @Peter Yes, I did look at that one before I posted this one. The tag seemed fine then, but it seems like now that it's used pretty much whenever it's not electronics. IMHO tags are designed to be specific enough that someone can subscribe to a tag and get a small range of questions that they're interested in, but not too specific that they have to subscribe to twelve different RSS feeds for hardware interrupts. I think that separating topics like C++ and [insert another language] make the feeds more useful, especially since I'm not that interested in coding with Java. Commented Jun 1, 2014 at 2:35
  • 2
    One problem I see is some people may program with Arduino IDE without even knowing they use C or C++. Also, for beginners, the difference between C and C++ is not always obvious.
    – jfpoilpret
    Commented Jun 1, 2014 at 22:40
  • 1
    @jfpoilpret Yes, that is a good point. I kinda feel like we should rename the "programming" tag and use that for standard IDE code (i.e. setup()/loop()). Commented Jun 14, 2014 at 17:02

1 Answer 1


Here is the way it makes the most sense for me:

should be for questions that require a knowledge of Arduino-specific methods and other code, like delay(19), TCNT2, and void setup(){}. It might need to be renamed to or something similar.

should be for questions that

  • involve pure C++ code, e.g.

    #include <iostream>
    int main()
        std::cout << "Hello World!";
  • involve advanced C++ coding techniques that a mediocre Arduino programmer is not expected to know, (e.g. pointers), or

  • can be answered by someone who knows C++, but has absolutely no experience with Arduino code, e.g.

    Whai dosnt dis codez werk?

    void setup() {
        digitalWrite(2, HIGH)

Other language tags, like and , should be used in any question that is related to those languages.

  • But then people still will be tagging a matlab question with "matlab" and "programming." I kinda think we should rename programming to make it clear it's for standard IDE code... ideas? Commented Jun 14, 2014 at 17:00
  • 1
    @AnnonomusPenguin Is that necessarily bad? If I want to see all coding-related questions, I don't want to favorite [programming], [matlab], [r], [c], [c++], etc. Commented Jun 15, 2014 at 12:51
  • 1
    True, but I think we should add another just tag for the code with the standard Arduino bootloader and libraries. That way someone who wants only standard Arduino code questions can favorite that tag and someone who wants all code can favorite just one tag. Commented Jun 15, 2014 at 21:48

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .