소프트웨어
Software소프트웨어는 컴퓨터 프로그램 및 관련 문서 및 [1]데이터 세트입니다.이는 시스템이 구축되어 실제로 작업을 수행하는 하드웨어와는 대조적입니다.
가장 낮은 프로그래밍 수준에서 실행 가능 코드는 개별 프로세서(일반적으로 중앙 처리 장치(CPU) 또는 그래픽 처리 장치(GPU))에서 지원되는 기계 언어 명령으로 구성됩니다.기계어는 컴퓨터 상태를 이전 상태에서 변경하는 프로세서 명령을 나타내는 이진 값 그룹으로 구성됩니다.예를 들어, 명령은 컴퓨터의 특정 저장 위치에 저장된 값을 변경할 수 있습니다. 이는 사용자가 직접 관찰할 수 없는 효과입니다.명령은 많은 입력 또는 출력 작업 중 하나를 호출할 수도 있습니다. 예를 들어 컴퓨터 화면에 텍스트를 표시하여 사용자가 볼 수 있어야 하는 상태 변화를 일으킬 수 있습니다.프로세서는, 다른 명령으로 「점프」하도록 지시받지 않는 한, 또는 operating system에 의해서 중단되지 않는 한, 주어진 순서에 따라서 명령을 실행합니다.2015년 현재[update] 대부분의 개인용 컴퓨터, 스마트폰 장치 및 서버는 여러 개의 실행 장치를 갖춘 프로세서 또는 여러 개의 프로세서가 함께 계산을 수행하는 프로세서를 갖추고 있으며, 컴퓨팅은 과거보다 훨씬 더 많은 동시 작업이 되었습니다.
대부분의 소프트웨어는 고급 프로그래밍 언어로 작성됩니다.기계어보다 자연어에 [2]가깝기 때문에 프로그래머에게는 쉽고 효율적입니다.높은 수준의 언어는 컴파일러 또는 인터프리터 또는 그 조합을 사용하여 기계어로 번역됩니다.소프트웨어는 낮은 수준의 어셈블리 언어로 작성될 수도 있습니다.이것은 컴퓨터의 기계어 명령과 매우 일치하며 어셈블러를 사용하여 기계어로 번역됩니다.
역사
최초의 소프트웨어 조각에 대한 알고리즘은 19세기에 에이다 러브레이스에 의해 계획된 분석 [3]엔진을 위해 작성되었습니다.그녀는 엔진이 베르누이 [3]수를 계산하는 방법을 보여주는 증거를 만들었다.증명과 알고리즘 때문에 그녀는 최초의 컴퓨터 프로그래머로 [4][5]여겨진다.
오늘날 우리가 알고 있는 컴퓨터의 창조 이전에 소프트웨어에 대한 첫 번째 이론은 앨런 튜링에 의해 1935년 그의 에세이 "계산 가능한 숫자에 대하여"에서 제안되었다.[citation needed]이것은 결국 컴퓨터 과학과 소프트웨어 공학의 학문적인 분야를 창조하는 것으로 이어졌다; 두 분야 모두 소프트웨어와 그 [citation needed]창조를 연구한다.컴퓨터 공학은 컴퓨터와 소프트웨어의 이론적 연구(튜링의 에세이는 컴퓨터 과학의 한 예)인 반면, 소프트웨어 공학은 소프트웨어 개발에 [citation needed]공학적 원리를 적용하는 것입니다.1946년 이전에 소프트웨어는 현재 우리가 알고 있듯이 아직 저장된 프로그램 디지털 컴퓨터의 메모리에 저장된 프로그램이 아니었다. 대신 [citation needed]최초의 전자 컴퓨팅 장치는 "재프로그래밍"하기 위해 다시 배선되었다.
2000년 예일대 로스쿨의 사서 프레드 샤피로는 존 와일더 투키의 1958년 논문 "콘크리트 [6][7]수학의 가르침"이 OED의 인용보다 [8]2년 앞서 JSTOR의 전자 기록 보관소 검색에서 발견된 "소프트웨어"라는 용어의 가장 오래된 사용을 포함하고 있다는 것을 밝히는 편지를 발행했다.이것은 많은 사람들이 투키가 그 용어를 만든 것으로 믿게 만들었지만, 특히 같은 [9]해에 출판된 부고에서 투키는 그러한 주화에 대해 결코 공적을 주장하지 않았다.1995년 폴 니켓은 1953년 10월에 이 용어를 처음 만들었다고 주장했지만, [10]그의 주장을 뒷받침하는 어떠한 문서도 찾을 수 없었다.공학적인 맥락에서 "소프트웨어"라는 용어가 가장 먼저 출판된 것은 1953년 8월 리처드 R.에 의해서였다.랜드사의 연구 비망록에 [11]있는 카하트입니다
종류들
거의 모든 컴퓨터 플랫폼에서 소프트웨어는 몇 가지 광범위한 범주로 분류할 수 있습니다.
용도 또는 용도
목표에 따라 컴퓨터 소프트웨어는 다음과 같이 나눌 수 있습니다.
- 애플리케이션 소프트웨어는 컴퓨터 자체의 기본 조작을 넘어 특수 기능을 수행하기 위해 컴퓨터 시스템을 사용합니다.최신 컴퓨터로 수행할 수 있는 작업 범위가 매우 넓기 때문에 애플리케이션 소프트웨어에는 다양한 유형이 있습니다. 소프트웨어 목록을 참조하십시오.
- 시스템 소프트웨어는 하드웨어 동작을 관리하여 사용자에게 필요한 기본 기능을 제공하거나 다른 소프트웨어가 제대로 실행되도록 합니다.시스템 소프트웨어도 [12]애플리케이션소프트웨어를 실행하기 위한 플랫폼을 제공하도록 설계되어 있습니다.다음 사항을 포함합니다.
- 운영체제는 리소스를 관리하고 그 위에서 실행되는 다른 소프트웨어에 공통 서비스를 제공하는 필수 소프트웨어 모음입니다.감시 프로그램, 부트 로더, 셸 및 윈도 시스템은 운영 체제의 핵심 부분입니다.실제로 운영체제는 추가 소프트웨어(애플리케이션소프트웨어 포함)와 함께 제공되므로 사용자는 운영체제를 하나만 탑재한 컴퓨터로 작업을 수행할 수 있습니다.
- 장치 드라이버는 시스템에 연결된 특정 유형의 장치를 작동하거나 제어합니다.각 디바이스에는 적어도1개의 대응하는 디바이스 드라이버가 필요합니다.일반적으로 컴퓨터에는 적어도1개의 입력 디바이스와 적어도1개의 출력 디바이스가 있기 때문에, 일반적으로 컴퓨터에는 복수의 디바이스 드라이버가 필요합니다.
- 유틸리티는 사용자의 컴퓨터 유지 보수 및 관리를 지원하기 위해 설계된 컴퓨터 프로그램입니다.
- 악성 소프트웨어 또는 멀웨어는 컴퓨터를 손상시키거나 중단시키기 위해 개발된 소프트웨어입니다.악성 프로그램은 컴퓨터 관련 범죄와 밀접하게 관련되어 있지만 일부 악성 프로그램은 장난삼아 설계되었을 수 있습니다.
실행의 성질 또는 영역
- 웹 브라우저, Microsoft Office, LibreOffice, WordPerfect 등의 데스크톱 애플리케이션과 스마트폰 및 태블릿 애플리케이션('앱'[citation needed]이라고 함)
- JavaScript 스크립트는 웹 브라우저 플러그인이 필요 없이 웹 페이지가 로드될 때 웹 브라우저 내부에서 직접 실행되는 기존 웹 페이지에 내장된 소프트웨어입니다.다른 프로그래밍 언어로 작성된 소프트웨어는 웹 브라우저 내에서 실행할 수도 있습니다.소프트웨어가 JavaScript로 변환되거나 해당 언어를 지원하는 웹 브라우저 플러그인이 설치되어 있는 경우입니다.후자의 가장 일반적인 예는 Adobe Flash [citation needed]플러그인으로 지원되는 ActionScript 스크립트입니다.
- 다음을 포함한 서버 소프트웨어:
- 일반적으로 웹 서버에서 실행되며 동적으로 생성된 웹 페이지를 웹 브라우저로 출력하는 웹 응용 프로그램(예: PHP, Java, ASP)입니다.NET 또는 서버에서 실행되는 JavaScript.현대에는 웹 브라우저에서도 실행되는 JavaScript가 일반적으로 포함되어 있습니다.이 경우 일반적으로 서버에서도 일부 웹 [citation needed]브라우저에서도 실행됩니다.
- 플러그인 및 확장 기능은 다른 소프트웨어의 기능을 확장 또는 수정하는 소프트웨어이며,[13] 기능하려면 소프트웨어를 사용해야 합니다.
- 임베디드 소프트웨어는 임베디드 시스템, 자동차나 텔레비전 등 1회 사용 전용 또는 소수의 사용 전용 장치(단, 무선 칩셋 등 일부 임베디드 기기 자체는 PC나 [14]스마트폰과 같은 일반적인 임베디드 컴퓨터 시스템의 일부가 될 수 있습니다) 내에 펌웨어로 존재합니다.임베디드 시스템의 컨텍스트에서는 시스템소프트웨어와 애플리케이션소프트웨어의 명확한 구별이 없는 경우가 있습니다.단, 임베디드형 시스템에서는 임베디드형 운영체제를 실행하고 있으며, 이러한 시스템은 시스템 소프트웨어와 애플리케이션 소프트웨어의 구별을 유지하고 있습니다(일반적으로 항상 실행되는 [citation needed]고정 애플리케이션은 1개뿐입니다).
- 마이크로코드는 프로세서 자체에 기계코드를 실행하는 방법을 알려주는 특수하고 비교적 불분명한 임베디드 소프트웨어입니다.따라서 실제로는 [citation needed]기계코드보다 낮은 레벨입니다.통상, 프로세서 제조원의 소유이며, 필요한 수정 마이크로 코드 소프트웨어 업데이트는 프로세서에 의해서 유저에게 제공됩니다(이것은, 출하중의 교환용 프로세서 하드웨어보다 훨씬 저렴합니다).따라서 일반 프로그래머는 그것을 [citation needed]다루지 않아도 될 것으로 기대하지 않을 것이다.
프로그래밍 도구
프로그래밍 도구는 개발자가 소프트웨어를 [15][better source needed]생성, 디버깅, 유지보수 또는 지원하기 위해 사용하는 프로그램 또는 응용 프로그램 형태의 소프트웨어이기도 합니다.
소프트웨어는 하나 이상의 프로그래밍 언어로 작성되어 있습니다.많은 프로그래밍 언어가 존재하며, 각 언어에는 각각 자체 프로그래밍 도구 세트로 구성된 최소 1개의 구현이 있습니다.이러한 툴은 컴파일러, 디버거, 인터프리터, 링커, 텍스트 에디터 등의 비교적 자급자족적인 프로그램일 수 있습니다.또, 이러한 자급자족적인 [citation needed]툴의 기능의 대부분 또는 전부를 조합하는 통합 개발 환경(IDE)을 형성하는 경우도 있습니다.IDE는 관련된 개별 툴을 기동하거나 새로운 방법으로 기능을 [citation needed]재실장함으로써 이를 실현할 수 있습니다.IDE를 사용하면 특정 프로젝트의 [citation needed]파일 검색과 같은 특정 태스크를 더 쉽게 수행할 수 있습니다.많은 프로그래밍 언어 구현에서는 개별 도구 또는 [citation needed]IDE를 모두 사용할 수 있는 옵션이 제공됩니다.
토픽
아키텍처
현대의 범용 컴퓨터(임베디드 시스템, 아날로그 컴퓨터 및 슈퍼 컴퓨터와는 달리)를 사용하는 사람들은 보통 플랫폼,[citation needed] 애플리케이션 및 사용자 소프트웨어라는 세 가지 계층의 소프트웨어를 볼 수 있습니다.
- 플랫폼 소프트웨어:이 플랫폼에는 펌웨어, 디바이스 드라이버, 운영체제 및 일반적으로 그래피컬 사용자 인터페이스가 포함되어 있습니다.이러한 인터페이스를 통해 사용자는 컴퓨터 및 주변기기(관련기기)와 상호 작용할 수 있습니다.플랫폼 소프트웨어는 컴퓨터에 번들되어 있는 경우가 많습니다.PC에서는 보통 플랫폼소프트웨어를 변경할 수 있습니다.
- 응용 프로그램 소프트웨어:애플리케이션 소프트웨어는 [citation needed]대부분의 사람들이 소프트웨어라고 생각할 때 떠올리는 것입니다.대표적인 예로는 오피스 스위트나 비디오 게임 등이 있습니다.애플리케이션 소프트웨어는 컴퓨터 하드웨어와 별도로 구입하는 경우가 많습니다.응용 프로그램이 컴퓨터와 함께 번들되는 경우도 있지만 독립 응용 프로그램으로 실행된다는 사실은 변경되지 않습니다.어플리케이션은 보통 운영체제로부터 독립된 프로그램이지만 대부분의 경우 특정 플랫폼에 맞게 조정됩니다.대부분의 사용자는 [citation needed]컴파일러, 데이터베이스 및 기타 "시스템 소프트웨어"를 애플리케이션으로 생각합니다.
- 사용자 작성 소프트웨어: 최종 사용자 개발은 사용자 고유의 요구에 맞게 시스템을 맞춤 제작합니다.사용자 소프트웨어는 스프레드시트 템플릿 및 워드프로세서 [citation needed]템플릿을 포함한다.이메일 필터도 일종의 사용자 소프트웨어입니다.사용자가 직접 이 소프트웨어를 만들지만 [citation needed]중요성은 간과하는 경우가 많습니다.사용자가 작성한 소프트웨어가 기본 응용 프로그램 패키지에 얼마나 적절하게 통합되어 있는지에 따라 많은 사용자가 원래 패키지와 [citation needed]동료가 추가한 패키지의 차이를 인식하지 못할 수 있습니다.
실행
컴퓨터 소프트웨어는 컴퓨터의 스토리지(하드 드라이브나 메모리 등)에 「로드」할 필요가 있습니다.소프트웨어가 로딩되면 컴퓨터는 소프트웨어를 실행할 수 있습니다.여기에는 애플리케이션 소프트웨어에서 시스템 소프트웨어를 통해 최종적으로 기계 코드로 명령을 수신하는 하드웨어로 명령이 전달됩니다.각 명령은 컴퓨터가 데이터를 이동하거나, 계산을 수행하거나,[citation needed] 명령의 제어 흐름을 변경하는 작업을 수행하도록 합니다.
데이터 이동은 일반적으로 메모리의 한 위치에서 다른 위치로 이루어집니다.CPU에서 고속 데이터 액세스를 가능하게 하는 메모리와 레지스터 간의 데이터 이동이 필요할 수 있습니다.데이터, 특히 대량의 데이터 이동은 비용이 많이 들 수 있습니다.이는 데이터에 포인터([citation needed]pointer)를 사용하는 것으로 피할 수 있습니다.계산에는 가변 데이터 요소의 값을 증가시키는 것과 같은 간단한 연산이 포함됩니다.보다 복잡한 계산에는 많은 운영 요소와 데이터 요소가 함께 [citation needed]수반될 수 있습니다.
품질과 신뢰성
소프트웨어 품질은 특히 상용 소프트웨어 및 시스템 소프트웨어에서 매우 중요합니다.만약 소프트웨어에 결함이 있다면, 그것은 사람의 작업을 삭제하고, 컴퓨터를 손상시키고, 다른 예상치 못한 일들을 할 수 있다.장애와 오류를 "버그"라고 [citation needed]하며 알파 및 베타 테스트 중에 자주 발견됩니다.소프트웨어는 흔히 소프트웨어 에이징이라고 불리는 장애의 희생양이 되기도 합니다.이는 눈에 보이지 않는 [citation needed]버그의 조합으로 인한 점진적인 성능 저하입니다.
소프트웨어 테스트를 통해 많은 버그가 발견되고 수정됩니다.그러나 소프트웨어 테스트를 통해 모든 버그가 제거되는 경우는 거의 없습니다.어떤 프로그래머들은 "모든 프로그램에는 적어도 하나 이상의 버그가 있다"(루바스키의 법칙)[16]고 말합니다.소프트웨어 개발의 워터폴 방식에서는 일반적으로 별도의 테스트 팀이 채용되지만, 새로운 접근법에서는 총칭하여 신속한 변화를 위한 소프트웨어 개발이라고 합니다.개발자는 대부분의 경우 자체 테스트를 수행하고 사용자/클라이언트에게 정기적으로 소프트웨어를 시연하여 피드백을 [citation needed]얻습니다.소프트웨어는 유닛 테스트, 회귀 테스트 및 기타 방법으로 테스트할 수 있습니다.테스트하는 코드의 양이 [citation needed]많을 수 있기 때문에 수동 또는 가장 일반적인 경우 자동으로 실행됩니다.명령 소프트웨어가 포함된 프로그램을 사용하면 하드웨어 엔지니어링과 시스템 운영이 함께 [citation needed]훨씬 쉽게 기능할 수 있습니다.
면허증.
소프트웨어의 라이센스는 사용자에게 라이센스 환경에서 소프트웨어를 사용할 수 있는 권한을 부여하며, 무료 소프트웨어 라이센스의 경우 복사본을 [citation needed]만들 수 있는 권한과 같은 다른 권한도 부여합니다.
독자 사양의 소프트웨어는, 다음의 2 종류로 나눌 수 있습니다.
- 프리웨어 - "무료 평가판" 소프트웨어 또는 "프리미엄" 소프트웨어 범주를 포함합니다(과거에는 쉐어웨어라는 용어가 무료 평가판/프리미엄 소프트웨어에 자주 사용되었습니다).이름에서 알 수 있듯이 프리웨어는 무료로 사용할 수 있지만, 무료 체험판이나 프리미엄 소프트웨어의 경우 제한된 기간 동안 또는 제한된 [17]기능만을 사용할 수 있습니다.
- 라이센스 구입 [18]시에만 합법적으로 사용할 수 있는 유료로 제공되는 소프트웨어.
오픈 소스 소프트웨어는 무료 소프트웨어 라이선스와 함께 제공되며 수신자에게 소프트웨어를 [19]수정 및 재배포할 수 있는 권한을 부여합니다.
특허
소프트웨어 특허는 다른 종류의 특허와 마찬가지로 이론적으로 발명가에게 소프트웨어 또는 소프트웨어의 컴포넌트를 구현하는 방법에 대한 상세한 아이디어(알고리즘 등)에 대한 배타적이고 시간제한적인 라이선스를 부여하는 것을 상정하고 있습니다.소프트웨어가 할 수 있는 유용한 작업에 대한 아이디어와 사용자 요구사항은 특허를 받을 수 없으며, 구체적인 구현(특허를 구현하는 실제 소프트웨어 패키지)도 특허를 받을 수 없습니다. 일반적으로 후자는 이미 저작권의 적용을 받습니다.소프트웨어 특허는 요건과 구체적인 구현 사이의 중간 영역을 대상으로 합니다.일부 국가에서는 청구된 발명이 물리적 세계에 영향을 미치는 요건이 소프트웨어 특허를 유효하게 유지하는 요건의 일부일 수도 있다.다만, 모든 유용한 소프트웨어는 물리적 세계에 영향을 미치므로, 이 요건은 논란의 여지가 있을 수 있다.한편, 미국 저작권법은 소프트웨어 [20]코드 작성의 다양한 측면에 적용되었다.
소프트웨어 특허는 소프트웨어 업계에서 논란이 되고 있으며 많은 사람들이 이에 대해 서로 다른 견해를 가지고 있다.논란의 원인 중 하나는 앞서 언급한 초기 아이디어와 특허 사이의 분할이 특허 변호사들에 의해 실제로 받아들여지지 않는 것처럼 보인다는 것입니다. 예를 들어,[citation needed] AOP의 아이디어를 구현하는 모든 프로그래밍 도구에 대한 권리를 주장하는 것으로 알려진 AOP(Aspect-Oriented Programming) 특허는 어떠한 방식으로도 받아들여지지 않는 것 같습니다.또 다른 논쟁의 원천은 혁신에 미치는 영향입니다.많은 저명한 전문가와 기업들은 소프트웨어는 매우 빠르게 움직이는 분야이기 때문에 소프트웨어 특허는 막대한 추가 소송 비용과 위험을 야기할 뿐이며 실제로 [citation needed]혁신을 지연시킬 수 있다고 주장합니다.미국 이외의 소프트웨어 특허에 대한 논쟁의 경우, 미국의 대기업과 특허 변호사가 소프트웨어 [citation needed]특허를 허용하거나 계속 허용하는 주요 수혜자가 될 가능성이 높다는 주장이 제기되어 왔다.
설계 및 구현
소프트웨어의 설계와 실장은 소프트웨어의 복잡성에 따라 다릅니다.예를 들어 마이크로소프트 워드는 기본적인 기능이 [citation needed]훨씬 더 많기 때문에 마이크로소프트 메모장을 설계하고 개발하는 것보다 훨씬 더 많은 시간이 걸렸다.
소프트웨어는 보통 Eclipse, IntelliJ 및 Microsoft Visual Studio와 같은 프로세스를 단순화하고 소프트웨어를 컴파일할 [citation needed]수 있는 통합 개발 환경(IDE)에서 개발됩니다.다른 섹션에서 설명한 바와 같이 소프트웨어는 보통 기존 소프트웨어 및 기본 소프트웨어가 제공하는 Application Programming Interface(API; 응용 프로그램프로그래밍 인터페이스) 위에 작성됩니다(GTK+, JavaBeans,[citation needed] Swing 등).라이브러리(API)는 목적에 따라 분류할 수 있습니다.예를 들어 Spring Framework는 엔터프라이즈응용 프로그램 구현에 사용되며 Windows Forms 라이브러리는 Microsoft Word 등의 그래픽 사용자 인터페이스(GUI) 응용 프로그램 설계에 사용되며 Windows Communication Foundation은 웹 [citation needed]서비스 설계에 사용됩니다.프로그램을 설계할 때 API에 의존합니다.예를 들어 Microsoft Windows 데스크톱애플리케이션에서 API 함수를 호출할 수 있습니다.Form1과 같은 NET Windows Forms 라이브러리.Close() 및 Form1 입니다.Show():[21] 응용 프로그램을 닫거나 엽니다.이러한 API가 없으면 프로그래머는 이들 기능을 모두 직접 작성해야 합니다.Oracle 및 Microsoft와 같은 회사는 자체 API를 제공하여 많은 응용 프로그램이 대개 [citation needed]다수의 API를 포함하는 소프트웨어 라이브러리를 사용하여 작성되도록 합니다.
해시 테이블, 배열, 이진 트리 등의 데이터 구조와 빠른 정렬 등의 알고리즘은 소프트웨어를 만드는 데 유용할 수 있습니다.
컴퓨터 소프트웨어는 디자인, 제작, 유통을 다른 대부분의 경제 [specify][22][23]상품과 다르게 만드는 특별한 경제적 특성을 가지고 있다.
소프트웨어를 만드는 사람은 프로그래머, 소프트웨어 엔지니어 또는 소프트웨어 개발자로 불리며, 이 용어들은 모두 비슷한 의미를 가지고 있습니다.프로그래머를 위한 더 비공식적인 용어인 "코더"와 "해커"도 존재하지만, 후자의 단어는 컴퓨터 시스템에 불법으로 침입하는 누군가를 의미하는 데 더 자주 사용되기 때문에 혼란을 일으킬 수 있다.
「 」를 참조해 주세요.
레퍼런스
- ^ "ISO/IEC 2382:2015". ISO. 3 September 2020. Retrieved 26 May 2022.
[Software includes] all or part of the programs, procedures, rules, and associated documentation of an information processing system.
- ^ "Compiler construction". Archived from the original on 2 November 2013.
- ^ a b 에반스 2018, 페이지 21
- ^ Fuegi, J.; Francis, J. (2003). "Lovelace & Babbage and the creation of the 1843 'notes'" (PDF). Annals of the History of Computing. 25 (4): 16–26. doi:10.1109/MAHC.2003.1253887. S2CID 40077111. Archived from the original (PDF) on 15 February 2020.
- ^ Staf, Guardian (10 December 2012). "Ada Lovelace honoured by Google doodle". The Guardian. Retrieved 25 November 2018.
{{cite news}}
: CS1 maint :url-status (링크) - ^ Tukey, John Wilder (January 1958). "The Teaching of Concrete Mathematics". American Mathematical Monthly. Taylor & Francis, Ltd. / Mathematical Association of America. 65 (1): 1–9, 2. doi:10.2307/2310294. ISSN 0002-9890. JSTOR 2310294. CODEN AMMYAE.
[…] Today the "software" comprising the carefully planned interpretive routines, compilers, and other aspects of automative programming are at least as important to the modern electronic calculator as its "hardware" of tubes, transistors, wires, tapes, and the like. […]
- ^ Beebe, Nelson H. F. (22 August 2017). "Chapter I - Integer arithmetic". The Mathematical-Function Computation Handbook - Programming Using the MathCW Portable Software Library (1 ed.). Salt Lake City, UT, USA: Springer International Publishing AG. pp. 969, 1035. doi:10.1007/978-3-319-64110-2. ISBN 978-3-319-64109-6. LCCN 2017947446. S2CID 30244721.
- ^ Shapiro, Fred (2000). "Origin of the Term Software: Evidence from the JSTOR Electronic Journal Archive" (PDF). IEEE Annals of the History of Computing. 22 (2): 69–71. doi:10.1109/mahc.2000.887997. Archived from the original (PDF) on 5 June 2003. Retrieved 25 June 2013.
- ^ Leonhardt, David (28 July 2000). "John Tukey, 85, Statistician; Coined the Word 'Software'". The New York Times. Retrieved 24 September 2012.
- ^ Niquette, R. Paul (2006), Softword: Provenance for the Word 'Software, ISBN 1-58922-233-4, archived from the original on 8 August 2019, retrieved 18 August 2019
- ^ Carhart, Richard (1953). A survey of the current status of the electronic reliability problem (PDF). Santa Monica, CA: Rand Corporation. p. 69.
[…] It will be recalled from Sec. 1.6 that the term personnel was defined to include people who come into direct contact with the hardware, from production to field use, i.e., people who assemble, inspect, pack, ship, handle, install, operate, and maintain electronic equipment. In any of these phases personnel failures may result in unoperational gear. As with the hardware factors, there is almost no quantitative data concerning these software or human factors in reliability: How many faults are caused by personnel, why they occur, and what can be done to remove the errors. […]
- ^ "System Software". The University of Mississippi. Archived from the original on 30 May 2001.
- ^ Hope, Computer. "What is a Plugin?". www.computerhope.com. Retrieved 26 January 2022.
{{cite web}}
: CS1 maint :url-status (링크) - ^ "Embedded Software—Technologies and Trends". IEEE Computer Society. May–June 2009. Archived from the original on 28 October 2013. Retrieved 6 November 2013.
- ^ "What is a Programming Tool? - Definition from Techopedia". Techopedia.com. Retrieved 26 January 2022.
{{cite web}}
: CS1 maint :url-status (링크) - ^ "scripting intelligence book examples". GitHub. 9 May 2018. Archived from the original on 6 November 2015. Retrieved 6 November 2015.
- ^ "Freeware vs Shareware - Difference and Comparison Diffen". www.diffen.com. Retrieved 26 January 2022.
{{cite web}}
: CS1 maint :url-status (링크) - ^ Morin, Andrew; Urban, Jennifer; Sliz, Piotr (26 July 2012). "A Quick Guide to Software Licensing for the Scientist-Programmer". PLOS Computational Biology. 8 (7): e1002598. Bibcode:2012PLSCB...8E2598M. doi:10.1371/journal.pcbi.1002598. ISSN 1553-7358. PMC 3406002. PMID 22844236.
- ^ "Open source software explained". IONOS Digitalguide. Retrieved 26 January 2022.
{{cite web}}
: CS1 maint :url-status (링크) - ^ Gerardo Con Diaz, "기계 속의 텍스트:미국 저작권법과 소프트웨어의 많은 특성, 1974-1978," 기술 및 문화 57(2016년 10월), 753-79.
- ^ "MSDN Library". microsoft.com. Archived from the original on 11 June 2010. Retrieved 14 June 2010.
- ^ v. Engelhardt, Sebastian (2008). "The Economic Properties of Software". Jena Economic Research Papers. 2 (2008–045). Archived from the original on 5 January 2016.
- ^ Kaminsky, Dan (2 March 1999). "Why Open Source Is The Optimum Economic Paradigm for Software". dankaminsky.com. Archived from the original on 22 May 2012. Retrieved 19 November 2021.
{{cite web}}
: CS1 유지보수: 날짜 및 연도(링크)
원천
- Evans, Claire L. (2018). Broad Band: The Untold Story of the Women Who Made the Internet. New York: Portfolio/Penguin. ISBN 9780735211759.