Uitleg van de programmeertaal gezocht / Arduino ballen machine

Hallo
Er wordt veel onwaarheden verkondigt rond de Arduino programmeer taal. Maar eigenlijk is het heel simpel.
Je programeert de arduino in C++.
Omdat C++ een extensie is van C kan je de Arduino ook in C compileren (maar het gaat toch door een C++ compiler).
Omdat C++ geen specifieke hardware functies heeft zoals zet poort 3 hoog heeft het Arduino team de wiring framework in C++ gecodeerd. Dit is de Arduino library.
Behalve de vele extra functies die je kan vinden op http://arduino.cc/en/Reference/HomePage of bij wiring zelf op Extended Framework (API) \ Wiring is het grootste verschil dat je in C++ altijd een functie hebt die "int main()" noemt. Bij Wiring heb je er 2 "void setup()" en "void loop()".

Technisch heeft het Arduino team dit als volgt opgelost

int main(int argc, char *argv[])
{
    arduino_init();
    setup();
    while(1)
    {
        loop();
    }
    system("PAUSE");
    return EXIT_SUCCESS;
}

merk op dat de laatste 2 lijnen nooit kunnen aangeroepen worden en dus overbodig zijn.

    system("PAUSE");
    return EXIT_SUCCESS;
}

Daarnaast heeft het Arduino team ook nog een paar vervelende C/C++ taken van je overgenomen die het leven echt wel makkelijker maken.
Zo werkt dit stukje code in Arduino

void setup()
{
doeIets();
}
 void doeIets()
{
}

Maar zal dit niet werken in mij Eclipse plugin of in gelijk welke C/C++ omgeving. Daar moet het zijn zoals hieronder:

void doeIets();
void setup()
{
doeIets();
}
 void doeIets()
{
}

Met andere woorden een object moet gedeclareerd zijn voor je het kan gebruiken. De Arduino IDE maakt die declaraties voor jou met soms onaangename gevolgen maar voor de gemiddelde gebruiker veel handiger.

Dus om de Arduino tool te leren kan je best een C++ cursus erbij nemen. Bijvoorbeeld Programmeren in C++/Basis - Wikibooks of een echt boek.
Zo een boek beantwoord al je vragen behalve :

Waarom staan er hoofdletters midden in woorden

Er zijn 4 grote strekkingen in "naming convention". "Naming convention" is de afspraak hoe je variabelen methodes en andere zaken neerschrijft in een programmeer taal.
Hungarian notatie is een in onbruik geraakt sinds de object georiënteerd talen zijn verschenen. Als je een variabele van het type geheel getal (int in C C++) die je Aantal zou noemen Zou je die in hungarian schrijven als iAantal. Dus met andere woorden eerst het type gevolgd door de naam.
Camal casing wordt nog heel vaak gebruikt voor klasses (bijoorbeeld de standaard bij java voor klassen). Bij camel casing schrijf je elke eerste letter van een woord als een hoofdletter. Vb AantalLeerlingen
Pascal casing komt van de programmeer taal Pascal en is hetzelfde als Camel casing met dit verschil dat het eerste woord een kleine letter is. Pascal casing wordt heel veel gebruikt. Bij in Java is het de standaard voor variabelen en methodes. V aantalLeerlingen
Underscore (ik ken de naam niet) wordt ook vaak gebruikt zeker als namen allemaal in hoofdletters staan. VB AANTAL_LEERLINGEN

Veel plezier ermee.
Met vriendelijke groet.
Jantje