Page semi-protected

"Hello, World!" 프로그램.

"Hello, World!" program

"Hello, World!" 프로그램은 일반적으로 사용자 입력을 무시한 채 "Hello, World!"와 유사한 메시지를 화면(또는 콘솔)에 출력(또는 표시)하는 간단한 컴퓨터 프로그램입니다. 대부분의 범용 프로그래밍 언어에서 작은 코드 조각인 이 프로그램은 언어의 기본 구문을 설명하는 데 사용됩니다. "Hello, World!" 프로그램은 종종 새로운 프로그래밍 언어를 가진 학생이 처음으로 작성하는 [1]것이지만, 이러한 프로그램은 소스 코드를 컴파일하거나 실행하려는 컴퓨터 소프트웨어가 올바르게 설치되었는지, 그리고 그 운영자가 소스 코드를 사용하는 방법을 이해하는지 확인하기 위한 상태 검사로도 사용될 수 있습니다.

역사

"Hello, World!" 프로그램이 C언어로 손글씨로 작성되고 Bria Kergh(Brian Kernighan, 1978)와 서명했습니다.

프로그래밍이 가능한 컴퓨터가 개발된 이래로 작은 테스트 프로그램이 존재해 왔지만, "Hello, World!"라는 문구를 테스트 메시지로 사용하는 전통은 1978년 책 C Programming Language의 예시 프로그램의 영향을 받았으며,[2] BCPL에서 더 일찍 사용되었을 가능성이 있습니다. 이 예제 프로그램은 도서 인쇄물의 예시 프로그램으로 1974년 Bell Laboratories 내부 각서에서 Brian KernighanC: A Tutorial:[3]

주된( ) {         활자로 인쇄한("안녕, 세상"); } 

예제에서 함수는 프로그램 실행을 시작할 위치를 정의합니다. 기능 본체는 "인쇄 형식"을 의미하는 함수에 대한 호출인 단일 문으로 구성됩니다. 이 문은 매개 변수로 전달되는 모든 것( 경우 문자열)을 콘솔로 출력합니다.

C-언어 버전은 Kernigan의 1972 A Tutorial Introduction to the Language B에 선행되었으며,[4] 여기서 프로그램의 최초의 알려진 버전은 외부 변수를 설명하기 위해 사용된 예제에서 찾을 수 있습니다.

주된( ) {     외부의 a, b, c;     퍼차(a); 퍼차(b); 퍼차(c); 퍼차('!*n'); }   a '지옥.'; b 'o, w'; c '천하의'; 

위의 프로그램은 새로운 라인 캐릭터를 포함하여 단말기에 인쇄합니다. B에서 문자 상수는 4개의 ASCII 문자로 제한되므로 구문은 여러 변수로 구분됩니다. 터미널에 인쇄된 자습서의 이전 예와 문구는 표현을 위해 몇 개의 문자 상수가 필요한 약간 더 긴 인사말로 소개되었습니다.

전문 파일(Jargon File)은 "안녕, 세계"가 1967년 BCPL 언어에서 유래했다고 보고합니다.[5] 컴퓨팅 외부에서 정확한 문구를 사용하기 시작한 것은 10여 년 전부터였는데, 이 문구는 뉴욕 라디오 디스크 자키 윌리엄 B의 캐치프레이즈였습니다. 윌리엄스는 1950년대에 시작했습니다.[6]

변주곡

개념 증명으로 Sony의 PlayStation Portable에서 실행되는 "Hello, World!" 프로그램

"헬로, 월드!" 프로그램은 언어마다 복잡성이 다릅니다. 일부 언어, 특히 스크립팅 언어에서는 "Hello, World!" 프로그램을 단일 문으로 작성할 수 있는 반면, 다른 언어(특히 낮은 수준의 언어)에서는 더 많은 문이 필요할 수 있습니다. 예를 들어, Python에서는 문자열을 인쇄한 후 새 행을 인쇄하기 위해 쓰기만 하면 됩니다. print("Hello, World!") . 반면, C++[7]의 등가 코드입출력 소프트웨어 라이브러리의 Import, 엔트리 포인트의 수동 선언, 그리고 출력 문자열을 표준 출력 스트림으로 전송해야 한다는 명시적인 명령을 요구합니다.

Perspex에서의 CNC 가공시험

"Hello, World!"라는 문구는 선두 HW의 대문자화, 쉼표나 느낌표의 존재 등 케이싱과 구두점에서 다양한 편차를 보였습니다. 일부 장치는 대문자만 지원하는 시스템의 모든 대문자 버전과 같은 특정 변형으로 형식을 제한하는 반면, 일부 난해한 프로그래밍 언어는 약간 수정된 문자열을 인쇄해야 할 수도 있습니다. 예를 들어, 최초의 사소하지 않은 말볼지 프로그램이 인쇄되었습니다.""HELLO WORLD", 이것은 충분히 좋다고 결정되었습니다.[8][unreliable source?] 예를 들어 바둑 프로그래밍 언어의 튜토리얼은 영어와 중국어 또는 일본어를 모두 출력하여 프로그래밍 언어의 내장 유니코드 지원을 보여줍니다.[9] 또 다른 주목할 만한 예는 러스트 프로그래밍 언어로, 관리 시스템이 새 프로젝트를 생성할 때 자동으로 "Hello, World" 프로그램을 삽입합니다.

"Hello, World!" 메시지가 LED가 움직이는 긴 노출 조명 그림을 통해 표시됩니다.

일부 언어는 단순한 예를 보여주는 정신을 유지하면서 "Hello, World!" 프로그램의 기능을 변경합니다. 기능 프로그래밍 언어인 리스프, ML, 하스켈은 재귀적 기법을 강조하는 반면, 원래의 예들은 I/O를 강조하여 부작용을 발생시켜 순수 기능 프로그래밍의 정신을 위배하는 "Hello, World!"를 요인 프로그램으로 대체하는 경향이 있습니다. "Hello, World!"(어셈블리, C, VHDL)를 인쇄할 수 있는 언어는 텍스트 출력이 어렵거나(다른 컴퓨터와의 통신이 필요함) 존재하지 않는 임베디드 시스템에서도 사용할 수 있습니다. 마이크로컨트롤러, 현장 프로그래밍 가능 게이트 어레이CPLD와 같은 장치의 경우 "Hello, World!"를 점멸 LED로 대체할 수 있으며, 이는 구성 요소 간의 타이밍 및 상호 작용을 보여줍니다.[10][11][12][13][14]

데비안우분투 리눅스 배포판은 명령어와 함께 호출할 수 있는 소프트웨어 패키지 관리자 시스템을 통해 "Hello, World!" 프로그램을 제공합니다. 제품은 상태 점검 및 소프트웨어 패키지 설치의 간단한 예 역할을 합니다. 개발자들을 위해, 그것은 전통적으로 또는 디헬퍼를 사용하여 .deb 패키지를 만드는 예를 제공하며, 사용된 버전인 GNU HelloGNU 프로그램을 작성하는 예의 역할을 합니다.[15]

텍스트 출력과 대조적으로 그래픽 출력을 생성하는 "Hello, World!" 프로그램의 변형도 보여졌습니다. Sun확장 가능한 벡터 그래픽을 기반으로 자바에서 "Hello, World!" 프로그램을 시연했으며 [16]XL 프로그래밍 언어는 3D 컴퓨터 그래픽을 사용하여 회전하는 지구 "Hello, World!"를 특징으로 합니다.[17] 마크 구즈다이얼과 엘리엇 솔로웨이는 그래픽과 사운드를 텍스트처럼 쉽게 조작할 수 있는 지금 "안녕, 세상" 테스트 메시지가 구식일지도 모른다고 제안했습니다.[18]

타임 투 헬로 월드

"Time to hello world" (TTHW)는 주어진 프로그래밍 언어로 "Hello, World!" 프로그램을 작성하는 데 걸리는 시간입니다. 이것은 프로그래밍 언어의 사용 편의성을 측정하는 하나의 척도입니다. 프로그램은 언어에 익숙하지 않은 사람들을 위한 소개로 사용되기 때문에 더 복잡한 "Hello, World!" 프로그램은 프로그래밍 언어가 덜 접근적임을 나타낼 수 있습니다.[19] 이 개념은 프로그래밍 언어를 넘어 API로 확장되었습니다. 이는 새로운 개발자가 기본적인 예제를 작업하는 것이 얼마나 간단한지를 측정하기 위한 것입니다. 시간이 짧을수록 개발자가 채택하기 쉬운 API를 나타냅니다.[20][21]

"Hello, World!" 프로그램이 포함된 위키피디아 기사

참고 항목

참고문헌

  1. ^ James A Langbridge (3 December 2013). Professional Embedded ARM Development. ISBN 9781118887820.
  2. ^ Kernighan, Brian W.; Ritchie, Dennis M. (1978). The C Programming Language (1st ed.). Englewood Cliffs, NJ: Prentice Hall. ISBN 0-13-110163-3.
  3. ^ Kernighan, Brian (1974). "Programming in C: A Tutorial" (PDF). Bell Labs. Retrieved 9 January 2019.
  4. ^ "The Programming Language B". Bell Labs.
  5. ^ "BCPL". Jargon File.
  6. ^ "William B. Williams, Radio Personality, Dies". The New York Times. 4 August 1986.
  7. ^ "C++ Programming/Examples/Hello world". Wikibooks. Retrieved 16 March 2022.
  8. ^ "Malbolge". Esolang. esolangs-wiki. Retrieved 28 October 2016.
  9. ^ 바둑 프로그래밍 언어를 위한 자습서. 2010년 7월 26일 Wayback Machine The Go Programming Language에서 아카이브되었습니다. 2011년 7월 26일 회수.
  10. ^ Silva, Mike (11 September 2013). "Introduction to Microcontrollers - Hello World". EmbeddedRelated.com. Retrieved 19 May 2015.
  11. ^ George, Ligo (8 May 2013). "Blinking LED using Atmega32 Microcontroller and Atmel Studio". electroSome. Retrieved 19 May 2015.
  12. ^ PT, Ranjeeth. "2. AVR Microcontrollers in Linux HOWTO". The Linux Documentation Project. Retrieved 19 May 2015.
  13. ^ Andersson, Sven-Åke (2 April 2012). "3.2 The first Altera FPGA design". Raidió Teilifís Éireann. Archived from the original on 21 May 2015. Retrieved 19 May 2015.
  14. ^ Fabio, Adam (6 April 2014). "CPLD Tutorial: Learn programmable logic the easy way". Hackaday. Retrieved 19 May 2015.
  15. ^ "Hello - GNU Project - Free Software Foundation". gnu.org. GNU Project. Archived from the original on 29 May 2014. Retrieved 7 July 2017.
  16. ^ Jolif, Christophe (January 2003). "Bringing SVG Power to Java Applications". Sun Developer Network.
  17. ^ de Dinechin, Christophe (24 July 2010). "Hello world!". Grenouille Bouillie.
  18. ^ "Teaching the Nintendo Generation to Program" (PDF). bfoit.org. Archived from the original (PDF) on 5 May 2016. Retrieved 27 December 2015.
  19. ^ O'Dwyer, Arthur (September 2017). Mastering the C++17 STL: Make full use of the standard library components in C++17. Packt Publishing Ltd. p. 251. ISBN 978-1-78728-823-2. Retrieved 4 December 2019.
  20. ^ Wiegers, Harold (28 June 2018). "The importance of "Time to First Hello, World!" an efficient API program".
  21. ^ Jin, Brenda; Sahni, Saurabh; Shevat, Amir (29 August 2018). Designing Web APIs: Building APIs That Developers Love. O'Reilly Media. ISBN 9781492026877. Retrieved 19 February 2020.

외부 링크