4세대 프로그래밍 언어
1. 개요
4세대 프로그래밍 언어(4GL)는 1981년 제임스 마틴이 처음 사용한 용어로, 비절차적이고 높은 수준의 명세 언어를 지칭한다. 초기 4GL은 1960년대 후반부터 1970년대에 걸쳐 천공 카드 입력을 기반으로 발전했으며, 하드웨어 및 운영 체제의 제약 속에서도 효율적인 애플리케이션 개발을 지원했다. 4GL은 테이블 기반, 보고서 생성기, 폼 생성기, 데이터 관리, GUI 생성 등 다양한 유형으로 분류되며, 데이터베이스 질의, 보고서 생성, 데이터 조작 및 분석, 웹 개발 등 다양한 분야에서 활용된다. 21세기에는 로우 코드 개발 플랫폼으로 발전하여 애플리케이션 개발 속도를 높이는 데 기여하고 있다.
| 종류 | 프로그래밍 언어 |
|---|---|
| 세대 | 4세대 언어 |
| 주요 특징 | 높은 생산성 사용 용이성 비전문가 사용 가능 |
|---|---|
| 개발 목표 | 특정 업무 효율 향상 |
| 개발 동기 | 생산성 향상 |
| 사용 범위 | 데이터베이스 접근 보고서 생성 GUI 개발 |
| 등장 시기 | 1970년대 |
|---|---|
| 발전 배경 | 소프트웨어 생산성 문제 대두 |
| 주요 발전 단계 | 데이터베이스 중심 언어 발전 GUI 기반 개발 도구 등장 |
| 예시 | SQL MATLAB SPSS SAS 파워빌더 델파이 오라클 Forms |
|---|
| 장점 | 빠른 개발 속도 쉬운 사용법 생산성 향상 |
|---|---|
| 단점 | 낮은 유연성 성능 문제 발생 가능성 디버깅 어려움 |
| 관련 용어 | 3세대 프로그래밍 언어 5세대 프로그래밍 언어 로우 코드 노 코드 |
|---|
| 참고 자료 | HICSS 연구 보고서 도메인 특화 언어 관련 참고 자료 소프트웨어 세대별 발전 관련 참고 자료 4세대 언어 정의 (PCMAG) |
|---|
-
4세대 프로그래밍 언어 -
XQuery
XQuery는 함수형 프로그래밍 패러다임을 지원하며 XPath 식 구문의 상위 집합을 포함하는 XML 데이터 추출 및 조작을 위한 쿼리 언어로서, FLWOR 식을 통해 XML 데이터 조작 및 새로운 XML 문서 구성을 지원하고 XQuery 및 XPath 데이터 모델(XDM)을 기반으로 한다. -
4세대 프로그래밍 언어 -
SAS (소프트웨어)
SAS는 통계 분석, 데이터 마이닝, 예측 모델링 기능을 제공하는 소프트웨어 제품군으로, 농업 데이터 분석을 위해 개발되어 다양한 산업 분야에서 활용되고 있으며 인공지능 및 머신러닝 분야로 투자를 확대하고 있다. -
프로그래밍 언어 분류 -
하드웨어 기술 언어
하드웨어 기술 언어(HDL)는 전자 시스템의 구조와 동작을 텍스트 기반으로 표현하는 언어로, 디지털 회로 설계의 핵심 도구로 사용되며, 시뮬레이션 및 디버깅을 통해 설계 검증을 수행한다. -
프로그래밍 언어 분류 -
고급 프로그래밍 언어
고급 프로그래밍 언어는 기계어보다 높은 수준의 추상화를 제공하며, 변수, 객체, 함수 등의 개념을 사용하여 프로그래머가 기계의 세부 사항에서 분리되어 편리하게 프로그래밍할 수 있도록 하는 언어이다.
2. 역사
4세대 프로그래밍 언어(4GL)라는 용어는 이전부터 논문이나 토론에서 사용되었지만, 1981년 제임스 마틴이 그의 저서 프로그래머 없는 애플리케이션 개발에서 비절차적이고 높은 수준의 명세 언어를 지칭하기 위해 처음 공식적으로 사용했다.
4GL의 시작과 지속적인 관심에는 여러 가지 이유가 있었다. 이 용어는 광범위한 소프트웨어 제품군에 적용될 수 있으며, 더 큰 의미론적 속성과 구현 능력을 추구하는 접근 방식에도 적용될 수 있다. 3GL이 프로그래머에게 더 큰 능력을 제공했듯이, 4GL은 개발 환경을 더 많은 사람들에게 개방했다.
4GL의 개발은 여러 요인의 영향을 받았으며, 하드웨어 및 운영 체제의 제약 조건이 큰 비중을 차지했다. 4GL이 처음 도입되었을 때, 다양한 하드웨어와 운영 체제는 판매를 보장하기 위해 시스템별 맞춤형 애플리케이션 개발 지원을 필요로 했다.
후기 4GL 유형은 데이터베이스 시스템에 묶여 있으며, 컴퓨팅 기술의 전반적인 발전으로 인해 발생한 기술 및 자원 사용 측면에서 이전 유형과 크게 다르다.
4GL과 관련하여 흥미로운 점은 그래픽 인터페이스와 사용자가 수행하는 관련 추론이 제대로 이해되지 않는 '언어'를 형성한다는 인식이다.
2.1. 초기 4GL (1960년대 ~ 1970년대)
4세대 프로그래밍 언어(4GL)라는 용어는 이전부터 논문이나 토론에서 사용되었지만, 1981년 제임스 마틴이 그의 저서 프로그래머 없는 애플리케이션 개발에서 비절차적이고 높은 수준의 명세 언어를 지칭하기 위해 처음 공식적으로 사용했다. 초기 4GL은 원시적인 형태로 Informatics의 MARK-IV (1967년) 제품과 스페리의 MAPPER (1969년 내부 사용, 1979년 출시)에 포함되었다.
4GL의 시작과 지속적인 관심에는 여러 가지 이유가 있었다. 이 용어는 광범위한 소프트웨어 제품군에 적용될 수 있으며, 더 큰 의미론적 속성과 구현 능력을 추구하는 접근 방식에도 적용될 수 있었다. 3GL이 프로그래머에게 더 큰 능력을 제공했듯이, 4GL도 개발 환경을 더 많은 사람들에게 개방했다.
초기 4GL의 입력 방식은 천공 카드 (순차 처리에 8바이트 사용)의 72자 제한 내에서 데이터를 입력하는 것을 지원했으며, 카드의 태그는 유형 또는 기능을 식별했다. 몇 장의 카드를 신중하게 사용하면 4GL 덱은 다양한 처리 및 보고 기능을 제공할 수 있었지만, 3GL로 코딩된 동일한 기능은 카드 한 상자 이상을 포함할 수 있었다. 72자 형식은 하드웨어가 더 큰 메모리와 터미널 인터페이스로 발전하면서 한동안 계속되었다. 이러한 제한에도 불구하고, 이 방식은 매우 정교한 애플리케이션을 지원했다.
인터페이스가 개선되어 더 긴 문장 길이와 문법 기반 입력 처리를 허용하면서 더 큰 능력이 생겼다. 이에 대한 예시는 Nomad 페이지에서 설명하고 있다.
Nomad영어의 또 다른 강력한 예는 Computer History Museum에 대한 Nicholas Rawlings의 NCSS에 대한 언급에서 나타난다. 그는 제임스 마틴이 Rawlings에게 마틴이 '엔지니어 문제'라고 부르는 표준 문제에 대한 Nomad영어 솔루션을 요청했다고 보고한다. "평균 평점이 7점 이상인 엔지니어에게 6% 인상." 마틴은 "수십 페이지의 COBOL, 그리고 Informatics의 Mark IV 몇 페이지"를 제공했다. Rawlings는 일괄 처리 작업을 수행하는 다음 단일 문을 제공했다.
4GL의 개발은 여러 요인의 영향을 받았으며, 하드웨어 및 운영 체제의 제약 조건이 큰 비중을 차지했다. 4GL이 처음 도입되었을 때, 다양한 하드웨어와 운영 체제는 판매를 보장하기 위해 시스템별 맞춤형 애플리케이션 개발 지원을 필요로 했다. 한 예로 스페리에서 개발한 MAPPER 시스템이 있다. 비록 초창기에 뿌리를 두고 있지만, 이 시스템은 많은 애플리케이션에서 성공적인 것으로 입증되었으며 최신 플랫폼으로 이식되었다. 최신 변형은 Unisys의 BIS 제품에 내장되어 있다. MARK-IV는 현재 VISION:BUILDER로 알려져 있으며 CA에서 제공한다.
산타페 철도는 MAPPER를 사용하여 신속한 프로토타이핑 및 사용자가 프로그래밍의 초기 사례인 시스템을 개발했다. 아이디어는 프로그래머에게 "철도 운영의 복잡성"을 가르치는 것보다 철도 전문가에게 MAPPER 사용법을 가르치는 것이 더 쉽다는 것이었다.
4GL 속성을 가진 초기(및 이식 가능한) 언어 중 하나는 수학 소프트웨어 회사인 Mathematica의 Gerald C. Cohen이 개발한 Ramis였다. Cohen은 Mathematica를 떠나 Information Builders를 설립하여 FOCUS라는 유사한 보고서 중심의 4GL을 만들었다.
후기 4GL 유형은 데이터베이스 시스템에 묶여 있으며, 컴퓨팅 기술의 전반적인 발전으로 인해 발생한 기술 및 자원 사용 측면에서 이전 유형과 크게 다르다.
4GL 장면의 흥미로운 반전은 그래픽 인터페이스와 사용자가 수행하는 관련 추론이 제대로 이해되지 않는 '언어'를 형성한다는 인식이다.
2.2. 4GL의 발전과 성숙 (1980년대 ~ 1990년대)
4세대 프로그래밍 언어(4GL)라는 용어는 이전부터 논문이나 토론에서 사용되었지만, 1981년 제임스 마틴이 그의 저서 『프로그래머 없는 애플리케이션 개발』에서 비절차적이고 높은 수준의 명세 언어를 지칭하기 위해 처음 공식적으로 사용했다. 초기 4GL의 원시적인 형태는 Informatics의 MARK-IV (1967년) 제품과 스페리의 MAPPER (1969년 내부 사용, 1979년 출시)에 포함되었다.
4GL의 시작과 지속적인 관심에는 여러 가지 이유가 있다. 이 용어는 광범위한 소프트웨어 제품군에 적용될 수 있으며, 더 큰 의미론적 속성과 구현 능력을 추구하는 접근 방식에도 적용될 수 있다. 3GL이 프로그래머에게 더 큰 능력을 제공했듯이, 4GL은 개발 환경을 더 많은 사람들에게 개방했다.
초기 4GL의 입력 방식은 천공 카드 (순차 처리에 8바이트 사용)의 72자 제한을 지원했으며, 카드의 태그는 유형 또는 기능을 식별했다. 몇 장의 카드를 신중하게 사용하면 4GL 덱은 다양한 처리 및 보고 기능을 제공할 수 있었지만, 3GL로 코딩된 동일한 기능은 카드 한 상자 이상을 포함할 수 있었다.
72자 형식은 하드웨어가 더 큰 메모리와 터미널 인터페이스로 발전하면서 한동안 계속되었다. 이러한 제한에도 불구하고, 이 방식은 매우 정교한 애플리케이션을 지원했다.
인터페이스가 개선되어 더 긴 문장 길이와 문법 기반 입력 처리를 허용하면서 더 큰 능력이 생겼다. 이에 대한 예시는 Nomad 페이지에서 설명한다.
Nomad영어의 또 다른 강력한 예는 Computer History Museum에 대한 Nicholas Rawlings의 NCSS에 대한 언급에서 나타난다. 그는 제임스 마틴이 Rawlings에게 마틴이 '엔지니어 문제'라고 부르는 표준 문제에 대한 Nomad 솔루션을 요청했다고 보고한다. "평균 평점이 7점 이상인 엔지니어에게 6% 인상." 마틴은 "수십 페이지의 COBOL, 그리고 Informatics의 Mark IV 몇 페이지"를 제공했다. Rawlings는 일괄 처리 작업을 수행하는 다음 단일 문을 제공했다.
4GL의 개발은 여러 요인의 영향을 받았으며, 하드웨어 및 운영 체제의 제약 조건이 큰 비중을 차지했다. 4GL이 처음 도입되었을 때, 다양한 하드웨어와 운영 체제는 판매를 보장하기 위해 시스템별 맞춤형 애플리케이션 개발 지원을 필요로 했다. 한 예로 스페리에서 개발한 MAPPER 시스템이 있다. 비록 초창기에 뿌리를 두고 있지만, 이 시스템은 많은 애플리케이션에서 성공적인 것으로 입증되었으며 최신 플랫폼으로 이식되었다. 최신 변형은 Unisys의 BIS 제품에 내장되어 있다. MARK-IV는 현재 VISION:BUILDER로 알려져 있으며 CA에서 제공한다.
산타페 철도는 MAPPER를 사용하여 신속한 프로토타이핑 및 사용자가 프로그래밍의 초기 사례인 시스템을 개발했다. 아이디어는 프로그래머에게 "철도 운영의 복잡성"을 가르치는 것보다 철도 전문가에게 MAPPER 사용법을 가르치는 것이 더 쉽다는 것이었다.
4GL 속성을 가진 초기(및 이식 가능한) 언어 중 하나는 수학 소프트웨어 회사인 Mathematica의 Gerald C. Cohen이 개발한 Ramis였다. Cohen은 Mathematica를 떠나 Information Builders를 설립하여 FOCUS라는 유사한 보고서 중심의 4GL을 만들었다.
후기 4GL 유형은 데이터베이스 시스템에 묶여 있으며, 컴퓨팅 기술의 전반적인 발전으로 인해 발생한 기술 및 자원 사용 측면에서 이전 유형과 크게 다르다.
4GL 장면의 흥미로운 반전은 그래픽 인터페이스와 사용자가 수행하는 관련 추론이 제대로 이해되지 않는 '언어'를 형성한다는 인식이다.
2.3. 현대의 4GL (2000년대 ~ 현재)
4세대 프로그래밍 언어(4GL)라는 용어는 이전부터 논문이나 토론에서 사용되었지만, 1981년 제임스 마틴이 그의 저서 『프로그래머 없는 애플리케이션 개발』에서 비절차적이고 높은 수준의 명세 언어를 지칭하기 위해 처음 공식적으로 사용했다. 초기 4GL은 원시적인 형태로 Informatics의 MARK-IV (1967) 제품과 스페리의 MAPPER (1969년 내부 사용, 1979년 출시)에 포함되었다.
4GL은 광범위한 소프트웨어 제품군에 적용될 수 있으며, 더 큰 의미론적 속성과 구현 능력을 추구하는 접근 방식에도 적용될 수 있다. 3GL이 프로그래머에게 더 큰 능력을 제공했듯이, 4GL은 개발 환경을 더 많은 사람들에게 개방했다.
초기 4GL의 입력 방식은 천공 카드의 72자 제한을 따랐으며, 몇 장의 카드로 다양한 처리 및 보고 기능을 제공할 수 있었다. 이는 3GL로 코딩된 동일한 기능이 카드 한 상자 이상을 차지하는 것과 비교하면 효율적이었다.
인터페이스가 개선되면서 더 긴 문장 길이와 문법 기반 입력 처리가 가능해졌고, Nomad와 같은 시스템에서 그 능력이 발휘되었다. 제임스 마틴이 제시한 '엔지니어 문제'(평균 평점이 7점 이상인 엔지니어에게 6% 인상)에 대해, Nomad는 단 한 문장으로 해결책을 제시한 사례가 있다.
4GL의 개발은 하드웨어 및 운영 체제의 제약 조건에 큰 영향을 받았다. 초기에는 시스템별 맞춤형 애플리케이션 개발이 필요했기 때문이다. 스페리의 MAPPER 시스템은 초창기부터 많은 애플리케이션에서 성공을 거두었으며, 최신 플랫폼으로 이식되었다. 최신 변형은 Unisys의 BIS 제품에 내장되어 있으며, MARK-IV는 현재 VISION:BUILDER로 CA에서 제공한다.
산타페 철도는 MAPPER를 사용하여 신속한 프로토타이핑 및 사용자가 프로그래밍하는 시스템을 개발했다. 이는 프로그래머에게 철도 운영의 복잡성을 가르치는 것보다 철도 전문가에게 MAPPER 사용법을 가르치는 것이 더 쉽다는 아이디어에 기반했다.
후기 4GL 유형은 데이터베이스 시스템에 묶여 있으며, 컴퓨팅 기술의 발전으로 인해 이전 유형과 크게 다르다.
21세기에는 4GL 시스템이 짧은 시간 안에 애플리케이션을 빠르게 개발해야 하는 문제에 대한 해결책으로 "로우 코드" 환경 또는 플랫폼으로 등장했다. 벤더들은 종종 CRM, 계약 관리, 버그 추적과 같은 샘플 시스템을 제공하며, 여기서 프로그래밍 없이 개발을 수행할 수 있다.
4GL의 예시는 다음과 같다.
| 제품명 | 설명 |
|---|---|
| 4th Dimension | |
| Accell/SQL (4GL) | (Unify Corporation의) |
| Broadcom 2e | 구 Synon 4GL RPG/COBOL 제너레이터 |
| CA-Telon | 4GL Cobol/PLI 제너레이터 |
| Clarion | |
| Clipper | |
| Cognos PowerHouse 4GL | |
| DataFlex | (Microsoft Windows, 웹, 모바일) |
| DATATRIEVE | |
| dBase | |
| FileMaker | |
| FOCUS | |
| Forté TOOL | (트랜잭션 지향 객체 언어) |
| GeneXus | |
| Harbour | |
| HyperCard | (개발 및 지원 종료) |
| IBM Rational EGL | (Enterprise Generation Language) |
| LabVIEW | |
| LANSA | |
| LINC | |
| LiveCode | |
| M-Power | |
| NATURAL | |
| Omnis Studio | SDK |
| Oracle Application Development Framework | |
| OutSystems | (생산성/PaaS) |
| Jmix/CUBA Platform | (생산성/프레임워크) |
| PowerBuilder | |
| R:Base | |
| SheerPower4GL | (Microsoft Windows 전용) |
| SQLWindows/Team Developer | |
| Uniface | |
| Unix 셸 | |
| Visual FoxPro | (개발 및 지원 종료) |
| XBase++ | |
| Xojo |
3. 유형
4세대 프로그래밍 언어(4GL)는 다양한 유형으로 나뉜다.
* 테이블 기반 (코드리스) 프로그래밍: 일반적으로 런타임 프레임워크 및 라이브러리와 함께 실행된다. 개발자는 코드를 작성하는 대신, 미리 정의된 목록에서 작업을 선택하여 로직을 정의한다. 즉, 코딩 대신 테이블 기반 알고리즘 프로그래밍을 사용한다. (제어 테이블 참조) 이러한 유형의 도구는 비즈니스 데이터 조작 및 보고 기능을 제공하며, GUI 화면 및 보고서 편집기와 함께 제공된다. 또한, 일반적인 3세대 프로그래밍 언어에서 생성된 하위 레벨 DLL과의 통합을 제공하여 특정 작업에 대한 확장성을 높일 수 있다.
* 데이터 관리 4GL: SAS, SPSS, Stata와 같은 언어는 통계 분석 및 보고를 위한 데이터 준비에 사용된다. 데이터 조작, 파일 재구성, 케이스 선택 및 데이터 문서화를 위한 정교한 코딩 명령어를 제공한다.
* XTalk 언어: 1987년 애플의 HyperCard로 처음 개발되었으며, SuperCard, Toolbook, LiveCode와 같은 프로그램의 시조였다.
일부 4GL은 필요한 모든 정보를 쉽게 지정할 수 있는 통합 도구를 제공한다.
* James Martin 방식: 데이터 엔지니어링 시스템 개발 방법론의 James Martin 버전은 시스템 분석 및 설계 결과를 데이터 흐름도, 개체 관계도, 개체 수명 주기 다이어그램 등의 형태로 입력받아 자동화하여, COBOL 코드를 생성할 수 있다.
* [[오라클]] 제품군: 오라클의 Oracle Designer 및 Oracle Developer Suite는 데이터베이스 정의와 폼 및 보고서 프로그램을 생성할 수 있도록 통합되어 있다.
4GL의 예시는 다음과 같다.
| 4GL 예시 |
|---|
| 4th Dimension |
| Accell/SQL (4GL) (Unify Corporation의) |
| Broadcom 2e 구 Synon 4GL RPG/COBOL 제너레이터 |
| CA-Telon 4GL Cobol/PLI 제너레이터 |
| Clarion |
| Clipper |
| Cognos PowerHouse 4GL |
| DataFlex (Microsoft Windows, 웹, 모바일) |
| DATATRIEVE |
| dBase |
| FileMaker |
| FOCUS |
| Forté TOOL (트랜잭션 지향 객체 언어) |
| GeneXus |
| Harbour |
| HyperCard (개발 및 지원 종료) |
| IBM Rational EGL (Enterprise Generation Language) |
| LabVIEW |
| LANSA |
| LINC |
| LiveCode |
| M-Power |
| NATURAL |
| Omnis Studio SDK |
| Oracle Application Development Framework |
| OutSystems (생산성/PaaS) |
| Jmix/CUBA Platform (생산성/프레임워크) |
| PowerBuilder |
| R:Base |
| SheerPower4GL (Microsoft Windows 전용) |
| SQLWindows/Team Developer |
| Uniface |
| Unix 셸 |
| Visual FoxPro (개발 및 지원 종료) |
| XBase++ |
| Xojo |
| 범용: DataFlex, Forte 4GL, IBM Cross System Product, IBM VisualAgen/VisualAge Generator, PowerBuilder, WinDev, Visual DataFlex (Microsoft Windows만 해당) |
| 화면 생성: FOURGEN, Oracle Forms |
3.1. 데이터베이스 질의 언어
4세대 프로그래밍 언어 중 데이터베이스 질의 언어는 다음과 같다.
| 데이터베이스 질의 언어 |
|---|
| FOCUS |
| Informix-4GL |
| NATURAL |
| OpenEdge ABL |
| SQL |
3.2. 보고서 생성기
보고서 생성기 프로그래밍 언어는 데이터 형식과 생성할 보고서에 대한 설명을 받아 직접 필요한 보고서를 생성하거나 보고서를 생성하는 프로그램을 생성한다. (RPG도 참조). 보고서 생성 도구는 파일이나 데이터베이스에서 데이터를 추출하여 다양한 형식의 보고서를 만드는 데 사용된다.
보고서 생성의 예시는 다음과 같다.
* BuildProfessional
* LINC 4GL영어
* METAFONT
* NATURAL
* Oracle Reports
* PostScript
* Progress OpenEdge
* RPG-II
3.3. 데이터 조작, 분석 및 보고 언어
4세대 프로그래밍 언어는 데이터 조작, 분석 및 보고를 위한 다양한 도구를 제공한다.
* 보고서 생성기: 보고서 생성기 프로그래밍 언어는 데이터 형식과 원하는 보고서 형태를 입력받아 보고서를 자동 생성하거나, 보고서 생성 프로그램을 만든다. (RPG 참조)
* 폼 생성기: 폼 생성기는 사용자와의 온라인 상호작용을 관리하거나, 상호작용 관리 프로그램을 생성한다.
* 데이터 관리: 데이터 관리 4세대 프로그래밍 언어(예: SAS, SPSS, Stata)는 통계 분석 및 보고를 위한 데이터 준비에 사용된다. 데이터 조작, 파일 재구성, 케이스 선택, 데이터 문서화를 위한 정교한 코딩 명령어를 제공한다.
다음은 데이터 조작, 분석 및 보고 기능을 제공하는 4세대 프로그래밍 언어의 예시이다.
3.4. GUI 생성기
4세대 프로그래밍 언어 중 일부는 GUI(그래픽 사용자 인터페이스) 생성 기능을 갖춘 통합 도구를 제공한다. 이러한 도구를 통해 사용자는 응용 프로그램의 시각적인 부분을 보다 쉽게 디자인하고 개발할 수 있다.
다음은 GUI 생성 기능을 갖춘 대표적인 4세대 프로그래밍 언어들이다.
| 언어 | 설명 |
|---|---|
| 4th Dimension | |
| MATLAB의 가이드 | |
| 옴니스 스튜디오 | |
| 오픈로드 | |
| LiveCode |
3.5. 웹 개발 언어
4세대 프로그래밍 언어는 웹 개발에도 활용된다.
* CFML
* LANSA
* 아웃시스템즈
* 웨이브메이커
3.6. 로우 코드 / 노 코드 개발 플랫폼
21세기에는 4GL 시스템이 짧은 시간 안에 애플리케이션을 빠르게 개발해야 하는 문제에 대한 해결책으로 "로우 코드" 환경 또는 플랫폼으로 등장했다. 벤더들은 종종 CRM, 계약 관리, 버그 추적과 같은 샘플 시스템을 제공하며, 여기서 프로그래밍 없이 개발을 수행할 수 있다.
4. 한국에서의 활용
(이전 출력이 비어있으므로, 수정할 내용이 없습니다. 따라서 빈칸으로 출력합니다.)