Not Quite C (NQC) je jazyk vytvořený Davidem Malmbergem, který je navržen tak, aby byl snadno použitelný pro lidi, kteří znají programovací jazyk C. NQC je imperativní, strukturovaný, staticky typovaný jazyk s mnoha vlastnostmi, které jsou podobné vlastnostem jazyka C. NQC však není podmnožinou jazyka C, a proto není se zdrojovým kódem jazyka C kompatibilní.
Jazyk NQC byl navržen tak, aby byl snadno použitelný pro lidi, kteří znají jazyk C. Má jednoduchou syntaxi s několika klíčovými slovy a většina funkcí, které se vyskytují v jazyce C, je přítomna i v jazyce NQC. Mezi oběma jazyky však existují některé důležité rozdíly.
Jedním z nejvýznamnějších rozdílů je to, že NQC není podmnožinou jazyka C. To znamená, že programy v NQC nelze kompilovat kompilátorem jazyka C. NQC však obsahuje preprocesor, který umožňuje jeho použití s kompilátory jazyka C.
Dalším rozdílem je, že NQC je staticky typovaný jazyk. To znamená, že všechny proměnné musí být deklarovány dříve, než je lze použít. V jazyce C lze proměnné deklarovat kdekoli v kódu a typ proměnné je odvozen z hodnoty, která je jí přiřazena.
Jazyk NQC má také řadu vlastností, které jej činí vhodnějším pro programování vestavných systémů. NQC například obsahuje podporu aritmetiky s pevnou řádovou čárkou, která není k dispozici v jazyce C. NQC má také vestavěnou podporu bitových operací, což může být užitečné pro kód, který potřebuje komunikovat s hardwarem.
Celkově je NQC jazyk, který je navržen tak, aby se snadno používal lidem, kteří znají jazyk C. Má jednoduchou syntaxi a obsahuje mnoho stejných funkcí jako jazyk C. Mezi oběma jazyky však existují některé důležité rozdíly.