보통 2진수로 이루어져있죠...
그래서 0과 1 입니다.
c+ 같은 것처럼 프로그래밍 언어를 한글로는 만들 수 있겠죠...당연히 그걸 구동하기 위한 것들도 다 한글로 가능하게끔 해야하고요..
기계 언어가 2진법인 이유는 전류가 흐름과 흐르지 않음..이렇게 2개만 표현이 가능해서 입니다.
-전류는 실질적으로 줄 수가 없으니 2진법 계산이지요..
3진법 이상의 기계어는 양자역학으로 가능하다는데..그쪽은 잘 모르겠고요.
프리컴파일 해더에 유니코드 변수명 인식시키고 어쩌고 하며 간단하게 됨.
"만약 =>if , 또는 => else, 까지 =>while, 정수 => int, 출력 =printf" 를 전처리기에 입력
정수 배고플_시간 = 6;
정수 밥먹고나서_경과한_시간 = 0;
정수 배고픈_상태 = 0;
까지(!배고픈_상태)
{
출력("밥먹고나서 경과한 시간은 %n 시간이고 아직 배고프지 않음", 밥먹고나서_경과한_시간);
만약( 밥먹고나서_경과한_시간 < 배고플_시간 )밥먹고나서_경과한_시간++;
또는 만약( 밥먹고나서_경과한_시간 == 배고플_시간 )
{
밥먹고나서_경과한_시간++;
배고픈 상태 = 1;
}
또는 출력("에러 : 밥먹고나서_경과한_시간 > 배고플_시간");
}
출력("밥먹고나서 경과한 시간은 %n 시간이고 밥 달라고 꼬르륵", 밥먹고나서_경과한_시간);
컴퓨터가 이해할 수 있는 0과 1로만 이루어진 언어를 기계어라고 합니다.
기계어는 인간이 이해하기가 매우 어렵기 때문에, 인간이 프로그램을 작성할 때에는
인간이 이해하기 쉬운 형태로 작성합니다. 그리고 이것을 기계어로 변환(Compile)하는 과정을 거치죠.
인간이 이해하기 쉽다라고 하는 프로그래밍 언어도 사실 인간이 일상생활에서 사용하는 언어와는 완전히 다릅니다.
이 언어를 어떤 문자를 이용해서 기술하는가 하는 문제는 사실 아주 사소하고 작은 문제입니다.
로마자가 아닌 다른 문자로도 얼마든지 프로그래밍 언어를 만들 수 있습니다.
심지어 새로운 문자체계를 창조해서 만들 수도 있죠. 그것도 아주 간단히.
다만 전세계 사람에게 로마자가 가장 익숙하니까 관례적으로 그걸 이용할 뿐이구요.
어차피 1과0으로 바꾸는 것은 마찬가지이고, 그 과정만 살짝 바꿔주면 되니까요.
0과 1이라는 구조는 근본적으로 컴퓨터의 하드웨어 구조자체가 그렇게 되어 있습니다.
전기가 흐르면 1, 흐르지 않으면 0이라는 구조이지요.
이걸 한글자모에 맞게 바꾼다는 것은 그러기도 매우 어렵고, 그럴 필요도 사실 없습니다.
알파벳으로 표현이 되는데 한글이라고 왜 안되겠어요
저는 프로그래머로 일을 오랫동안 했었습니다. 안쓰는 이유는 하나에요 대중성과 범용성이죠
제가 만약 그짓을 하고 있다면 같은 프로그램을 짜는사람이 엄청 불편할거에요 대부분에 프로그램은 혼자 짜는게 아니라 기능별 등으로 파트를 나누기 때문에 혼자 그짓한다면... 욕하겠죠?
알파벳형태의 언어를 쓰더라도 프로그래머들끼리도 습관이 다르기때문에 사전에 기본적인 헝거리 표기법 말고도 변수 함수 표기법을 문서로 먼저 작상해서 합의후에 프로젝트를 시작해요 아니면 가독성 서로간에 떨어지니깐요
ex) m_cText 변수만 보고도 캐릭터 형태의 멤버변수다 라고 알수가 있어요
사실 변수명 적는건 대부분 비슷하거나 조금씩 차이가 있을뿐인데 함수명은 많이 틀려요 좀 큰프로젝트를 할땐 함수명이 거의 문장형태였어요 그함수가 어느부분에서 어떤 역활을 하는지 어디다 쓰는놈인지 까지... 함수를 추적해서 내용을 보지 않아도 될만큼에 충분한 ...
일반적으로는 캡슐형태로 각각의 동작만 잘 돌아가도록 만들면되서 알필요가 없지않나 하시겠지만.. 유지보수 할 일이 꼭 생기고 그것이 짠사람이 꼭 고치는게 아니라서 막무간에로 만든 코드는 나중에 후임자가 코드를 보면 환장하는거죠.. 저도 전임자의 코드를 일주일간 분석하다가 결국 사장한테 말하고 새로 짯습니다. 그만큼 가독성은 중요한부분이기에 범용성을 무시할 수 가 없어요