# C#로 재구성된 Visual Basic 6 IDE

> Clean Markdown view of GeekNews topic #17780. Use the original source for factual precision when an external source URL is present.

## Metadata

- GeekNews HTML: [https://news.hada.io/topic?id=17780](https://news.hada.io/topic?id=17780)
- GeekNews Markdown: [https://news.hada.io/topic/17780.md](https://news.hada.io/topic/17780.md)
- Type: GN+
- Author: [neo](https://news.hada.io/@neo)
- Published: 2024-11-15T20:33:12+09:00
- Updated: 2024-11-15T20:33:12+09:00
- Original source: [github.com/BAndysc](https://github.com/BAndysc/AvaloniaVisualBasic6)
- Points: 2
- Comments: 1

## Topic Body

- # Avalonia Visual Basic 6

- C#와 Avalonia를 사용하여 고전적인 Visual Basic 6 IDE와 언어를 재현한 프로젝트임
- 상업적 의도가 없는 재미있는 프로젝트이며, Visual Basic의 이름, 아이콘, 그래픽에 대한 모든 권리는 Microsoft Corporation에 속함

- ## 기능
  - 시각적 디자이너
  - VB6 호환 형식으로 프로젝트 저장 및 로드
  - 프로젝트 실행
  - VB6 언어 지원 (제한적)

- ## 데스크톱 버전 빌드
  - 일반적으로 .NET 9.0이 필요하며, `Directory.Build.props`를 수정하여 .NET 8.0을 사용할 수 있음 (브라우저 버전은 9.0 필요)
  - 빌드 명령어: `dotnet build AvaloniaVisualBasic/AvaloniaVisualBasic.Desktop.csproj`
  - Antlr4 오류가 발생하면 `Antlr4BuildTasks` 라이브러리가 Java를 자동으로 다운로드하지 못한 것일 수 있으며, Java를 수동으로 설치하면 문제 해결 가능

- ## 데스크톱 버전 게시 및 `Make Publish` 작동
  - IDE 프로젝트(AvaloniaVisualBasic.Desktop)와 런타임(AvaloniaVisualBasic.Standalone) 모두 게시
  - 게시 명령어:
    - `dotnet publish AvaloniaVisualBasic.Desktop -f net9.0 -o bin/`
    - `dotnet publish AvaloniaVisualBasic.Standalone -f net9.0 -o bin/standalone/`
  - 이제 `./bin/AvaloniaVisualBasic.Desktop` 실행 가능

- ## 감사의 말
  - Avalonia
  - Wiesław Šoltés의 Dock
  - lou의 폰트

## Comments



### Comment 31335

- Author: neo
- Created: 2024-11-15T20:33:13+09:00
- Points: 1

###### [Hacker News 의견](https://news.ycombinator.com/item?id=42141587) 
- 어린 시절 "Write Your Own Adventure Programs" 책을 통해 프로그래밍을 배운 경험을 공유함
  - BASIC 언어로 작성된 코드를 접했으며, 컴퓨터가 없던 시절의 추억을 회상함
  - Visual Basic을 접하고 메뉴와 버튼을 탐색하며 학습했음
  - 복사 붙여넣기와 수정으로 간단한 프로그램을 작성했으며, 친구 컴퓨터에 장난 프로그램을 설치하는 재미를 느꼈음
  - 프로그래밍을 배우는 과정이 즐거웠으며, 부모님이 자유롭게 컴퓨터를 사용하게 해주어 감사함

- 웹 버전의 Visual Basic을 사용해보며 부족한 점을 지적함
  - 버튼 레이블의 앰퍼샌드(&)가 가속기를 생성하지 않음
  - 레이블 컨트롤의 내용을 변경하기 위해 입력 필드에 포커스를 맞춰야 함
  - 디버깅, 저장, 도움말 등의 메뉴가 구현되지 않음
  - 브라우저에서 실행 가능한 실행 파일을 생성하는 빌드 버튼이 필요함

- WebAssembly가 모든 언어를 웹으로 가져오는 점을 좋아함
  - C# 애플리케이션을 WebAssembly로 컴파일하여 웹에서 Visual Basic을 작성하는 것이 대단함

- 현대 GUI 툴킷으로의 발전 과정을 이해하지 못하겠음
  - 직관적이고 사용하기 쉬웠던 과거의 UI를 회상함

- Avalonia라는 도구를 처음 접했으며, 그 가능성에 대해 궁금해함
  - 단일 .NET 코드베이스로 크로스 플랫폼 애플리케이션을 만들 수 있는 점이 인상적임

- 코드 분석을 통해 데모를 위한 최소한의 기능만 구현되었음을 발견함
  - MsgBox와 InputBox 두 가지 기능만 지원됨
  - 4일 만에 복잡한 것을 만든 점이 인상적이며, 완전한 IDE 개발의 좋은 시작임
  - 구문 강조 및 자동 완성 기능이 없으며, 디버거도 기대하지 않음

- Turbo Pascal과 Delphi 7을 사용하며 개발을 시작한 어린 시절을 공유함
  - Delphi는 VB6와 유사했으며, 첫 번째 앱은 Notepad++ 클론이었음

- 1995-2001년 Windows UI가 최고였다고 회상함
  - Visual C++와 Visual Basic이 완벽하지 않았지만 작업을 완료할 수 있었음

- Visual Basic의 초기 개발자 중 한 명으로서 경험을 공유함
  - 당시 Ruby라는 이름으로 Windows 3.0의 사용자 정의 셸로 계획되었음
  - Microsoft가 이를 개발자 도구로 전환하여 Visual Basic을 탄생시킴

- AvaloniaVisualBasic6의 웹 버전을 브라우저에서 열어볼 수 있음
