-
'ㄱ'언어 1주차 첫미팅 후 아이디어구상2022 졸업프로젝트 2022. 2. 24. 23:09
2022.02.18 'ㄱ'언어 첫 미팅을 가진 후 새로운 프로그래밍언어를 만들기 앞서 아이디어를 10가지씩 구상해오기로 하였다.
1. 모스부호
다양한 프로그래밍언어들을 조사해보다가 whitespace언어라는 것을 보게 되었다.
https://pangguinland.tistory.com/59

이런식으로 빨간색인 space, 파란색인 tap, 줄바꿈으로 코딩을 하는 것이다.
space를 S, tap을 T, 줄바꿈을 L로 본다면
1번줄은 SSSTSSTSSSL인데 이는 처음 SS가 스택 맨 위의 숫자에 해당하는 ASCII문자를 출력하라는 뜻으로 SS뒤의 STSSTSSSL을 출력하라는 뜻이다. whitespace에서 S는 0, T는 1을 의미하여 01001000이 되어 72, 아스키코드에서 72는 H를 의미하게 된다.
두번째 줄은 TL로 출력을 의미하는 명령어이고 즉, H가 출력되게 된다. 이렇게 코드를 따라가다보면 Hello, world!가 출력된다고 한다.

이 프로그래밍언어를 보면서 모스부호로도 코딩을 할 수 있지않을까 생각이 들었다. whitespace언어에서의 SS와 TL같은 명령어를 지정해주고 알파벳, 숫자, 한글을 표현할때는 해당하는 모스부호를 . 과 _ 로 표현하여 코딩할 수 있게 만들면 재밌을 것 같다는 생각을 했다.
2. 0과 1로 코딩하기
키보드의 숫자키로만 코딩할 수 없을까 생각하다가 위처럼 whitespace언어에서 S(space)는 0, T(tap)은 1을 의미하기에 이를 space와 tap이 아닌 0과 1로 충분히 코딩할 수 있을것같았다.
3. 마우스로 코딩하기
더 나아가 키보드 없이 마우스로만 코딩할수는 없을까 생각하다가 0과 1로 코딩하는 방식에서 발전해 어떻게 구현하는지,,,,감은 안오지만 아이디어만 생각해보았다.
1 /// /// 2 /// 이러한 모눈종이를 코딩도구로 두고 0과 1로 코딩하는 방식에서 0은 클릭을 안하고 1은 클릭을 하여 코딩을 하는것이다.
아까 whitespace의1번줄 SSSTSSTSSSL, 2번줄 TL을 표현하면 S는 클릭을 안하고 T는 클릭을 하여 위와 같이 코딩을 하면 키보드 없이 마우스로만 코딩을 할 수 있지않을까,,,생각했다.
4. 문장으로 표현
'ㄱ'언어는 키워드를 사용하여 작성이 되있었다. 예를들면 if문은

이렇게 작성이 되어있었는데 이를 문장으로 풀어쓰는 방향으로 생각을 해보았다.
만약 (조건문)라면 (실행문) 아니면 (실행문) 한다.
이렇게 작성하고자 생각하였는데 괄호를 씌우지않자니 조건문, 실행문과의 경계가 모호해질것같아 넣어주었다. 또한 이렇게 언어를 생성하려면 한글로 문장을 작성할때 '라면' 과 '이라면', '이다'와 '다', '와' 와 '과' 같은 조사를 신경써야 할 것 같다.
5. 부등호도 조사로?
= 이나 >=, 등의 부등호도 조사로 는(은), 크거나 같다 등으로 표현해보면 어떨까 생각하였다. 위의 아이디어와 합쳐 생각하자면 조건문에 "사과가 개수보다 크거나 같다" 가 들어가는 것이다. 그런데 처음에 'ㄱ'언어가 초등학생들, 영어가 미숙한 사람들에게 좋을 것같다고 생각했었는데 부등호 같은 경우에는 대다수에 사람들이 아는 기호이므로 딱히 조사를 쓸 필요가 있나 라는 생각이 들었다.
6. ; (새미콜론) 대신 . (온점) 으로
자바로 코딩을 할땐 새미콜론으로 끝맺음을 한다. 하지만 'ㄱ'언어가 한글코딩이라는 점에서 한글의 끝맺음은 보통 . (온점)이라는 사실에 기반해 온점으로 하면 의미있을 것 같다.
7. 최대한 간단히 키워드로
기존 'ㄱ'언어도 키워드로 간단하게 되있었는데 이는 for문 같은 반복문에서 좋을 것 같다.
for ( i = 0 ; i < 5 ; i++ ) {
apple++;
}
이러한 코드를
"(apple이 하나씩 커짐)를 (5) 번 반복" 이나
반복 (5) {
apple++;
}
이렇게 작성하면 입문자들에게 조금 헷갈릴수있는 코드가 쉬워질것같다.
다른 문법또한, if문은
만약(...) {
...
} 아니면 {
...
}
으로 하고 while문은
(...) 이면 계속 반복 {
...
}
이런식으로 최대한 직관적이고 간단하게 코딩할 수 있게 하는것이다.
내가 처음에 생각한 'ㄱ'언어 개발하기는 이 아이디어에 가장 가까웠다. while문이 뭔지 몰라도 "(...) 이면 계속 반복" 처럼 럼 직관적으로 표현한다면 초등학생들이나 영어를 잘 못하는 사람, 입문자들에게 훨씬 쉬울 것이라고 생각했다.

10개를 생각해오라고 하셨는데,,, 아무리 쥐어짜고 아무생각이나 해봐도 더이상 떠오르지가 않았다.....
'2022 졸업프로젝트' 카테고리의 다른 글
'소나무언어' 기술 발전시키기 (0) 2022.04.11 solidity 실습 및 소나무언어개발아이디어구상 (0) 2022.03.29 블록체인과 솔리디티 공부 & 'ㄱ'언어 이해당사자 구체화하기 (0) 2022.03.22 'ㄱ'언어 아이디어 공유 후 아이디어 개선점생각하기 (0) 2022.03.08