Automatisk programmering - Automatic programming

Inom datavetenskap identifierar termen automatisk programmering en typ av datorprogrammering där någon mekanism genererar ett datorprogram för att tillåta mänskliga programmerare att skriva koden på en högre abstraktionsnivå.

Det har varit lite enighet om den exakta definitionen av automatisk programmering, mest för att dess betydelse har förändrats över tiden. David Parnas , som spårar historien om "automatisk programmering" i publicerad forskning, noterade att det på 1940 -talet beskrev automatisering av den manuella processen för stansning av tejp . Senare hänvisade det till översättning av programmeringsspråkhög nivå som Fortran och ALGOL . Faktum är att ett av de tidigaste program som identifierades som en kompilator kallades Autocode . Parnas drog slutsatsen att "automatisk programmering alltid har varit en eufemism för programmering på ett högre språk än vad som då var tillgängligt för programmeraren."

Programsyntes är en typ av automatisk programmering där ett förfarande skapas från grunden, baserat på matematiska krav.

Ursprung

Mildred Koss , en tidig UNIVAC -programmerare, förklarar: "Att skriva maskinkod involverade flera tråkiga steg - att bryta ner en process till diskreta instruktioner, tilldela specifika minnesplatser till alla kommandon och hantera I/O -buffertarna. Efter att ha följt dessa steg för att implementera matematiska rutiner, ett sub-rutinbibliotek och sorteringsprogram, var vår uppgift att titta på den större programmeringsprocessen.Vi behövde förstå hur vi kan återanvända testad kod och få maskinen att hjälpa till med programmering. När vi programmerade undersökte vi processen och försökte tänka på sätt att abstrakta dessa steg för att införliva dem i språk på högre nivå.Detta ledde till utvecklingen av tolkar, montörer, kompilatorer och generatorer-program som är utformade för att fungera på eller producera andra program, det vill säga automatisk programmering . "

Generativ programmering

Generativ programmering och den relaterade termen metaprogrammering är begrepp där program kan skrivas "för att tillverka mjukvarukomponenter på ett automatiserat sätt" precis som automatiseringen har förbättrat "produktionen av traditionella varor som plagg, bilar, kemikalier och elektronik."

Målet är att förbättra programmerarens produktivitet. Det är ofta relaterat till ämnen som återanvänder kod, till exempel komponentbaserad programvaruteknik .

Generering av källkod

Källkodgenerering är processen att generera källkod baserad på en beskrivning av problemet eller en ontologisk modell som en mall och åstadkommes med ett programmeringsverktyg som en mallprocessor eller en integrerad utvecklingsmiljö (IDE). Dessa verktyg gör det möjligt att skapa källkod på olika sätt.

Moderna programmeringsspråk stöds väl av verktyg som Json4Swift ( Swift ) och Json2Kotlin ( Kotlin ).

Program som kan generera COBOL -kod inkluderar:

Dessa applikationsgeneratorer stödde COBOL -insatser och åsidosättningar.

En makroprocessor , såsom C-förbehandlaren , som ersätter mönster i källkoden enligt relativt enkla regler, är en enkel form av källkodgenerator. Det finns också verktyg för att skapa källkodskod .

Lågkodsprogram

En plattform med låg kodutveckling (LCDP) är programvara som ger en miljö som programmerare använder för att skapa applikationsprogramvara genom grafiska användargränssnitt och konfiguration istället för traditionell datorprogrammering .

Se även

Anteckningar

Referenser

  • Generativ programmering: Metoder, verktyg och applikationer av Krzysztof Czarnecki och Ulrich W. Eisenecker, Addison Wesley, 2000.

externa länkar