자동 프로그래밍이란 무엇입니까?
컴퓨터 과학 및 컴퓨터 공학에서의 자동 프로그래밍은보다 추상적 인 사용자 입력 또는 명령에 응답하여 일부 시스템 또는 소프트웨어에 의한 컴퓨터 프로그래밍 코드의 생성을 의미합니다. 어떤 의미에서, 자동 프로그래밍은 컴퓨터 나 소프트웨어가 프로그래머가 입력 한 명령문을 명령문에 설명 된 조치를 구체적으로 수행 할 수있는 코드 블록으로 대체하는 모든 상황을 설명합니다. 다른 의미로 사용될 때, 자동 프로그래밍은 프로그래머의 가장 작은 방향만을 기반으로 완성 된 애플리케이션을 직관적으로 조립할 수있는 프로그래밍 언어 또는 시스템을 만드는 목표를 설명 할 수 있습니다. 일부 컴퓨터 연구 분야에서는 자동 프로그래밍을 사용하여 작업을 완료하기위한 프로그램을 자율적으로 생성하거나 기능을 향상시키기 위해 자체 코드를 자체 수정하는 인공 지능 (AI) 시스템 설계 프로세스를 참조 할 수 있습니다.
자동 프로그래밍의 정의는 다소 모호합니다. 원래 컴퓨터 프로그래밍 초기에 어셈블리 언어와 같은 추상 명령어를 확장 된 기계 코드로 변환하는 것을 설명하기 위해 사용되었습니다. 컴파일러는 사람이 읽을 수있는 단일 명령문을 수십 개 이상의 기계 코드 명령어로 자동 대체하므로 기본적으로 자동으로 프로그램을 작성하기 때문에이를 자동 프로그래밍이라고합니다. 사용되는 오버레이 프로그래밍 언어에 관계없이 대부분의 경우 언어 컴파일러가 동일한 작업을 계속 수행합니다.
"자동 프로그래밍"이라는 용어의 또 다른 용도는 자동화 된 코드 생성을 설명하는 것입니다. 통합 개발 환경 (IDE) 또는 기타 도구를 시각적으로 또는 매우 쉬운 방법으로 사용하여 최종 사용자가 프로그램을 보는 방법을 지정할 수 있습니다. 원하는 결과가 만들어지면 소프트웨어 나 IDE는 프로그래머의 추가 입력없이 결과를 얻기 위해 자동으로 기능적 소스 코드를 생성 할 수 있습니다.
경우에 따라 자동 프로그래밍은 소스 코드가 자연어처럼 보이는 수준에서 언어를 구현하는 방법에 대한 연구를 말합니다. 이와 같은 프로그래밍 언어는 프로그래머의 광범위한 입력을 기반으로 응용 프로그램을 자동으로 생성합니다. 그러나 언어가 아무리 자동화 되더라도 프로그래머는 어느 시점에서 프로그래밍 언어 자체를 사용하여 특정 기능에 대한 코드를 수동으로 수정해야합니다.
인공 지능 분야에서는 원래 제공되지 않은 기능을 추가하기 위해 자동으로 자체 프로그래밍 할 수있는 시스템을 개발하기위한 일부 연구가 수행됩니다. 또한 특정 문제를 해결할 수있는 독립적 인 소프트웨어를 작성할 수있는 AI로 확장됩니다. 하나의 응용 프로그램은 AI를 사용하여 빠른 프로그램 프로토 타입을 생성 할 수있는 프로그래밍 언어를 만드는 것입니다.