중앙처리장치
세 글자 CPU 는 영어 "중앙 처리 장치" 의 약어이며 중국어는 "중앙 처리 장치" 를 의미합니다. CPU 는 읽기 쉬우므로 중국어 전체 이름을 말하는 사람은 거의 없습니다. 중앙프로세서는 이름에서 알 수 있듯이' 데이터를 모아서 중앙에서 처리하는 장치' 이다. CPU 는 컴퓨터의 대부분의 데이터를 직접 처리하는 전자 부품입니다. 그 데이터 처리 속도는 전체 컴퓨터의 성능에 직접적인 영향을 미치기 때문에 사람들은 CPU 를 컴퓨터의 심장에 비유한다. CPU 의 속도는 얼마입니까? 우리는 종종 "이 CPU 의 클럭 속도는 166 MHz 입니다." 라는 말을 듣습니다. CPU 에는 클럭 속도, 멀티플라이어, 외부 주파수의 세 가지 중요한 매개변수가 있습니다. 그 관계는 클럭 속도 = 외부 주파수 × 멀티플라이어입니다. 클럭 속도는 CPU 의 내부 작동 주파수이고, 외부 주파수는 시스템 버스의 작동 주파수이며, 멀티플라이어는 그 차이의 배수입니다. CPU 의 작동 속도는 일반적으로 클럭 속도로 표현되며 헤르츠 (Hz) 로 측정됩니다. 조혁은 10 의 6 승이고,' 조혁' 은' 조혁' 으로 쓰여져 있다. CPU 작동 주파수가 높을수록 속도가 빨라지고 성능이 우수하며 가격도 높아집니다. 현재 CPU 의 최대 작동 주파수는 1500MHz 이상에 도달했습니다.
컴퓨터가 20 여 년 동안 전 세계에 빠르게 보급될 수 있는 것은 주로 강력하고 조작이 간단하며 가격이 폭락했기 때문이다. 컴퓨터 기능의 모든 변화는 CPU 기능이 크게 향상되었기 때문이다. 우리가 흔히 말하는 286, 386, 486 ~ 오늘의 586, 펜티엄 II 는 모두 CPU 모델입니다. CPU 의 주요 공급업체인 Intel 은 "80X86" 시리즈를 자체 CPU 의 이름으로 사용하고 있습니다. 예를 들어, 486 은 80486 의 약어입니다. 90 년대 이후 다른 CPU 업체들도 자신의 CPU 모델을 486, 586 으로 표시했기 때문에 486, 586 으로 표시된 모든 CPU 가 인텔의 제품이라고 잘못 생각하는 사람들이 많다. 다른 업체와 구별하기 위해 인텔은 586 을' 펜티엄' 으로, 중국어를' 펜티엄' 으로 바꿨다. 최근 몇 년 동안 인텔은 펜티엄 MMX 와 펜티엄 II 를 잇따라 출시했습니다. CPU 의 모든 기술 혁신은 해당 이름 변화와 컴퓨터 속도의 급격한 향상을 가져옵니다. 현재 Intel 뿐만 아니라 AMD, Cyrix 등 유명 CPU 업체들도 CPU 성능도 좋고, 동급제품 가격도 Intel 보다 저렴합니다.
메모리 및 하드 드라이브
컴퓨터 메모리가 부족하고 하드 드라이브가 너무 작다는 말을 자주 들을 수 있습니다. 여기서 "부족" 과 "너무 작음" 은 수량이나 형상 치수가 아닌 용량을 의미합니다. 메모리와 하드 드라이브는 컴퓨터가 데이터를 저장하는 데 사용하는 단위이며, 그 단위는 바로 우리가 방금 말한' 바이트' 이다. 그렇다면 왜 하나는 메모리이고 다른 하나는 하드 드라이브입니까? 우리는 컴퓨터가 처리하는 데이터의 양이 매우 크다는 것을 알고 있다. 마치 한 사람이 식량이 가득 찬 창고에서 곡식을 치는 것과 같다. 어떻게 하면 그것을 사용할 수 있고, 어떻게 하면 효율성을 얻을 수 있습니까? 그래서 사람들은 곡식을 창고에 쌓고, 일부분을 가지고 마당에 가서 때리고 다시 보냈다. 지금, 아무런 방해도 없다. 탈곡 샤오미의 속도가 훨씬 빨라져 내부 효율이 높아졌다. 컴퓨터는 이미 이런 방법으로 비슷한 문제를 해결했다. 보류 중인 임시 사용되지 않는 많은 양의 데이터를 하드 드라이브에 저장하지만, 즉시 처리해야 할 데이터를 메모리로 전송하고, 처리가 끝나면 바로 하드 드라이브로 반송한 후 다음 데이터 부분을 불러오기만 하면 됩니다. (데이비드 아셀, Northern Exposure (미국 TV 드라마), 성공명언) 하드 드라이브는 컴퓨터의 큰 창고이고, 메모리는 그것이 일하는 마당이다. Memory 는 RAM 의 약어로 영어 Random Accessmemory 의 약어입니다. Pc 에서 메모리는 정적 메모리 (SRAM) 와 동적 메모리 (DRAM) 로 구분되며 정적 메모리는 동적 메모리보다 읽기 및 쓰기 속도가 빠릅니다. 현재 시중에 나와 있는 메모리 스틱은 모두 MB (예: 32MB, 64MB 메모리) 입니다. 하드 드라이브 용량은 메모리보다 훨씬 크며, 현재는 일반적으로 "GB" 단위로 되어 있습니다. 물론 메모리와 하드 드라이브 용량이 클수록 좋습니다. 하지만 용량이 클수록 가격이 높아진다. 중요한 것은, 우리는 그것들을 낭비하지 않고 충분한 메모리 칩과 하드 드라이브를 구입해야 한다는 것이다. 그림 -5 와 같이 하드 드라이브입니다.
조종사
플로피 디스크와 CD 에 들어 있는 정보를 알고 싶다면 플로피 드라이브와 CD 드라이브에 각각 삽입해야 컴퓨터가 그 위에 있는 데이터 정보를 인식하고 처리할 수 있습니다. 플로피 드라이브와 옵티컬 드라이브는 모두 섀시 안에 있으며, 입만 노출되어 플로피 디스크와 CD 를 "먹을" 준비가 되어 있습니다. 하드 디스크의 경우 움직일 수 없기 때문에 드라이브에 고정됩니다. 즉, 하드 드라이브와 하드 드라이브가 하나로 되어 있습니다. 플로피 드라이브에 플로피 디스크를 넣을 때 방향에 주의하십시오. 3.5 인치 디스크를 삽입할 때 회전축은 아래를 향하고 금속판은 앞쪽을 향해야 합니다. 드라이브 포트 아래쪽에 있는 꺼내기 버튼 꺼내기가 들리면 플로피 디스크가 삽입되었음을 의미합니다. 꺼낼 때는 먼저 꺼내기 버튼을 눌러야 합니다. 플로피 디스크가 자동으로 일부분을 꺼낸 다음 플로피 디스크를 꺼냅니다. (데이비드 아셀, Northern Exposure (미국 TV 드라마), 꺼내기, 꺼내기) 현재 5.25 인치 디스크를 사용하는 사람이 점점 줄어들고 있으며, 컴퓨터에 5.25 인치 플로피 드라이브가 거의 설치되어 있지 않다. 플로피 드라이브 위 또는 아래에 작은 표시등이 있습니다. Led 가 켜지면 컴퓨터가 드라이브에 있는 플로피 디스크를 읽거나 쓰고 있는 것입니다. 하드 드라이브 led 도 기본 섀시의 전면 패널에 있습니다. 표시등이 켜지면 컴퓨터가 하드 드라이브를 읽거나 쓰고 있는 것입니다. 드라이브 표시등이 켜지면 해당 드라이브에서 플로피 디스크를 꺼내거나 끌 수 없습니다. 그렇지 않으면 디스크가 손상될 수 있습니다. 한 컴퓨터에 플로피 드라이브와 하드 드라이브가 두 개 이상 있을 수 있습니다. 어떻게 구별할 수 있을까요? 우리는 드라이브를 명명하는 방법을 채택했다. 드라이브의 이름은 모두 영문자로 표기되고, 플로피 드라이브는 A 와 B 로, 하드 드라이브는 C, D, E 로, 광 드라이브는 문자 H 로 표기한다. 이런 식으로 우리는 종종 "A 디스크, B 디스크, CD 디스크, D 디스크" 라고 부르는데, 컴퓨터당 보통 하나의 옵티컬 드라이브만 있기 때문에 흔히 "옵티컬 드라이브" 라고 불린다.
컴퓨터가 이렇게 강력한 데이터 처리 능력을 가질 수 있는 것은 주 섀시의 중요한 부품이 자신의 책임을 충실히 이행하고 있기 때문이다. 이 영웅들을 만나고 싶습니까? 스크루 드라이버를 사용하여 섀시 하우징의 나사를 풀고 섀시 케이스를 가볍게 제거하면 컴퓨터의 진면목을 볼 수 있다. 아래 그림과 같이 섀시에는 전원 공급 장치, 하드 드라이브, 옵티컬 드라이브, 플로피 드라이브, 전자 부품이 가득 찬 회로 기판, 마더보드, 리본 가이드가 있습니다.
케이블 (데이터 케이블이라고 함). 각각의 기능을 하나씩 살펴보겠습니다.
컴퓨터 전원 공급 장치는 그림 -9 에 나와 있습니다. 컴퓨터 내부에 필요한 전압은 12V 를 초과하지 않고 시전 전압은 220V 입니다. 컴퓨터 전원은 220V 의 전압을 컴퓨터의 하드웨어 장비에 필요한 전압으로 변환하여 각 부품에 전원을 공급하는 변압기와 같습니다. 전원 공급 장치에는 마더보드, 플로피 드라이브, 옵티컬 드라이브, 하드 드라이브, CPU 팬 등의 구성 요소의 전원 커넥터를 연결하여 전원을 공급하는 다양한 색상 인터페이스가 있는 전선이 있습니다.
전원 콘센트 컴퓨터가 작동하려면 전기가 필요합니다. 컴퓨터 섀시에는 전원 공급 장치가 있고 전원 공급 장치에는 많은 전선과 인터페이스가 있습니다. 컴퓨터 전원은 주 섀시의 모든 하드웨어 장치에 전원을 공급합니다. 전선과 인터페이스는 각각 마더보드, 하드 드라이브, 옵티컬 드라이브, 플로피 드라이브의 전원 소켓에 연결해야 합니다.
앞서 언급했듯이 메모리는 컴퓨터가 작동하는 "마당" 으로, 데이터를 처리하는 곳입니다. 그렇다면 기억은 어떤 형태로 존재할까요? 마더보드에는 "시스템 주 메모리 슬롯" 이라는 메모리 스틱을 꽂기 위한 전용 슬롯이 있습니다. 대부분의 소켓 7 보드는 72 선 (흰색) 및 168 선 (검은색) 메모리 슬롯을 제공합니다. DRAM 슬롯이라고 하는 72 선 슬롯은 DRAM 메모리 스틱을 삽입하는 데 사용됩니다. 168 슬롯은 SDRAM 슬롯이라고 하며 SDRAM 메모리 스틱을 꽂는 데 사용됩니다. 그러나 슬롯 1 아키텍처 보드는 168 선 블랙 SDRAM 슬롯만 제공합니다. 일반적으로 DRAM 메모리 스틱은 SIMM 이라고도 하며 SDRAM 메모리 스틱은 DIMM 이라고도 합니다. 메모리는 8MB, 16MB, 32MB, 64MB 등으로 나눌 수 있습니다. 마더보드의 메모리 슬롯 유형 및 수에 따라 SIMM 또는 DIMM 을 추가하여 컴퓨터 메모리를 확장할 수 있습니다.
확장 슬롯과 확장 버스 확장 슬롯이 개인용 컴퓨터에 확장 기능을 제공하는 인터페이스입니다. 사운드 카드, 비디오 카드 등의 장치를 연결하고 마더보드 회로로 신호를 전송하며 마더보드 신호를 외부 장치로 전송할 수 있습니다. 확장 슬롯은 마더보드와 외부의 다리가 되어 개인용 컴퓨터의 용도를 넓혔다. 확장 슬롯에는 ISA, PCI 및 AGP 의 세 가지 인터페이스가 있습니다. ISA 인터페이스는 유용하지는 않지만 여전히 필수적입니다. PCI 인터페이스는 널리 사용됩니다. AGP 는 새로운 3D 그래픽 가속 포트입니다. PCI 확장 슬롯은 흰색이지만 AGP 및 ISA 확장 슬롯은 일반적으로 검은색입니다. 그림 1- 12 는 PCI 확장 슬롯입니다. 그림 1- 1 1 PCI 확장 슬롯 버스는 마더보드와 삽입된 카드 사이의 데이터 흐름 채널입니다. 버스를 사용하면 각 보드가 컴퓨터에서 사용하는 마더보드와 연결될 수 있습니다. 확장 슬롯의 금속선은 확장 버스입니다. 카드가 확장 슬롯에 삽입되면 해당 핀의 금속선이 슬롯의 확장 버스에 닿아 신호 전송 기능을 제공합니다. 확장 슬롯에는 ISA, PCI, AGP 의 세 가지 유형이 있으며 해당 확장 버스도 ISA, PCI, AGP 로 나뉩니다.
RAM 과 ROM 은 무엇입니까? 그들은 어떤 특징을 가지고 있습니까? 차이점은 무엇입니까?
간단히 말해서, 컴퓨터에서 RAM 과 ROM 은 모두 데이터 메모리입니다. RAM 은 휘발성, 즉 전원 손실과 기억상실이 특징인 랜덤 액세스 메모리입니다. ROM 은 일반적으로 RAM 과 반대 특성을 가진 경화 된 메모리 (한 번 쓰기, 여러 번 읽기) 를 나타냅니다. ROM 은 일회성 경화, 광 삭제 및 전기 삭제 재작성의 두 가지 유형으로 나뉩니다.
RAM(Random Access Memory) 의 전체 이름은 PC 의 모바일 스토리지에 해당하는 랜덤 액세스 메모리이며 데이터 저장 및 보존에 사용됩니다. 언제든지 읽고 쓸 수 있으며, RAM 은 일반적으로 운영 체제 또는 프로그램을 실행하는 기타 임시 스토리지 미디어 (시스템 메모리라고 함) 로 사용됩니다.
그러나 전원이 꺼지면 RAM 에서 데이터를 저장할 수 없습니다. 데이터를 저장해야 하는 경우 하드 드라이브와 같은 장기 스토리지에 기록해야 합니다. 이 때문에 RAM 을 "가변 메모리" 라고도 합니다. RAM 메모리는 정적 RAM(SRAM) 과 동적 RAM (DRAM) 으로 더 나눌 수 있습니다. DRAM 은 단위 용량이 저렴하기 때문에 시스템의 기본 스토리지로 널리 사용되고 있습니다.
ROM 에 비해 RAM 과 ROM 의 가장 큰 차이점은 RAM 에 저장된 데이터는 전원이 꺼지면 자동으로 사라지고 ROM 은 사라지지 않는다는 것입니다. 4 ~ 8m RAM 은 일반 어플리케이션을 실행하기에 충분하며, 멀티미디어 기능을 추구한다면 64M RAM 용량은 기본적인 요구로만 간주될 수 있습니다.
ROM(Read Only Memory) 의 전체 이름은 읽기 전용 메모리이며, PC 의 하드 드라이브와 동등하며 데이터를 저장하고 저장하는 데 사용됩니다. ROM 데이터는 자유롭게 업데이트할 수 없지만 언제든지 읽을 수 있습니다. 전원이 꺼져도 ROM 은 데이터를 보존할 수 있습니다. 그러나 데이터가 기록되면 특별한 방식으로만 변경하거나 전혀 변경할 수 없으므로 임베디드 시스템에서는 일반적으로 ROM 을 사용하여 운영 체제를 저장합니다. 현재 시중에 나와 있는 메인스트림 PDA 의 ROM 크기는 64MB 와 128MB 입니다.
ROM 에 비해 RAM 과 ROM 의 가장 큰 차이점은 RAM 에 저장된 데이터는 전원이 꺼지면 자동으로 사라지고 ROM 은 사라지지 않는다는 것입니다.
전자 컴퓨터 시스템에는 무엇이 포함되어 있습니까?
컴퓨터 시스템은 사람의 요구에 따라 정보를 수신 및 저장하고, 자동으로 데이터를 처리 및 계산하고, 결과 정보를 출력할 수 있는 기계 시스템입니다. 컴퓨터 시스템은 하드웨어 (하위 시스템) 시스템과 소프트웨어 (하위 시스템) 시스템의 두 부분으로 구성됩니다. 여기서 하드웨어 하위 시스템은 시스템이 작동하는 엔티티이며 다양한 관련 물리적 구성 요소의 유기적 조합입니다. 소프트웨어 하위 시스템은 다양한 프로그램 및 프로그램에서 처리하는 데이터로 구성됩니다. 이러한 프로그램의 주요 기능은 전체 컴퓨터 시스템이 규정된 요구 사항에 따라 작동할 수 있도록 하드웨어 구성 요소를 조정하는 것입니다.
하드웨어 하위 시스템에는 CPU, 기본 스토리지, 입/출력 제어 시스템 및 다양한 주변 장치가 포함됩니다.
소프트웨어 하위 시스템은 시스템 소프트웨어, 지원 소프트웨어 및 애플리케이션 소프트웨어의 세 부분으로 구성됩니다.
컴퓨터 소프트웨어 (소프트웨어, 소프트웨어라고도 함) 는 컴퓨터 시스템의 프로그램과 해당 문서를 의미합니다. 프로그램은 계산 작업의 처리 객체 및 처리 규칙에 대한 설명입니다. 문서는 프로그램에 필요한 설명 정보를 쉽게 이해할 수 있도록 하기 위한 것입니다. 프로그램은 반드시 기계에 적재해야 일을 할 수 있다. 문서는 일반적으로 사람들에게 보여지며, 반드시 기계에 적재할 필요는 없다.
소프트웨어는 사용자와 하드웨어 간의 인터페이스입니다. 사용자는 주로 소프트웨어를 통해 컴퓨터와 소통한다. 소프트웨어는 컴퓨터 시스템 설계의 중요한 기초이다. 사용자 편의를 위해 컴퓨터 시스템의 전반적인 유용성을 높이기 위해서는 컴퓨터 시스템을 설계할 때 소프트웨어와 하드웨어의 조합과 사용자와 소프트웨어의 요구 사항을 종합적으로 고려해야 합니다.
소프트웨어 (중국 본토와 홍콩의 소프트웨어, 대만성의 소프트웨어) 는 특정 순서로 구성된 일련의 컴퓨터 데이터와 지침이다. 일반적으로 소프트웨어는 시스템 소프트웨어, 응용 프로그램 소프트웨어 및 그 사이의 미들웨어로 나뉩니다. 이 중 시스템 소프트웨어는 컴퓨터 사용에 가장 기본적인 기능을 제공하지만 특정 응용 분야에 대한 것은 아닙니다. 반면 응용 프로그램 소프트웨어는 사용자와 서비스 영역에 따라 다른 기능을 제공합니다.
소프트웨어에는 컴퓨터에서 실행할 수 있는 프로그램뿐 아니라 이러한 프로그램과 관련된 파일도 일반적으로 소프트웨어의 일부로 간주됩니다. 간단히 말해서 소프트웨어는 프로그램과 문서의 모음입니다.
소프트웨어는 이미 세계 각 분야에 적용되어 사람들의 생활과 일에 깊은 영향을 미쳤다.
소프트웨어의 올바른 의미는 다음과 같습니다.
(1) 런타임에 필요한 기능과 성능을 제공하는 명령 또는 컴퓨터 프로그램 모음입니다.
(2) 프로그램은 정보의 데이터 구조를 만족스럽게 처리 할 수 있습니다.
(3) 프로그램의 기능 요구 사항 및 프로그램이 필요한 문서를 작동 및 사용하는 방법을 설명합니다.
소프트웨어에는 하드웨어와 다른 특성이 있습니다.
(1) 다른 표현이 있습니다.
하드웨어는 유형, 색깔, 냄새, 볼 수 있는 것, 만질 수 있는 것, 들을 수 있는 것이다. 소프트웨어는 보이지 않고, 무색무취이며, 보이지 않고, 만질 수 없고, 냄새도 나지 않는다. 대부분의 소프트웨어는 사람들의 머리나 종이에 존재한다. 맞는지, 좋은지 나쁜지, 프로그램이 기계에서 실행될 때까지 기다려야 알 수 있다. 이것은 설계, 생산 및 관리에 많은 어려움을 가져옵니다.
(2) 다른 생산 방식
소프트웨어는 개발이고, 인간의 지능의 고도의 전시이지, 전통적인 의미의 하드웨어 제조가 아니다. 소프트웨어 개발과 하드웨어 제조에는 많은 유사점이 있지만 이 두 가지 활동은 근본적으로 다르다.
(3) 다른 요구 사항
하드웨어 제품은 오류를 허용하고 소프트웨어 제품은 오류를 허용하지 않습니다.
(4) 다른 유지 보수
하드웨어는 낡았을 것이다. 이론적으로 소프트웨어는 마모되지 않지만 실제로는 소프트웨어도 마모될 수 있습니다. 소프트웨어의 전체 수명 주기 동안 변경 (유지 관리) 상태에 있기 때문입니다.
시스템 소프트웨어
시스템 소프트웨어는 컴퓨터 시스템의 다양한 독립 하드웨어를 관리하여 작업을 조율할 수 있도록 합니다. 시스템 소프트웨어를 사용하면 컴퓨터 사용자 및 기타 소프트웨어가 기본 하드웨어가 어떻게 작동하는지 관계없이 컴퓨터를 전체로 볼 수 있습니다.
일반적으로 시스템 소프트웨어에는 운영 체제와 컴파일러, 데이터베이스 관리, 메모리 포맷, 파일 시스템 관리, 사용자 인증, 드라이버 관리, 네트워크 연결 등의 기본 도구가 포함됩니다.
앱
응용 소프트웨어는 특정 목적을 위해 개발된 소프트웨어입니다. 이미지 브라우저와 같은 특정 프로그램일 수 있습니다. Microsoft Office 소프트웨어와 같이 밀접하게 관련되어 있고 상호 협력할 수 있는 일련의 프로그램일 수도 있습니다. 데이터베이스 관리 시스템과 같은 많은 독립 프로그램으로 구성된 방대한 소프트웨어 시스템일 수도 있습니다.
더 일반적인 것은 다음과 같습니다.
WPS, 단어 및 기타 워드 프로세싱 소프트웨어.
정보 관리 소프트웨어
AutoCAD 및 기타 보조 설계 소프트웨어
실시간 제어 소프트웨어
교육 및 엔터테인먼트 소프트웨어
운영 체제별 분류
BeOS
디스크 운영 체제
리눅스 운영 체제
Mac 운영 체제
유닉스 운영 체제
Windows 운영 체제
소프트웨어 개발
소프트웨어 개발은 사용자의 요구에 따라 소프트웨어 시스템이나 시스템의 소프트웨어 부분을 구축하는 프로세스입니다. 소프트웨어 개발은 수요 캡처, 수요 분석, 설계, 구현 및 테스트를 포함하는 시스템 엔지니어링입니다.
소프트웨어는 일반적으로 프로그래밍 언어로 구현됩니다. 일반적으로 소프트웨어 개발 도구를 사용하여 개발할 수 있습니다
소프트웨어 라이센스
소프트웨어마다 일반적으로 해당 소프트웨어 라이센스가 있으며, 소프트웨어 사용자는 사용 중인 소프트웨어의 라이센스 동의에 따라 합법적으로 소프트웨어를 사용할 수 있어야 합니다. 한편, 특정 소프트웨어의 라이센스 조항은 법과 상충될 수 없습니다.
소프트웨어 저작권 소유자의 허가 없이 소프트웨어를 복제하면 법적 문제가 발생할 수 있습니다. 일반적으로 이러한 해적판 소프트웨어를 구입하고 사용하는 것은 불법이다.
이진수와 십진수는 어떻게 변환합니까?
1, 범용 반올림 계수 시스템
(1) 십진수
숫자: 0, 1, ... 8, 9
기수: 10
무게:10i (I = ...-2,-1,0,1,2, ...)
10 입력 1
(2) 바이너리
숫자: 0, 1
기수: 2
오른쪽: 2i (I = …-2,-1, 0, 1, 2, …)
컴퓨터 언어는 무엇입니까? 그들은 어떤 특징을 가지고 있습니까?
C 언어는 메모리 관리에 심각한 결함이 있지만 일부 애플리케이션 분야에서는 여전히 주도적인 위치를 차지하고 있습니다. C 는 효율성이 가장 높고, 실시간이 좋거나, 운영 체제 커널과 밀접한 관련이 있는 프로그램에 여전히 좋은 선택입니다.
C 좋은 이식성도 가산점을 준다. 하지만 현재 다른 많은 언어들의 이식성이 점점 강해지고 있어 C 의 우세는 점차 상실될 수 있다.
많은 기존 프로그램은 분석기, GUI Builder 등과 같은 훌륭한 C 코드를 생성할 수 있습니다. 이때 C 언어도 매력적이다. 왜냐하면 네가 써야 할 코드는 전체 프로그램의 일부에 불과하기 때문이다.
게다가, 물론 C 언어는 프로그래머에게 대체불가의 가치가 있다는 것을 깨달아야 한다. 내가 여기서 논의한 모든 언어로 볼 때, 네가 충분히 깊이 파고들기만 하면, 결국 그것들의 커널은 모두 순수 이식이 가능한 C 로 쓴 것을 볼 수 있을 것이다. (존 F. 케네디, 언어명언)
하루 중 이맘때, 우리는 C 를 유닉스 가상 시스템의 고급 어셈블리 언어로 보는 것이 가장 좋다.
다른 고급 언어들이 당신의 업무 요구를 충분히 충족시킬 수 있다 해도, 시간을 내어 C 언어를 배우는 것은 좋은 일이며, 하드웨어 시스템 수준에서 사고하는 데 도움이 될 것이다. (존 F. 케네디, 언어명언)
오늘날에도 최고의 C 언어 수업은 K& 가 1988 에 발표됐다. R 제 2 판 C 언어 프로그래밍.
요약: C 의 가장 좋은 곳은 효율적이고, 기계에 가깝고, 최악의 곳은 메모리 관리 지옥이다.
C++
C++ 는 1980 년대 중반에 처음 발표되었는데, 당시 대상 언어는 소프트웨어 복잡성 문제를 해결하는 만병통치약으로 여겨졌다. C++ 의 객체 지향 기능은 c 를 완전히 능가합니다. 지지자들은 C++ 가 이전 세대의 언어를 전시장에 빠르게 비집고 들어갈 것이라고 생각한다.
그러나 역사는 그렇지 않다. 그 이유는 적어도 부분적으로 C++ 자체에 기인합니다. C 와의 호환성을 위해 C++ 는 많은 중대한 디자인 타협을 강요받아 언어가 너무 화려하고 복잡해졌다. C 와의 호환성을 위해 C++ 는 자동 메모리 관리 정책을 채택하지 않아 C 의 가장 심각한 문제를 해결할 수 있는 기회를 놓쳤다.
또 다른 이유는 아마도 객체 지향일 것이다. OO 가 사람들의 기대에 미치지 못한 것 같다. 이 문제를 조사한 결과 OO 방법의 사용으로 인해 구성 요소 간에 두꺼운 접착층이 생기고 심각한 서비스 가능성 문제가 발생하는 것으로 나타났습니다. 오늘 오픈 소스 커뮤니티를 살펴 보겠습니다. C++ 응용 프로그램이 GUI, 게임, 멀티미디어 키트에 집중되어 있는지, 다른 곳에서는 거의 사용되지 않는다는 것을 알 수 있습니다. 알다시피, 객체 지향은 이러한 분야에서만 매우 성공한 것으로 입증되었으며, 오픈 소스 커뮤니티의 선택은 회사 경영진의 마음대로 지휘하는 것이 아니라 프로그래머의 자유 의지를 크게 반영하고 있습니다.
C++ OO 구현 방식에 문제가 있을 수 있습니다. C++ 프로그램의 전체 수명 주기 동안 해당 C, 포트란 및 Ada 프로그램보다 비용이 더 많이 든다는 증거가 있습니다. 그러나 이것이 C++ 로 구현된 OO 덕분이어야 하는지는 확실하지 않다.
최근 몇 년간 C++ 는 비OO 사상을 많이 추가했고, 변태적인 사상은 Lisp 와 비슷하며 STL 의 출현은 대단하다.
사실, C++ 의 근본적인 문제는 그것이 기본적으로 또 다른 전통 언어라는 것이다. STL 의 메모리 관리는 이전의 new/delete 및 C 보다 훨씬 나아졌지만 여전히 문제가 해결되지 않았습니다. 많은 응용 프로그램에서, 그것의 OO 특성은 분명하지 않다. C 에 비해 복잡성을 증가시키는 것 외에는 별로 이득이 되지 않는다. (알버트 아인슈타인, Northern Exposure (미국 TV 드라마), 예술명언)
요약: C++ 의 장점은 효율성을 제네릭 및 객체 지향 특성과 결합하는 컴파일 언어이지만, 너무 화려하고 복잡하며 지나치게 복잡한 설계를 장려하는 경향이 있다는 점입니다.
자바 언어 (특히 웹 사이트를 만드는 데 사용되는 컴퓨터 언어)
Java 는 자동 메모리 관리를 사용하는 매우 교묘하게 설계되었는데, 이것이 가장 큰 개선이다. OO 디자인을 지지하는 이점이 그렇게 두드러지는 것은 아니지만, 매우 칭찬할 만하다. C++ 에 비해 OO 설계가 작고 간단합니다.
Python 과 비교했을 때 Java 에는 몇 가지 명백한 오류가 있다. 어떤 곳에서는 디자인이 너무 복잡하고 결함이 있다. Java 의 클래스 가시성 및 암시적 범위 규칙이 너무 복잡합니다. 인터페이스 메커니즘은 다중 상속으로 인한 문제를 피하기 위해 설계되었지만 이해하고 사용하는 것은 여전히 어렵다. 내부 클래스와 익명 클래스는 코드 혼란을 야기할 수 있습니다. 효과적인 구문 분석 기능이 부족하면 상호 배타적인 몸체나 잠금과 같은 메모리 이외의 리소스를 관리하기가 어려워집니다. Java 스레드는 신뢰할 수 없고 I/O 메커니즘은 매우 강력하지만 텍스트 파일을 읽는 것은 매우 번거롭습니다.
Java 에는 라이브러리 버전을 관리할 수 있는 메커니즘이 없어 Windows DLL hell 전철을 밟습니다. 응용 프로그램 서버와 같은 환경에서는 많은 문제가 발생할 수 있습니다.
전반적으로, 시스템 프로그래밍과 효율성이 필요한 프로그램을 제외하고, 우리는 Java 가 대부분의 분야에서 C++ 보다 낫다고 말할 수 있다. 경험에 따르면 Java 프로그래머는 C++ 프로그래머처럼 과도한 OO 계층을 구축하는 것은 쉽지 않지만 Java 에서는 여전히 심각한 문제입니다.
Java 가 Perl, Python 등의 언어보다 우수합니까? 우리는 아직 모르고 있고, 프로그램의 규모와 크게 관련이 있는 것 같다. Python 과 거의 비슷한 전문 분야는 C/C++ 에 비해 효율성이 뛰어나며 패턴 일치 및 편집을 많이 사용하는 소규모 프로젝트에서도 Perl 에 미치지 못합니다. 작은 프로젝트에서 자바는 너무 강하다. 우리는 Python 이 소규모 프로젝트에 더 적합하고 Java 가 대규모 프로젝트에 적합하다고 추측하지만, 이것은 강력한 증거를 얻지 못했다.
컴퓨터 프로그래밍 언어
파이썬은 C 와 긴밀하게 결합할 수 있는 스크립팅 언어이며 동적으로 로드된 C 라이브러리 모듈과 데이터를 교환하거나 포함된 스크립팅 언어로 C 에서 호출할 수 있습니다. 문법은 C 와 모듈식 언어의 혼합과 비슷하지만 들여쓰기를 통해 문장 블록을 결정하는 고유한 특징이 있습니다.
파이썬 언어는 매우 깨끗하고, 디자인이 우아하며, 우수한 모듈화를 갖추고 있다. 객체 지향 기능을 제공하지만 사용자가 객체 지향 설계를 수행하도록 강제하지는 않습니다. 유형 시스템은 Perl 과 유사한 강력한 표현력을 제공하며 익명 람다 표현식을 통해 Lisp 해커에게 친근감을 줍니다. Python 은 Tk 에 의존하여 편리한 GUI 인터페이스 개발 기능을 제공합니다.
Python 과 Java 는 모든 해석 언어에서 여러 프로그래머가 점진적으로 대규모 프로젝트를 개발하는 데 가장 적합합니다. Python 은 여러 가지 면에서 Java 보다 간단하며 빠른 프로토타입에 매우 적합합니다. 이를 통해 Java 에 차별화되는 이점을 얻을 수 있습니다. Python 은 복잡하지 않고 비효율적인 프로그램에 적합합니다.
파이썬의 속도는 C/C++ 와 비교할 수 없지만 오늘날의 고속 CPU 에서는 혼합 언어 프로그래밍 전략을 합리적으로 사용하면 파이썬의 약점을 효과적으로 보완할 수 있습니다. 실제로 Python 은 동적 다형성을 제공하기 때문에 가장 느린 주류 스크립팅 언어로 간주됩니다. 정규식을 많이 사용하는 작은 프로젝트에서는 Perl 보다 못하다. 마이크로프로젝트의 경우 쉘과 shell 이 더 좋을 수도 있고, Python 이 너무 강할 수도 있다.
요약: Python 의 가장 좋은 점은 읽기 쉬운 코드를 장려하는 것입니다. 이는 대규모 프로젝트를 점진적으로 구축하는 데 특히 적합합니다. 그것의 결함은 비효율적이고 속도가 느리며 컴파일 언어보다 느릴 뿐만 아니라 다른 스크립팅 언어보다 느리다는 것이다.