Hvad er automatisk programmering?
Automatisk programmering inden for datalogi og computerteknik refererer til produktionen af computerprogrammeringskode af et system eller software som svar på mere abstrakte brugerinput eller kommandoer. På en måde beskriver automatisk programmering enhver situation, hvor en computer eller software erstatter en erklæring, der er indlæst af en programmør, med en blokblok, der konkret kan udføre de handlinger, der er beskrevet i erklæringen. Når den anvendes i en anden forstand, kan automatisk programmering beskrive målet om at skabe et programmeringssprog eller et system, der intuitivt kan samle en afsluttet applikation, der kun er baseret på programmets barste retning. Automatisk programmering kan bruges i nogle computerforskningsfelter til at henvise til processen med at designe et kunstig intelligens (AI) -system, der enten er i stand til autonomt at producere et program til at udføre en opgave eller selvmodificere sin egen kode for at forbedre funktionaliteten.
Definitionen af automatisk programmering er noget vag. Det blev oprindeligt brugt i de tidlige år med computerprogrammering til at beskrive oversættelsen af abstrakte samling-sproglignende instruktioner til udvidet maskinkode. Dette blev kaldt automatisk programmering, fordi kompilatoren automatisk ville erstatte en enkelt menneskelig læsbar erklæring med snesevis eller flere maskinkodeinstruktioner, og i det væsentlige automatisk skrive programmet på en primitiv måde. De samme handlinger udføres stadig af sprogkomponenter i de fleste tilfælde, uanset hvilket overliggende programmeringssprog der bruges.
En anden anvendelse til udtrykket "automatisk programmering" er at beskrive automatisk kodegenerering. Dette er, når et integreret udviklingsmiljø (IDE) eller andet værktøj kan bruges visuelt eller på en meget nem måde at specificere, hvordan en slutbruger vil se et program. Når det ønskede resultat er oprettet, kan softwaren eller IDE derefter automatisk producere funktionel kildekode for at opnå resultatet uden yderligere input fra programmereren.
I nogle tilfælde henviser automatisk programmering også til studiet af, hvordan man implementerer sprog på et så højt niveau, at kildekoden ligner naturligt sprog. Et programmeringssprog som dette ville derefter automatisk producere applikationen baseret på programmørens brede input. Uanset hvor automatisk et sprog bliver, skal det dog bemærkes, at programmereren på et tidspunkt har brug for at manuelt ændre koden til specifik funktion ved hjælp af selve programmeringssproget.
Inden for kunstig intelligens udføres en del undersøgelser for at udvikle et system, der automatisk kan programmere sig selv for at tilføje kapaciteter, som det oprindeligt ikke blev givet. Dette udvides også til AI'er, der er i stand til at skrive uafhængig software, der kan løse et specifikt problem. Et program ville være at oprette et programmeringssprog, der kunne bruge AI til at generere hurtige programprototyper.