베이직 편집하기

이동: 둘러보기, 검색

경고: 로그인하지 않았습니다. 편집을 하면 IP 주소가 공개되게 됩니다. 로그인하거나 계정을 생성하면 편집자가 아이디(ID)으로 기록되고, 다른 장점도 있습니다.

편집을 되돌릴 수 있습니다. 이 편집을 되돌리려면 아래의 바뀐 내용을 확인한 후 저장해주세요.
최신판 당신의 편집
39번째 줄: 39번째 줄:
 
한편, 비주얼 베이직으로 사용자 [[인터페이스]]가 존재하지 않는 프로그램이나 추가적으로 제공되는 [[컴포넌트 오브젝트 모델]]을 통한 [[Active X]] 개체를 구성할 수도 있다. 이것은 서버 측면에서의 처리나 추가 모듈을 가능하게 해 준다.  
 
한편, 비주얼 베이직으로 사용자 [[인터페이스]]가 존재하지 않는 프로그램이나 추가적으로 제공되는 [[컴포넌트 오브젝트 모델]]을 통한 [[Active X]] 개체를 구성할 수도 있다. 이것은 서버 측면에서의 처리나 추가 모듈을 가능하게 해 준다.  
 
비주얼 베이직은 [[레퍼런스 카운팅]]을 통한 쓰레기 수집을 수행하며, 방대한 규모의 추가적인 라이브러리들과, 기본적인 객체 지향 프로그래밍을 지원한다. 대다수의 일반적인 [[위젯]]들이 초기 프로젝트 구성에 포함되어 있기 때문에, 비주얼 베이직 프로그래머가 추가적인 라이브러리를 사용하는 경우는 드물다. 다른 대다수의 프로그래밍 언어와는 달리, 비주얼 베이직은 일반적으로 대소문자 구분을 하지 않으며, 대신에 키워드를 표준 대소문자 설정으로 변환한 뒤, 강제로 변수명의 대소문자를 기호 테이블의 내용으로 변환시킨다. 문자열 비교에 관해서는 대소문자 구분을 하지만, 프로그래머가 원한다면 대소문자 구분을 하지 않을 수도 있다.  
 
비주얼 베이직은 [[레퍼런스 카운팅]]을 통한 쓰레기 수집을 수행하며, 방대한 규모의 추가적인 라이브러리들과, 기본적인 객체 지향 프로그래밍을 지원한다. 대다수의 일반적인 [[위젯]]들이 초기 프로젝트 구성에 포함되어 있기 때문에, 비주얼 베이직 프로그래머가 추가적인 라이브러리를 사용하는 경우는 드물다. 다른 대다수의 프로그래밍 언어와는 달리, 비주얼 베이직은 일반적으로 대소문자 구분을 하지 않으며, 대신에 키워드를 표준 대소문자 설정으로 변환한 뒤, 강제로 변수명의 대소문자를 기호 테이블의 내용으로 변환시킨다. 문자열 비교에 관해서는 대소문자 구분을 하지만, 프로그래머가 원한다면 대소문자 구분을 하지 않을 수도 있다.  
비주얼 베이직의 컴파일러는 다른 [[비주얼 스튜디오]] 제품군([[C 언어|C]], [[C++]])과 호환성이 있지만, [[IDE]]상의 제한으로 인해 윈도 모델 [[DLL]]이나 [[스레드]]의 사용 등은 불가능하다. <ref name = "위키백과 공식 홈페이지"></ref>
+
비주얼 베이직의 컴파일러는 다른 [[비주얼 스튜디오]] 제품군[[(C]], [[C++)]]과 호환성이 있지만, [[IDE]]상의 제한으로 인해 윈도 모델 [[DLL]]이나 [[스레드]]의 사용 등은 불가능하다. <ref name = "위키백과 공식 홈페이지"></ref>
  
 
===다른 언어와의 비교===
 
===다른 언어와의 비교===
 
# C 언어에서 가능한 [[다중 할당]]은 불가능하다. 비주얼 베이직에서 코드 A = B = C 는 변수 A, B, C의 값을 같게 하지 않는다. "Is B = C?" 불린 결과값이 A에 들어간다.[3] 결국 A에 들어가는 결과치는 거짓(0) 또는 참(-1)이 될 것이다.
 
# C 언어에서 가능한 [[다중 할당]]은 불가능하다. 비주얼 베이직에서 코드 A = B = C 는 변수 A, B, C의 값을 같게 하지 않는다. "Is B = C?" 불린 결과값이 A에 들어간다.[3] 결국 A에 들어가는 결과치는 거짓(0) 또는 참(-1)이 될 것이다.
# [[불린]] [[상수]] True는 숫자값 -1을 갖는다. 이렇게 처리하는 이유는, 비주얼 베이직에서 불린 자료형은 16비트 부호 있는 정수 형태로 저장되기 때문이다. 이 구조에서 -1은 16진수 1로 계산되고(불린 값은 True이다), 0은 16진수 0으로 계산된다.(불린 값은 [[False]]이다.) 이것은 16비트 부호 있는 정수값 0인 Not 연산을 할 때 정수값 -1을 반환하는 것을 통해 명백하게 설명되는데, 다시 말해 True = Not False이다. 이러한 비주얼 베이직의 고유한 처리 방식은[[ And]], [[Or]], [[Xor]], [[Not]]과 같은 정수 비트의 논리 연산에 유용하다. 이러한 True의 정의는 1970년대 마이크로소프트가 만들었던 베이직 제품에서의 처리와 일치하며, 이것은 당시의 [[CPU]] 명령어의 특성과 관련이 있다.
+
# [[불린 상수]] True는 숫자값 -1을 갖는다.[4] 이렇게 처리하는 이유는, 비주얼 베이직에서 불린 자료형은 16비트 부호 있는 정수 형태로 저장되기 때문이다. 이 구조에서 -1은 16진수 1로 계산되고(불린 값은 True이다), 0은 16진수 0으로 계산된다.(불린 값은 [[False]]이다.) 이것은 16비트 부호 있는 정수값 0인 Not 연산을 할 때 정수값 -1을 반환하는 것을 통해 명백하게 설명되는데, 다시 말해 True = Not False이다. 이러한 비주얼 베이직의 고유한 처리 방식은[[ And]], [[Or]], [[Xor]], [[Not]]과 같은 정수 비트의 논리 연산에 유용하다. 이러한 True의 정의는 1970년대 마이크로소프트가 만들었던 베이직 제품에서의 처리와 일치하며, 이것은 당시의 [[CPU]] 명령어의 특성과 관련이 있다.
 
# [[논리]] 및 [[비트 연산자]]가 통합되어 있다. 이것은 논리 연산자와 비트 연산자가 구분되어 있는 [[펄]]과 같은 C 언어 계열의 언어와는 다르다. 이 요소는 베이직언어의 전통적인 특징이기도 하다.
 
# [[논리]] 및 [[비트 연산자]]가 통합되어 있다. 이것은 논리 연산자와 비트 연산자가 구분되어 있는 [[펄]]과 같은 C 언어 계열의 언어와는 다르다. 이 요소는 베이직언어의 전통적인 특징이기도 하다.
 
# [[가변 배열]] 기반이다. 배열의 정의는 [[파스칼]]이나 [[포트란]]과 같이, 유사한 [[최대 인덱스(Upper Bound)]]와 [[최소 인덱스(Lower Bound)]]의 지정을 통해 이루어진다. 또한 [[Option Base]] 구문을 통해 최소 인덱스의 지정을 할 수 있다. Option Base 문의 사용은 비주얼 베이직 코드를 볼 때 혼란을 야기할 수 있는데, 이것을 피하는 최선의 방법은 언제나 명시적으로 배열의 최소 인덱스를 지정하는 것이다. 이 최소 인덱스는 0 또는 1뿐만 아니라, 선언에 따라서는 다른 값이 될 수도 있기 때문이다. 이러한 방법으로, 최소 인덱스와 최대 인덱스 모두 프로그래머의 제어가 가능하다. 대조적으로, [[서브스크립트 제한적 언어(Subscript-Limited Language)]]들에서, 배열의 최소 인덱스는 가변적이지 않다. 이러한 독특한 특성은 비주얼 베이직 닷넷에서도 나타나지만, 비주얼 베이직 스크립트에는 없다. [[OPTION BASE]] 는 1970년대 후반 [[ANSI Minimal BASIC]]을 통해 표준으로 지정되었다.
 
# [[가변 배열]] 기반이다. 배열의 정의는 [[파스칼]]이나 [[포트란]]과 같이, 유사한 [[최대 인덱스(Upper Bound)]]와 [[최소 인덱스(Lower Bound)]]의 지정을 통해 이루어진다. 또한 [[Option Base]] 구문을 통해 최소 인덱스의 지정을 할 수 있다. Option Base 문의 사용은 비주얼 베이직 코드를 볼 때 혼란을 야기할 수 있는데, 이것을 피하는 최선의 방법은 언제나 명시적으로 배열의 최소 인덱스를 지정하는 것이다. 이 최소 인덱스는 0 또는 1뿐만 아니라, 선언에 따라서는 다른 값이 될 수도 있기 때문이다. 이러한 방법으로, 최소 인덱스와 최대 인덱스 모두 프로그래머의 제어가 가능하다. 대조적으로, [[서브스크립트 제한적 언어(Subscript-Limited Language)]]들에서, 배열의 최소 인덱스는 가변적이지 않다. 이러한 독특한 특성은 비주얼 베이직 닷넷에서도 나타나지만, 비주얼 베이직 스크립트에는 없다. [[OPTION BASE]] 는 1970년대 후반 [[ANSI Minimal BASIC]]을 통해 표준으로 지정되었다.
97번째 줄: 97번째 줄:
  
 
===지원 중단===
 
===지원 중단===
[[MS]]는 무료 지원과 중요 업데이트 제공을 끝으로 2005년 3월 말 VB6에 대한 표준 지원을 중단할 것이라고 밝혔다. 하지만 두 서비스 모두 앞으로 3년 동안은 유료 서비스로 남아있게 된다. MS는 2000년 VB.NET을 내놓았으며 그 후 VB6 이하 버전을 사용하는 개발자들은 끊임없이 감소해왔다. 비주얼 베이직을 등지고 떠난 많은 개발자들은 [[VB.NET]]으로 옮겨가지 않고, MS의 언어가 아닌 [[자바]]로 옮겨갔다는 설문 조사 결과가 있다. 2005년 현재, 북미 전체 개발자 중 비주얼 [[베이직 닷넷]] 개발자가 34%인데 비해 비주얼 베이직 개발자들은 45%다. 기존 [[VB6]] 응용 프로그램을 [[비주얼베이직닷넷]](VB.NET)으로 옮기는 게 어려운 점이 문제점으로 지적되고 있다. 다만 2008년 [[VB6 SP6]]에 대한 일부 취약한 보안 문제와 관련된 패치가 있었다. 그리고 [[마이크로소프트]]가 추후 공개할 [[윈도 8]]부터 비주얼 베이직 및 기반 프로그램들을 더 이상 지원하지 않는다.<ref name = "위키백과 공식 홈페이지"></ref>
+
[[MS]]는 무료 지원과 중요 업데이트 제공을 끝으로 2005년 3월 말 VB6에 대한 표준 지원을 중단할 것이라고 밝혔다. 하지만 두 서비스 모두 앞으로 3년 동안은 유료 서비스로 남아있게 된다. MS는 2000년 VB.NET을 내놓았으며 그 후 VB6 이하 버전을 사용하는 개발자들은 끊임없이 감소해왔다. 비주얼 베이직을 등지고 떠난 많은 개발자들은 [[VB.NET]]으로 옮겨가지 않고, MS의 언어가 아닌 [[자바]]로 옮겨갔다는 설문 조사 결과가 있다. 2005년 현재, 북미 전체 개발자 중 비주얼 [[베이직 닷넷]] 개발자가 34%인데 비해 비주얼 베이직 개발자들은 45%다. 기존 [[VB6]] 응용 프로그램을 [[VB 닷넷]]으로 옮기는 게 어려운 점이 문제점으로 지적되고 있다. 다만 2008년 [[VB6 SP6]]에 대한 일부 취약한 보안 문제와 관련된 패치가 있었다. 그리고 [[마이크로소프트]]가 추후 공개할 [[윈도 8]]부터 비주얼 베이직 및 기반 프로그램들을 더 이상 지원하지 않는다.<ref name = "위키백과 공식 홈페이지"></ref>
  
 
==활용==
 
==활용==
275번째 줄: 275번째 줄:
 
* [[토머스 커츠]]
 
* [[토머스 커츠]]
  
 +
{{로고 수정 필요}}
 
{{프로그래밍 언어|검토 필요}}
 
{{프로그래밍 언어|검토 필요}}

위키원에서의 모든 기여는 다른 기여자가 편집, 수정, 삭제할 수 있다는 점을 유의해 주세요. 만약 여기에 동의하지 않는다면, 문서를 저장하지 말아 주세요.
또한, 직접 작성했거나 퍼블릭 도메인과 같은 자유 문서에서 가져왔다는 것을 보증해야 합니다 (자세한 사항은 위키원:저작권 문서를 보세요). 저작권이 있는 내용을 허가 없이 저장하지 마세요!

취소 | 편집 도움말 (새 창에서 열림)