1940 년대 부터 1950 년대 초반까지의 프로그래밍 언어는
진짜 원시시대에 가까운 진공관 전기신호로 출력을 했던 시기임.
1950 년대 초반경 부터 하드웨어가 급속도로 발전하면서 점점 판떼기들 사이즈가 줄어들기 시작함..
그래도 코볼이 한참 쓰였던 시점까지 발전하고 발전을 거듭 해봐야 천공카드에 펀치가지고 구멍 뚫어가면서
코딩한걸 중앙전산실에 맞기고 그 코드를 종잇장으로 출력해서 에러가 나면 눈디버깅 했음..
시대는 바야흐로 1960 년대로 넘어오는데
사회가 발전하면 사람이 시발 배부르게 되고 사람이 배부르게 되면 뭔짓을하지??
딴짓해 ㅎㅎ 막 시발 반전이니 히피문화니 이런것들 또한 디바이스 들이 발전하기 시작하면서 생긴거임.
전기앰프의 범용화로 히피들이 띵가띵가 하고 놀수 있을만큼 전기,전자 컴퓨터 시대가 급속도로 개발 인프라가 존내 개량되기 시작함..
이때 비로소 빵보드 크기가 상당히 작아지기 시작하고 과학기술 단체 및 기업들이 많아지기 시작하는데.
1960 년대 쓰였던 언어들 보면
리지온 어셈블리 라고 지역어셈블리 부터 시작해서
ALGOL 58
APL
PL-1
CPL
BCPL 임.
이 기어나옴..
이 BCPL 에서부터 C 가 태동되기 시작한거임..
켄 톰슨 이랑 데니스리치가 AT&T 에서 존내 일할때 BCPL 로 처음에 유닉스를 작성하시 시작했다가
한번 대차게 말아먹었음..
이유는 이게 시발 시도는 좋았는데 결국 어셈블리 못따라가거든..
그래서 시발 일단 때려치움
프개럴로 치자면 Python 공부하다가 좆같다고 책 덮어버리고 루비 공부하는꼴임.
존나 짜증난다고 그냥 창고에다가 개발했던걸 짱박아 버리고 한창동안 내버려 두고 있던건데
사람은 또 시발 존내 심심하면 옛날추억 회상한답시고 이것저것 해보잖냐..
니들도 옛날에 짝사랑 했던 여친 있으면 신상털어서 페북 보거나
질리도록 했던 재밌는 게임을 다시 깔아보거나 하자나??
그래서 창고에 쳐박아 뒀던 구식 PDP 기계를 꺼냄.
그후 좆같은거 다시 좀 어떻게 개량 해보자고 해서 BCPL 에서 개량해서 나온게 B 임.
지네들 입장에서도 시발 어셈질 다시 하느니 유틸리티 개발해서 쓰는게 낫거든..
그 유틸리티를 편하게 만들려면 언어를 개량하는게 먼저 였음..
내가 생각해봐도 그러고도 남음..
일단 해놓고 보니깐 조낸 좀 많이 괜츈해 보이는데.
켄 톰슨 이랑 데니스리치 주도로 유닉스를 만들때 어떤 개뻘짓을 했냐하면.
시스템 유틸리티들 하나 하나 만들때 처음에는 존내 정성스럽게 만들었다가 ㅋㅋㅋㅋㅋ
나중에는 그냥 시발 링킹시스템 으로 쓰자 어짜피 연구용이고 수요도 얼마 안될텐데
뭐하러 존내 꽁기꽁기 하게 짜느냐.. 이런 생각을 하게됨..
역시 사람은 의지가 박약하면 잔머리를 쓰게 마련인거임. ㅎㅎ
이래서 거의 대부분의 시스템을 포인터로 짜놓고 시스템에 있는 파일 참조를 링킹 시스템으로 만들기 시작함
즉 라이브러리의 원형임..
근데 문제가 발생하는데
이 시발 B 라고 명명한 프로그래밍 언어의 한계성이 옛날 기계에는 존내 짝짝 잘 들어맞는데
새기계 에는 어떻게 할꺼냐.. 이게 문제거든..
그렇다고 시발 존내 개고생해서 쓸만한 유틸리티 프로그래밍 언어를 만들어뒀는데 새거에 못쓰면 어떻게 된다??
다시 어셈블리로 프로그래밍을 하는 생각하기도 싫은 상황이 벌어짐..
어셈질 계속하다가는 진짜 40 대에 보람상조랑 친구 먹을꺼는 불보듯 뻔했음..
그당시 켄톰슨과 데니스리치의 뒷골을 당기게한 유닉스가 PDP- 11 이라는 기계였는데
이때 둘이 아주 중요한 병신짓을 하나 하게됨.. ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ
아 시발 그래 못먹어도 Go 다!! 이짓한번 더한다!!!
어셈질 계속 하느니 차라리 B 가지고 뚝딱 거리는게 낫지 옘병!!!
이래서 계속 존내 B 가지고 셀프고문 하다가 나온게 C 임.
우리가 쓰고 있는 C 언어도 현재 그 모양새는 상당히 BCPL 이랑 코딩모습이 비슷한데.
BCPL 에서 라이브러리가 존내 많아지고 전처리기가 생기게 되면서 이걸 이제 시발 B 라고 부르기에는 존내 간극이 컸단말이지.
그래서 C 라고 명명하게됨..
1973 년에 순수하게 C 로만 만든 유닉스가 나옴..
재밌네
근데 간극이 뭐냐
115.136.*.*// 사이대 사이가 벌어진 한계오차 임. 존내 많이 벌어졌을때 "간극이 크다" 라고 하지.
short long double float int 이런 변수 타입 제일 첨 쓴 언어가 뭐임