코딩을 해보자 02

in #kr8 years ago (edited)

프로그래밍 작성 도구


앞서 프로그래밍 언어들이 어떻게 탄생했는가에 대해서 얘기했다
요약 하면 각 프로그래밍 언어들은 각각의 문법대로 작성해서
각각의 번역기로 해석하면 된다는 것이다

여기서 작성하는 툴에 대한 의문이 생길 수 있는데
그냥 텍스트이기만 하면 OK다
고로 메모장으로 작성해도 상관이 없다는 것이다

예를들어 C언어라면 C의 문법으로 메모장에 작성한 후
그 텍스트파일을 C번역기에 집어넣으면 컴터가 알아들을 기계어가 툭 튀어나온다
그래서 현재도 메모장으로 프로그래밍 하는 장인들도 있긴하다

허나 윈도우 프로그램들의 경우 GUI(그래픽 유저 인터페이스) 같은 것이 필수며
버튼 배치 같은걸 코드로 짤려면 좌표를 숫자로 적어야한다
좀 있으면 실습해보겠지만 환상의 노가다를 체험할 수 있다
또한 당장 컴파일러 프로그램도 메모장과 따로 분리되어 있고 코드를 하나의 파일만으로
만들기보다 여러 파일에 만들며 그림이나 아이콘은 소스라고해서 따로 관리해야한다
그러한 여러개를 한데 묶는 작업을 빌드라고 하며
이러한 것은 당연히 메모장에선 지원안한다
이렇듯 각각 다 다른 프로그램 사용해야하는 불편함을 해소하기 위해
개발에 관련된 프로그램들을 몽땅 하나의 프로그램에서 가능하게
만든 프로그램을
IDE (Integrated Development Environment), 통합 개발 환경이라고 부른다

대표적인 IDE로 비쥬얼 스튜디오가 있다

비슷하게 포토샵도 그림에 관해선 IDE의 일종이다
'통합 그림편집제작 향상 환경' 같은..

여하튼 IDE 같은걸 보면 초보들은 지레 겁먹기 마련인데
근본적으로 툴을 모아뒀을뿐이지 왠만한 프로그래밍 언어들은 극강의 노가다만
견딜 수 있다면 메모장으로도 다 가능하다는 걸 명심하자

초간단한 코딩을 해보자


그래서 준비했습니다
메모장으로 해보는 프로그래밍을..-ㅅ-

허나 걱정말길 바란다
즐거운 노가다의 세계로 풍덩~ 이러면 다 달아날테고
근본적으로 이 시리즈 자체가 프로그래밍은 이런 것이다 라는 것을
읽을거리로 설명하는 시리즈지 프로그래밍 강좌는 아니므로
뒤로가기 누를 필요없다.. 아니 누르지 말아주세요 🙇

https://www.autohotkey.com/
위의 링크에서 다운로드를 받고 설치하자

스크립트 언어와 인터프리터

오토핫키는 스크립트 언어로써 고차원 언어다
스크립트는 언어는 컴파일안한 상태에서도 실행이 가능한 언어로
인터프리터라는 구글의 실시간 번역 같은 놈이 붙어 있다.
매번 조금 고치고 컴파일해서 실행해보는 것보다 훨씬 시간이 덜걸리는 장점이 있다

고차원 언어는 인간이 해석하기 쉬우며 간략한 언어라는 말인데
'밥을 해오라'
라고 하면 컴파일러가
'주방으로 가서 주방장 밑 다 소환해서 어제 준비한 식재료중에 소세지 대충 구워서
개밥하고 섞어서 국에 만다음 2층에 있는 인간하나한테 포크랑 갖다줘라'

라는 식으로 기계어로 번역해준다
즉, 열라게 코딩해줄 필요없이 명령어 하나에 될수있는한 많이 꾸게 넣어서
코더를 편하게 해준다.
반면 저차원 언어의 경우 저 위의 '주방어쩌구'를
자신이 다 일일이 적어야한다.

각각 장단점이 있는데
저차원 언어는 노가다랑 문법의 이해가 더 필요한 대신 주방에서 원하는 메뉴를
지정해서 코딩할 수가 있다 하지만 고차원은 문법 만든사람이 개밥을 포함시켰으면
뺄 방법이 없다. 편하긴하지만 기능의 깊숙한 조정은 불가능하다는 말이다

하지만 초보가 코딩을 간단히 배우고자 하거나
간단한 프로그래밍엔 고차원 언어인 스크립트 언어가
저차원 언어보다 훨씬 좋다

오토핫키 코딩과 실행

여튼 설치를 했으면 다 닫고
새폴더를 만든후 그 안에서
오른쪽 클릭 -> 새로 만들기 -> AutoHotkey Script

로 파일을 하나 만든다
그리고 다시 오른쪽 클릭 하여

Edit Script 로 메모장을 연다

안에 뭐라 적혀있는건 무시해도 되는데 걍 다 지우고 시작하자

^j::
msgbox, 하하핫

첫 코딩이다 저렇게 적고 저장후 그 파일을 더블클릭한다
그럼 스크립트가 아래처럼 작동상태에 돌입하는데

Ctrl + J 를 눌러보면 메세지 박스가 뜰 것이다

위의 코드를 해석하면
^ 는 Ctrl(컨트롤)을 뜻하고 ::는 앞의 문자들을 단축키로 쓰겠다는 의미다
msgbox는 메세지창을 띄우며 , 는 앞서의 명령어가 후속 옵션을 필요로 한다는
의미이다

이번엔 다음과 같이 작성해서 저장해본다

^j::
msgbox

그리고 저장했으면 작업표시줄의 H 아이콘위에서 오른쪽 클릭하여


Reload This Script 를 클릭한다

그럼 수정한 스크립트가 적용된다
이번에 Ctrl+j를 눌러보면

이렇게 뜰것이다. 뒤의 옵션으로 글을 넣지 않았기때문에 기본 문구가 뜬것이다

계속해서 이번엔 좀더 길게 해보자

^j::
msgbox, 메모장실행
run notepad.exe
return

^t::
msgbox, 리로드
reload
msgbox, 리로드실패
return

위의 명령어는 Ctrl+J를 눌렀을 경우 메세지창이 뜨고 그 창을 닫으면
이어서 메모장이 실행된다
그리고 Ctrl+T를 누르면 메세지를 띄운뒤 리로드를 시도한다

다시 파일을 저장하고 Reload This Script를 하자
그리고 한번 위의 두 단축키를 실행해보길 바란다

계속가자
위의 파일에서 메모장실행 대신 원하는 문구를 넣고는
저장만 하자(참고로 메모장의 저장 단축키는 ctrl+s 다)

그리고 Ctrl+T를 누른후 다시 Ctrl+J를 눌러보자
바뀐문구가 뜨는 것을 확인할 수 있을 것이다
이제는 굳이 리로드할 필요없이 저장만 하면서 고칠 수 있는 것이다

다시 해설에 들어가면
run은 프로그램을 실행시키는 명령어다
본래는 경로를 다 적어줘야되는데 메모장의 경우는 특별하다고만 알고 있자
고로 이번엔 원하는 프로그램의 경로로 한번 바꿔서 테스트 하길 바란다

run D:\Study\Steemit\pic\그림 테스트.jpeg

위는 예시로써 자신에게 맞는 경로를 적어야한다

return은 지금은 '실행의 종료지점' 이라고 알고 있으면 된다
프로그래밍 언어들은 전부 위에서 아래로 순차적으로 읽어 나간다
return을 만나면 그부분에서 실행을 종료시킨다
또한 reload도 리로드하면서 실행을 종료시키는 성질이 있기에
reload가 실패하지 않는 이상 그다음의 msgbox가 뜰 일은 없다

여기까지..

보시다시피 오토핫키는 매우 간단한 문법을 가지고 있으며
:: 같은 것외에 Run, Msgbox, Reload 같이 명령어도 직관적이다
(Msg는 Message 메세지의 약자다)
그럼에도 엄연히 프로그래밍이다.
생각보다 쉽지 않은가?
다음은 오토핫키로 GUI도 만들어보고 좀더 문법을 파보겠다

Sort:  

마침 코딩 배우려고 하는데 감사합니다
계속 포스팅해주세요

학원에서 겉핥기로 배운실력이지만 생각보다 맛있었습니다
겉에서 젤 달달한 부분들을 소개해드리겠습니다

하나씩 순서대로 해봤습니다.
몰랐을 때는 이게 무슨 말인가 싶었는데, 막상 따라서 해보니 쉽고 재미있습니다. ㅎ 잘 배웠습니다. 감사합니다^^

앞으로 더 재밌을 겁니다 기대해주세요 +_+

감사합니다!
앞으로도 기대 하겠습니다.

오토핫키.. 깊게 공부해봣지만, 내용자체가 한정적이라 자바스크립트나 C++로 넘어가게 되더군요. 하지만 간단하게 매크로 프로그램을 만들 수 있는 좋은 언어라 생각합니다.
팔로우하고 갑니다 ~ 맞팔부탁드려요!

Coin Marketplace

STEEM 0.17
TRX 0.13
JST 0.027
BTC 60482.94
ETH 2613.04
USDT 1.00
SBD 2.63