토이 프로젝트

  • 13. 노션 도우미
  • 12. 작명 도우미
  • 11. 코딩 도우미
  • 10. SkyChat - Realtime Web Chat
  • 9. BLOG EXPRESS ME
  • 8. GoodByDPI GUI Korean
  • 7. ImageCompressor
  • 6. imagekyll
  • 5. NotePHPad
  • 4. TextWidget
  • 3. SkyNote2
  • 2. IUCalendar
  • 1. KorCoding

KorCoding

4개월, 3주 전
@baealex

소비적인 일보단 생산적인 일을 좋아합니다.

목적

왜 한글로 코딩하는 것에 집착하는가? 누군가에겐 분명히 영어가 어렵고 누군가에겐 분명히 프로그래밍이 어렵다. 내 옆자리에 앉았던 친구가 그랬다. 최소한 한글로 구성된 코드를 본다면 “아! 이런 원리구나!”라고 느낄 수 있을거라 믿었다. 나에게 프로그래밍은 분명 재밌다. 그 친구에게도 프로그래밍이 재밌었으면 좋겠다. 적어도 언어에 구애받지 않고 머릿속에 떠오른 단어들로 프로그램을 만들 수 있다면 재밌어하지 않을까 싶었다.

  • GitHub Code #


사용기술

  • C++


개발노트

이러한 프로젝트의 대부분의 시도가 그러하듯 몇몇 명령어를 #define을 활용하여 한글로 대체하는 것으로 시작하였다. 그러다 내가 직접 구현한 알고리즘도 한글을 붙여서 사용할 수 있으면 좋을 것 같았다. 취미로 시작했지만 학습으로 변한셈이다. 영어에 능숙하지 않은 프로그래밍 입문자가 한글로 구조적인 코딩을 할 수 있도록 도와주며 내부적으론 다양한 자료구조와 함수를 구현하여 스스로 학습하는 계기를 만들고자 하였다.


개선할점

  • 다양한 함수 추가
  • 다양한 자료구조 추가


느낀점

한글로 코딩을 하면서 느낀점은 영어 공부를 정말 열심히 해야겠다는 생각이었다. 아래는 한글로 코딩한 뱀 놀이(Snake Game)의 일부다.

/*결과가*/ 반환되지_않는 뱀게임 /*클래스*/ 안에 /*메서드인*/ 최신화()
{
    만약에 (이것의->뱀_객체 에서 위치_얻기().가로좌표_얻기() < 0 또는
            이것의->뱀_객체 에서 위치_얻기().가로좌표_얻기() > 맵의_가로_크기 또는
            이것의->뱀_객체 에서 위치_얻기().세로좌표_얻기() < 0 또는
            이것의->뱀_객체 에서 위치_얻기().세로좌표_얻기() > 맵의_세로_크기
    ) {
        게임이_끝난다 = 참;
    }

    반복 (정수형인 임시_인자 = 0; 임시_인자 < 뱀_객체 에서 꼬리_갯수_얻기(); 임시_인자++)
    {
        만약에 (뱀_객체 에서 위치_얻기() == 뱀_객체 에서 선택된_꼬리_위치_얻기(임시_인자))
        {
            게임이_끝난다 = 참;
            멈춤;
        }
    }

    만약에 (뱀_객체 에서 위치_얻기() == 사과_객체 에서 위치_얻기())
    {
        뱀_객체 에서 사과_먹음();
        뱀_객체 에서 꼬리_늘리기();

        사과_객체 에서 좌표_설정(
            위치(수학.랜덤값(0, 맵의_가로_크기), 수학.랜덤값(0, 맵의_세로_크기))
        );
    }
}

놀랍지 않나? 단순히 코드일 뿐인데 어떻게 동작할지 예상이 간다. 마치 글처럼 코드가 읽어진다. 태초에 영어권을 사용하는 외국인들은 이미 이러한 느낌을 유지하며 코딩을 진행하고 있었다. 그런 그들이 너무 부러웠다. 그래서 나도 열심히 공부하여 영어로도 완벽히 읽어지는 코드를 작성하고 싶다.

작성된 댓글이 없습니다!
로그인된 사용자만 댓글을 작성할 수 있습니다.