상용 BASIC은 상용 소프트웨어 개발에 사용 된 적이 있습니까? 그렇다면 제한을 어떻게 극복 했습니까?


46

, 저를 포함한 우리 중 많은 사람들에 작성된 프로그램과 자신의 프로그래밍 생활을 시작 가정용 컴퓨터 , 같은

10 PRINT "ENTER RADIUS"
20 INPUT R
30 PRINT "CIRCUMFERENCE="; 2 * R * PI
40 PRINT "AGAIN?"
50 INPUT A$
60 IF A$="Y" THEN GOTO 10
70 END

가장 기본적인 방언 구조 문이 좋아 놓친도 있기 때문에 물론, BASIC 기초 라인 수는 니, spagetti 코드를 작성하는 경향이 있었다 WHILE모든하지만하고, FOR와 -loop IF, GOTOGOSUB. QBASIC과 Visual Basic이 등장한 1991 년 이전의 BASIC 방언에 대해 이야기하고 있습니다.

BASIC 방언은 야심 찬 프로그래머들 사이에서 나쁜 스타일을 촉진했을지 모르지만, 그러한 기본 방언으로 만들어진 더 큰 상업 프로젝트가 있었습니까? 그렇다면 어떻게 명백한 단점을 극복하고 해결할 수 있었습니까?

"심각한"은 다음을 의미합니다.

  • 게임이 아님 (예 : Pimania 와 같은 일부 상용 게임은 BASIC으로 작성되었음을 알고 있습니다 )
  • 프리웨어 아님
  • 사소하지 않은, 즉 합리적으로 큰 (예 : 1500 LOC 이상 )
  • 여러 고객에게 판매 (사내 개발 아님)
  • "미션 크리티컬"은 플러스

30
Were those BASIC dialects only used to teach aspiring programmes bad style흠 ... 그것은 나쁜 스타일의 지금 하지만 다시 아니었다.
yannis

9
Dartmough BASIC은 1964 년에 디자인되었으며 FORTRAN이 지배하는 시대입니다 (흥미롭게 컴파일 된 언어였습니다).
yannis

8
원의 원주를 계산하려고한다고 가정하면 스타일 은 내가 여기서 볼 수있는 유일한 나쁜 것은 아닙니다.
윌리엄 잭슨

5
I'm seriously pissed off that this question was closed during the "History" contest.Heh, Meta에 질문을 추가하여 질문에 대한 추가 견해를 얻을 수있는 좋은 기회를 놓쳤습니다.
yannis

15
기록 된 모든 소프트웨어의 99 %는 비즈니스 라인 작성 응용 집에서 , 그리고 정의에 대한로 만드는 심각한 당신이 얻을 수있다.

답변:


48

확실한. Altair / MITS / SWTPC / Kim / Sinclair / Pet / RadioScrap / OSI / Apple 상황이 발생하기 전에 IBM 5100으로 알려진 유쾌한 작은 기계가있었습니다 . ROM 에는 BASIC , 큰 카세트 테이프 드라이브 (또는 2 개), 8KB의 메모리가있었습니다. 24 인치 라인 스크린과 프린터는 모두 미화 10,000 달러로 일반 미니보다 훨씬 저렴합니다. 원래 과학자들을 위해 만들어졌지만 ( ROM의 APL 도 옵션이었습니다), 몇 가지 회계 유형이 그것을 발견하고 열풍을 시작했습니다. 모든 소규모 기업은 하나를 원했습니다. 물론 맞춤형 소프트웨어를 사용하십시오. 5110에 이어 테이프 드라이브는 8 인치 플로피로 교체되었습니다.

상용 소프트웨어가 있습니까? 갤런 .

총계정 원장, 급여, 채무, 채권, 재고 관리 및 송장을 말할 수 있습니까? BASIC에서 그랬습니다. 공공 요금, 신규 및 중고차 재고, 쓰레기 트럭 픽업 및 음료 배달 일정? 예-기본. 광산에서 철로의 철광석 을 추적 하고 열차로가는 열차 를 추적하고 싶습니다 . 기본. 바닥에서 올라가지 않은 모든 것은 BASIC에서 이루어 졌을 것입니다. 상업적인 의미입니다. ( RPG II 는;-를 계산하지 않기 때문에) .

한도를 어떻게 해결 했습니까?

글쎄, 당신이 한 첫 번째 일은 더 많은 메모리를 얻기 위해 고객을 IBM으로 다시 보내는 것이 었습니다. 누가 8KB로 심각한 것을 쓸 수 있습니까? 당신은 간단 했다 가능하면 하나의 테이프에 정렬 자동 장치 옆 이론, 병합이 잘이기 때문에 느리고, 태드 (16)와 두 개의 테이프 드라이브를 가지고.

죄송합니다. BASIC의 한계를 의미했습니다.

글쎄, 줄 번호 와 같은 것을 조심스럽게 관리해야했습니다 . 실수로 한 줄 또는 두 줄의 코드를 잃지 않고 전체 섹션의 번호를 다시 매기고 다시 입력 해야하는 진짜 고통.

아니-농담이야 우리는 실제로 가정용 컴퓨터가 다시 나타날 때까지 그 문제가 없었으며, 기본적으로 번호를 다시 매길 수없는 BASIC 통역사가있었습니다.

또한 새 프로그램을 호출하고 종료 될 때까지 실행 한 다음 호출 프로그램으로 다시 돌아 오는 모듈성을 사용했습니다. 스테로이드에 대한 gosub (사용 할 메모리가 더 많기 때문에), 더 느리게 (기계가 테이프에서 프로그램을 찾아로드하는 데 시간이 걸리기 때문에 원래 프로그램을 되 감고 찾아서로드하십시오. 뒤...). 포크와 exec와 비슷하지만 포크가 없으면 전체 메모리 공간이 공유 되었기 때문에 더 좋습니다 .

당신은 항상이 루틴이 무엇을 말한다 주석 행에서 GOSUB을 대상으로한다 "와 같은 당신이 알고, 가능하면 당신은 GOTO를 위해 동일한 작업을 수행해야한다 물건을 그렇게 아, 그리고 - 규칙의 엄격한 사용도 도움이되었다.. 구조 조금 후에 프로그래밍 -다시 "컨벤션으로".

일부는 극단적에 조금 갔다 : OAOO , YAGNI , TSTTCPW , 페어링, 리팩터링 물건을 무자비하게 그 종류. 물론 그런 이름으로는 아닙니다. (또한 참조 : 전도서 ;-)

영광의 날.


4
모든 좋은 대답에서, 나는 이것이 너무 많은 사랑 (공보)을 얻지 못했고 가정용 컴퓨터가 등장하기 전에 마이크로 컴퓨터에서 상용 소프트웨어에 대한 BASIC의 사용을 강조하기 때문에이 것을 선택합니다.
user281377

1
당신의 큰 답변에 투표하고 성경에서 최고의 책 중 하나를 참조하십시오 :)
Rocklan

46

내가 작업 한 첫 번째 소프트웨어는 8k 라인 GW-BASIC 프로그램으로 80 년대에 보일러 장비의 크기를 정하고 가격을 책정하기 위해 열 전달 미적분학을 사용하기 위해 썼습니다. 코드는 완전히 이해하기 쉽지 않았지만 20 년 넘게 코드를 사용하여 잘 작동했습니다.

이것이 참조 매뉴얼을 가진 기계 엔지니어가 실제로 사용 가능한 양질의 소프트웨어를 작성할 수있는 BASIC의 강점이었습니다. BASIC과 PC의 보급 이전에는 이런 일이 없었습니다. 공유 메인 프레임에서 프로그래밍하고 작업하려면 컴퓨터 엔지니어 팀과 컴퓨터 운영자 팀을 고용해야합니다. 이 모든 것이 일반적인 기계 엔지니어가 짧은 시간 안에 픽업하기에는 너무 복잡했을 것입니다.

따라서 BASIC은 가정용 컴퓨터 애호가를 뛰어 넘어 매우 유용했습니다. 이것은 많은 기업이 전문가 팀없이 저렴한 가격으로 맞춤형 소프트웨어를 사내에서 작성하는 영역에 처음으로 소개되었습니다.


물론입니다. -^^^
Robert Harvey

30

예, BASIC에는 수많은 상용 제품과 기타 "심각한"개발이있었습니다. 이유를 이해하려면 BASIC이 미니 컴퓨터와 마이크로 컴퓨터에서 성장한 1970 년대와 1980 년대의 상황을 이해해야합니다.

당시 기계는 오늘날의 표준에 의해 긍정적으로 까다로워졌습니다. CPU는 몇 MHz에서 클럭이 났으며 (마이크로 컴퓨터의 경우 훨씬 적음)이 페이지를 렌더링하는 데 필요한 HTML이 차지하는 것보다 메모리가 적었습니다. 제품을 배포하려는 경우 시스템과 함께 ROM (보통 64K 주소 공간에서 16K)으로 제공되는 BASIC 인터프리터 (맨손으로 알몸 어셈블리) 또는 사용 가능한 도구를 사용해야했습니다. . 사용할 수있는 다른 언어가 있었지만 많은 구조적 기능이 당연한 것은 아닙니다. 이것은 메모리가 부족하다는 사실과 많은 관련이있었습니다. * 최첨단 시스템을 제외하고는 가상 시스템이 없었으며,보다 정교한 언어를위한 컴파일러를 보유 할만큼 충분하지 않았습니다. 제한된 자원으로 "심각한"

초기 가정용 컴퓨터 제조업체가 더 잘 알고 있어야하며 구조적 언어를 제공해야한다는 귀하의 주장은 그 상황에서는 효과가 없습니다. 사람들이 위장 할 수있는 가격으로 이용 가능한 기술로는 결코 일어나지 않을 것입니다.

우리가 언어의 단점을 극복하는 방법은 간단했습니다. 우리는 그러한 방식을 보지 못했고 사용 가능한 작업을 수행했습니다. ANSI Minimal BASIC은 간단한 분기 및 서브 루틴 호출의 동일한 풍미를 대부분 얻을 수 있다는 점에서 어셈블리 언어와 매우 유사하게 구성되지만 별이 올바르게 정렬되도록하는 것은 사용자의 몫입니다. 유일한 예외는 FOR..NEXT루핑을 제공하는 데 사용되는 구조입니다. 기본적으로, BASIC에서 무언가를 개발하고 잘 수행하고 싶다면, 마치 마치 프로그램을 작성하는 것처럼 신중하게 프로그램의 구조를 계획하고 이해해야했습니다. 사용 가능한 디버깅 도구는 매우 원시적이므로 기본적으로 프로그램이 작동하고 유지 관리 가능하도록하려면 함께 행동해야합니다.

예, 당시에는 스파게티가 많이 있었지만 나쁜 코드를 작성하는 것이 불가능한 언어는 아직 보지 못했습니다.


* 메모리는 1980 년대 초 MB 당 약 750-1,000 달러로 실행되었습니다. 인플레이션에 맞게 조정 된 금액은 2010 년 1,600-2,200 달러입니다. 같은 해 메가 바이트 당 비용은 약 0.03 달러였습니다.


1980 년대에 2 메가 바이트 EMS 메모리 보드 에 약 1000 달러를 지불 한 것을 기억 합니다. NEC V20 기반 PC 복제 키트 인 컴퓨터는 약 2,500 달러입니다.
jfrankcarr

LOL, 80 년대 후반 VAX 용 64MB 메모리 카드를 사려면 회사 회장이 PO에 서명해야했던 것을 기억합니다. 공평하게, 그것은 이중 포트 ECC 메모리 였지만 $ 30K의 반대편에 비용이 들었습니다 ...
TMN

BASIC으로 작성된 비즈니스 응용 프로그램이 있으며, 그중 일부는 돈으로 판매되었으며, APPLE] [또는 CommodorePET, Atari 또는 IBM 또는 1980 년대 초 TI 마이크로 컴퓨터에 대해 BASIC으로 작성된 인기 판매 비즈니스 응용 프로그램은 약 500 달러, 단가 $ 100 당시의 컴퓨터는 작았고 소프트웨어는 작았 기 때문에 당시의 최신 소프트웨어 제품은 없었습니다. 기본 언어 나 C 언어, 어셈블러 나 다른 현대 언어는 그 언어를 바꾸지 않았을 것입니다.
Warren P

80 년대에 우리 지역 대학 컴퓨터 메인 프레임은 10mb에서 50mb로 업그레이드되었습니다. 10MB는 절반 만 찼지만 앞으로는 충분한 공간을 확보하고 싶었습니다. 약 50-100 명의 사용자를위한 50MB의 하드 드라이브가 죽임을 당했다고 상상해보십시오.
SoylentGray

22

1980 년대로 거슬러 올라간 첫 100 % 프로그래밍 작업은 원래 GW-BASIC으로 작성된 수직 시장 회계 패키지 작업을하고있었습니다 . QuickBASIC 3.0 으로 포팅 되었지만 초기 BASIC 방언과 관련된 거의 모든 결함을 유지했습니다. 수많은 GOTO와 많은 열악한 구조가있었습니다. 약 12 개의 모듈 (인벤토리, 원장 등)이 있었고 프로그램은 모듈 당 약 US $ 1000-US $ 2500와 연간 지원 계약으로 판매되었습니다. 회사 매출은 연간 15 ~ 2 천 5 백만 달러였습니다.

단점을 극복하는 방법에 관해서는 기계어 또는 MASM 을 사용하여 많은 한계를 극복했습니다 . PEEK 및 POKE 명령을 사용하여 기계 언어를 BASIC 프로그램에 삽입 하는 것이 일반적이었습니다 . 필자는 기초적인 데이터베이스 지원, 통신 및 텍스트 "그래픽"과 같은 것을 추가하기 위해 프로그램을 확장하기 위해 MASM (및 C) 프로그램을 작성했습니다.


12
물론, 당신은 15 밀에 들어 가지 않으면 안타깝습니다.
스펜서 Rathbun

@SpencerRathbun-슬프게도, 나는 오늘 약 $ 35K와 비슷한 다소 낮은 임금을 받았습니다.
jfrankcarr

네, 첫 번째 프로그래밍 작업은 Quickbasic 3이었습니다. 포트는 아니었지만 훨씬 나빴습니다. 주요 부분은 "훈련"이 컴파일러와 함께 제공된 책을 읽는 사람에 의해 수행되었습니다. 고객에게 미션 크리티컬, 높은 4 피겨 가격표.
Loren Pechtel

5

그런 기본 방언으로 더 큰 상업 프로젝트가 만들어 졌습니까?

C64 나 그 이전 모델과 같은 오래된 가정용 컴퓨터에는 많은 BASIC 프로그램과 일부 상용 프로그램이 존재했습니다. 그러나 <64kB의 RAM으로 "대형"기본 프로그램을 작성하는 것은 쉽지 않기 때문에 "대형"은 거의 불가능했습니다. 기계의 한계를 극복하려면 일반적으로 "고급 언어"인 BASIC의 기초를 떠나 어셈블러를 사용해야했습니다.

따라서 귀하의 질문에 대한 답변은 "아마도 많지 않지만"( "너무 오류가 발생하기 쉬운 / 구조화되지 않은"등) 염두에 둔 이유가 아닙니다.

그건 그렇고 : AFAIK 유명한 PETSpeed ​​BASIC 컴파일러는 BASIC으로 작성되었습니다 (물론 자체적으로 컴파일 됨).


4
나는 그 중요한! = 큰 것을 지적하고 싶습니다. 특히 그 당시에는 특히 그렇습니다. 오늘날 상용 프로그램에는 상상할 수있는 모든 기능이 내장되어 있지만 항상 그런 것은 아닙니다.
Jeanne Pindar 13:21에

@DocBrown 64k 메모리 제한과 큰 응용 프로그램을 처리하는 방법이있었습니다. 많은 큰 응용 프로그램은 많은 모듈이있는 응용 프로그램 모음과 유사했습니다.
maple_shaft

BASIC으로 완전히 또는 부분적으로 작성된 몇 가지 초기 상용 C64 게임을 기억합니다. 'Rox 64'는 하나입니다.
Alan B

"Telengard"C64를위한 롤 플레잉 게임이라고 불리는 것은 Basic의 8k 라인과 같다고 생각합니다. 자신을 우버 캐릭터로 만들기 위해 소스를 조정하는 것이 재미있었습니다.
Neil N

@maple_shaft : "많이?" 특히 "많은 기본 응용 프로그램?" 나는 단지 몇 가지가 있다는 인상을 받았다.
Doc Brown

5

Peachtree Software의 전체 회계 라인 (채권, 지불금 등)은 모두 BASIC으로 작성되었습니다. IBM PC가 처음 출시되었을 때 IBM 개인 컴퓨터와 Peachtree 패키지를 구매 한 고객을 위해 코드를 디버깅하고 수정하는 데 많은 시간을 보냈습니다.


5

저의 첫 번째 일은 1981 년 북 아일랜드 벨파스트에있는 Price Consultinghouse (Pre Coopers) 사무소에서 Basic으로 Apple II를 프로그래밍하는 일이었습니다. 우리 중 2/3 명의 팀이 서점과 도축장을 포함한 클라이언트에서 시스템을 개발하고 설치했습니다. 재무 모델링 시스템으로 사실상 매우 복잡한 Visicalc 스프레드 시트 (50 매, 3,000 개의 변수)가 큰 기본 프로그램으로 바뀌 었습니다. 도축장에서 일주일의 처리량을 처리하기 위해 4 개의 디스크 드라이브가있는 Apple II 시스템에서 2 일 동안 실행했습니다. 매주 2 주씩 걸렸던 수동 시스템보다 약간 빠릅니다.

그런 다음 Act Sirius 시스템으로 이동하여 클라이언트에 설치된 Basic (Microsoft 8KB Basic)으로 프로그래밍합니다.

Basic에는 줄 번호가 있었지만 프로그램 번호를 다시 지정할 수있는 툴킷이있었습니다. Pascal을 배운 Uni에서 신선하면서 가능한 한 구조화 된 스타일로 작성하려고했지만 (Basic에서 가능한 한 많이) Gotos와 Gosubs는 물론 사용되었습니다.

나중에 1983 년 12 월 레인보우에서 프로그래밍하여 CBasic을 사용했습니다.


4

PDP-11 시스템 에서 BASIC-PLUS 를 사용하여 작성된 많은 상용 소프트웨어 가있었습니다 . 통계 분석 및 회계 패키지와 공정한 양의 고급 실험실 자동화 자료를 보았던 것을 기억합니다. 별도로 판매 된 경우). ISTR BASIC은 HP 2000 응용 프로그램 개발을 위한 기본 언어 중 하나였으며 초기 HP 9800 시리즈 워크 스테이션에서 지원되는 기본 언어 일 수 있습니다 .


HP2000이 다른 개발을 지원 했습니까? 필자는 HP2000이 HP Timeshare BASIC에서 사용자 제공 프로그램 실행 하도록 하드 코딩되어 있다는 사실을 알고있었습니다 [일부 또는 모든 시스템의 파일 관리 및 사용자 관리 코드는 다른 언어 나 기계 코드를 사용하여 작성되었을 수 있음].
supercat

3

Alpha Software의 초기 DOS 데이터베이스 제품 (1985 년경) "데이터베이스 관리자 I", "데이터베이스 관리자 II"(DMB2) 및 "알파 3"은 BASIC으로 작성되었으며 IBM BASIC 컴파일러로 컴파일되었습니다. 나는 "알파 3"에서 일했다. 모든 UI는 BASIC에 있었지만 C 및 ASM으로 작성된 핵심 TSR (종료 및 상주) 구성 요소가있어 BASIC이 인터럽트를 통해 통신했습니다. 줄 번호와 줄 바꿈은 귀중한 세그먼트 공간을 차지하여 코드가 엄청나게 읽히지 않고 읽을 수 없게되었습니다. 우리는 공유 변수와 스왑 모듈을 지속적으로 사용했습니다. 일하기가 어려웠습니다. 우리는 여전히 조직에 대해 논리적으로 노력했지만 문자열 라이브러리는 모두 60000 줄로 줄었습니다. 문자열 다듬기와 같은 일반적인 작업은 다음과 같습니다.

$ S = $ INS; GOSUB 60210; $ INS = $ S;

우리는 "Alpha Three"가 출시 된 직후 모든 C로 변환했다.


1
모든 변수가 전역 변수이고 매개 변수 전달을 위해 변수를 악용해야 했으므로 실수로 이미 사용 된 변수를 덮어 쓰지 않도록 코드를 어떻게 관리 했습니까?
user281377

컨벤션 기반이었습니다.
피트 리옹

3

1980 년대 초 미 공군은 비행 대대를 비행 계획 도구로 사용하기 위해 Cromemco S100 버스 컴퓨터 를 구입했습니다 .

비행 계획 소프트웨어는 플로리다 주글린 AFB 에 위치한 전술 항공전 센터에서 공군 조종사 및 항해자가 BASIC을 사용하여 개발 했습니다 .

BASIC의 "명확한 단점"을 해결하는 한 우리는 실제로 더 잘 알지 못했습니다. 승무원에게 컴퓨터에 물리적으로 접근하는 것은 당시 놀라운 기술의 도약처럼 보였습니다.


2

애플의 원래 Ultima는 Applesoft Basic으로 작성되었다고 생각합니다.

DEC는 자사가 개발 한 많은 RSTS 및 기타 OS에 BASIC 버전을 사용했습니다.


RSTS / E가 BASIC으로 작성되었다는 농담이 있었지만 실제로는 그렇지 않았습니다. OS와 함께 제공되는 많은 sysadmin 유틸리티 프로그램은 BASIC으로 작성되었습니다.
Don Roby

2

20 년 전 QuickBasic 프로그래머로서 내가 겪었던 두려움은 "메모리 부족"메시지였습니다. 그러나 이것은 나를 더 나은 프로그래머로 만들었습니다! 작고 진지한 코드를 작성하는 방법을 배웠습니다.

산업 프로그래밍에 QuickBasic을 사용했습니다. 실제 세계 (공장)에서는 상사에게 "C로 쓰려면 반 년이 걸릴 것"이라고 말할 수 없습니다. "예, 보스, 다음 주에 준비 될 것입니다." 예, BASIC은 실생활에서 실용적이고 빠른 솔루션이었습니다. C 또는 파스칼이 아닙니다.

고유 한 데이터베이스 인 QuickBasic 4.5에서 작성한 프로그램 중 하나는 소수의 회사에 판매되었으며 실제로는 기존의 상용 데이터베이스 (C 또는 Pascal로 작성된)를 대체했습니다. 이 데이터베이스는 오늘까지 사용 중입니다.

내가 언급하고 싶은 한 가지 주제 :

우리 모두는 새로운 프로그래밍 방법이 매우 유용 하다고 생각 합니다 . 그러나 실제 (산업) 오늘날 요즘 대부분의 기계는 현대 PLC에 의해 운영됩니다. 프로그램은 일반적으로 래더 프로그래밍으로 작성되는데, 이는 GW-BASIC보다 백만 배 더 원시적입니다. PLC 프로그래머로서 나는 분명히 말할 수 있습니다. 저는이 기본 래더 프로그래밍을 GW-BASIC 또는 QuickBasic과 같은 고급 언어로 바꾸고 싶습니다. (MEGA-BASIC은 과거에이 목적으로 사용 된 방언입니다).

결국, 대부분의 기계는 무엇을하고 있습니까? 입력 해석 및 출력 설정. 이를 위해 C / Assembly가 필요하지 않으며 Java가 필요하지 않습니다. 유지 관리 가능한 코드를 만들려면 QuickBASIC이 필요합니다.


1

확실히 맞아요.

오래 전에 저는 주로 자동차 딜러 산업에 수백만 달러의 시스템을 판매 한 회사에서 근무했습니다. 이 시스템은 16 비트 마이크로 프로세서 성공 이전의 맞춤형 16 비트 HP 21MX 미니 컴퓨터 파생 제품에서 BASIC 소프트웨어를 실행했습니다. 이 회사는 수십 명의 기본 프로그래머가있는 중소 기업입니다. 그들은 구식 BASIC 방언을 사용하여 줄 번호가 필요하고 286 개의 변수 이름 만 허용했지만 솔루션은 중간 규모의 비즈니스를위한 모든 비즈니스 회계 및 재고 등을 제공했습니다. R & D 그룹은 또한 차세대 하드웨어 개발을 지원하기 위해 어셈블러, 컴파일러 및 심지어 하드웨어 에뮬레이터도 작성했습니다.

이전 타이머 하나에 대해 더 현대적인 프로그래밍 및 하드웨어 설계 방법론의 이점이라고 생각한 것을 설명하려고 할 때, 그는 훌륭한 디자이너가 직접적으로 표현되지 않았더라도 문제에 대한 솔루션을 적절하게 분할하고 모듈화하고 구조화했다고 말했습니다. 그는 나쁜 설계자들이 어떤 "멋진"유행 개발 패러다임에 관계없이 논란의 여지가없는 쓰레기를 생산할 수 있다고 지적했다.


1

사실 미국에있는 대부분의 새로운 자동차 딜러는 BASIC 프로그램을 사용하여 금융 옵션을 인용하고 자동차 구매시 얻을 수있는 긴 결산 내역서를 작성합니다. 이 프로그램은 최신 하드웨어에서 에뮬레이션을 실행하는 BASIC의 고전 미니 컴퓨터 버전으로 작성되었습니다. 접목 된 웹 UI가 있지만 그 기본은 아래의 tty와 대화합니다.

1980 년 경, 보편적 생명 보험은 생명 보험 사업에서 즉각적인 유행이되었습니다. 모든 회사는 즉시 판매하기를 원했으며 매월 매우 복잡한 관심사와 보험 계리 적 점보 점보 조합을 ​​사용하여 각 정책에 대한 계정 가치를 계산해야했습니다. 데이터 처리 부서의 대규모 프로젝트가 약 1 년 전에 소요 되었기 때문에, 많은 회사에서 메인 프레임에 있었던보다 복잡한 버전의 작업을 수행하는 데 필요한만큼 많은 Apple, PC 및 / 또는 Tandy TRS-80을 생산했습니다. 20 년. 사실상 이들 모두는 기본으로 프로그래밍되었습니다. 대부분의 BASIC은 단 정밀도 부동 소수점을 사용하여 수백만 고객의 페니가 반올림하여 길을 잃었습니다.

JPL에는 약 35 년 전에 광범위하게 사용 된 BASIC 버전도있었습니다. MBASIC이라고 불 렸으며 M은 경영진을 대표하지만 무엇보다도 우주선을 프로그래밍하는 데 사용되었습니다.


1

IBM의 가장 인기있는 4680/4690 소매 POS 시스템IBM 4680 BASIC 이라는 방언으로 작성되었습니다 . 나는 1998 년부터 2002 년까지 영국의 주요 소매 업체에서이 시스템을 연구했습니다.

이 시스템은 2005 년에도 여전히 시장 점유율의 12 %를 차지한 위키 기사에 따르면 매우 인기가있었습니다. 오늘날 시스템은 여전히 ​​강세를 보이고 있으며, 서구 대부분의 사람들이이 BASIC 기반 시스템을 마지막으로 간접적으로 사용했을 가능성이 높습니다 주.


0

PICK 또는 다른 MultiValue 데이터베이스를 살펴보십시오. 이들은 모두 기본 언어 또는 유일한 언어로 DataBasic을 사용하며 상당한 수직 시장 사용률을 가지고 있습니다. 우리는 여전히 20 년 전에 조달 벤치마킹을 위해 작성한 시스템을 운영하고 있습니다. 약 50k 줄의 코드로 실행됩니다.


0

80 년대에 인도에는 Softek이라는 회사가 있었는데, 자체 버전의 Wordstar, dBase 및 Lotus 1-2-3을 만들었습니다. 그들의 제품 중 하나는 BASIC 컴파일러였습니다.

자체 CBASIC을 사용하여 SIMS-FA (Softek Financial Accounting)라는 매우 포괄적 인 이중 입력 회계 패키지를 만들었습니다.


0

어떤? 예. 많은? 아니오. 교육용 소프트웨어 및 기록 보관.

기본 시대 : ~ 1970-1990

약 1990 년까지 한계는 기대치를 초과했으며 산업 요구에 따라 발전했습니다. 대부분의 경우, 대기업의 요구는 컨설턴트가 분석하여 필요를 충족시키는 언어를 충족 시켰습니다.

오늘날과 같이 회사가 필요로하는 것에 대해 다소 발전된 아이디어를 갖고 VBA를 사용하여 일종의 솔루션을 구축 한 후보다 유능한 클라이언트-서버 솔루션, 웹 앱 및 데이터 그루밍을 통해 최적화 된 인터페이스를 발견 할 수있을만큼 충분히 배울 수 있습니다. .

1970 년대에 일반 회사가 예산을 책정하거나 회사의 예산없이 컴퓨터에 생산 수치를 등록 할 수 있다면, 책을 보관하지 않아도되며, 다이어그램을 얻을 수 있다면 환상적 일 것입니다.

1980 년대에 일부 제품 도면을 컴퓨터로 마이그레이션하여 편집 가능하게 만들면 환상적 일 것입니다.

이 두 가지 모두 통역사 기반 언어로 수행 할 수 있습니다. 컴퓨터가 더 많은 데이터를 보유 할 수 있기 때문에 CPU는 1977 년에서 1987 년까지 원시 데이터 셔플 성능에서 무어의 법칙에 뒤떨어지기 때문에 컴파일러에 복잡성이 필요했습니다.

그러나 기대가 더 많이 요구되는 1980 년대 말까지 1970 년대에 설립 된 언어 (어셈블러 및 / 또는 FPU 보드와 같은 맞춤형 하드웨어로 보완 됨)는 거의 예외없이 회사에서 진지하고 상업적인 작업을 수행했습니다. 코볼과 포트란은 여전히 ​​메인 프레임 티켓이었습니다. 기업 만이 그러한 비용을 감당할 수 있었고, 진지한 기업은 사내 BASIC 프로그램으로 할 수있는 심각한 일을 해냈으며, 이것으로 충분했습니다.

워드 프로세서 나 다이어그램 플로터와 같은 일반적인 용도의 독립형 소프트웨어 패키지가 운영 체제가 컴파일러의 대상으로 저렴한 컴퓨터에서 성숙 해지고 "회사 규모"문서와 데이터를 보유 할 수있는 스토리지가 등장했을 때이시기에 나왔습니다.

파스칼은 여기서 주요 경쟁자였습니다. 이전에는 거의 모든 것이 어셈블러로 작성되었습니다. 마침내 C는 유닉스에서 와서 PC에서 사용되기 시작했습니다.


0

Commmodore 64 시대에 Gunship 게임의 일부는 BASIC으로 작성되었습니다. 코드를 편집 할 수도있어 착륙 할 때마다 헬리콥터를 장착 할 수 있습니다.


나는 일부 (상업용) 게임이 Basic으로 완전히 작성되었다는 것을 알고 있지만 이유 때문에 게임을 제외했습니다. "기능 세트"가 완전히 설계자에게 달려 있고 유지 보수가 문제가되지 않을 때 한계를 극복하기가 더 쉽습니다.
user281377

0

BBC BASIC 은 1981 년 영국에서 출시 된 BBC Micro 에서 시작되었습니다. Acorn의 ARM 기반 RISC OS 컴퓨터에서 구현 된 버전 5에 도달 할 때까지 세계에서 가장 빠르게 해석 된 BASIC으로 간주되었습니다. CASE 및 WHILE과 같은 구조 키워드와 기능 및 절차를 포함하여 구문이 시대에 맞게 향상되었습니다. (이는 원래 6502 , RISC OS 버전의 ARM 어셈블러도 포함했습니다 .)

많은 상업용 데스크톱 응용 프로그램은이를 사용하여 작성되었습니다. 아마도 협동 WIMP 시스템이 사용하는 SWI 호출에 편리하게 액세스 할 수 있었기 때문일 것입니다. 그것은 그것을 사용하여 작성 심지어 일부 아케이드 게임이 있다고 빠른 충분했다 - Nevryon ,에 R 형 클론, 나는 특히의 소스보고 기억 하나입니다.


사실, 나는 Acorn Electron (작은 버전의 BBC)과 Acorn Archimedes (그리고 같은 기본을 사용했던 Cambridge Z88)를 가지고있었습니다. 그렇습니다.이 컴퓨터의 기본은 다른 대부분의 가정용 컴퓨터보다 조금 나았습니다. 그러나 BASIC에는 인라인 어셈블러를 사용할 가능성도 포함되어 있으므로 소스 코드를 살펴보면 순수 프로그램 인 BASIC 프로그램을 혼합 된 프로그램에서 구별하기가 어려울 수 있습니다.
user281377

오, 한 눈에 정말 두 가지를 구별하는 데 필요한 전부입니다. 매우 다른 모습. 그리고 어셈블러가 포함되었지만 어셈블리 언어 소스 코드를 배포하는 것은 일반적이지 않았습니다. 일반적으로 조립 된 이진 코드가 대신 포함됩니다.
Dan Ellis

0

이전 xBase 데이터베이스 스크립팅 언어 ( dBase II , dBase III + , Clipper 등)는 당시의 다양한 비표준 BASIC과 밀접한 관련이있었습니다.

BASIC이 상업적인 용도로 사용되는 것은 아니지만 충분히 가깝습니다.


Steve314 : xBase 언어는 가정용 컴퓨터 BASIC보다 훨씬 앞서있었습니다. Clipper에서 많은 코드를 작성했으며 80 년대의 가정용 컴퓨터 BASIC에서 누락 된 함수, 지역 변수, 루프 문 및 기타 많은 것들을 기억합니다. Yannis : QuickBasic은 1985 년에 등장했습니다.
user281377

@ user281377-1981 년 BBC Basic은 구조적이며 절차가 있었지만 여전히 줄 번호가 필요했습니다. ANSI 표준 기본 (1984)에는 블록 구조 sub(매개 변수 및 지역 변수가있는 함수 / 프로 시저) 등이 포함되었으며 행 번호는 선택 사항이되었습니다. 1985 년 볼랜드 터보 베이직은 가장 기본적인 베이직 기능 IIRC를 가지고있었습니다. 나는 Atari ST에서 GFA Basic을 공정하고 절차 적이며 줄 번호가없는 공정한 비트를 사용했습니다. 80 년대에는 구조적이고 절차적인 기본 사항이 많이있었습니다.
Steve314

@ user281377-xBase는 데이터베이스 처리 및 데이터 입력 양식 측면에서 명백한 이점을 가지고 있었지만 기본은 알지 못했던 작업을 수행했지만 STOS는 스프라이트를 표시하고 조이스틱을 읽는 데 명백한 이점이 있음을 쉽게 알 수 있습니다.
Steve314

@ Steve314 : 좋은 기능을 가진 BASIC 방언이 있다는 것을 알고 있지만 다른 BASIC 에 대해 구체적으로 묻습니다 . GOTO와 GOSUB 만 있으면됩니다. 모든 변수가 전역 변수이고 1 차원 배열은 가능한 한 많은 데이터 구조였습니다. Clipper는 정말 진보 된 xBASE 방언이었습니다. 솔직히 dBASE III에서도 Clipper의 몇 가지 고급 기능을 사용할 수 있었는지 기억이 나지 않지만 최소한 적절한 do-while 루프가있었습니다.
user281377

1
@ user281377 대답의 원래 버전은 Visual Basic (QuickBasic을 어디서 얻었습니까?)에 대해 언급 한 것입니다 .P
yannis

-2

대부분의 마이크로는 기본 (ROM) 또는 어셈블러 개발 도구 만 가지고있었습니다. 속도가 중요하지 않은 프로그램의 경우 대부분의 사내 프로젝트뿐만 아니라 많은 상업용 응용 프로그램에 BASIC이 사용되었습니다. CP / M 이 등장 했을 때에도 실제로 큰 개선점은 더 큰 프로젝트를 처리하고 Microsoft의 기본 컴파일러 (BASCOM)를 사용하는 기능이었습니다. 초기 마이크로 개발 경험은 다음과 같습니다.

~ 1980- 작은 어셈블러가 있는 Nascom 2의 Microsoft ROM 기본 . 상용 응용 프로그램 개발에는 VAT (판매 세) 반환 프로그램과 프로세스 제어 프로그램 (둘 다 BASIC)이 포함되었습니다.

198? -여전히 BASIC을 사용하고 있지만 이제는 Pascal (BLS- Borland Pascal의 선구자 )도 사용했습니다.

1980 년대 중반 -PC 가 지배하기 시작하고 최초의 C 컴파일러 ( Hisoft and Mix)가 등장했습니다 . BASIC은 쇠퇴하게됩니다 (나중에 좀비 형태로 MS가 Visual Basic을 통해 나중에 다시 부활 함 ). GW-BASIC 은 사내 개발 도구로 매우 인기가있었습니다. 수많은 상용 패키지 (회계, 재고 관리 등)는 여전히 BASIC으로 작성되었습니다.

1980 년대 후반-C가 주요 개발 언어가되었습니다 (MSC 5가 1986 년 이후에 출시 된 이후)? 향후 몇 년 동안 Microsoft와 Borland가 우세합니다 ...


1
그 질문에 어떻게 대답합니까?
gnat

'그렇다. 기본은 70 년대 초반과 80 년대 초반 상업 개발에 널리 사용되었다'는 질문에 대한 답이다. 명백한 단점을 극복하는 것과 관련하여 프로그래머는 당시에 이러한 단점을 보지 못했다는 것을 명심하십시오. 기본은 튜링이 완벽하기 때문에 스마트 프로그래머는 필요한 모든 작업을 수행 할 수 있습니다 (물론 속도, 메모리, 스토리지 등 주요 제한 사항은 당시 모든 개발에 적용되었습니다). 왜 그렇게 많은 다운 투표권이 있는지에 대해서는 잘 모르겠습니다.

언급 한이 두 프로그램은 사내 개발이 아닌 여러 고객에게 판매 되었습니까? 이것에 대해 더 많이 배울 수있는 참고 자료를 공유 할 수 있습니까?
gnat

불행히도 많은 응용 프로그램 (내가 언급 한 응용 프로그램 포함)이 시간이 지남에 없어졌습니다 (당시에 웹 또는 BBS가 배포되지 않음). 나는 이것들이 멈추었다는 카세트를 잃어 버렸지 만 1) 게임이 아니고 2) 무료가 아니며 3) 사소하지 않고 4) 미션 크리티컬했습니다. 나는 그들이 많은 고객에게 판매되었다고 말할 수 없으며, Contoal 앱은 특정 고객을위한 것이며 VAT 앱은 여러 번 재판매되었습니다. 다운 투표 (nit-pickers 또는 똥개 피커라고 말합니다 :-)에 대해 여전히 고민했습니다.
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.