베이직(BASIC)은 Beginner's All Purpose Symbolic Instruction Code의 약자로서, 교육용으로 만든 프로그래밍 언어이다. 1964년 미국 다트머스 대학교의 존 케메니(John Kemeny)와 토머스 커츠(Thomas Kurtz)가 개발했다. 다트머스의 최초 제품 이후로 인터프리터 방식이 많았으나 최근에는 컴파일러 방식도 많아졌다. 현재는 다양한 종류의 베이직이 존재하며 서로 문법도 차이가 많이 난다. 서로 다른 종류 사이의 소스 코드는 호환이 되지 않는다.
소프트웨어 목록
베이직(BASIC)
제작사
|
제품명
|
해석 방식
|
플랫폼
|
설명
|
마이크로소프트
|
마이크로소프트 베이직
|
인터프리터
|
|
|
마이크로소프트
|
코모도어 베이직(Commodore BASIC)
|
인터프리터
|
|
|
마이크로소프트
|
애플소프트 베이직
|
인터프리터
|
|
|
마이크로소프트
|
MSX 베이직(MSX BASIC)
|
인터프리터
|
|
|
마이크로소프트
|
GW-BASIC
|
인터프리터
|
DOS
|
MS-DOS의 번들
|
마이크로소프트
|
퀵베이직(Quick BASIC)
|
인터프리터, 컴파일러
|
DOS
|
컴파일러 방식 제공
|
마이크로소프트
|
큐베이직(QBasic)
|
인터프리터,
|
DOS
|
MS-DOS의 번들
|
마이크로소프트
|
비주얼 베이직(Visual BASIC)
|
인터프리터, 컴파일러
|
Win3.1, Win98, WinXP
|
자체버전 6.9까지 지원하고 중단됨 닷넷으로 출시됨
|
마이크로소프트
|
비주얼 베이직 닷넷(Visual BASIC .NET)
|
인터프리터, 컴파일러
|
WinXP, Win Vista, Win7
|
비주얼스튜디오닷넷에 포함되어 출시됨
|
볼랜드
|
터보 베이직(Turbo-BASIC)
|
인터프리터, 컴파일러
|
DOS
|
|
리얼 소프트웨어
|
리얼 베이직(REALBasic)
|
인터프리터,컴파일러
|
WinXP, MacOS
|
최초 베이직 개발자인 존 케머니와 토마스 커츠 교수 개발
|
트루베이직
|
트루 베이직
|
인터프리터, 컴파일러
|
|
최초 베이직 개발자인 존 케머니와 토마스 커츠 교수 개발
|
|
다크 베이직(DarkBASIC)
|
|
|
|
|
퓨처 베이직(FutureBASIC)
|
|
|
|
|
프리 베이직(FreeBASIC)
|
|
|
|
삼성소프트
|
한글 베이직
|
|
|
|
|
qb64
|
|
Windows7, Linux, Mac OSX
|
QB4.5와 100% 호환
|
존 케메니 교수와 토마스 쿠르츠 교수(basic) 사진
등장배경
지난 1964년 5월 1일은 프로그래밍 언어 가운데 하나인 베이직(BASIC)이 세계 최초로 명령어 실행에 설공한 날이다. 베이직은 올해로 탄생 50주년을 맞았다.
베이직은 ‘INPUT’이나 ‘PRINT’ 등 자연어에 가까운 표현을 이용해 컴퓨터 프로그래밍의 문턱을 낮추는 데 일조했다. 베이직은 원래 컴퓨터 교육을 위해 개발한 언어다. 베이직이 탄생하게 된 배경은 뭘까.
베이직의 개념을 만들어낸 창조자는 다트머스대학 수학자인 존 케메니(John Kemeny) 교수와 토마스 쿠르츠(Thomas Kurtz) 교수다. 이들은 다잇 대학이 처음 도입한 제너럴일렉트릭 컴퓨터를 위해 프로그램을 개발했다. 이들은 컴퓨터 사용 능력의 중요성을 인식하고 학생들에게 컴퓨터 교육을 하기 위해 개발을 시작했다. 이렇게 개발한 건 초보적인 일반 기호 명령 코드(Beginner’S A LL-Purpose Symbolic Instruction CODE)의 머리글자를 따서 베이직(BASIC)라는 이름을 붙였다.
다트머스대학에서 좋은 평가를 이끌어낸 베이직 시스템은 다른 대학에도 보급되기 시작했다. 당시만 해도 컴퓨터 작동 속도는 너무 느린 탓에 결과를 뽑아내려면 상당 시간과 노력을 기울여야 했다. 하지만 베이직은 빠르게 결과를 표시해 높은 효용성을 보여줬다. 물론 베이직을 모두 호의적으로 받아들였던 건 아니다. 컴퓨터 분야에선 비판도 많았다고 한다.
역사
-1926년 헝가리 부다페스트에서 태어난 유대계 존 케메니 교수는 나치의 박해를 피하기 위해 1940년 미국으로 이민한 뒤 프린스턴대학에 입학한 그는 재학 시절 1년 휴학하면서 맨해튼계획에 참여하기도 했다. 수학자이자 물리학자인 폰노이만에게 컴퓨터 관련 내용을 배우는 등 영향을 받았다고 한다.
-1956년부터 다트머스대학에 합류한 토마스 쿠르츠 교수는 CPU 처리 시간을 분할에 한 번에 여러 작업을 동시에 할 수 있는 시분할 시스템 개념을 발표해 더 많은 사용자에게 컴퓨팅 환경을 제공하는 데 성공했다.
-1964년 5월 1일 베이직 언어의 기본 골격이 된 다트머스 베이직을 처음 실행하는 데 성공했다. 그 해 6월에는 다트머스대학 학생에게도 공개되어 타자기 터미널 11대로 활용할 수 있게 됐다.
-1966년 학내에서 문을 연 컴퓨터 센터에선 누구나 자유롭게 시설을 이용할 수 있고 용도를 묻지 않는다는 것, 중요한 연구 분석에 이용하거나 수업 과제를 해결하는 데 쓰거나 축구 게임, 여자 친구에게 편지를 쓰는 것도 자유라는 점을 브로셔를 통해 강조했다.
-1975년 MITS가 발표한 세계 첫 개인용 컴퓨터인 알테어8800(Altair 8800)을 계기로 개인용 컴퓨터라는 개념이 세상에 퍼지기 시작했다. 알테어8800은 인텔 8080을 탑재한 제품으로 가격은 400∼500달러 수준이었다.
-1984년 애플이 매킨토시를 발표하면서 그래픽 유저 인터페이스(GUI)가 일반화되면서 지금까지 베이직을 이용한 캐릭터 유저 인터페이스(CUI)는 점점 세력이 약화되어 갔다.
-마이크로소프트 역시 초기 베이직 위주에서 워드나 엑셀 같은 응용 프로그램 개발로 무게 중심을 이동하는 한편 GUI도 1990년 윈도 3.0, 1995년에는 윈도95를 내놓는 등 변화해갔다.
문법
일반적인 베이직 키워드
프로그램 제어 흐름
- IF ... THEN ...{ELSE}
- FOR ... TO ... {STEP} ... NEXT
- WHILE ... WEND 및 REPEAT ... UNTIL
- DO ... LOOP {WHILE} 또는 {UNTIL}
- GOTO
- GOSUB
- ON ... GOTO/GOSUB
- DEF FN
|
데이터 조작
|
입출력
- LIST
- PRINT
- INPUT
- TAB 또는 AT
|
함수목록
- ABS
- ATN
- COS
- EXP
- INT
- LOG
- RND
- SIN
- SQR
- TAN
|
기타
|
같이 보기
이 베이직 문서는 프로그래밍에 관한 토막글입니다. 위키 문서는 누구든지 자유롭게 편집할 수 있습니다. [편집]을 눌러 이 문서의 내용을 채워주세요.
|
개발 : 프로그래밍 □■⊕, 소프트웨어, 데이터, 솔루션, 보안, 하드웨어, 컴퓨터, 사무자동화, 인터넷, 모바일, 사물인터넷, 게임, 메타버스, 디자인
|
|
프로그래밍 언어
|
ASP • C 언어 • C++ • C# • CSS • D 언어 • HTML • HTML5 • JSP • PHP • R • XHTML • XML • XSLT • 고(Go) • 고급언어 • 기계어 • 델파이 • 러스트 • 루비 • 루아 • 리액트 • 리퀴디티 • 무브 • 미켈슨 • 베이직 • 브이비스크립트 • 비주얼 C++ • 비주얼베이직(VB) • 비주얼베이직닷넷(VB.NET) • 솔리디티 • 스몰토크 • 스위프트 언어 • 스칼라 • 스크립트 언어 • 알골 • 어셈블리 • 언리얼스크립트 • 얼랭 • 에이잭스(Ajax) • 엠에프씨(MFC) • 오브젝티브-C • 오브젝트 파스칼 • 오카멜 • 웹어셈블리(WASM) • 이와즘(eWASM) • 자바 • 자바스크립트 • 저급언어 • 제이슨(JSON) • 제이쿼리(jQuery) • 카멜 • 코볼 • 코틀린 • 콜드퓨전 • 타입스크립트 • 파스칼 • 파워스크립트 • 파이썬 • 펄(Perl) • 포트란 • 프로씨(Pro-C) • 피엘에스큐엘(PL/SQL) • 피엘원(PL/I) • 하스켈
|
|
개발방법론
|
CBD 개발방법론 • EA • 구조적 개발방법론 • 객체지향 개발방법론 • 라이브러리 • 람다 아키텍처 • 모듈 • 모듈화 • 벤치마킹 • 소프트웨어 개발방법론 • 스크럼 • 스프린트 • 아키텍처 • 아키텍트 • 애자일 • 웹개발방법론 • 정보공학 개발방법론 • 컴포넌트 • 테일러링 • 템플릿 • 폭포수 모델 • 프로젝트 • 프로토타입 • 피드백
|
|
코딩
|
EUC-KR • UTF-8 • 값 • 글루웨어 • 노팔로우 링크 • 두팔로우 링크 • 디버깅 • 디코딩 • 마크업 • 버그 • 부트스트랩 • 세이브포인트 • 소스코드 • 시큐어코딩 • 아스키 • 액티브엑스 • 오픈소스 • 유니코드 • 인코딩 • 재컴파일 • 주석 • 컴파일 • 컴퓨터 프로그램 • 코드 • 코딩 • 태그 • 테스트 • 테이블 • 텍스트 • 파싱 • 퍼블리싱 • 퓨니코드 • 하드코딩 • 하이퍼링크 • 하이퍼텍스트
|
|
프로그래밍
|
C 명령어 • 객체 • 객체지향 • 객체지향 프로그래밍 • 거짓 • 관계연산자 • 기본형 변수 • 널 • 논리 • 논리연산 • 논리연산자 • 다중상속 • 다형성 • 대입 • 대입문 • 대입연산자 • 더블 • 도스 명령어 • 디폴트 • 레지스터변수 • 루프 • 리눅스 명령어 • 리턴 • 메모리 주소 • 메소드 • 멤버 • 명령문 • 명령어 • 무한루프 • 문자 • 문자열 • 바이트 • 반복문 • 배열 • 변수 • 분기 • 분기문 • 불린 • 브레이크 • 비교연산자 • 비트연산자 • 산술연산자 • 상속 • 상수 • 생성자 • 선언 • 선언문 • 설정자 • 속성 • 스위치 • 스태틱 • 시프트연산자 • 실행 • 실행문 • 어노테이션 • 에코 • 역참조 • 연산 • 연산문 • 연산자 • 오버로딩 • 오버라이딩 • 외부변수 • 윈도우 명령어 • 유닉스 명령어 • 인스턴스 • 인스트럭션 • 인클루드 • 인터페이스 • 임포트 • 입력 • 입력문 • 입출력 • 입출력문 • 자료형(데이터 타입) • 자바 명령어 • 자바 예약어 • 자바 컬렉션 • 전역변수 • 접근자 • 접근제어자 • 정보은닉 • 정수형 • 정적변수 • 제어 • 제어문 • 제어자 • 조건 • 조건문 • 조건연산자 • 주소 • 증감연산자 • 지역변수 • 참 • 참조 • 참조변수 • 초기화 • 추상메소드 • 추상클래스 • 추상화 • 출력 • 출력문 • 캡슐화 • 케이스 • 클래스 • 파라미터(매개변수) • 파이널 • 패키지 • 퍼블릭 • 포인터 • 프라이빗 • 프로텍티드 • 필드(멤버변수) • 함수 • 환경변수
|
|
명령어
|
abstract • array • boolean • break • byte • case • char • continue • default • double • do while • echo • elif • else • else if • false • final • float • for • gosub • goto • if • if else • import • include • int • join • long • long long • null • print • printf • println • private • protected • public • return • scanf • short • stdio.h • static • string • switch • temp • then • true • unsigned • void • while
|
|
디자인패턴
|
구조패턴 • 동시성패턴 • 동시실행패턴 • 모델-뷰-컨트롤러 패턴 • 상태패턴 • 생성패턴 • 싱글톤패턴 • 아키텍처패턴 • 전략패턴 • 커맨드패턴 • 행동패턴
|
|
프로그래밍 인물
|
귀도 반 로썸 • 그레이스 머레이 호퍼 • 니클라우스 비르트 • 댄 브릭클린 • 더그 커팅 • 데니스 리치 • 리누스 토르발스 • 리처드 그린블라트 • 마거릿 해밀턴 • 마크 앤드리슨 • 빈트 서프 • 빌 게이츠 • 빌 조이 • 스티브 잡스 • 에이다 러브레이스 • 제임스 고슬링 • 척 벤턴 • 켄 톰슨 • 팀 패터슨
|
|
위키 : 자동차, 교통, 지역, 지도, 산업, 기업, 단체, 업무, 생활, 쇼핑, 블록체인, 암호화폐, 인공지능, 개발, 인물, 행사, 일반
|
|