Metoder för att skapa CNC-bearbetningsprogram är uppdelade i manuell (mänsklig) programmering och automatisk programmering. Vid manuell programmering skrivs hela programmet manuellt enligt det instruktionsformat som specificeras av CNC-systemet. Automatisk programmering, eller datorprogrammering, kan delas in i automatiska programmeringsmetoder baserade på språk och ritningar. Oavsett vilken automatisk programmeringsmetod som används krävs dock motsvarande hårdvara och mjukvara.
För att förbättra nivån på produktionsautomatisering, förkorta programmeringstiden och minska CNC-bearbetningskostnaderna har en serie avancerade CNC-bearbetningsteknologier utvecklats och använts inom flygindustrin. Till exempel använder Computer Numerical Control (CNC) en liten dator eller mikrodator för att ersätta styrenheten i CNC-systemet, och använder programvara lagrad i datorn för att utföra beräknings- och kontrollfunktioner. Detta mjuka-anslutna CNC-system ersätter gradvis det ursprungliga CNC-systemet. Direct CNC använder en dator för att direkt styra flera CNC-verktygsmaskiner, vilket är mycket lämpligt för små-batch, kort-produktion av flygplan. Det ideala styrsystemet är ett adaptivt styrsystem som kontinuerligt kan ändra bearbetningsparametrar. Även om systemet i sig är komplext och dyrt, kan det förbättra bearbetningseffektiviteten och kvaliteten. Förutom förbättringar av hårdvara som CNC-system och verktygsmaskiner är en annan viktig aspekt av CNC-utveckling utvecklingen av mjukvara. Datorstödd programmering (även kallad automatisk programmering) innebär att programmerare skriver program i ett numerisk kontrollspråk (NC) och matar in dem i en dator för översättning och slutligen matar datorn automatiskt ut hålband eller magnetband. Ett allmänt använt NC-språk är APT (Automatic Programming Language). Det är i stort sett uppdelat i ett huvudbearbetningsprogram och ett efterbearbetningsprogram.{13} Den förra översätter programmerarens program och beräknar verktygsbanan; den senare sammanställer verktygsbanan till ett bearbetningsprogram för NC-maskinen. NC-bearbetning innebär att man för-skriver program på en dator innan man bearbetar arbetsstycket och sedan matar in dessa program i en dator-styrd verktygsmaskin för instruktions-baserad bearbetning, eller direkt skriver instruktioner på kontrollpanelen på en sådan verktygsmaskin. Bearbetningsprocessen inkluderar verktygsmatning, verktygsbyte, hastighetsändring, riktningsändring och stopp, som alla genomförs automatiskt. NC-bearbetning är en avancerad metod inom modern formtillverkning. Naturligtvis är NC-bearbetning inte begränsad till bearbetning av formdelar; dess applikationer är mycket-brett.

