FOCAL je programovací jazyk, který na počátku 70. let 20. století vytvořili John G. Kemeny a Thomas E. Kurtz. Jedná se o strukturovaný, imperativní jazyk s jednoduchou syntaxí. Byl navržen tak, aby se snadno učil a používal a aby byl vhodný pro psaní krátkých programů.
Programy v jazyce FOCAL se píší v textovém editoru a jsou spouštěny interpretem jazyka FOCAL. Interpret může být spuštěn v interaktivním režimu, kdy čte a vykonává příkazy během jejich psaní, nebo v dávkovém režimu, kdy čte a vykonává seznam příkazů ze souboru.
Jazyk FOCAL nerozlišuje velká a malá písmena. To znamená, že názvy proměnných a klíčová slova mohou být zapsány velkými, malými nebo smíšenými písmeny a interpret s nimi bude zacházet stejně.
FOCAL má malou sadu vestavěných datových typů: celá čísla, reálná čísla, řetězce a logické symboly. Má také sadu vestavěných funkcí pro práci s těmito datovými typy.
Proměnné ve FOCALu jsou netypované. To znamená, že proměnná může obsahovat libovolný typ dat. Díky tomu je FOCAL dynamicky typovaný jazyk.
FOCAL má jednoduchý model toku řízení. Programy se skládají z posloupnosti příkazů, které se provádějí jeden po druhém. Pokud za příkazem následuje příkaz IF, pak se příkaz provede pouze tehdy, pokud je podmínka v příkazu IF pravdivá. Pokud za příkazem následuje příkaz ELSE, pak se příkaz provede pouze tehdy, pokud je podmínka v příkazu IF nepravdivá.
FOCAL má malou sadu vestavěných příkazů pro vstup a výstup. Má také sadu vestavěných funkcí pro matematické a řetězcové operace.
FOCAL je interpretovaný jazyk, což znamená, že programy napsané v něm nejsou kompilovány do strojového kódu. Místo toho jsou interpretovány interpretrem FOCAL. Díky tomu je jazyk FOCAL přenosný, protože programy lze spustit na jakémkoli počítači s interpretem FOCAL.
FOCAL je jednoduchý jazyk, který se snadno učí a používá. Je vhodný pro psaní malých programů.