한글 프로그래밍 언어

덤프버전 :


프로그래밍 사이트 선정 프로그래밍 언어 순위 목록

⠀[ IEEE Spectrum 2021 ]⠀
{{{#!wiki style="display: inline-block; margin: 0 0 -5px; min-width: 25%"
⠀[ Stack Overflow 2022 ]⠀
{{{#!wiki style="display: inline-block; margin: 0 0 -5px; min-width: 25%">
⠀[ TIOBE 2023 ]⠀

프로그래밍 언어 목록 · 분류 · 문법

1. 개요
2. 한국어 구조의 문제점
3. 한글 프로그래밍 언어의 필요성
4. 역사와 개발현황
4.1. 연구용 한글 프로그래밍 언어
4.2. 실용성 있는 한글 프로그래밍 언어
4.3. 난해한 한글 프로그래밍 언어
5. 구조
7. 기타



1. 개요[편집]


한글로 작성된 프로그래밍 언어.

대개의 유명 프로그래밍 언어는 영어로 되어 있다. 이는 한국인 일반 대중 학습자가 사용하기에 불편하다는 단점이 있다. 따라서 한국어의 구조적 특징에 일치하면서, 프로그램이 쉽고 간단할 뿐 아니라 읽기 쉽고 또한 기존의 컴파일링 방법에 잘 적용될 수 있는 한글 프로그래밍 언어를 개발하고자 하는 노력이 계속되어 왔다.

한글 처리에 관한 연구는 한글 코드의 표준화, 한글 모아쓰기, 한글 편집 처리 등에 국한되어 왔으나 한글 프로그래밍 언어의 개발에도 적용될 필요가 있다.

한글 프로그래밍 언어가 개발돼야 하는 가장 큰 이유 중의 하나가 영어를 모르는 어린 아이들이 컴퓨터를 쉽게 사용할 수 있도록 하자는데 있었다. 프로그래밍 언어의 영어 단어의 뜻말을 알고 보면 생각보다 쉽다.


2. 한국어 구조의 문제점[편집]


한국어의 기본구조는 동사가 문장의 마지막에 나가고, 조사라는 첨가어가 붙으므로 프로그래밍 언어를 쉽게 설계할 수 없다. 하지만 영어로 된 프로그래밍 언어도 대부분 독자적인 문법을 가지지 영어 문법을 따르는 경우는 거의 없다. 프로그래밍 언어의 문법은 프로그램 개발의 편리함을 위해 고안되는 것이지 기존 언어 문법을 따를 필요는 없다.
(게다가 위의 문제점에 대한 지적은 '한글'이라는 문자에 대한 지적이 아니라 '한국어'라는 언어에 대한 지적이다.)

3. 한글 프로그래밍 언어의 필요성[편집]


#include <stdio.h>
typedef int 정수;
typedef char 문자;
#define 출력 printf
#define 반환 return
#define 진입점 main

정수 진입점(정수 매개변수개수, 문자 **매개변수목록)
{ 출력("안녕 세상!");
 반환 0;
}
[1][2]

사실 기존의 상용 프로그래밍 언어(C언어, Java, Python 등)로도 한글로 프로그래밍 할 수 있다. 이미 유니코드를 지원하는 컴파일러가 제법 많기 때문. 예약어랑 라이브러리의 함수들만 번역하거나, 개별 프로젝트라면 라이브러리를 직접 접근할 필요가 없도록 함수나 클래스로 감싼다면 이미 한글로도 문제 없이 프로그래밍이 가능하다.

따라서, 사실상 현 시점에 한글 프로그래밍 언어가 개발될 이유가 없다. 개발된다면 '한글로 프로그래밍을 할 수 있다' 외에 다른 장점이 제시돼야 할 것이다.

기존의 프로그래밍언어는 대부분 '로마자'로 입력된다.
로마자는 구조적인 한계가 있는데, 함수나 변수의 이름을 지을때나 언어의 기능을 지을 때 좌우로 너무 긴 문제가 발생한다.
이 때문에 함수명을 지을 때 '축약어'를 사용하면 되지 않느냐 하겠지만, 축약어를 사용하면 문자가 좌우로 짧아지는 대신 가독성이 매우 떨어진다.

똑같은 발음이라도 한글로 표현하면 로마자로 표현할 때보다 훨씬 간결해진다.
한글은 '조합자'라는 특성상 짧고 간결하게 많은 의미를 담을 수 있다는 점에서 프로그래밍에 이점이 있다고 본다.[3]

4. 역사와 개발현황[편집]




4.1. 연구용 한글 프로그래밍 언어[편집]


한글 프로그래밍 언어를 최초로 시도한 것은 70년대 중반에 KIST (현 카이스트) 전산실에서였다. FORTRAN 언어의 명령어만을 단순히 한글로 바꾸어서 설계했으며, 구현 방법은 한글 명령어를 대응하는 FORTRAN 명령어로 변환시켜 주는 간결한 전처리 기법을 사용했다.

그 후 1980년 초에 홍익대학교에서 파스칼언어의 부분 개념을 중점으로 하여 Tiny PASCAL과 비슷한 블록구조와 간결한 자료형과 다양한 프로그램 제어분들을 포함한 한글 프로그래밍 언어를 설계했다. 이 언어의 설계에서 중요시한 것은 구현할 때를 고려하여 술어를 없애 가져오는 것과 적당한 수식어를 앞에 오게 하여 언어의 구문이 LL 파싱을 가능하게 하는 것이었기에 우리말 표현과는 약간 차이를 보이긴 했지만 파스칼로 코딩한 것보단 읽기 편했다. 한국과학기술원에서도 구조적 프로그래밍이 가능한 FORTRAN 언어와 같은 개념으로 HANSDFO라는 한글 프로그래밍 언어를 설계해서 전처리기로 구현했다. 또한 서울대학교에서는 술어가 뒤에 오는 우리나라 말은 그대로 프로그래밍 언어로의 변환이 불가능하니 LL 또는 LR 언어가 될 수 있도록 부사를 앞에 오게 하거나 순서를 바꿔도 무리없게 하는 방법에 대한 연구가 깊이 이루어졌다.

지금까지 설계되고 구현된 언어들은 모두 연구실에서 연구용으로 개발됐다.

4.2. 실용성 있는 한글 프로그래밍 언어[편집]


자료가 적은 편이다. 아래 해당 문서는 ‘ 간결한 한글 프로그래밍 언어 “새싹” ’ 논문을 참고하여 작성했다.

  • 말씨
문법적으로 올바른 한국어로, 한글만으로 프로그래밍하는 것을 기초로 하는 언어이다. 문법적으로 올바르다는 점에서 배워 사용할 때 문장을 쓰듯이 자연스럽다. 한글과 띄어쓰기만으로 코딩하기 때문에 구문도, 변수도 한글로 입력해야 하며, 심지어 숫자도 '숫자 이백이십' 처럼 한글로 입력해야 한다. 깃허브 에서 예제와 함께 배우고 여기 에서 코딩해 볼 수 있다.

1994년 나눔기술에서 개발한 한글 프로그래밍 언어이다. 씨앗은 키워드가 한글로 구성되어 있음은 물론, 문법 구조가 한국어와 비슷한 구조로 되어 있기 때문에 한글을 사용하는 사람들이 구상한 내용을 그대로 프로그램으로 옮길 수 있다. 또한, 구문은 세미콜론이 아닌 마침표로 끝나기 때문에 프로그램을 문장을 쓰듯이 쉽게 작성할 수 있다. 씨앗의 문장 구조는 C와 유사하지만 오류 메시지가 한국어로 출력되기 때문에 초보자도 쉽게 사용할 수 있다.

  • 두리틀
교육용으로 설계된 일본어 프로그래밍 언어의 하나로 카네무네 스스무 교수와 쿠노 야스시 교수가[4] 2000년에 개발한 언어이다. 두리틀 한글화는 고려대학교 이원규 교수가 수행했다. Scratch나 Entry와 같이 블록을 조립하는 형태로 프로그래밍하는 것이 아닌, 텍스트 기반의 프로그래밍을 통해 더욱 정교하게 표현할 수있는 장점이 있다. 또한, 일본어 프로그래밍 언어를 번역했기 때문에 한국어와 어순이 유사하여 초보자도 쉽게 프로그래밍할 수 있다.

  • 한플
2013년 부산대 프로그래밍언어 연구실에서 개발된 한글 프로그래밍 언어이다. 한플은 C 언어를 기반으로 설계됐으며 C 언어의 표준 라이브러리를 지원한다. 또한, C 언어에서 어려운 포인터를 사용하지 않으면서도 C 수준의 표현 능력을 제공한다. 하지만 제공하는 키워드가 C에서 사용되는 키워드를 번역한 수준에서 머무르기 때문에 어색한 부분이 존재한다.

  • 도깨비
최대한 한국어로 작성된 코드가 자연스럽게 읽힐 수 있게 만든 한글 프로그래밍 언어이다. 도깨비는 처음 설계될 때 C#으로 설계되었지만, 현재에는 C++로 이주하는 작업을 진행하고 있다. 도깨비는 빌드가 되면, 최종적으로 Python으로 변환되고 파이썬 인터프리터를 통해서 실행이 된다. 아직 이주 작업이 초기 단계임에도 언어가 쉽게 설계되어있고, 디버거가 Rust와 같이 친절하게 작성되어 있다. 깃허브에 소스 코드와 바이너리가 올라와있어, 설치 후 쉽게 코딩해 볼 수 있다.

그 외에는 한베(한글베이직), 쓴귤, Python Korean Extension, 한글 SQL가 있다. 그리고 난해한 프로그래밍 언어로 악명높은 아희와 아라 그리고 약속과 와글과 코볼, 하나씩 등의 여러 언어가 있다.

p.s..http://no-smok.net/nsmk/한글프로그래밍언어그리고 http://hanassig.torchpad.com/PL/%ED%95%9C%EA%B8%80+%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D+%EC%96%B8%EC%96%B4 참조바람.


4.3. 난해한 한글 프로그래밍 언어[편집]


  • 아희
  • 혀엉
  • 엄랭(Umjunsik-lang) 엄준식 프로그래밍 언어.
  • 가람[5] 컨셉이 조선시대이다
  • 슈슉 언어

보시다시피 아희를 제외하면 전부 BrainFuck 기반이다. 아래애서 코드를 테스트 해볼 수 있다.

5. 구조[편집]


대부분의 일반적인 프로그래밍 언어는 이런 토큰들이 영어로 되어 있으나 한국어/한글로 작성되는 언어에 관한 이야기를 하고있기 때문에 창조씨앗 같은 문법들을 위주로 살펴볼 필요가 있다.


6. 목록[편집]


구체적인 언어의 목록은 분류:한글 프로그래밍 언어를 참조 바람.


7. 기타[편집]



이 문서의 r1~16 버전에 영어 위키백과의 저작권을 침해하는 내용이 있습니다.

저작권을 침해하는 내용이 포함된 버전으로 문서를 되돌리거나 링크하는 행위는 금지됩니다. 만일 되돌리거나 링크할 경우 저작권 침해로 간주되니 주의하시기 바랍니다.




파일:크리에이티브 커먼즈 라이선스__CC.png 이 문서의 내용 중 전체 또는 일부는 2023-12-25 11:40:58에 나무위키 한글 프로그래밍 언어 문서에서 가져왔습니다.

[1] 참고로 Hello, world! 같은 경우는 일반명사로 굳어져 버려서 영어로 써도 되지만, 완전히 한글로 만들기 위해서는 이것도 할 수 있으면 번역하는 추세.[2] 컴파일러에 따라 매크로 변수를 한글로 지정할 수 없을 수도 있다.[3] 단, 한글이 조합자라는 특성 때문에 로마자보다 간결할진 몰라도 타이핑해야하는 숫자가 많아짐을 명심하자. [4] 한국정보과학회논문지 제42권 제4호(2015. 4)[5] 한글날 기념으로 출시된 언어라고 하며, brainfuck과 거의 동일하다.