Write once, compile anywhere

Write once, compile anywhere(한 번 쓰면 어디서나 컴파일, WOCA)는 컴파일러 및 관련 소프트웨어 라이브러리 또는 소프트웨어 라이브러리/소프트웨어 프레임워크에서 채택한 철학으로, 수정할 필요 없이 모든 플랫폼에서 컴파일할 수 있는 컴퓨터 프로그램을 작성하는 기능을 나타낸다. 소스 코드. 썬(Sun)의 Write once, run anywhere(한 번 작성하면 어디서나 실행)이라는 슬로건과 달리, 크로스 플랫폼 호환성은 컴파일된 바이너리 코드 수준이 아닌 소스 코드 수준에서만 구현된다.

 개요 
표준 라이브러리에서 제공하는 것 이상의 기능을 사용하지 않는다는 조건 하에 C++, 파스칼(프리 파스칼 문서 참고), 에이다, 코볼 또는 C와 같은 WOCA 철학을 따르는 언어가 많이 있다. Go와 같은 언어는 시스템 특정 항목을 사용하지 않고 작동해야 하며 시스템 특정 요소의 경우 플랫폼 특정 파일 시스템이 사용된다는 점에서 훨씬 더 발전한다. 컴퓨터 프로그램은 소켓 및 GUI와 같은 다양한 플랫폼 간의 차이점을 숨기는 추상화 계층을 제공하여 작성된 소스 코드의 이식성을 보장하는 크로스 플랫폼 라이브러리를 사용할 수도 있다. 예를 들어, 이는 LCL 및 해당 위젯 세트를 통해 Qt(C++) 또는 라자루스(파스칼) IDE에서 지원된다.

오늘날 우리는 프로그래밍 경험이 없는 사람들도 데이터를 정렬, 추출 및 조작할 수 있는 워드 프로세싱, 데이터베이스 관리, 스프레드시트와 같은 정교한 애플리케이션을 탑재한 휴대폰 컴퓨터뿐만 아니라 매우 강력한 데스크톱 컴퓨터도 보유하고 있다. 이제 정리된 정보를 보여주는 문서(예: PDF 파일)를 생성하거나 인쇄할 수 있다. 2000년 이전에는 이들 중 일부를 사용할 수 없었고, 1980년 이전에는 거의 사용할 수 없었다.

1960년대 초 컴퓨터 자동화가 시작된 이래로 보유하고 있는 데이터로 보고서를 원하거나 송장, 급여 수표, 구매 주문서 및 기업, 학교, 정부에서 생성한 기타 서류를 인쇄해야 하는 경우 이를 컴퓨터에 입력해야 했다. 물리적 타자기(미리 인쇄된 양식을 사용) 그렇지 않고 컴퓨터에 정보가 저장되어 있고 이를 정렬, 조작 또는 인쇄하려면 누군가가 이를 위한 프로그램을 작성해야 했다. 어떤 경우에는 전문 프로그래머가 원하는 작업을 수행하기 위해 프로그램을 제공하는 방법을 이해할 수 없는 정보가 필요했다. 사용 가능한 프로그래머는 합리적인 시간 내에 무언가를 생산할 수 없다. 또는 사용할 수 있는 프로그래머가 없었기 때문에 프로그래밍이 아닌 일부 전문가가 프로그래밍 기술을 배우게 되었으며, 적어도 데이터에서 필요한 정보를 조작하고 인쇄하는 방법을 알 수 있었다.

전문 프로그래머가 작업을 수행했거나 최종 사용자가 자신의 사용을 위해 정보를 제공하기 위해 프로그램을 작성했는지 여부에 관계없이 이를 수행하는 방법은 동일하다. 프로그램을 작성하고 이를 컴파일러(작성된 프로그램을 컴퓨터가 이해할 수 있는 명령으로 변환하는 또 다른 프로그램)에 제출하고 오류를 수정한 다음 프로그램이 작동할 때까지 반복한다.

이는 문제의 일부를 해결하는 데 도움이 되었지만 새로운 문제가 발생했다. 프로그램을 작성하거나 이를 작성하기 위해 누군가를 고용한 사람들(1970년대나 1980년대까지는 소프트웨어 구입이 없었습니다)은 고용주나 학교가 새 컴퓨터를 구입했을 때 자신의 프로그램이 더 이상 작동하지 않는다는 것을 발견했다.

 같이 보기 
 주축어

분류:상호운용성
분류:소프트웨어 개발 철학