QuickBASIC은 QB64와 함께 살아갑니다.
MS-DOS 6.22를 실행하는 중고 386 컴퓨터를 처음 구입했을 때 인터넷에 연결되어 있지 않았습니다. 그러나 나는 QuickBASIC을 설치했고 지역 도서관에서 버리는 프로그래밍 잡지 더미를 가지고 있었기 때문에 바쁘게 지낼 수 있었습니다. 당시 저는 QuickBASIC이 마법과 거의 구별할 수 없다고 생각했습니다. 간단한 코드를 작성하여 .exe로 컴파일하고 플로피에 넣은 다음 다른 사람에게 제공하여 자신의 컴퓨터에서 실행할 수 있습니다. 사실이라고 하기에는 너무 좋아 보였습니다. 이 기술을 어떻게 개선할 수 있을까요?
물론 그것은 수년 전의 일이고 지금은 상황이 매우 다릅니다. 요즘 프로그래밍 언어는 80년대와 90년대의 폭발적인 BASIC 변형보다 더 많은 능력을 갖추고 있습니다. 그러나 내가 수십 년 전에 작성한 프로그램으로 가득 찬 플로피를 발견했을 때 나는 그 프로그램을 다시 실행할 수 있을지 궁금해하지 않을 수 없었습니다. DOSBox와 같은 것을 사용하면 QuickBASIC IDE를 설치하고 믿을 수 있는 386으로 돌아가는 것처럼 실행할 수 있어야 한다고 생각했습니다.
불행하게도 그럴 수는 없었습니다. 아마도 나는 DOSBox에 대해 잘 알지 못하기 때문에 플로피에서 꺼낸 소스 코드를 IDE에서 실제로 실행할 수 없었을 것입니다. 이것은 실망스러웠지만, 현대 BASIC 인터프리터가 아마도 인터넷 어딘가에서 개발되고 있을 것이고 아마도 30년 된 소프트웨어에 의존하지 않고도 거의 30년 된 코드를 실행할 수 있는 방법을 찾을 수 있을 것이라는 생각이 들었습니다. 해.
조금 검색한 끝에 QB64 프로젝트를 찾았습니다. 이것은 기존 프로그램과 완벽하게 호환될 뿐만 아니라 이전 386에서는 생각할 수 없었던 기능과 기능을 추가하는 오픈 소스 QuickBASIC 개발 환경입니다. 백그라운드에서 PNG 표시, TTF 글꼴 로드 또는 MP3 재생을 수행할 수 있습니다. 하나 또는 두 개의 명령만으로 가능합니다.
이러한 일은 원래 QuickBASIC으로 가능했지만 다른 무엇보다 기술 데모 영역에 더 많이 존재했습니다. 아, 예전에 이런 소프트웨어로 만들 수 있었던 게임이라니! 나는 삐 소리와 펑 소리에 만족해야 했고, 심지어 그 소리의 타이밍도 스스로 알아내야 했습니다.
더 좋은 점은 QB64는 크로스 플랫폼이며 Linux, Windows 및 Mac OS용 기본 바이너리로 컴파일하는 것을 지원한다는 것입니다. 이는 IDE 내에서 이전 코드를 실행할 수 있을 뿐만 아니라 실제로 Linux 데스크톱용 바이너리로 컴파일할 수 있다는 것을 의미했습니다. 나는 더 이상 Windows 컴퓨터를 가지고 있지 않지만 WINE을 사용하여 Windows 버전의 QB64를 실행하고 여전히 암흑기에 살고 있는 친구들에게 줄 수 있는 .exe를 컴파일할 수 있었습니다.
QB64를 사용하여 QuickBasic 코드를 Android 애플리케이션으로 컴파일할 수도 있지만, 넘어야 할 상당한 난관이 있고 현재는 Windows에서만 작동합니다.
빈티지 컴퓨터에서 BASIC 코드를 작성해 본 적이 없는 사람이라면 이 내용을 잊어버릴 수도 있지만 다음 코드는 800×600 화면을 만들고 전체 화면 PNG를 표시하며 MP3를 재생하고 TrueType 글꼴을 사용하여 메시지를 작성합니다.
비교해 보면 JPEG 이미지 시계를 간단히 표시하기 위한 이 QuickBasic 도구는 653줄의 코드로 표시됩니다.
불안한 십대 시절에 저는 "Drugwars" 스타일 게임의 그래픽 버전을 만들었습니다. 당신은 픽셀화된 환경에서 작은 막대기 남자를 움직이면서 내가 영화에서 들었지만 직접 본 적은 없는 물질을 사고 팔았습니다. 그것은 끔찍했다. 하지만 그것은 내 젊음의 일부였고 QB64를 사용하여 최신 플래시에서 구둣주걱을 사용할 수 있는지 보는 것이 재미있을 것이라고 생각했습니다.
결과적으로 투명한 PNG와 적절한 글꼴을 표시하는 기능을 사용하면 작업이 훨씬 쉬워집니다. 배경에서 음악과 주변 음향 효과를 재생할 수 있으면 서투른 게임도 훨씬 좋아 보입니다. 다음 스크린샷은 QB64 적용 전후의 작은 십대 범죄 판타지의 메인 메뉴입니다. 핵심 소스 코드 자체는 거의 동일합니다. 단지 외부 파일을 로드하고 표시하는 기능을 인터리빙했을 뿐입니다.
아니요, 절대로 그렇게 해서는 안됩니다. 나는 많은 독자들이 태어나기도 전에 최고조에 달했던 프로그래밍 언어를 다른 사람이 사용하도록 설득하기 위해 이 글을 쓴 것이 아닙니다. QuickBASIC은 현대 프로그래머를 혼란스럽게 하는 구식 방법과 제한 사항이 있는 구식 언어입니다. 그러나 QB64는 이 고전 언어를 현대화하는 훌륭한 일을 하고 있습니다. 비록 큰 계획에서 상대적으로 작은 정도일지라도, 이를 잘 아는 우리를 위해 말입니다.