프로그래밍 용어 "문자열"의 기원은 인쇄 된 재료의 길이 (피트)를 기준으로 프린터가 충전 될 때 타이포그래피 시대와 관련이있는 것으로 여겨집니다. 그들은 인쇄 된 자료를 함께 묶고 "문자열"이라는 단어를 사용하여 문자 순서를 나타냅니다.
1940 년대와 1950 년대에 출판 된 논문에서 에서, "문자열"을 사용하여 현대 프로그래밍과 유사한 의미를 표현하는 가장 초기의 학문적 참조가 발견되었습니다. 이 초기 사용법은 구두점 또는 공백 사이의 동일한 기호 또는 연속 문자열의 시퀀스를 나타냅니다.
오늘날 프로그래밍에서 우리가 알고있는 "문자열"(문자열)이라는 용어는 1960 년대에 확립 된 것으로 보이며 다양한 학술 논문과 자원에 나타납니다. 그것은 의미를 가진 일련의 문자를 나타내며 타이포그래피 시대의 사용법과 유사한 비용을 가져 오는 데 사용됩니다.
"String "(String)이라는 용어는 실제 세계에서 동등한 단어가 없지만 (우리는 페이지의 텍스트를"문자열 "이라고 부르지는 않지만, 컴퓨터 과학에서 일반적으로 이해되는 용어가되었지만 인기있는 데이터 유형. 저자는이 용어 보다이 데이터 유형에 더 적합한 다른 용어가 없을 수 있다고 생각합니다.
이것은 Sitepoint PHP 뉴스 레터의 7 월 25 일판 편집입니다.
문자열이 문자열이라고 불리는 이유는 무엇입니까? 이 질문에 대해 생각한 적이 있습니까? 프로그래밍 외에도, 우리는 다른 맥락에서 그러한 단어를 사용하여 함께 붙어있는 문자 세트를 표현한 적이 없습니다. 그러나 프로그래밍에서는“변수”라는 단어만큼 일반적입니다. 왜 이것이 어디에서 왔습니까?
를 알아 내려면 먼저 관련 용어를 해결해야합니다. 역사 수업 시간!
word font
(font)는 프랑스어 font 리드 파운드리 에서 녹았다는 점을 감안할 때, 이것은 의미가 있습니다.
대문자 (대문자) 및 소문자 (소문자)는 글꼴 운송에 사용되는 글꼴 박스의 문자 부분을 나타냅니다. 따라서 프린터 (MAN)에는 그가 그와 함께 가지고 있거나 프레스에 놓는 무거운 글꼴 상자가 있으며, 여기에는 두 개의 "레벨" - 하나의 대문자 문자 상자와 1 개의 소문자 문자 상자가 있습니다. 대문자 상자에는 대문자 만 포함되어 있습니다. 대문자는 대문자를 포함하고, 소문자는 소문자 만 포함되어 있습니다.
당신은 대문자보다 소문자가 더 많다는 것을 알게 될 것입니다. 이것은 예상됩니다 - 문자는 페이지에서 한 번만 사용할 수 있습니다. 결국 YouTube 주석과 케이스 잠금 장치가 없었기 때문에 대문자보다 서면 텍스트로 더 많은 소문자가 있습니다.
그렇다면이 모든 것이 줄과 어떤 관련이 있습니까?
인쇄가 더욱 주류가되면서 인쇄물의 길이 (피트)에 따라 청구하기로 결정한 신문과 출판사뿐만 아니라 개인에게 서비스를 제공하기 시작했습니다. 물론 많은 사람들이 투기 적이지만, 인쇄 된 자료를 함께 생산 한 자료를 묶으면 비용을 쉽게 추정하고 고객을 청구 할 수 있습니다. 그러므로 우리는 그들이
string
(문자열)를 사용 하여이 경우 일련의 문자를 나타내는 것을 확실하게 결론을 내릴 수 있습니다.
2017 년 7 월 26 일 편집 : 아래 주석에서 지적했듯이, 어셈블리 후 프레스에 배송되므로 캐릭터 블록을 함께 묶을 수있는 실제 로프가있는 것 같습니다! 트위터 팬은 심지어 프로세스를 보여주는 다음 비디오를 보냈습니다!
그럼에도 불구하고, 이것은 프로그래밍 분야와 어떤 관련이 있습니까? 내 말은, 당신은 에 대한 문자열을 말할 수 있습니다. 는 비 프로그래밍 세계에서 어떤 의미가있을 것입니다. 일반적으로 사용되지 않더라도 사물에 쉽게 적용 할 수있는 단어 일뿐입니다. 첫 번째 참조의 학술 공동체의 기록을 보면 어떻게해야합니까?
1944 년 "재귀 적 열거 가능한 긍정적 인 정수 세트와 그 결정 문제"에서, 우리는 현대의 정의와 거의 유사 할 수있는 것을 언급했다 : .
작업 목적으로, 우리는 문자 6을 소개하고 11B1BB1과 같은 "문자열"1 및 B를 고려합니다.
이 논문 에서이 용어는 동일한 기호의 시퀀스를 의미하므로 1의 문자열 또는 b의 문자열입니다. 이것은 우리의 정의에 정확히 맞지 않지만 시작일뿐입니다.
14 년 후, 1958 년의 "기계적 번역을위한 프로그래밍 언어"에서이 단어는 이런 식으로 만 사용되었습니다.
좋아요, 우리의 끈 개념과 조금 비슷하지만, 그가 단지 묘사하고있는 것처럼 보입니다. 분명히, 이것은 적용되지 않습니다 - 너무 일반적입니다. 그러나 어떤 이유로 든 인기가있는 것 같습니다.
1958 년의 "기호 문자열을 처리하기위한 명령 언어"에서 문자열 (문자열)는 오늘날 우리와 같은 방식으로 정확히 사용됩니다. 우리는 1959 년 "기계적 번역을위한 comit 시스템"에서 또 다른 참조를 발견했습니다.
우리가 d sin (f)를 cos (f) d (f)로 바꾸고 싶다면 f가 제한되지 않고 임의의 구성 요소 시퀀스가 될 수 있다면 기호 $를 사용 하여이 문자열을 나타냅니다.
재미! 이것은 우리 모두가 PHP에서 알고있는 달러 표시이며, 실제로는 기본의 문자열 사인입니다.
또한 1959 년에 "Share 709 System : Symbol Programming의 기계 구현"에서보다 직접적인 정의를 얻었습니다.
텍스트는로드 및 리스팅 중에 필요한 다른 정보를 나타내는 선형 정렬 된 비트 문자열입니다.
사실, 1960 년 4 월 조류를 통해 끈이 현대의 약어 양식 "문자열"을 취하는 것처럼 보였습니다 (이 전에는 사람들이
something )을 말했습니다. 이 논문의 초록을 참조하십시오.
그런 다음 1960 년 5 월 알고리즘 언어 Algol 60에 대한 보고서는 핵심 내용을 만지는 형태로 언급했습니다.
그 이후로, 그것은 현대 밈만큼 빨리 퍼졌습니다.
.
1964 년 "임의 인코딩 알파벳의 선언에 대한 1964 년"문자열 "을 언급했습니다. 검색 ACM은 1960 년대와 그 이후의 다른 많은 자원을 보여줍니다. 모두 이제 정기적 으로이 용어를 사용하므로 1960 년대는이 용어의 진화를위한 촉매제로 보이며 오늘날 천천히, 천천히 그대로 만들어줍니다. 시스템이 필요합니다. 흥미롭게도, 그것은 궁극적으로 타이포그래피 시대와 비슷한 개념을 나타냅니다. 의미를 가진 일련의 캐릭터 세트 (이번에는 메모리에서만).
부수적으로 - 60 년 전의이 모든 논문을 고려하십시오. 60 년 전, 그들은 천공 된 카드를 사용하여 컴퓨터 과학 문제를 해결하고 학술 논문에 썼습니다. 그리고 우리는 2017 년에 2017 년 JavaScript 프레임 워크를 통해 Drupal의 공동체에서 누구와 섹스를 할 수 있는지에 대해 논쟁하고 그 단어를 계속해서 다시 정의하려고 노력합니다. 우리가 현대적인 웹 개발 된“물건이 상자에 들어가고, 상자에서 나온 것”의 로켓 과학에 대해 논쟁 할 때, 그 사람들은 작은 압박을 부정 행위함으로써 그들이있는 아날로그 환경을 디지털로 변형시켜 전 세계를 형성합니다. 모래는 숫자를 기억합니다.
결론
그래서 이제 우리는 문자열
(문자열)가 나온다는 것을 알고 있습니다. 컴퓨터 과학은 항상 인간의 눈이 과거에 반 단계와 반 눈을 가지고 있다는 것을 알고있는 것처럼 항상 미스터리와 느린 진화로 가득 찬 어두운 공간이었습니다. 그들이 오늘 우리가 가진 것을 줄 때까지. 같은 이름의 같은 개념은 1960 년대에 여러 곳에서 우리 모두가 이해하고 사용했던 통일 된 용어로 발전 할 때까지 여러 곳에서 태어 났으며, 가장 중요한 것은 우리 모두가 동의했습니다. 신중하게 생각할 때 더 나은 단어를 사용할 수 있습니까? 문자열 (문자열)은 "실제 세계"에서 비슷한 용어와 완전히 연결되지 않아 거의 부자연 스럽지만 (우리는 페이지 "문자열"에서 텍스트를 호출하지는 않지만, 나는이 인기에 더 적합한 것을 생각할 수 없습니다. 용어의 데이터 유형. 할 수 있나요? 말해 주세요.
컴퓨터 프로그래밍의 문자열에 대한
faq
컴퓨터 과학에서 "문자열"이라는 단어의 역사적 기원은 무엇입니까?
컴퓨터 과학에서 "문자열"이라는 단어는 "문자 문자열"이라는 문구에서 유래 한 것으로 여겨집니다. 데이터가 종종 영숫자의 시퀀스 또는 "문자열"으로 표시 될 때 프로그래밍에 처음 사용되었습니다. 이 용어는 데이터 유형을 프로그래밍 언어의 문자 시퀀스로 설명하는 데 사용되며 오늘날까지 사용되었습니다.
프로그래밍의 다른 데이터 유형과 문자열은 어떻게 다릅니 까?
스탠드는 문자, 숫자 및 특수 문자를 포함 할 수있는 일련의 문자입니다. 정수 또는 부울과 같은 다른 데이터 유형과 달리 (각각 수치 또는 참/거짓 값을 나타내는) 문자열은 텍스트를 나타내고 조작하는 데 사용됩니다. 거의 모든 프로그래밍 언어의 기본 데이터 유형이며 운영 및 분석을위한 다양한 내장 방법이 있습니다. 일부 프로그래밍 언어에서 문자열이 불변이되는 이유는 무엇입니까?
Java 및 Python과 같은 일부 프로그래밍 언어에서 문자열은 불변입니다. 이것은 일단 문자열이 생성되면 변경할 수 없음을 의미합니다. 이 설계 선택은 주로 효율성과 안전 이유를위한 것입니다. 문자열은 종종 프로그램에서 대량으로 사용되므로 불변이 불변으로 시스템이 메모리 사용 및 처리 속도를 최적화 할 수 있습니다. 또한 돌연변이 성 문자열과 관련된 잠재적 보안 위험을 방지합니다.
문자열은 어떻게 메모리에 저장됩니까?
스탠드는 일반적으로 메모리에 저장됩니다. 캐릭터 시퀀스로서 각 문자는 사용 된 문자 인코딩에 따라 특정 수의 바이트를 차지합니다. 예를 들어, ASCII 인코딩에서 각 문자는 하나의 바이트의 메모리를 차지하고 유니 코드 인코딩에서 문자는 2 개 이상의 바이트를 차지할 수 있습니다. 문자열의 끝에는 일반적으로 특수 빈 문자가 표시됩니다.
문자열에서 어떤 일반적인 작업을 수행 할 수 있습니까?
> 많은 작업은 문자열 (두 문자열 연결), 서브 스트링 추출 (문자열의 일부를 얻음), 문자열 비교 (두 줄이 같은지 확인) 및 문자 검색 (구체적으로 찾기)을 포함하여 문자열에서 수행 할 수 있습니다. 문자열의 문자 또는 기판). 이러한 작업은 일반적으로 프로그래밍 언어의 내장 방법으로 제공됩니다.