Wilkommen im Forum,
Es gibt verschiedene Programmiersprachen. Je nachdem welchen Controller du nimmst gibt es z.B. Bascom (Basicdialekt), C, Assembler,...
Für die größeren Controller (ARM) gibt es dann VHDL, wobei man eher mit normalen µC einsteigen soll. Bei µC gib es zwei große Gruppen, einmal die AVR von Atmel und einmal die PICs von Microchip (es gibt noch weitere jedoch sind diese weit verbreitet). Ich arbeite mit den AVR von Atmel, hier gibt es sehr viele, von 8 pinnigen ICs bis µC mit über 100 Anschlüssen, mit unterschiedlich Speicher,...). Ich kann den Atmega88 o.Ä. empfehlen. Dieser ist für den Anfang gut geeignet, später wirst du genug Erfahrung sammeln damit du den richtigen µC auswählst, wenn du einen anderen brauchst.

Wenn du auch die AVR Serie nimmst gibt es auf Mikrocontroller.net ein gutes AVR-GCC Tutorial. Programme findest du sehr oft kostenlos im Internet.

Ich würde, wenn du später sowieso C lernen musst, gleich in C programmieren.

MfG Hannes