쉬운 문장에서 Python까지
Python도 어렵다면 더 쉬운 문장부터 시작해 한 단계씩 Python으로 넘어갑니다.
0. 설치 없이 먼저 써 보기
아무것도 설치하지 않고, 휴대폰에서도 됩니다. 브라우저에서 needmoreeasy.com 을 여세요(nmelang.com 을 쳐도 같은 곳으로 갑니다). 왼쪽 칸에 프로그램을 쓰면 오른쪽에 그것이 되는 Python이 바로 나타나고, 실행을 누르면 결과가 그 자리에서 나옵니다. 컴파일러도 파이썬 실행기도 브라우저 안에서 돌기 때문에 쓴 프로그램은 그 탭 밖으로 나가지 않습니다.
브라우저 실행기로는 파일·네트워크·외부 꾸러미를 쓸 수 없습니다. 그 셋이 필요해지면 아래 설치 과정을 따르세요.
아래 5분 과정은 설치가 끝난 뒤부터입니다. 아직 nme --version이 동작하지
않으면 먼저 Windows, macOS, Linux 설치 안내를 따라 하세요.
1. Hello World
UTF-8 파일 hello.nme를 만듭니다(nme --version을 실행한 같은 폴더에서;
아무 텍스트 편집기나 괜찮습니다 — Windows에서는 메모장이 기본으로 UTF-8로
저장합니다).
안녕하세요! 말해줘
실행해 보기 →실행합니다.
nme 실행 hello
안녕하세요!가 출력됩니다. 완전한 프로그램을 만들었지만 따옴표와 괄호가
하나도 없습니다.
첫 단계부터 짧은 명령을 쓸 수 있습니다. nme r hello는 실행이고, 이 폴더에
.nme 프로그램이 hello.nme 하나뿐이면 nme r만 입력해도 찾아서 실행합니다.
nme c hello는 실행하지 않고 검사만 하며, nme b hello는 읽기 쉬운 Python으로
변환해 보여 줍니다. -o hello.py를 붙이면 파일로 저장해요.
2. 프로그램과 대화하기
파일 내용을 바꿉니다(그리고 nme 실행 hello를 다시 실행하세요).
이름이 뭐예요?
안녕하세요 이름!
실행해 보기 →NME는 이름에 대답이 들어 있다는 것을 기억하므로 두 번째 문장의 이름
자리에 실제 값을 자동으로 넣습니다. 더 복잡한 질문에는 물어봐를 쓰면 되지만,
처음에는 평범한 질문 한 줄이면 충분합니다.
바로 영어와 섞어도 됩니다.
What is your name?
Hello name!
실행해 보기 →3. 콜론 없이 반복하기
문장 하나를 반복합니다. 두 줄 모두 한 파일에 넣고 파일 내용을 아래로 바꿔 주세요:
3번 반복해서 NME에 오신 것을 환영합니다 말해줘
3번 안녕하세요
실행해 보기 →여러 문장이라면 파일 내용을 아래로 바꿔 주세요(다음 줄은 스페이스 네 칸으로 들여씁니다):
3번 반복해
첫 번째 문장 말해줘
show second sentence
실행해 보기 →들여쓰기가 아직 어렵다면 명시적인 끝으로 닫는 버전으로 파일 내용을
바꿔 주세요:
점수는 0
점수가 3보다 작은 동안
점수 말해줘
점수에 1 더해
끝
실행해 보기 →점수는 0은 숫자를 저장하고, 점수가 3보다 작은 동안은 그 말이 참인 동안
계속하라는 뜻이며, 점수에 1 더해는 값을 늘립니다.
같은 방식으로 멈춰, 그리고/또는, 아니면 만약에, 아니면을 쓸 수
있습니다.
4. 숫자 게임 만들기
파일 내용을 아래로 바꿔 주세요:
정답은 1부터 10까지 랜덤정수
추측을 숫자로 물어봐 1부터 10까지 숫자를 맞혀 보세요
만약에 추측이 정답과 같으면
정답입니다! 말해줘
만약에 추측이 정답보다 작으면
더 큰 수예요 말해줘
만약에 추측이 정답보다 크면
더 작은 수예요 말해줘
실행해 보기 →게임이 질문을 하고 답을 입력받을 때까지 기다려요. 저장소의 완성된 예제를 실행합니다.
nme 실행 examples/guessing-game.ko
영어판은 examples/guessing-game.nme입니다.
nme 실행 examples/guessing-game
랜덤 숫자, 숫자 입력, 비교, 출력이 평범한 Python으로 컴파일됩니다. 목록, 함수 호출, 등호, 콜론을 알 필요가 없었습니다.
5. 목록과 기다리기 — 여기까지도 전부 문장입니다
목록은 말하듯이 씁니다. 파일 내용을 아래로 바꿔 주세요:
친구들은 목록 민수, 지안
친구들의 친구마다 반복해
친구 안녕 말해줘
1초 기다려
끝
실행해 보기 →목록에 하나씩 넣는 것도 같습니다.
친구들은 빈 목록
친구들에 민수 넣어
친구들에 지안 넣어
친구들 말해줘
실행해 보기 →여기까지 따옴표도, 대괄호도, 콜론도, 등호도 쓰지 않았습니다. 문장형은 나중에 버리는 연습용이 아니라 NME 그 자체입니다. 가이드 01~12와 86~88은 처음부터 끝까지 이 문법으로만 쓰여 있고, 출력·질문·목록·반복·조건· 이야기·화면·시간 재기·쿨타임까지 다룹니다.
원하는 날이 오면 쓸 수 있는 단계가 둘 더 있습니다. 더 짧은 초급 문법과, NME가 쓴 그대로 남겨 두는 평범한 Python입니다. 둘 다 프로그램을 완성하는 데 필요하지 않고, 설명은 문법 안내에 있습니다. 프로그래밍을 처음 배우는 중이라면 문장형에 머무르세요. 다음 절에서, 이미 쓴 문장이 어떤 Python이 되었는지 눈으로 볼 수 있습니다.
6. 검사, 빌드, 컴파일
nme 검사 hello
nme 빌드 hello -o hello.py
python3 hello.py
(Windows에서는 py hello.py.)
선택적으로 독립 실행 파일을 만듭니다.
python3 -m pip install nuitka
nme 컴파일 hello.nme -o hello
(Windows에서는 py -m pip install nuitka를 쓰세요. 설치 안내는
선택적인 [app] 구성요소를 추가합니다.)
NME는 macOS/Linux에서 python3, Windows에서 py를 자동으로 고릅니다.
특수한 환경에서만 고급 옵션 --python을 사용합니다.
7. Python을 NME로 쉽게 바꾸기
먼저 old_program.py를 print("hi")와 for i in range(3): print(i) 같은
줄 몇 개로 만듭니다(또는 6번에서 만든 hello.py를 사용해도 됩니다). 그런
다음 실행하세요.
nme 변환 old_program.py --level 초급 --language 영어 -o easier.en.nme
nme 변환 old_program.py --level 초급 --language 한국어 -o easier.nme
따옴표는 그대로 남아 있어요. 초급 문법에서는 보통 따옴표 없이 써요
(말해 hi). 결과를 확인한 뒤 더 문장처럼 쓰고 싶으면 직접 따옴표를
없애도 됩니다.