shopkeeper/korean_wiki_content_only_120125 huggingface dataset:
규모의 효율성 때문에 반도체 산업은 종종 표준화된 치수, 즉 일반적인 웨이퍼 사양을 사용한다. 초창기에는 잉곳이 작아서 폭이 몇 센티미터에 불과했다. 첨단 기술로 인해 고급 장치 제조업체는 직경 200mm 및 300mm 웨이퍼를 사용한다. 폭은 온도, 회전 속도, 씨앗 홀더가 인출되는 속도를 정밀하게 제어하여 조절한다. 웨이퍼가 잘려지는 결정 잉곳은 길이가 최대 2미터에 달하고 무게는 수백 킬로그램에 이른다. 더 큰 웨이퍼는 제조 효율성을 향상시킨다. 각 웨이퍼에서 더 많은 칩을 제조할 수 있고 상대적 손실이 적기 때문에 규소 웨이퍼 크기를 늘리려는 꾸준한 노력이 있어왔다. 다음 단계인 450mm는 2018년에 도입될 예정이었다. 규소 웨이퍼는 일반적으로 두께가 약 0.2-0.75mm이며, 집적 회로를 만들기 위해 매우 평평하게 연마하거나 태양 전지를 만들기 위해 질감을 줄 수 있다.
규소는 초크랄스키법으로 성장시킬 때 녹은 물질은 실리카 (석영) 도가니에 담겨 있다. 성장하는 동안 도가니의 벽은 녹은 물질에 용해되어 초크랄스키 규소는 일반적으로 10 cm의 농도로 산소를 포함한다. 산소 불순물은 유익하거나 해로운 영향을 미칠 수 있다. 신중하게 선택된 어닐링 조건은 산소 석출 형성을 유발할 수 있다. 이는 게터링으로 알려진 과정에서 원치 않는 전이 금속 불순물을 포착하여 주변 규소의 순도를 향상시키는 효과가 있다. 그러나 의도하지 않은 위치에 산소 석출이 형성되면 전기적 구조를 파괴할 수도 있다. 또한 산소 불순물은 소자 공정 중 도입될 수 있는 전위를 고정시켜 규소 웨이퍼의 기계적 강도를 향상시킬 수 있다. 1990년대에는 높은 산소 농도가 가혹한 방사선 환경(예: CERN의 LHC/HL-LHC 프로젝트)에서 사용되는 규소 입자 검출기의 방사선 내성에도 유익하다는 것이 실험적으로 입증되었다. 따라서 초크랄스키 및 자기 초크랄스키 규소로 만든 방사선 검출기는 많은 미래의 고에너지 물리 실험에 유망한 후보로 간주된다. 또한 규소 내 산소의 존재가 이온 주입 후 어닐링 과정에서 불순물 포획을 증가시킨다는 것이 밝혀졌다.
하지만 산소 불순물은 태양전지가 겪는 것과 같은 조명 환경에서 붕소와 반응할 수 있다. 이로 인해 전기적으로 활성인 붕소-산소 복합체가 형성되어 전지 성능을 저하시킨다. 모듈 출력은 빛 노출 후 처음 몇 시간 동안 약 3% 감소한다.
수학적 형태.
최종 고체 내 불순물 농도는 formula_1 로 주어진다. 여기서 와 는 (각각) 초기 농도와 최종 농도이고, 와 는 초기 부피와 최종 부피이며, 는 용융 상전이 시 불순물과 관련된 분리 계수이다. 이는 무한소 부피 가 얼어붙을 때 formula_2 불순물이 녹은 물질에서 제거된다는 사실에서 비롯된다.
인라인 어셈블러(inline assembler)는 컴퓨터 프로그래밍에서 일부 컴파일러의 기능으로, 어셈블리어로 작성된 저수준 코드를 C 또는 에이다와 같은 고급 언어에서 컴파일된 코드 내부에 삽입할 수 있게 해준다.
동기 및 대안.
어셈블리어 코드 삽입은 일반적으로 다음과 같은 이유 중 하나로 수행된다.
반면에 인라인 어셈블러는 각 변수에 대해 수행되는 작업의 분석을 복잡하게 만들어 레지스터 할당의 핵심 부분에 직접적인 문제를 제기한다. 이는 실제로 성능이 저하될 수 있음을 의미한다. 인라인 어셈블러는 또한 프로그램의 향후 포팅 및 유지 보수를 복잡하게 만든다.
컴파일러와 프로그래머 모두의 작업을 단순화하기 위한 대안적인 기능이 종종 제공된다. 특수 명령어를 위한 내장 함수는 대부분의 컴파일러에서 제공되며, 임의의 시스템 호출을 위한 C-함수 래퍼는 모든 유닉스 플랫폼에서 사용할 수 있다.
언어 표준에서.
ISO C++ 표준 및 ISO C 표준(부록 J)은 인라인 어셈블러에 대해 조건부로 지원되는 구문을 지정한다.
asm 선언은 다음 형식을 갖는다.
asm-declaration:
( string-literal ) ;
asm 선언은 조건부로 지원되며, 그 의미는 구현 정의이다.
그러나 이 정의는 실제 C에서 거의 사용되지 않는데, 이는 동시에 너무 자유롭고(해석에 있어서) 너무 제한적이기(하나의 문자열 리터럴만 사용) 때문이다.
실제 컴파일러에서.
실제로 값에 대해 작동하는 인라인 어셈블리는 자유롭게 떠다니는 코드로는 거의 독립적으로 존재하지 않는다. 프로그래머는 변수가 어떤 레지스터에 할당될지 예측할 수 없으므로, 컴파일러는 일반적으로 확장 기능을 통해 변수를 대체하는 방법을 제공한다.
일반적으로 C/C++ 컴파일러에서 지원하는 인라인 어셈블리에는 두 가지 유형이 있다.
두 가지 확장 패밀리는 인라인 어셈블리를 처리하는 노동 분할에 대한 다른 이해를 나타낸다. GCC 형식은 언어의 전체 구문을 보존하고 컴파일러가 알아야 할 것(무엇이 필요하고 무엇이 변경되는지)을 구획화한다. 컴파일러는 레지스터 할당과 몇 가지 작업만 대체하여 입력 요구 사항을 처리하면 되므로, 명령어 이름을 명시적으로 이해할 것을 요구하지 않는다. 그러나 사용자가 클로버된 레지스터를 잘못 지정하기 쉽다. 포함된 도메인 특화 언어인 MSVC 형식은 작성하기 쉽지만, 컴파일러 자체가 opcode 이름과 그 클로버링 속성에 대해 알아야 하므로 유지 보수 및 포팅에 추가적인 주의가 필요하다. 명령어 집합에 대한 지식으로 GCC 스타일 어셈블리의 클로버 오류를 확인하는 것은 여전히 가능하다.
GNAT (GCC 스위트의 에이다 언어 프론트엔드)와 LLVM은 GCC 구문을 사용한다. D 프로그래밍 언어는 x86_64에 대해 공식적으로 MSVC 확장과 유사한 DSL을 사용하지만, LLVM 기반 LDC는 모든 아키텍처에서 GCC 스타일 구문도 제공한다. MSVC는 32비트 X86에서만 인라인 어셈블러를 지원한다.
러스트 언어는 LLVM (GCC 스타일) 버전보다 인라인 어셈블리 옵션을 더욱 추상화하는 구문으로 마이그레이션했다. 백엔드가 내장 어셈블리를 처리할 수 없는 경우 블록을 외부에서 어셈블된 함수로 변환할 수 있도록 충분한 정보를 제공한다.
GCC의 시스템 호출.
보호된 메모리를 사용하는 시스템에서는 운영 체제를 직접 호출하는 것이 일반적으로 불가능하다. OS는 사용자(사용자 모드)보다 더 특권이 있는 수준(커널 모드)에서 실행되며, 운영 체제에 요청을 하기 위해 (소프트웨어) 인터럽트가 사용된다. 이는 고급 언어에서는 드문 기능이므로, 시스템 호출을 위한 래퍼 함수는 인라인 어셈블러를 사용하여 작성된다.
다음 C 코드 예시는 GNU 어셈블러를 사용하여 AT&amp;T 어셈블러 문법으로 작성된 X86 시스템 호출 래퍼를 보여준다. 이러한 호출은 일반적으로 매크로의 도움을 받아 작성되지만, 명확성을 위해 전체 코드가 포함되었다. 이 특정 경우에 래퍼는 호출자가 지정한 번호의 시스템 호출을 세 개의 피연산자와 함께 수행하고 결과를 반환한다.
요약하자면, GCC는 기본 어셈블리와 확장 어셈블리 모두를 지원한다. 전자는 텍스트를 어셈블러에 그대로 전달하는 반면, 후자는 레지스터 위치에 대한 일부 대체 작업을 수행한다.
int syscall3(int num, int arg1, int arg2, int arg3)
__asm__ (
"int $0x80" /* make the request to the OS */
: "=a" (res), /* return result in eax ("a") */
"+b" (arg1), /* pass arg1 in ebx ("b") [as a "+" output because the syscall may change it] */
"+c" (arg2), /* pass arg2 in ecx ("c") [ditto] */
"+d" (arg3) /* pass arg3 in edx ("d") [ditto] */
: "a" (num) /* pass system call number in eax ("a") */
: "memory", "cc", /* announce to the compiler that the memory and condition codes have been modified */
"esi", "edi", "ebp"); /* these registers are clobbered [changed by the syscall] too */
/* The operating system will return a negative value on error;
* wrappers return -1 on error and set the errno global variable */
if (-125 &lt;= res &amp;&amp; res &lt; 0) {
errno = -res;
res = -1;
D의 프로세서별 명령어.
D 프로그래밍 언어의 인라인 어셈블리 예시는 X86의 FPU (X87) 명령어를 사용하여 x의 탄젠트를 계산하는 코드를 보여준다.
// Compute the tangent of x
fld x[EBP] ; // load x
fxam ; // test for oddball values
fstsw AX ;
sahf ;
jc trigerr ; // C0 = 1: x is NAN, infinity, or empty
// 387's can handle denormals
SC18: fptan ;
fstp ST(0) ; // dump X, which is always 1
sahf ; // if (!(fp_status &amp; 0x20)) goto Lret
jnp Lret ; // C2 = 1: x is out of range, do argument reduction
fldpi ; // load pi
fxch ;
SC17: fprem1 ; // reminder (partial)
jp SC17 ; // C2 = 1: partial reminder, need to loop
fstp ST(1) ; // remove pi from stack
jmp SC18 ;
Lret: // No need to manually return anything as the value is already on FP stack
뒤에 조건 점프 관용구를 사용하여 x87 FPU 상태 워드 비트 C0 및 C2에 접근한다. 는 상태를 범용 레지스터에 저장하고, sahf는 FLAGS 레지스터를 레지스터의 상위 8비트로 설정하며, 점프는 FPU 상태 비트에 해당하는 플래그 비트를 판단하는 데 사용된다.
얀 초크랄스키(Jan Czochralski, 1885년 10월 23일 – 1953년 4월 22일)는 단결정 성장 및 반도체 웨이퍼 생산에 사용되는 초크랄스키법을 발명한 폴란드의 화학자이다. 이 방법은 현재 전 세계 반도체를 사용하는 모든 전자 제품의 90% 이상에서 여전히 사용되고 있다. 그는 가장 많이 인용된 폴란드 학자이다.
초크랄스키가 바르샤바 봉기 때까지 두 명의 유대인 여성을 독일인으로부터 구하기 위해 자신의 집에 숨겨주었다는 증거가 있으며, 그가 게토의 이전에 유대인이 소유했던 사업체를 재정적으로 돕는 데 중요한 역할을 했다는 증거도 있다.
초크랄스키는 당시 독일 제국 프로이센 포젠주의 크치니아 (현재 폴란드 크치니아)에서 태어났다. 1900년경 그는 베를린으로 이주하여 약학 분야에서 일했다. 그는 샤를로텐부르크의 베를린 공과대학교에서 교육을 받았으며, 그곳에서 금속 화학을 전공했다. 초크랄스키는 1907년 아에게에서 공학자로 일하기 시작했다.
그는 1916년에 잉크병 대신 녹은 주석 도가니에 실수로 펜을 담그면서 초크랄스키법을 발견했다. 그는 즉시 펜을 빼내어 펜촉에서 얇은 응고된 금속 실이 매달려 있는 것을 발견했다. 펜촉은 모세관으로 대체되었고, 초크랄스키는 결정화된 금속이 단결정임을 확인했다. 초크랄스키의 실험은 직경 1mm, 길이 최대 150cm의 단결정을 생산했다. 그는 1918년 독일 화학 저널인 "Zeitschrift für Physikalische Chemie"에 "Ein neues Verfahren zur Messung der Kristallisationsgeschwindigkeit der Metalle" [금속의 결정화 속도 측정에 대한 새로운 방법]이라는 제목으로 자신의 발견에 대한 논문을 발표했다. 당시 이 방법은 주석, 아연, 납과 같은 금속의 결정화 속도를 측정하는 데 사용되었기 때문이다. 1948년, 벨 연구소의 미국인 고든 K. 티얼과 J.B. 리틀은 이 방법을 사용하여 단일 저마늄 결정을 성장시켜 반도체 생산에 사용하게 되었다.
1917년 초크랄스키는 연구소 "Metallbank und Metallurgische Gesellschaft"를 설립하여 1928년까지 운영했다. 1919년 그는 독일 금속학회(Deutsche Gesellschaft für Metallkunde)의 창립 회원 중 한 명이었으며, 1925년까지 회장을 역임했다. 1924년 초크랄스키는 B-메탈로 알려진 합금에 대한 특허를 냈는데, 이는 값비싼 주석을 포함하지 않아 철도 차량용 베어링 제조에 완벽했다. 독일 철도청이 이 특허를 처음으로 구매한 기관이었다. B-메탈은 열차가 더 빠른 속도로 이동할 수 있게 해주었으며, 독일, 폴란드, 미국, 영국, 소련의 철도 운송 발전에 중요한 역할을 했다. 초크랄스키의 업적은 그에게 국제적인 인정을 가져다주었다. 1925년 그는 독일 금속학자 협회의 회장이 되었다. 그는 또한 헨리 포드의 초청으로 그의 공장을 방문하고 새로운 알루미늄 공장의 이사직을 제안받았지만, 초크랄스키는 거절했다.
1928년 폴란드 대통령 이그나치 모시치츠키의 요청으로 그는 폴란드로 이주하여 바르샤바 공과대학교 화학과의 금속공학 및 금속 연구 교수로 임명되었다. 그는 또한 그 대학의 명예 학위를 받은 최초의 인물 중 한 명이 되었다. 1930년대 그의 연구소는 군사 무기 및 일부 민간용 재료 연구에 사용되는 새로운 장비와 시설을 확보했다. 독일의 폴란드 침공 이후, 고위 독일 관리들이 그의 시설을 자신들의 목적으로 사용하기를 희망하며 그를 방문했다. 독일의 바르샤바 점령 기간 동안 인구에 대한 일상생활 제한이 더욱 강화되었지만, 초크랄스키는 대체로 방해받지 않고 살 수 있었다.
제2차 세계 대전 이후, 그는 전쟁 중 독일에 협력했다는 이유로 공산 정권에 의해 교수직을 박탈당했지만, 나중에 폴란드 법원에 의해 어떠한 불법 행위도 없었음이 밝혀졌다. 그는 고향인 크치니아로 돌아와 1953년 사망할 때까지 작은 화장품 및 가정용 화학 제품 회사를 운영했다.
그를 기념하기 위해 폴란드 여러 곳이 초크랄스키의 이름을 따서 명명되었는데, 그단스크, 포즈난, 비드고슈치, 브로츠와프와 같은 도시의 학교와 거리들이 그 예이다.
2004년 유럽 재료 연구 학회는 폴란드 과학자를 기리기 위해 재료과학 공헌자에게 수여하는 얀 초크랄스키 금메달을 제정했다.
2009년 포츠카 폴스카는 4종의 기념 우표를 발행했다. PLN 1.55권의 우표에는 초크랄스키가 그려져 있었다.
2012년 폴란드 하원은 2013년을 "얀 초크랄스키의 해"로 지정하는 결의안을 통과시켰다.
2016년 카토비체 실레시아 대학교의 우카시 카르보프스키와 아담 미츠키에비치 대학교의 안제이 무신스키가 이끄는 폴란드 광물학자 팀은 새로 발견된 광물인 초크랄스키석을 폴란드 화학자의 이름을 따서 명명했다. 이 광물은 모라스코 운석 자연 보호 구역에서 과학 연구 중에 발견되었다.
2018년 마체이 야신스키와 야첵 미할스키의 만화책 "얀 초크랄스키. 세상을 바꾼 사람 (폴란드어: "Jan Czochralski. Człowiek, który zmienił świat")"이 공식 출판되었다.
2019년 초크랄스키의 과학적 업적을 기리는 기념 IEEE 마일스톤 명판이 바르샤바 공과대학교에서 공식적으로 공개되었다.
2019년 토룬의 지식 혁신 센터 앞 광장이 초크랄스키를 기리기 위해 명명되었다.
얀 초크랄스키는 독일 시민권을 포기했다. 그의 형은 제2차 세계 대전 초기에 독일인들에게 살해당했다.
공리적 의미론(axiomatic semantics)은 수리논리학을 기반으로 컴퓨터 프로그램의 정확성을 증명하는 접근 방식이다. 이는 호어 논리와 밀접하게 관련되어 있다.
공리적 의미론은 프로그램 상태에 대한 단언에 미치는 영향을 기술함으로써 프로그램 내 명령의 의미를 정의한다. 단언은 논리적 진술, 즉 변수가 있는 술어이며, 변수는 프로그램의 상태를 정의한다.
데일리 빌드(daily build), 일일 빌드 또는 나이틀리 빌드(nightly build), 야간 빌드는 소프트웨어 시스템의 최신 버전에 대한 빌드로, 매일/야간 자동으로 실행된다.
이는 모든 필수 의존성이 존재하는지 확인하기 위해 먼저 컴파일될 수 있도록 하며, 버그가 발생하지 않았음을 보여주기 위해 테스트될 수도 있다. 데일리 빌드는 또한 최신 기능에 대한 피드백을 제공하기 위해 종종 공개적으로 제공된다.
이러한 맥락에서 빌드는 컴파일 및 링킹을 통해 프로그램을 구성하는 모든 파일을 합쳐서 만든 결과물이다. 데일리 빌드와 같은 규율적인 절차의 사용은 많은 프로그래머가 하나의 소프트웨어를 개발하는 대규모 조직에서 특히 필요하다. 데일리 빌드를 수행하면 개발자는 지난 하루 동안 자신의 작업으로 인해 새로운 버그가 발생했음을 합리적인 확실성으로 알면서 작업할 수 있다.
데일리 빌드에는 일반적으로 "스모크 테스트"라고 불리는 일련의 테스트가 포함된다. 이러한 테스트는 최신 빌드에 포함된 변경 사항으로 인해 무엇이 손상되었는지 파악하는 데 도움이 된다. 이 과정의 중요한 부분은 프로젝트가 진행됨에 따라 새롭고 수정된 테스트를 포함하는 것이다.
지속적 통합 빌드.
1990년대에는 데일리 빌드가 소프트웨어 개발의 모범 사례로 간주되었지만, 이제는 구식으로 여겨진다. 지속적 통합은 이제 거의 지속적으로 실행되며, 소스 코드의 마지막 변경 이후 일반적인 주기 시간은 약 20-30분이다. 지속적 통합 서버는 소스 코드 관리 시스템을 지속적으로 모니터링한다. 이러한 서버는 새로운 변경 사항을 감지하면 빌드 도구를 사용하여 소프트웨어를 재구축한다. 오늘날의 좋은 관행은 지속적 통합을 지속적 테스트의 일부로 사용하는 것이므로, 각 빌드마다 단위 테스트를 다시 실행하고, 빌드보다 시간이 더 오래 걸리는 광범위한 기능 테스트는 허용되는 빈도로 자주 수행한다.
지시자, 디렉티브(directive) 또는 프라그마(pargma, "실용적인"에서 유래)는 컴퓨터 프로그래밍에서 컴파일러(또는 다른 트랜슬레이터)가 입력을 처리하는 방법을 지정하는 언어 구성 요소이다. 프로그래밍 언어에 따라 지시자는 언어의 형식 문법의 일부일 수도 있고 아닐 수도 있으며 컴파일러마다 다를 수 있다. 이는 전처리기에 의해 처리되어 컴파일러 동작을 지정하거나 대역 내 매개변수화의 한 형태로 기능할 수 있다.
어떤 경우에는 지시자가 전역적인 동작을 지정하는 반면, 다른 경우에는 프로그래밍 코드 블록과 같은 로컬 섹션에만 영향을 미친다. 일부 C 프로그램과 같은 몇몇 경우에는 지시자가 선택적인 컴파일러 힌트이며 무시될 수 있지만, 일반적으로는 규범적이며 따라야 한다. 그러나 지시자는 언어 자체에서 어떤 동작도 수행하지 않으며, 단지 컴파일러의 동작에만 변경을 가한다.
이 용어는 기존 컴파일러, 어셈블러 및 개발 환경에 존재하는 언어 구성 요소를 확장하는 추가 실행 가능한 처리를 초래하는 코드에 포함된 독점적인 타사 태그 및 명령(또는 마크업)을 지칭하는 데 사용될 수 있다. "지시자"라는 용어는 "명령"이라는 용어와 유사한 다양한 방식으로도 적용된다.
C 전처리기.
C 및 C++에서 이 언어는 단순한 매크로 전처리기를 지원한다. codice_1 및 codice_2와 같이 전처리기가 처리해야 하는 소스 라인을 전처리기 지시자라고 한다.
C 샤프의 codice_3와 같이 C의 전처리기 지시자와 유사한 구문 구성 요소도 일반적으로 "지시자"라고 불리지만, 이러한 경우에는 실제 전처리 단계가 포함되지 않을 수도 있다.
codice_4(조건부 지시자 다음에 올 때)를 제외한 모든 전처리기 명령은 해시 기호(#)로 시작한다. C++26까지는 codice_5, codice_6, codice_7 키워드가 부분적으로 전처리기에 의해 처리되었다.
지시자는 JOVIAL에서부터 시작된다.
코볼에는 COPY 지시자가 있다.
ALGOL 68에서는 지시자를 ("실용적인"에서 유래)라고 부르며, pragmat 또는 pr로 표기한다. C와 같은 최신 언어에서는 이를 "pragma"로 줄여 쓴다('t' 없음).
ALGOL 68에서 프라그마트의 일반적인 용도는 "키워드가 어떻게 표시되는지"를 의미하는 스트로핑 체계를 지정하는 것이다. POINT, UPPER, RES(예약어) 또는 따옴표 체계를 지정하는 다양한 지시자가 뒤따른다. pragmat 키워드 자체(약어 pr)에 대한 스트로핑 사용에 주목하라. 이는 POINT 또는 따옴표 체계 중 하나에서 사용된다.
오늘날 지시자는 1970년대 초부터 시작되어 현재 C99 표준까지 이어진 C 언어에서 가장 잘 알려져 있으며, 여기서는 C 전처리기에 대한 명령이거나, codice_8 형식으로 컴파일러 자체에 대한 지시자이다. 아래를 참조하면 알 수 있듯이 최신 언어에서도 어느 정도 사용된다.
프리코드캠프(freeCodeCamp) 또는 프리 코드 캠프(Free Code Camp)는 인터랙티브 학습 웹 플랫폼, 온라인 커뮤니티 포럼, 채팅룸, 온라인 출판물 및 지역 조직으로 구성된 비영리 교육 단체이다. 이 단체는 누구나 소프트웨어 개발 및 컴퓨터 프로그래밍 학습에 접근할 수 있도록 하는 것을 목표로 한다.
학생들은 HTML, CSS, 자바스크립트, 파이썬, C 샤프 등을 소개하는 튜토리얼을 시작으로, 혼자 또는 짝을 지어 완료하는 프로젝트 과제를 수행한다.
퀸시 라슨과 pre-freeCodeCamp.
freeCodeCamp를 설립하기 전에 퀸시 라슨은 6년간 학교 교장을 지냈고, 학교를 더 효율적으로 만들기 위한 도구를 만들 수 있도록 코딩을 배우기 시작했다. 코딩 학습 여정은 길고 험난했으며 그는 새로운 개발자들을 위한 단일 트랙 커리큘럼의 필요성을 인식했다. 미국 코딩 부트캠프 데이터를 분석하고 코딩 교육이 얼마나 접근하기 어려운지 깨달은 후, 그는 동료 주도 학습을 위한 완전 온라인 포괄적인 무료 플랫폼을 만들기로 결심했고, 그 결과물이 바로 freeCodeCamp이다.
그는 현재 가족과 함께 텍사스주에 살고 있으며, freeCodeCamp 작업, freeCodeCamp 출판물을 위한 글쓰기 및 저자 인터뷰, 챕터(무료 오픈소스 밋업 대안)와 같은 오픈소스 프로젝트 조율, 자유롭고 개방적인 인터넷 옹호 및 두 어린 자녀들과 시간을 보내고 있다.
2014년 출시.
freeCodeCamp는 2014년 10월에 출시되었으며 Free Code Camp, Inc.로 법인화되었다. 설립자인 퀸시 라슨은 대학원 졸업 후 프로그래밍을 시작한 소프트웨어 개발자로, 초보자가 직업을 가질 수 있도록 학생들의 진도를 간소화하는 방법으로 freeCodeCamp를 만들었다.
2015년 팟캐스트 인터뷰에서 그는 freeCodeCamp를 만든 동기를 다음과 같이 요약했다. freeCodeCamp는 내가 코딩을 배운 극도로 비효율적이고 우회적인 방법을 바로잡으려는 나의 노력이다. 나는 이 과정을 가능한 한 효율적이고 고통 없이 만들고자 나의 경력과 남은 인생을 바치고 있다. [...] 코딩 학습을 악몽으로 만들었던 모든 것들을 freeCodeCamp로 해결하려고 노력하고 있다.
초기 커리큘럼은 몽고DB, Express.js, AngularJS, Node.js에 초점을 맞추었으며, 완료하는 데 800시간이 소요될 것으로 예상되었다. 많은 강의는 코드카데미, 스탠퍼드, Code School과 같은 다른 플랫폼의 무료 자료 링크였다. 이 과정은 "웨이포인트"(빠른 대화형 튜토리얼), "봉파이어"(알고리즘 챌린지), "집라인"(프론트엔드 프로젝트), "베이스점프"(풀스택 프로젝트)로 나뉘었다. 프론트엔드 및 풀스택 프로젝트를 완료하면 학생에게 각 인증서가 수여되었다.
2016년 커리큘럼 업데이트 및 개발자 설문조사.
커리큘럼은 2016년 1월에 외부 자료에 덜 의존하고, 비전통적인 섹션 이름을 제거하고, 프론트엔드 라이브러리를 AngularJS에서 React.js로 전환하도록 업데이트되었다. D3.js 및 Sass를 포함하여 몇 가지 과정이 추가되어 총 예상 시간이 2,080시간으로 늘어났고, 데이터 시각화 및 백엔드라는 두 가지 인증서가 추가되었다.
또한 2016년 freeCodeCamp는 약 15,000명의 개발자를 대상으로 기본적인 인구 통계 및 코딩 관련 질문에 대한 설문조사를 실시했다. 몇 가지 발견 사항에는 "18%만이 스타트업에서 일하고 싶다고 말했다"와 "38%는 UX, 백엔드 또는 기타 특정 분야를 전문으로 할 계획이 없다"는 내용이 포함된다.
2017년 팟캐스트 출시.
2017년 11월, freeCodeCamp는 팟캐스트를 출시했다. 2019년 11월부터 2023년 8월까지 잠시 중단된 후, 팟캐스트는 현재 매주 발행되며 2024년 10월 현재 146개의 에피소드를 보유하고 있다. 팟캐스트에는 조엘 스포스키 (트렐로 및 스택 오버플로의 창시자), 제프 앳우드 (스택 익스체인지 공동 설립자), 데이비드 J. 말란(CS50의 수석 강사)과 같은 유명한 게스트들이 출연했다.
2018년 코드 라디오 출시.
freeCodeCamp는 2018년에 인터넷 라디오 방송국인 코드 라디오를 출시했다. 처음에는 유튜브 라이브 스트림으로 시작하여 나중에 자체 웹사이트로 이동했으며, 더 빠르고 데이터 효율적일 것을 약속했다. 코드 라디오에서 스트리밍되는 음악은 기악 다운템포 장르이다.
자기 주도형 커리큘럼은 1,400시간의 대화형 코딩 챌린지 및 웹 개발 프로젝트와, 비영리 단체를 위한 오픈소스 프로젝트 기여 800시간으로 구성되어 있으며 지속적으로 더 많은 챌린지와 프로젝트로 확장되고 있다. 이는 약 1년간의 풀타임 코딩에 해당한다. 커리큘럼은 반응형 웹 디자인, 자바스크립트 알고리즘 및 자료 구조, 프론트엔드 라이브러리, 데이터 시각화, API 및 마이크로서비스, 정보 보안 및 품질 보증으로 나뉜다. 참가자는 각 섹션을 완료하면 인증서를 받는다.
커리큘럼은 페어 프로그래밍을 강조하며, 협업과 공유 학습 문화를 조성하여 학생들이 자신의 능력에 대한 의심(일반적으로 "가면현상"이라고 불림)을 극복하도록 돕는다.
freeCodeCamp에서 현재 가르치는 언어와 기술에는 HTML, PHP, CSS, 자바스크립트, jQuery, 부트스트랩, Sass, React.js, Node.js, 파이썬, Express.js, 몽고DB, SQL, Git이 포함된다.
2022년 10월 25일 freeCodeCamp의 8번째 생일을 기념하여 퀸시 라슨은 수학 및 컴퓨터 과학 분야의 공인 학위 프로그램이 현재 활발히 개발 중이라고 트윗을 통해 발표했다. 공식 출시 날짜는 아직 미정이다.
2023년, freeCodeCamp는 마이크로소프트와 협력하여 기초 C 샤프 인증을 개발했다.
2015년에 출시된 freeCodeCamp 유튜브 채널은 2024년 10월에 구독자 1천만 명을 달성했다. 이 채널에는 700개 이상의 무료 전체 프로그래밍 강좌가 포함되어 있으며, 매주 새로운 강좌가 게시된다.
비영리 활동.
2017년까지 freeCodeCamp 학생들은 커리큘럼의 모든 인증서를 완료하면 비영리 단체와 협력할 기회를 얻고 장려되었다. 예를 들어, 인도네시아 기반 비영리 단체인 코페르니크와 People Saving Animals가 있다.
2016년 freeCodeCamp는 "Open Source for Good" 이니셔티브를 발표했는데, 이는 비영리 활동을 모든 비영리 단체 및 조직이 사용할 수 있도록 확장하고 오픈소스로 공개하는 것이다. 출시 10개월 이내에 이 이니셔티브는 7가지 오픈소스 도구를 만들었다. Mail for Good는 조직이 저렴한 비용으로 대량 이메일 메시지를 보낼 수 있도록 돕는 프로젝트 중 하나로, 메일침프와 같은 서비스의 더 저렴한 대안 역할을 한다.
"Open Source for Good" 디렉토리에 나열된 세 가지 프로젝트는 모두 2020년에 깃허브에 보관되었다.
freeCodeCamp 플랫폼은 한 달에 약 35만 명의 고유 방문자가 사용하며, 160개국 이상에서 온 학생들이 참여하고 있다.
freeCodeCamp에는 학생들이 직접 교류할 수 있는 국제적인 커뮤니티 운영 그룹이 있다. 일부 그룹은 지역 뉴스에 보도되었으며, 다음 10년간 프로그래밍 관련 직업의 예상 공석을 채우기 위해 freeCodeCamp를 프로그래밍 입문 과정으로 언급했다.
다른 기술 회사들은 freeCodeCamp를 "세계적 수준의 학습 플랫폼을 갖춘 유명 자선 단체"이자 "훌륭한 유튜브 채널을 운영하며 시작하기에 좋은 곳"이라고 설명했다.
하루니시온()는 일본의 6인조 아이돌 걸 그룹이다.
함수 원형 또는 함수 프로토타입, 펑션 프로토타입(function prototype)은 컴퓨터 프로그래밍에서 함수 이름을 지정하는 선언과 형식 시그니처(항수 (수학), 매개변수의 자료형 및 반환형)를 지정하지만, 함수 본문은 생략한다. 함수 정의는 함수가 어떻게 동작하는지("구현")를 지정하는 반면, 함수 원형은 단순히 해당 인터페이스, 즉 어떤 데이터 형식이 들어가고 나오는지 지정한다. "함수 원형"이라는 용어는 특히 C 및 C++ 프로그래밍 언어에서 사용되는데, 전방 선언을 헤더 파일에 배치하여 프로그램을 번역 단위로 분할할 수 있게 한다. 즉, 컴파일러가 개별적으로 오브젝트 파일로 번역하고, 링커에 의해 실행 파일 또는 라이브러리로 결합될 수 있는 부분으로 분할한다. 함수 선언은 함수 정의보다 먼저 나오며, 이름, 반환형, 저장 클래스 및 기타 관련 속성에 대한 세부 정보를 제공한다.
함수 원형은 다음 중 하나의 경우에 사용될 수 있다.
원형에서 매개변수 이름은 선택 사항이며(C/C++에서는 함수 원형 영역을 가지며, 해당 영역은 원형 끝에서 끝난다), 그러나 형식은 모든 한정자와 함께 필요하다(예: 포인터 또는 매개변수에 대한 참조인 경우). 단독 는 제외한다.
객체 지향 프로그래밍에서 인터페이스와 추상 메서드는 거의 동일한 목적을 수행한다.
다음 함수 원형을 고려한다.
void sum(int a, int b);
또는, 이름 지정된 매개변수 없이:
void sum(int, int);
또는, 후행 반환형과 함께 (C++ 전용):
auto sum(int, int) -&gt; void;
함수 원형에는 함수 시그니처, 함수 이름, 반환형 및 접근 지정자가 포함된다. 이 경우 함수 이름은 "sum"이다. 함수 시그니처는 매개변수의 수와 해당 유형을 정의한다. 반환형은 "void"이다. 이는 함수가 어떤 값도 반환하지 않을 것임을 의미한다. 첫 번째 예시의 매개변수 이름은 선택 사항이다.
C 초기 버전에서는 함수가 이전에 선언되지 않았고 이름이 왼쪽 괄호 뒤에 표현식에 나타나면, codice_1를 반환하는 함수로 암시적으로 선언되었으며 인수에 대해서는 아무것도 가정되지 않았다. 이 경우 컴파일러는 인수의 수와 유형에 대한 컴파일 시간 유효성 검사를 수행할 수 없었다.
C99 표준은 원형 사용을 요구한다.
// Function prototype
char myFunction(int a);
putchar(myFunction(-1)); // Correctly formatted call
putchar(myFunction(1.5)); // Compiler warning: type mismatch
putchar(myFunction("IncorrectArgType")); // Compiler warning: type mismatch
putchar(myFunction()); // Compiler error: too few arguments
// Although adding 1 to INT_MAX is an integer overflow error,
// it cannot be detected at compile time
putchar(myFunction(INT_MAX + 1));
// Function definition
char myFunction(int n) {
if (n &gt; 0) {
return '&gt;';
} else if (n &lt; 0) {
return '&lt;';
return '=';
함수 은 정수 인수로 호출될 것으로 예상한다. 함수 원형을 포함함으로써, 함수가 하나의 정수 인수를 취함을 컴파일러에 알리고 컴파일러가 잘못 지정된 호출을 잡을 수 있도록 한다.
라이브러리 인터페이스 생성.
헤더 파일에 함수 원형을 배치함으로써 라이브러리에 대한 인터페이스를 지정할 수 있다.
클래스 선언.
C++에서는 함수 원형이 클래스 정의에서도 사용된다.
C 프로그래밍 언어(The C Programming Language, 저자의 이니셜을 따서 K&amp;R)는 브라이언 커니핸과 데니스 리치가 쓴 컴퓨터 프로그래밍 책이다. 데니스 리치는 C 프로그래밍 언어를 처음으로 설계하고 구현했으며, 언어 개발과 밀접하게 연관된 유닉스 운영체제를 공동 설계했다. 이 책은 C 언어의 개발과 대중화에 중요한 역할을 했으며, 오늘날에도 널리 읽히고 사용되고 있다. 이 책이 원본 언어 설계자에 의해 공동 저술되었고, 초판이 수년 동안 언어의 데 팍토 표준 역할을 했기 때문에 많은 사람들이 이 책을 C 언어에 대한 권위 있는 참고 자료로 여겼다.
C는 1970년대 초 벨 연구소의 데니스 리치가 켄 톰프슨의 B 언어의 확장 버전으로 만들었다.
또 다른 벨 연구소 직원인 브라이언 커니핸은 최초의 C 튜토리얼을 작성했으며,
그는 리치를 설득하여 언어에 대한 책을 공동 저술하게 했다.
커니핸은 책의 "설명" 자료 대부분을 썼고, 리치의 참고 매뉴얼은 부록이 되었다.
1978년 2월 22일에 출판된 초판은 C 프로그래밍 언어에 대한 최초의 널리 사용 가능한 책이었다. 이 버전의 C는 때때로 K&amp;R C(책의 저자를 따서)라고 불리며, 이 초기 버전을 나중에 ANSI C로 표준화된 C 버전과 구별하기 위해 사용된다.
1988년 4월, 책의 두 번째 판본이 출판되었는데, 당시 새로운 ANSI C 표준으로 인해 언어에 생긴 변경 사항, 특히 표준 라이브러리에 대한 참조 자료를 포함하도록 업데이트되었다. 이 책의 두 번째 판본(2024년 기준 최신판)은 20개 이상의 언어로 번역되었다. 2012년에는 두 번째 판본의 전자책 버전이 ePub, Mobi, PDF 형식으로 출판되었다.
C는 1989년(ANSI X3.159-1989로)에 처음 표준화되었으며 그 이후로 여러 차례 개정되었다. 그러나 최근 표준을 다루는 새로운 판본의 C 프로그래밍 언어는 발행되지 않았다.
바이트 잡지는 1983년 8월 "[The C Programming Language]는 C 언어에 대한 결정적인 저서이다. 이 책을 읽기 전에는 더 이상 읽지 마라!"고 평가했다. 제리 푸어넬은 그해 잡지에서 이 책이 "여전히 표준 ... 다소 간결하다"고 썼다. 그는 이어서 "커니핸과 리치 없이 C 언어를 배울 수도 있지만, 그것은 어려운 방법이다. C에 대해 이 책만 산다면 너무 힘들게 일하는 것이다."라고 말했다.
The C Programming Language는 명확한 표현과 간결한 처리로 테크니컬 라이팅의 모델로 자주 언급되었다. 예제는 일반적으로 언어의 일상적인 사용에서 접할 수 있는 완전한 프로그램으로 구성되며, 시스템 프로그래밍에 중점을 둔다. 저자들은 다음과 같이 썼다.
이 책은 최소한의 C 프로그램을 보여주기 위해 "hello, world"라는 텍스트만 출력하는 "Hello, World!" 프로그램을 소개했다. 그 이후로 많은 텍스트가 프로그래밍 언어를 소개하는 데 이 관례를 따르고 있다.
ANSI C가 등장하기 전에는 초판 텍스트가 C 컴파일러 개발자들에게 사실상의 언어 표준으로 사용되었다. ANSI C 표준화와 함께 저자들은 컴파일러 개발자가 아닌 프로그래머를 위해 두 번째 판을 더욱 의식적으로 작성했으며, 다음과 같이 썼다.
"C 프로그래밍 언어"가 대학 및 산업계에서 C를 처음 접한 프로그래머 세대에 미친 영향으로 인해 많은 사람들이 저자의 프로그래밍 스타일과 관례를 규범적인 실천은 아니더라도 권장되는 실천으로 받아들이게 되었다. 예를 들어, 책의 두 판에 제시된 프로그램의 코딩 및 서식 스타일은 종종 "K&amp;R 스타일"이라고 불리며 유닉스 및 리눅스 커널의 소스 코드에서 관례적으로 사용되는 코딩 스타일이 되었다.
린디 효과(Lindy effect, 린디의 법칙, Lindy's law)는 기술이나 아이디어처럼 영구적이지 않은 어떤 것의 미래 수명이 현재 나이에 비례한다는 이론화된 현상이다. 따라서 린디 효과는 어떤 것이 현재까지 존재하거나 사용된 기간이 길수록 남은 수명이 길어진다고 제안한다. 장수는 변화, 노후화 또는 경쟁에 대한 저항을 의미하며, 미래에도 계속 존재할 가능성이 크다. 린디 효과가 적용되는 경우, 사망률은 시간이 지남에 따라 감소한다. 수학적으로, 린디 효과는 파레토 확률 분포를 따르는 수명에 해당한다.
이 개념은 뉴욕시에 있는 린디스 식당의 이름을 따서 명명되었는데, 이곳에서 희극 배우들이 이 개념을 비공식적으로 이론화했다. 즉, 2주 동안 공연된 쇼는 추가로 2주 동안 지속될 것으로 예상되는 반면, 2년 동안 지속된 쇼는 추가로 2년 동안 지속될 것으로 예상된다. 린디 효과는 나중에 수학자와 통계학자들에 의해 이론화되었다. 나심 니컬러스 탈레브는 린디 효과를 "흡수 장벽으로부터의 거리"라는 용어로 설명했다.
린디 효과는 책과 같이 "피할 수 없는 만료일"이 없는 비영구적인 품목에 적용된다. 예를 들어, 인간은 영구적이지 않다. 선진국의 출생 시 기대 수명은 약 80년이다. 따라서 린디 효과는 개별 인간의 수명에 적용되지 않는다. 다른 모든 조건이 동일하다고 가정할 때, 10세 인간이 다음 해에 사망할 가능성은 100세 인간보다 적지만, 린디 효과는 그 반대를 예측할 것이다.
이 용어의 기원은 앨버트 골드만과 1964년 더 뉴 리퍼블릭에 기고한 "린디의 법칙"이라는 기사로 거슬러 올라간다. 린디라는 용어는 뉴욕의 린디스 델리카트슨을 의미하며, 그곳에서 희극 배우들이 "매일 밤 모여 최근 쇼 비즈니스 '활동'에 대한 사후 분석을 수행"했다. 이 기사에서 골드만은 뉴욕시 미디어 관찰자들 사이에서 희극 배우들이 가진 자료의 양이 일정하므로, 출력 빈도가 그들의 시리즈가 얼마나 오래 지속될지 예측한다는 민속적 믿음을 설명한다.
브누아 망델브로는 1982년 그의 저서 자연의 프랙탈 기하학에서 같은 이름으로 다른 개념을 정의했다. 망델브로의 버전에서 희극 배우들은 TV 출연에 걸쳐 퍼뜨릴 코미디 자료의 양이 고정되어 있지 않지만, 오히려 더 많이 출연할수록 미래 출연을 더 많이 할 것으로 예측된다. 망델브로는 인간의 약속처럼 생산자의 수명에 의해 제한되는 특정 것들에 대해 미래 기대 수명이 과거에 비례한다는 것을 수학적으로 표현했다. 그는 린디의 법칙과 젊은 시인들의 묘지에 대한 비유를 언급한 다음 연구원과 그들의 출판물에 적용한다. "어떤 사람의 과거 수집된 작품이 아무리 길어도 평균적으로 동일한 양만큼 더 계속될 것이다. 결국 멈출 때, 그것은 약속의 정확히 절반에서 중단된다."
나심 니컬러스 탈레브의 2012년 저서 안티프래질: 무질서로부터 이득을 얻는 것들에서 그는 처음으로 자신의 아이디어를 린디 효과라고 명시적으로 언급했으며, 자연적 상한이 없는 모든 것을 포함하도록 생산자의 수명이라는 한계를 제거하고 이를 그의 광범위한 안티프래질 이론에 통합했다.
탈레브에 따르면, 망델브로는 린디 효과의 확장된 정의에 동의했다. "나 [탈레브]는 영구적/비영구적 경계를 제안했고 그 [망델브로]는 비영구적인 것이 멱법칙 분포를 따르는 반면 영구적인 것(초기 린디 이야기)은 단순한 비유로 작동한다는 데 동의했다."
탈레브는 스킨 인 더 게임에서 이 용어를 더욱 정의했으며, 린디를 취약성, 무질서, 시간과 연결했다. 탈레브에게 "취약성의 이론은 린디 효과로 직접 이어진다"고 말하며, 그는 "취약성을 무질서에 대한 민감성"으로 정의하고 "시간은 무질서와 동등하며, 시간의 파괴에 대한 저항, 즉 우리가 영광스럽게 생존이라고 부르는 것은 무질서를 다루는 능력"이라고 말한다. 시간이 "스킨 인 더 게임"을 통해 작동하기 때문에, 탈레브는 "살아남은 것들은 우리에게 '사후적으로' 어떤 강건함을 가지고 있다는 것을 암시한다"고 믿는다. 따라서 그는 "사물을 판단하는 유일한 효과적인 심판은 시간"이라고 결론짓고, 이는 그의 견해에서 "오래된 메타 질문: 전문가를 누가 판단할 것인가? 경비원을 누가 지킬 것인가? [...] 글쎄, 생존이 그럴 것이다"에 답한다고 말한다. 그는 린디 효과 자체가 "린디-증명"이라고 덧붙이며, 소크라테스 이전 철학자 페리안드로스의 말("오래된 법을 사용하되 신선한 음식을 먹어라")과 카스티야의 알폰소 10세의 말("오래된 통나무를 태워라. 오래된 와인을 마셔라. 오래된 책을 읽어라. 오래된 친구를 유지하라.")을 인용한다.
린디 효과의 현대적 지지자로는 트위터 사용자 LindyMan으로 알려진 Paul Skallas와 앤드리슨 호로위츠의 공동 창업자인 마크 앤드리슨이 있다. Skallas는 린디 효과에서 영감을 받은 생활 방식을 홍보하는데, 이는 그리스 철학자 플루타르코스와 가톨릭 신학자 토마스 아퀴나스와 같은 지중해 작가들과 지중해 사람들의 추정되는 생활 방식이 혼합된 절충적인 조합이다. 뉴욕 타임스에 기고한 에즈라 마커스는 Skallas의 린디 효과에 대한 접근 방식이 다이어트, 데이트, 운동과 같은 생활 방식 주제에 초점을 맞추어 탈레브의 통계 분석과 다르다고 언급한다. Skallas는 아직 내구성을 입증하지 못한 신제품과 새로운 아이디어에 대한 회의론을 옹호한다. Skallas는 문화적 장수가 도덕적 가치를 의미하지 않는다는 것을 인정하며, 예를 들어 제프리 엡스타인과 같은 부유한 남성의 성적 학대도 "린디"라고 지적한다.
수학적으로, 린디 효과에 의해 가정된 관계는 물체(예: 코미디 쇼)의 수명에 해당하는 확률 변수 T에 대한 다음 진술로 표현될 수 있으며, 이는 formula_1 (하한 formula_2 포함) 범위의 값을 취한다고 가정한다.
여기서 좌변은 formula_4가 formula_5를 초과했을 때 남은 수명 formula_6의 조건부 기대값을 나타내고, 우변의 매개변수 formula_7 (Iddo Eliazar가 "린디 비율"이라고 부름)는 양의 상수이다.
이는 T의 생존 함수가 다음과 같다는 것과 동일하다.
이는 위험 함수를 갖는다.
이는 수명 formula_4가 지수 formula_11을 가진 파레토 분포 (멱법칙 분포)를 따른다는 것을 의미한다.
그러나 역으로, 지수 formula_12를 가진 파레토 분포만이 린디의 법칙을 만족하는 수명 분포에 해당하는데, 이는 린디 비율 formula_7가 양수이고 유한해야 하기 때문이다 (특히, 수명 formula_4는 유한한 기대값을 가진다고 가정한다). Iddo Eliazar는 남은 수명 formula_6의 평균 (기대값) 대신 중앙값을 포함하는 린디의 법칙의 대체 공식을 제안했으며, 이는 가능한 파레토 지수의 전체 범위 formula_16를 가진 수명 formula_4에 대한 파레토 분포에 해당한다. Eliazar는 또한 지프의 법칙 및 사회경제적 불평등과의 관계를 입증하며, "린디의 법칙, 파레토의 법칙, 지프의 법칙은 사실상 동의어 법칙이다"라고 주장했다.
보멀 효과(Baumol effect, 바우몰 효과, 보몰 효과) 또는 보멀의 비용 질병(Baumol's cost disease)은 경제학에서 1960년대 윌리엄 J. 보멀과 윌리엄 G. 보웬이 처음으로 설명했다. 이는 노동 생산성이 거의 또는 전혀 증가하지 않은 직종의 임금이, 높은 생산성 성장을 경험한 다른 직종의 임금 상승에 따라 상승하는 경향을 말한다. 결과적으로 이러한 경제 부문은 생산성은 증가하지 않지만 투입 비용이 증가하기 때문에 시간이 지남에 따라 더 비싸진다. 일반적으로 이는 제조업 제품보다 서비스, 특히 의료, 교육, 예술 및 문화에 더 큰 영향을 미친다.
이 효과는 교차탄력성의 한 예이다. 생산성 향상 없이 임금이 오르는 것은 생산성 향상을 경험하여 자연스럽게 더 높은 임금을 지불할 수 있는 직업과 경쟁해야 하기 때문이다. 예를 들어, 소매 부문이 관리자에게 낮은 임금을 지불한다면, 그 관리자들은 자동차 부문에서 더 높은 임금을 받을 수 있는 직업을 찾기 위해 그만둘 수도 있다. 따라서 소매 관리자의 급여는 소매 부문의 노동 생산성 증가 때문이 아니라, 다른 산업의 생산성 증가와 그에 따른 임금 증가 때문에 상승한다.
보멀 효과는 여러 중요한 경제 발전을 설명한다.
보멀은 경제 부문 간의 생산성 성장 차이를 불균형 성장이라고 언급했다. 부문은 생산성 성장에 따라 진보적이거나 비진보적으로 구분될 수 있다. 그 결과 발생하는 탈공업 사회, 즉 대부분의 노동자가 3차 부문에 고용되는 경제로의 전환을 3차 산업화라고 부른다.
노동 생산성 증가는 임금 상승으로 이어지는 경향이 있다. 그러나 생산성 성장은 경제 전체에 걸쳐 균일하지 않다. 일부 부문은 높은 생산성 성장을 경험하는 반면, 다른 부문은 거의 또는 마이너스 생산성 성장을 경험한다. 그럼에도 불구하고 임금은 높은 생산성 성장을 보인 부문뿐만 아니라 생산성 성장이 거의 없거나 전혀 없는 부문에서도 상승하는 경향이 있었다.
미국 경제학자 윌리엄 J. 보멀과 윌리엄 G. 보웬은 생산성 정체 부문의 임금이 생산성 성장이 높은 부문과 노동자를 놓고 경쟁해야 하는 필요성 때문에 상승한다고 주장했다. 생산성 성장이 높은 부문은 가격을 올리지 않고도 임금을 인상할 여력이 있다. 노동 비용이 증가하지만 생산성 증가는 거의 없는 부문은 생산 비용이 증가하는 것을 보게 된다. 1967년 논문에서 보멀은 다음과 같이 요약했다.
만약 한 부문의 시간당 생산성이 경제의 다른 부문에 비해 누적적으로 증가하고, 동시에 모든 부문에서 임금이 비례적으로 상승한다면, 비진보적 부문의 상대 비용은 필연적으로 상승할 것이고, 이러한 비용은 누적적으로 무한히 증가할 것이다... 따라서 기술적으로 진보적인 부문의 발전 그 자체가 기술적으로 변하지 않는 경제 부문의 비용을 필연적으로 증가시킨다. 이들 지역의 노동 시장이 봉쇄되어 임금이 절대적으로 일정하게 유지되지 않는 한, 이는 거의 불가능한 일이다.
장 푸라스티에: 경제 부문의 불균형 성장.
다양한 시계열 가격을 연구하면서 장 푸라스티에는 여러 산업에서 기술 발전이 고르지 않다는 것을 발견했다.그러나 중요한 것은 경제 활동의 매우 큰 부문들이 기술 발전의 영향을 거의 받지 않았다는 점이다. 예를 들어, 남성 이발사는 1948년에 1900년보다 더 많은 고객의 머리카락을 자르지 않았다. 전체 직업들이 1900년부터 1930년까지 작업 방식을 바꾸지 않았다. (…). (1949: 27).그는 이것이 경제에서 서비스의 비중을 점진적으로 증가시키고, 그 결과 탈공업 사회로 이어질 것이라고 예측했다.(…) 2차 생산의 절대량은 계속 증가한다. 그러나 특정 경제 발전 단계부터는 이러한 성장하는 생산량의 가치가 전체 국민 생산량에 비해 감소한다. 따라서 3차 가치가 경제 생활을 침범한다. 그렇기 때문에 기술 진보 문명은 3차 문명이 될 것이라고 말할 수 있다. (1949: 59)
2003년 논문에서 보멀은 "분석의 기원은 푸라스티에 (1963)를 참조하라"고 언급했다. 이는 푸라스티에 1949년 논문의 재인쇄본이다.
알쿠프, A., &amp; 르 브리, D. (2020). 장 푸라스티에의 발전 이론에서 기술 진보와 구조 변화. 정치경제학사, 52(1), 101-133을 참조하라.
보멀과 보웬: 생산성 정체에도 불구하고 임금 상승.
보멀 효과에 대한 원래 연구는 공연 예술 부문을 대상으로 수행되었다. 미국 경제학자 보멀과 보웬은 1965년에 "표준 콘서트홀에서 슈베르트 사중주를 연주하는 바이올리니스트의 시간당 생산량은 비교적 고정되어 있다"고 말했다. 다시 말해, 그들은 고전 음악 공연의 생산성이 증가하지 않았다고 말했다. 그러나 19세기 이래로 음악가들의 실질 임금은 상당히 증가했다. 갬블링과 앤드류스는 1984년에 공연장의 크기가 커질수록 생산성이 실제로 증가한다는 점을 지적했다. 더욱이 그린필드는 1995년에 확성, 녹음 및 방송의 발전으로 인해 훨씬 더 많은 사람들이 공연을 듣게 되어 생산성이 여러 배 증가했다고 지적했다.
가격 및 생산량.
기업은 보멀 효과로 인한 노동 비용 증가에 다양한 방식으로 대응할 수 있다.
보멀 효과의 중요한 의미는 기술 발전이 있는 세상에서는 제조업 제품의 비용이 감소하는 경향이 있는 반면(제조업 생산성이 지속적으로 증가하기 때문에), 교육, 법률 서비스, 의료와 같은 노동 집약적 서비스의 비용은 증가하는 경향이 있을 것이라는 예상이다(차트 참조).
미국 경제학자 윌리엄 노드하우스의 2008년 연구는 기술적으로 정체된 부문에서 "보멀형 질병"이 "상대 가격 상승과 상대 실질 생산량 감소"로 이어졌다고 결론지으며 이를 보여주었다. 가격 측면에서 노드하우스는 1948년부터 2001년까지 미국에서 "생산성 추세가 거의 퍼센트 포인트 단위로 가격 하락과 관련이 있다"는 것을 보여주었다. 따라서 생산성 성장이 낮은 산업은 상대가격이 증가하는 것을 보였고, 노드하우스는 "느린 생산성 성장으로 인한 비용-가격 질병 가설은 역사적 데이터에 의해 강력히 뒷받침된다. 상대적으로 생산성 성장이 낮은 산업은 상대 가격에서 퍼센트 포인트 단위로 더 높은 성장을 보인다"고 결론지었다. 실질 생산량에 대해서도 유사한 결론이 나왔다. "실질 생산량/정체 가설은 강력히 확인되었다. 기술적으로 정체된 산업은 기술적으로 역동적인 산업보다 실질 생산량에서 더 느린 성장을 보였다. 1퍼센트 포인트 더 높은 생산성 성장은 4분의 3퍼센트 포인트 더 높은 실질 생산량 성장과 관련이 있었다."
감당 능력 및 불평등.