문서의 임의 삭제는 제재 대상으로, 문서를 삭제하려면 삭제 토론을 진행해야 합니다. 문서 보기문서 삭제토론 BASIC (문단 편집) == 상세 == 오늘날 베이식은 과거에 비해 사용범위가 많이 축소되었지만 [[8비트]] PC가 시장의 주류였던 1970년대 후반 및 1980년대에는 대부분의 PC에 기본적으로 베이식 인터프리터가 ROM에 수록되어 내장되어 있는 '''기본 언어'''였다. 개인용 컴퓨터라는 개념이 막 정착되었던 시기였기 때문에 산업용으로는 상대적으로 적합하지 않아도 교육용으로 가치가 높은 베이식을 내장한다는 것은 합리적인 정책이었다. 비싼 비용으로 인해 [[플로피 디스크]] 드라이브 같은 보조기억장치가 별매품인 게 당연했던 시절이니만큼 '컴퓨터 본체만 가지고 뭔가를 할 수 있는 것'은 베이식으로 코딩을 해보는 것이 전부였을 정도로 내장 베이식은 비중이 컸다. 일종의 간이 [[운영체제|OS]] 역할을 했다고 보아도 좋을 것이다. 실제로 당시의 내장 베이식은 메모리 참조 등 간단한 시스템 제어 명령어도 있어서 나름대로 OS의 역할을 하기도 했다. BASIC만으로도 시스템 점검이 가능했다는 이야기다. 당시만 해도 "OS=파일 읽을 수 있고 파일 쓸 수 있고 프로그램 실행할 수 있으면 충분" 이라는 개념이었기 때문. 사실 그 이상의 기능이 필요하지도 않았다. BASIC이 일종의 유저 인터페이스로 존재했기 때문에 만약 BASIC이 없었다면 컴퓨터 사용자는 일일이 CPU에 기계어 코드를 전달하는 수고를 들여야 했을 것이다. 개인용 컴퓨터 대중화의 시작점에 있던 [[알테어]] 8800 같은 경우에는 실제로 전면 패널에 여러 스위치가 달려 있어 CPU에 직접 기계어 코드를 입력할 수 있었다. 지금은 퍼스널 컴퓨터='''인터넷 하는 기계'''라는 것이 일반인의 인식이고 1990년대 중반까지는 PC(퍼스널 컴퓨터)=게임기, 아래아한글 워드프로세서 또는 PC 통신용 터미널이라는 인식이 강했지만 80년대에는 퍼스컴(퍼스널 컴퓨터)=베이식으로 프로그램 짜는 기계라 인식될 정도로 베이식의 입지는 강력했다.[* 대략 80년대 컴퓨터 사용자 하면, 컴퓨터 사용자=베이식 사용자, 컴퓨터 프로그래머=어셈블러 사용자 라는 공식이 통용될 정도였다고 보면 된다. 80년대 베이식 사용가능이란 현재의 오피스 사용가능과 비슷한 인식. [[1980년대]] [[대한민국]]의 중고등학교 정보화 과목 수업에서 BASIC 교육이 기본으로 시행될 정도였다. 다만 당시 대한민국은 가난해서 학교에 BASIC 강의를 할만한 학교가 많지 않아 정보화 과목이 선택과목이었다는 게 문제. 대한민국 전국 모든 학교에 학생들이 전원 이용할만한 컴퓨터 개수가 깔리게 된 것은 [[2015년]]까지 와야 한다.] 1980년대 당시 국내에서 판매되던 [[SPC-1000]], [[SPC-1500]], [[금성 패미콤]] 시리즈, [[MSX]], [[애플 II]] 등의 8비트 컴퓨터 중 롬에 베이식이 기본 탑재되지 않은 기계는 '''없었다'''.[* 단, [[금성 패미콤]] 시리즈 중 FC-150은 내부에 내장하지는 않고 BASIC-I(정수 베이식)를 별도의 [[롬팩]]으로 번들 제공했다. 원본인 Sord M5가 그런 구조였기 때문에 그대로 따른 것. 일본의 경우에는 M5 외에도 샤프 MZ 시리즈가 베이식 인터프리터를 내장하지 않았다. 부팅 시점에 아무것도 메모리에 적재하지 않는다는 '클린 컴퓨터'라는 컨셉트를 내세우고 내장되어있는 [[데이터 레코더]]를 통해 [[카세트테이프]]에 담긴 [[허드슨(일본 기업)|허드슨]]의 Hu-BASIC 인터프리터를 롬에 적재하는 방식을 취했는데 정작 MZ-80 시리즈를 베이스로 만든 삼성 [[SPC-1000]]는 이 Hu-BASIC을 롬에다 때려박았다. 그래서인지 인터프리터를 롬에서 바로 참조하는 [[애플 II]]나 [[MSX]]와 달리 SPC-1000은 부팅시 롬 영역에 있는 인터프리터를 램으로 복사한 다음 램 영역을 참조하는 특이한 방식을 취했다.] [[IBM PC]] 역시 초기에는 롬에 베이식을 내장하고 부팅시 [[MS-DOS]] 디스크를 삽입하지 않으면 롬 베이식 인터프리터가 부팅되는 구조였다. [[IBM PCjr]]에 베이식 언어를 추가하기 위한 카트리지는 1980년대 당시에 꽤나 인기있는 품목이었다고 하며 이것도 마찬가지로 나중에는 롬에 내장되었다. 재미있는 사실로 초기 IBM PC 호환기종의 경우 부팅시에 하드 내 파티션에 부트 영역이 존재하지 않는 등의 이유로 [[MS-DOS]]를 부팅할 수 없는 경우 '''NO ROM BASIC SYSTEM HALTED'''라는 에러 메시지가 떴었는데, 당시에는 왜 부팅 에러 메시지에 뜬금없이 BASIC이 나오나 하는 의문을 가진 유저들도 많이 있었다. 진실은 앞서 말했듯 오리지널 IBM PC(일부 호환기종 포함)는 롬 베이식을 내장하고 있었고 외부 기억장치(플로피나 하드)로 부트에 실패할 경우 베이식 인터프리터 모드로 들어가게 되어 있었지만 대부분의 호환기종에는 라이선스 문제로 롬 베이식이 내장되어있지 않았다. 따라서 이런 기종은 부트 과정에서 DOS 부팅에 실패한 뒤 롬 베이식을 호출하기 위해 체크했더니 이마저 없기 때문에 [[장비를 정지합니다|시스템을 정지한다]]는 메시지가 나왔던 것. 나중에 베이식을 내장하지 않는 것이 일반적이 되고나서는 메시지가 바뀌어서 그냥 운영체제가 없다는 메시지만 나온다. 덤으로 롬에 저장된 베이식 인터프리터를 호출하는 BASIC.COM과 BASICA.COM(GWBASIC.EXE는 해당 안 된다!)을 써 본 적이 있다면 올드 프로그래머. 배우기 쉽고 대화형 언어라 프로그램의 수정이 간단하고 시스템 롬 내장이라는 특성상 외부기억장치를 필수적으로 요구하지 않는 고로 작은 시스템으로도 이용할 수 있다는 특징은 분명히 장점이지만 단점으로는 한줄한줄씩 번역하는 [[인터프리터]] 방식이 가지는 한계, 즉 처리속도가 느리다는 점을 들 수 있다. 오늘날에는 절대적인 컴퓨팅 파워가 월등하게 강력해졌고 인터프리터에도 다양한 기법들이 수용되면서 컴파일러 방식에 비해 크게 느리지 않은 경우도 적지 않게 볼 수 있게 되었지만 겨우 몇 MHz 수준의 CPU와 64K 바이트 남짓한 메모리를 지녔던 1980년대 당시에는 베이식의 느린 속도는 베이식을 전문적인 개발 언어로 사용하기 어렵게 만드는 걸림돌이었다. 그러나 1980년대 후반에 접어들며 터보 베이식, 퀵 베이식 같은 [[컴파일러]] 방식의 베이식도 나오기 시작했고 오늘날에는 컴파일러 기반의 베이식 언어가 대다수. (이게 무슨 소리인지 모르겠다면 [[소스 코드]] 문서를 참조하자.) 사실 초기에는 베이식을 사용한 게임들도 꽤 많이 있었다. 각종 공모전이나 컴퓨터 잡지에 투고된 게임 소스 코드들은 전부 베이식으로 되어있거나 일부 속도를 요구하는 부분에만 [[어셈블리어]], 혹은 [[기계어]] 코드를 조합한 것이 대부분이었다. 상용 게임들에도 베이식을 사용한 게임이 꽤 많았는데 [[애플 II]]의 [[울티마 1]][* 그래픽 타일은 어셈블리어로 작성. 나중에 리메이크판인 뉴 울티마 1이 나오면서 베이식 코드를 빼고 기계어 코드로 싹 갈아엎었다.]이 대표적. [[PC-8801]]판 [[삼국지 1]], [[노부나가의 야망]], [[대전략|현대대전략]][* 그래픽 처리 등 속도를 필요로 하는 부분에는 기계어 코드를 조합했다.] 등에도 베이식 코드가 들어있었다고 한다. 물론 점점 게임이 복잡해지고 속도를 요구하게 되면서 베이식 코드는 게임에서 제거되기 시작했다. [[Microsoft]]의 [[빌 게이츠]]가 본격적으로 유명해진 계기도 당시 PC 중 하나인 [[알테어]]용 베이식 인터프리터를 만들면서였다. 알테어 광고를 보고 친구인 [[폴 앨런]]과 함께 무작정 베이식을 팔겠다고 만들기 시작하지도 않은 상태에서(...) 납품제의를 했다. 승낙 후 광속의 개발을 거쳐 완성품 [[천공 카드]] 묶음을 들고 본사로 가는 비행기에 탔는데 그제서야 아직 코딩하지 않은 부분이 있다는 사실을 알아채고[* [[테이프]]의 프로그램을 [[램]]에 입력해서 실행시켜주는 [[부트스트랩]] 프로그램] 비행기 안에서 손수 천공 카드에 구멍을 뚫어가며[* 1970년대에 배터리로 돌아가는 노트북 같은게 있을리 없다(...)] 코딩하여 도착하기 전에 완성했다고 한다. 천공 카드라 가능했던 일화. 이후 본사에서 성공적인 데모 시연을 해보였고 이 프로그램을 계기로 빌 게이츠가 소프트웨어 장사를 해야겠다고 마음먹게 되었다 한다. 당시 소프트웨어 저작권의 개념 자체가 없던 시절이라 매장에서 천공 카드를 복사기로 무한정 복사해가는 일이 흔했는데, '이런 행동은 절도나 다름없다'고 정면으로 광고를 처음 실었던[* [[https://en.wikipedia.org/wiki/An_Open_Letter_to_Hobbyists|'취미가들에게 보내는 공개 편지']]라는 이름으로 발표하였다.] 빌 게이츠는 당시 상당한 이야깃거리가 되었다. 하지만 당시만 해도 소프트웨어는 기업체에 납품하는 것이 기본이라 복제 배포라는 개념 자체가 거의 없었고 따라서 빌 게이츠의 이런 주장은 거의 무시되었다. PC가 등장하기 전인 1970년대 중반까지만 해도 컴퓨터는 매우 비싼 기계였고, 소프트웨어는 '기계 사면 당연히 딸려서 오는 그 무엇'이란 개념이었다.[* 쉽게 말하자면 모든 소프트웨어가 지금의 컴퓨터 사면 같이 따라오는 CD 같은 입장이였다고 보면 된다.] 공장에서 쓰는 공작기계를 구매하면 이를 실행하기 위한 프로그램이 당연히 기계 내장 ROM에 탑재되어 있는 것을 생각하면 된다. 본격 사업가의 길을 걸은 한참 후에도 당시 만들었던 베이식 인터프리터의 소스를 거의 그대로 기억하고 있었다고. 애플의 번들 소프트였던 애플소프트 베이식도 빌 게이츠의 작품이며, MSX의 베이식도 직접 개발했다. 실제로 마이크로소프트는 베이식 언어에 대해 상당한 애정과 집착(?)을 가지고 있다. 사멸할 것이 뻔하던 베이식 언어를 비주얼 베이식이라는 걸출한 물건으로 부활시킨 뒤, 이 비주얼 베이식을 [[엑셀]]에 맞게 포팅하여 [[Visual Basic for Application]]이라는 이름으로 집어넣어놨다. 이 비주얼 베이식의 문법을 활용한 윈도우용 스크립트인 VBScript를 개발, 윈도우 뿐만 아니라 웹의 클라이언트 사이드 스크립트와 서버 사이드 스크립트로도 활용을 시도했다. 클라이언트 사이드 스크립트는 [[JavaScript]]와의 경쟁에서 패배, 거의 사용되지 않지만[* 표준으로 지정된 ECMAScript는 JavaScript의 문법이 기본 베이스이다.], [[ASP]] 등 서버 사이드 스크립트로는 여전히 잘 사용되고 있다. 요즘에는 smallBasic이라는 교육용 베이식 언어(그러나 닷넷의 스멜이 짙어서 별로 베이식 언어답지는 않다)까지 내놓은 상태. Visual Basic.NET은 클래스, 인터페이스 등 표준에는 없는 걸 대량으로 추가한 탓에 '베이식'이라 부르기도 애매해졌다. 마이크로소프트 외에도 다수의 소규모 개발사에서 개량형 버전을 내놓아 초보자들을 위한 개발 언어 및 교육용 언어로 나름대로 각광받고 있다. , , , 등 다양한 개량형 Basic 방언들이 있고, 옛날 Basic을 재현하는 FreeBasic, QB64 등의 오픈 소스 프로젝트까지 하면 종류가 엄청 많다. 게임 개발에 도전해보고 싶다면 입문 언어로 익히는 것도 좋을 듯. 다만 각자의 방식대로 OOP개념 등을 추가한 탓에 문법이 각자 다르다. 게다가 언어 자체에 버그가 상당히 창궐해서 어느 이상 복잡한 프로그램을 만들려고 들면 꼭 골치아픈 상황을 맞닥뜨리게 된다. 8~16비트 시대에도 애플 정수 베이식, 애플 소프트 베이식, Hu-BASIC, MSX 베이식, GW 베이식, 퀵 베이식 등등의 다양한 종류가 존재했는데 마이크로소프트 계열의 경우 애플 소프트 베이식 같은 예외를 제외하면 문법상 공통성이 있었지만 소스 호환성은 '''없었다'''. 코드와 하드웨어의 차이점을 수동(...)으로 메꿔가며 포팅하는 게 고작. 개발사가 다르면 문법의 차이는 더더욱 헬이었다. 오늘날의 문법 난립이 어제오늘새 있었던 일은 아니라는 얘기.저장 버튼을 클릭하면 당신이 기여한 내용을 CC-BY-NC-SA 2.0 KR으로 배포하고,기여한 문서에 대한 하이퍼링크나 URL을 이용하여 저작자 표시를 하는 것으로 충분하다는 데 동의하는 것입니다.이 동의는 철회할 수 없습니다.캡챠저장미리보기