컴퓨터 언어는 일반 언어와 어떻게 다른가요? 컴퓨터 작동 원리

컴퓨터 언어는 일반 언어와 어떻게 다른가요?  컴퓨터 작동 원리

프로그래밍 언어

프로그래밍 언어- 컴퓨터 프로그램을 기록하기 위해 설계된 공식 기호 시스템입니다. 프로그래밍 언어는 프로그램의 모양과 실행자(컴퓨터)가 제어 하에 수행할 작업을 정의하는 일련의 어휘, 구문 및 의미 규칙을 정의합니다.

  • 기능:프로그래밍 언어는 특정 컴퓨팅 프로세스를 수행하고 개별 장치의 제어를 구성하기 위해 컴퓨터에 명령을 전송하는 데 사용되는 컴퓨터 프로그램을 작성하기 위한 것입니다.
  • 일:프로그래밍 언어는 사람의 명령과 데이터를 컴퓨터로 전송하도록 설계되었지만 자연어는 사람 간의 의사 소통에 사용된다는 점에서 자연어와 다릅니다. 우리는 "프로그래밍 언어"의 정의를 일반화할 수 있습니다. 이는 명령, 명령, 행동에 대한 명확한 지침을 전달하는 방법입니다. 반면에 인간의 언어는 정보를 교환하는 역할도 합니다.
  • 실행:프로그래밍 언어는 특수 구조를 사용하여 데이터 구조를 정의 및 조작하고 계산 프로세스를 제어할 수 있습니다.

프로그래밍 언어의 표준화

프로그래밍 언어는 구문과 의미를 정의하는 사양 집합으로 표현될 수 있습니다.

널리 사용되는 많은 프로그래밍 언어에 대한 국제 표준이 만들어졌습니다. 특수 조직에서는 해당 언어의 사양과 공식 정의를 정기적으로 업데이트하고 게시합니다. 이러한 위원회의 틀 내에서 프로그래밍 언어의 개발과 현대화가 계속 진행되고 기존 및 새로운 언어 구성을 확장하거나 지원하는 문제가 해결됩니다.

데이터 유형

최신 디지털 컴퓨터는 일반적으로 이진수이며 데이터를 이진 코드로 저장합니다(다른 숫자 체계로 구현하는 것도 가능함). 이러한 데이터는 일반적으로 높은 수준의 개념을 나타내는 실제 정보(이름, 은행 계좌, 측정값 등)를 반영합니다.

프로그램에서 데이터를 구성하는 특수 시스템은 다음과 같습니다. 유형 시스템프로그래밍 언어; 유형 시스템의 개발 및 연구는 유형 이론으로 알려져 있습니다. 언어는 시스템으로 분류될 수 있다 정적 타이핑으로그리고 언어 동적 타이핑.

정적으로 유형이 지정된 언어는 다음과 같은 언어로 더 세분화될 수 있습니다. 필수 선언, 모든 변수 및 함수 선언에는 필수 유형 선언이 있으며 언어에는 추론된 유형. 동적 유형 언어는 때때로 호출됩니다. 잠재 유형.

데이터 구조

고급 언어의 유형 시스템을 사용하면 소위 데이터 구조라고 하는 복잡한 복합 유형을 정의할 수 있습니다. 일반적으로 구조적 데이터 유형은 기본(원자) 유형과 이전에 정의된 복합 유형의 데카르트 곱으로 구성됩니다.

기본 데이터 구조(목록, 대기열, 해시 테이블, 이진 트리 및 쌍)는 종종 고급 언어의 특수 구문 구조로 표현됩니다. 이러한 데이터는 자동으로 구성됩니다.

프로그래밍 언어의 의미론

프로그래밍 언어의 의미를 정의하는 방법에는 여러 가지가 있습니다.

가장 널리 퍼진 변종은 조작적, 파생적(공리적), 표시적(수학적) 세 가지입니다.

  • 내부의 의미를 설명할 때 운영상의접근 방식에서 일반적으로 프로그래밍 언어 구성의 실행은 가상의(추상) 컴퓨터를 사용하여 해석됩니다.
  • 유도체의미론은 논리 언어를 사용하고 사전 및 사후 조건을 지정하여 언어 구성을 실행한 결과를 설명합니다.
  • 표시적의미론은 집합, 대응, 판단, 진술 등 수학의 전형적인 개념으로 작동합니다.

프로그래밍 패러다임

프로그래밍 언어는 하나 이상의 기본 컴퓨팅 모델 및 프로그래밍 패러다임에 따라 구축됩니다.

대부분의 언어가 폰 노이만 컴퓨터 아키텍처에 의해 정의된 명령형 컴퓨팅 모델에 초점을 맞추고 있음에도 불구하고 다른 접근 방식이 있습니다. 스택 컴퓨팅 모델(Forth, Factor, PostScript 등)을 갖춘 언어는 물론, 컴퓨팅 모델을 기반으로 하는 기능적 프로그래밍(Lisp, Haskell 등) 및 논리 프로그래밍(Prolog)과 REFAL 언어도 언급할 수 있습니다. 소련 수학자 A. A. Markov Jr.가 소개했습니다.

현재 문제 지향적이고 선언적이며 시각적인 프로그래밍 언어도 활발히 개발되고 있습니다.

언어 구현 방법

프로그래밍 언어는 컴파일되거나 해석되어 구현될 수 있습니다.

컴파일러(특수 프로그램)를 사용하여 컴파일된 언어로 된 프로그램은 특정 유형의 프로세서에 대한 기계어 코드(명령어 세트)로 변환(컴파일)된 다음 실행을 위해 실행될 수 있는 실행 가능한 모듈로 어셈블됩니다. 별도의 프로그램으로. 즉, 컴파일러는 고급 프로그래밍 언어의 프로그램 소스 코드를 프로세서 명령의 바이너리 코드로 변환합니다.

프로그램이 해석된 언어로 작성된 경우, 인터프리터는 사전 번역 없이 소스 텍스트를 직접 실행(해석)합니다. 이 경우 프로그램은 원래 언어로 유지되며 통역사 없이는 시작할 수 없습니다. 이런 점에서 컴퓨터 프로세서는 기계어 코드의 해석기라고 할 수 있습니다.

컴파일된 언어와 해석된 언어로의 구분은 조건부입니다. 따라서 Pascal과 같이 전통적으로 컴파일된 언어의 경우 인터프리터를 작성할 수 있습니다. 또한 대부분의 현대 "순수" 인터프리터는 언어 구성을 직접 실행하지 않지만 이를 일부 고급 중간 표현(예: 변수 역참조 및 매크로 확장 사용)으로 컴파일합니다.

컴파일러는 모든 해석된 언어에 대해 생성될 수 있습니다. 예를 들어, 기본적으로 해석되는 Lisp 언어는 아무런 제한 없이 컴파일될 수 있습니다. 프로그램 실행 중에 생성된 코드는 실행 중에 동적으로 컴파일될 수도 있습니다.

일반적으로 컴파일된 프로그램은 더 빠르게 실행되며 이미 기계어로 번역되어 있으므로 실행을 위해 추가 프로그램이 필요하지 않습니다. 동시에 프로그램 텍스트가 변경될 때마다 다시 컴파일해야 하므로 개발 프로세스가 느려집니다. 또한 컴파일된 프로그램은 동일한 유형의 컴퓨터에서만 실행될 수 있으며 일반적으로 컴파일러가 설계된 동일한 운영 체제에서만 실행될 수 있습니다. 다른 유형의 머신에 대한 실행 파일을 생성하려면 새로운 컴파일이 필요합니다.

통역 언어에는 몇 가지 특정한 추가 기능(위 참조)이 있으며, 해당 언어에 포함된 프로그램은 수정 후 즉시 실행될 수 있으므로 개발이 더 쉬워집니다. 해석된 언어로 작성된 프로그램은 추가적인 노력 없이 다양한 유형의 기계 및 운영 체제에서 실행될 수 있는 경우가 많습니다.

그러나 해석된 프로그램은 컴파일된 프로그램보다 눈에 띄게 느리게 실행되며, 해석기 프로그램 없이는 실행할 수 없습니다.

어떤 의미에서 이 접근 방식을 사용하면 인터프리터와 컴파일러의 장점을 모두 사용할 수 있습니다. 인터프리터와 컴파일러(Forth)를 모두 갖춘 언어도 있다는 점을 언급해야 합니다.

사용된 기호

현대 프로그래밍 언어는 ASCII를 사용하도록 설계되었습니다. 그래픽 ASCII 문자는 모든 언어 구성을 작성하기 위한 필요충분조건입니다. 관리자 ASCII 문자는 제한된 범위까지 사용됩니다. 캐리지 리턴 CR, 줄 바꿈 LF 및 가로 탭 HT(때로는 세로 탭 VT 및 페이지 피드 FF도 허용됨)만 허용됩니다.

6비트 문자 시대에 등장한 초기 언어는 보다 제한된 세트를 사용했습니다. 예를 들어 포트란 알파벳에는 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 0 1 2 3 4 5 6 7 8 9 = + - * / ()와 같이 49개의 문자(공백 포함)가 있습니다. , $ " :

주목할만한 예외는 많은 특수 문자를 사용하는 APL 언어입니다.

비ASCII 문자(예: KOI8-R 문자 또는 유니코드 문자)의 사용은 구현에 따라 다릅니다. 때로는 주석과 문자/문자열 상수에서만 허용되고 때로는 식별자에서만 허용됩니다. 소련에는 모든 키워드가 러시아어 문자로 작성된 언어가 있었지만 그러한 언어는 큰 인기를 얻지 못했습니다 (예외는 1C:Enterprise 내장 프로그래밍 언어입니다).

많은 소프트웨어 개발 프로젝트가 국제적이라는 사실로 인해 사용되는 기호 세트의 확장이 제한됩니다. 일부 변수의 이름은 러시아어 문자로, 다른 변수는 아랍어로, 또 다른 변수는 한자로 작성되는 코드로 작업하는 것은 매우 어려울 것입니다. 동시에 텍스트 데이터 작업을 위해 차세대 프로그래밍 언어(Delphi 2006, Java)는 유니코드를 지원합니다.

프로그래밍 언어 수업

또한보십시오

노트

문학

  • 할 아벨슨, 제럴드 제이 서스먼. 컴퓨터 프로그램의 구조와 해석
  • 로버트 W. 세베스타.프로그래밍 언어의 기본 개념 ​​= 프로그래밍 언어의 개념 ​​/ Transl. 영어로부터 - 5판. -M .: Williams, 2001. - 672 p. - 5000부. - ISBN 5-8459-0192-8(러시아어), ISBN 0-201-75295-6(영어)
  • 울펜하겐 V. E.프로그래밍 언어 구성. 설명 기술. -M .: Center YurInfoR, 2001. - 276 p. - ISBN 5-89158-079-9
  • 파론자노프 V.D.마음을 향상시키는 방법. 프로그래머가 없는 알고리즘 - 매우 간단합니다! -M .: Delo, 2001. - 360p. - ISBN 5-7749-0211-0
  • F. Biancuzzi, S. 워든.프로그래밍의 선구자. 가장 인기 있는 프로그래밍 언어의 제작자와의 대화. - 세인트 피터스 버그. : Symbol-Plus, 2010. - 608 p. - ISBN 978-5-93286-170-7

연결

  • 언어 목록(영어) - 간단한 설명이 포함된 2500개 이상의 언어
  • 컴퓨터 언어 역사(영어) - 프로그래밍 언어의 역사(1954년부터 2004년 5월까지)(정기적으로 업데이트되는 차트 포함)
  • 예제(영어) - 162개 언어로 제공되는 프로그래밍 예제
  • 프로그래밍 언어 인기(영어) - 2004년 프로그래밍 언어의 인기에 대한 연구
  • 학습할 가치가 있는 10가지 프로그래밍 언어(2006)
  • 프로그래밍 커뮤니티 지수(영어) - 정기적으로 업데이트되는 프로그래밍 언어 인기 순위
  • 컴퓨터 언어 총격전 벤치마크(영어) - 효율성에 따른 프로그래밍 언어 비교
  • 사랑받는 프로그래밍 언어 (영어) - 프로그래밍 언어를 "사랑"과 "증오"로 비교

위키미디어 재단. 2010.

프로그래밍은 컴퓨터 프로그램을 만들 수 있는 전체 과학입니다. 여기에는 단일 프로그래밍 언어를 구성하는 수많은 다양한 작업과 알고리즘이 포함됩니다. 그렇다면 그것은 무엇이며 다른 프로그래밍 언어는 무엇입니까? 이 기사에서는 답변을 제공하고 프로그래밍 언어의 개요 목록도 제공합니다.

프로그램 언어의 출현과 변화의 역사는 컴퓨터 기술 발전의 역사와 함께 연구되어야 합니다. 왜냐하면 이러한 개념들은 서로 직접적으로 연관되어 있기 때문입니다. 프로그래밍 언어 없이는 컴퓨터가 작동할 프로그램을 만드는 것이 불가능하며, 이는 컴퓨터를 만드는 것이 무의미한 작업이 된다는 것을 의미합니다.

최초의 기계어는 1941년 분석 엔진의 발명가인 Konrad Zuse에 의해 발명되었습니다. 조금 후인 1943년에 Howard Aiken은 기계 코드 수준에서 명령을 읽을 수 있는 Mark 1 기계를 만들었습니다.

1950년대에 들어와서 소프트웨어 개발에 대한 수요가 시작되었고, 기계어는 많은 양의 코드를 처리할 수 없어 컴퓨터와 소통하는 새로운 방식이 탄생하게 되었습니다. "어셈블러"는 기계 명령어를 대체하는 최초의 니모닉 언어입니다. 수년에 걸쳐 컴퓨터 기술의 범위가 넓어지기 때문에 프로그래밍 언어 목록이 증가합니다.

프로그래밍 언어 분류

현재 프로그래밍 언어는 300개가 넘습니다. 각각은 고유한 특성을 가지고 있으며 하나의 특정 작업에 적합합니다. 모든 프로그래밍 언어는 여러 그룹으로 나눌 수 있습니다.

  • 측면 지향(주요 아이디어는 소프트웨어 모듈의 효율성을 높이기 위해 기능을 분리하는 것입니다).
  • 구조적(개별 프로그램 블록의 계층 구조를 생성하는 아이디어 기반)
  • 논리적 (수학적 논리 장치 이론 및 해결 규칙 기반).
  • 객체 지향(이러한 프로그래밍에서는 더 이상 알고리즘이 사용되지 않고 특정 클래스에 속하는 객체입니다).
  • 다중 패러다임(여러 패러다임을 결합하고 프로그래머가 주어진 경우에 사용할 언어를 결정함)
  • 기능적(주요 요소는 소스 데이터 계산 결과에 따라 값을 변경하는 함수입니다).

초보자를 위한 프로그래밍

많은 사람들이 프로그래밍이 무엇인지 궁금해합니까? 기본적으로 이는 컴퓨터와 통신하는 방법입니다. 프로그래밍 언어 덕분에 특수 애플리케이션이나 프로그램을 만들어 다양한 장치에 특정 작업을 할당할 수 있습니다. 초기 단계에서 이 과학을 공부할 때 가장 중요한 것은 적합한(흥미로운) 프로그래밍 언어를 선택하는 것입니다. 초보자를 위한 목록은 다음과 같습니다.

  • Basic은 1964년에 발명되었으며 고급 언어 계열에 속하며 응용 프로그램 작성에 사용됩니다.
  • Python은 간단하고 읽기 쉬운 구문으로 인해 배우기 매우 쉽지만 일반 데스크톱 프로그램과 웹 응용 프로그램을 모두 만드는 데 사용할 수 있다는 장점이 있습니다.
  • 파스칼은 학생들을 가르치기 위해 만들어진 가장 오래된 언어(1969) 중 하나입니다. 현대적인 변형은 엄격하게 유형화되고 구조화되어 있지만 파스칼은 직관적인 수준에서 이해할 수 있는 완전히 논리적인 언어입니다.

이것은 초보자를 위한 프로그래밍 언어의 전체 목록이 아닙니다. 이해하기 쉽고 앞으로 몇 년 동안 확실히 수요가 많을 구문이 엄청나게 많습니다. 모든 사람은 자신에게 흥미로운 방향을 독립적으로 선택할 권리가 있습니다.

초보자는 특별한 도구 덕분에 프로그래밍과 그 기초에 대한 학습 속도를 높일 수 있는 기회를 갖게 됩니다. 주요 어시스턴트는 프로그램과 애플리케이션을 위한 통합 개발 환경인 Visual Basic(“Visual Basic”은 1970년대 Basic 언어의 스타일을 계승한 프로그래밍 언어이기도 함)입니다.

프로그래밍 언어의 수준

컴퓨터 문제 해결을 위한 프로그램 및 알고리즘을 생성, 설명하기 위한 모든 공식 언어는 하위 수준 프로그래밍 언어(아래 목록 참조)와 고급 수준의 두 가지 주요 범주로 나뉩니다. 각각에 대해 개별적으로 이야기합시다.

저수준 언어는 프로세서에 대한 기계 명령어를 생성하도록 설계되었습니다. 주요 장점은 니모닉 표기법을 사용한다는 것입니다. 즉, 일련의 0과 1(이진수 시스템에서) 대신 컴퓨터가 영어의 의미 있는 약어를 기억한다는 것입니다. 가장 유명한 저수준 언어는 "Assembler"(이 언어에는 여러 하위 유형이 있으며 각각 공통점이 많지만 추가 지시문 및 매크로 집합에서만 다릅니다), CIL(.Net에서 사용 가능) 플랫폼) 및 JAVA 바이트코드.

고급 프로그래밍 언어: 목록

고급 언어는 응용 프로그램의 편의성과 효율성을 높이기 위해 만들어졌으며 저급 언어와 정반대입니다. 그들의 독특한 특징은 프로그램의 구조와 알고리즘을 간결하고 간결하게 설명하는 의미 구조가 존재한다는 것입니다. 저수준 언어에서는 기계어 설명이 너무 길어서 이해하기 어렵습니다. 고급 언어는 플랫폼 독립적입니다. 대신 컴파일러는 번역기 기능을 수행합니다. 즉, 프로그램 텍스트를 기본 기계 명령어로 번역합니다.

다음 프로그래밍 언어 목록은 C("C"), C#("C-sharp"), "Fortran", "Pascal", Java("Java")이며 가장 많이 사용되는 고급 구문 중 하나입니다. 여기에는 다음과 같은 속성이 있습니다. 이러한 언어는 복잡한 구조로 작동하고 문자열 데이터 유형 및 파일 I/O 정보 작업을 지원하며 가독성과 이해 가능한 구문으로 인해 작업하기가 훨씬 쉽다는 장점도 있습니다.

가장 많이 사용되는 프로그래밍 언어

원칙적으로 어떤 언어로든 프로그램을 작성할 수 있습니다. 문제는 이것이 효율적이고 실패 없이 작동할 것인가입니다. 그렇기 때문에 다양한 문제를 해결하려면 가장 적합한 프로그래밍 언어를 선택해야 합니다. 인기순 목록은 다음과 같이 설명할 수 있습니다.

  • OOP 언어: Java, C++, Python, PHP, VisualBasic 및 JavaScript;
  • 구조적 언어 그룹: Basic, Fortran 및 Pascal;
  • 멀티 패러다임: C#, Delphi, Curry 및 Scala.

프로그램 및 응용 범위

특정 프로그램이 작성되는 언어 선택은 적용 영역에 따라 크게 달라집니다. 예를 들어, 컴퓨터 하드웨어 자체 작업(드라이버 작성 및 지원 프로그램 작성)의 경우 가장 좋은 옵션은 기본 프로그래밍 언어에 포함된 C(“C”) 또는 C++입니다(위 목록 참조). . 그리고 게임을 포함한 모바일 애플리케이션을 개발하려면 Java 또는 C#(“C-sharp”)을 선택해야 합니다.

어떤 방향으로 일할지 아직 결정하지 못했다면 C 또는 C++로 공부하는 것이 좋습니다. 그들은 매우 명확한 구문과 클래스와 함수로의 명확한 구조적 구분을 가지고 있습니다. 또한 C나 C++를 알면 다른 프로그래밍 언어도 쉽게 배울 수 있습니다.

컴퓨터는 오랫동안 사용되어 왔습니다. 첫 번째는 튜브 기반이었고 많은 공간을 차지했습니다. 이러한 기계를 작동시키기 위해서는 많은 유지보수 인력이 필요했다. 시간이 지나면서 진공관은 전자 부품으로 교체되었고 컴퓨터는 훨씬 작아졌습니다. 오늘날 컴퓨터 시스템 장치는 공간을 거의 차지하지 않으며 성능도 훨씬 높아졌습니다.

그러나 태어날 때 정한 컴퓨터 작동의 기본 원칙은 여전히 ​​​​유효합니다. 데이터는 "신호 존재 여부" 방식을 사용하여 신호를 사용하여 전송됩니다. '비트'는 이렇게 등장했습니다. 비트는 0 또는 1의 값을 가질 수 있는 정보 단위입니다. 8비트가 결합되어 바이트가 되며, 1바이트는 8비트와 같습니다. 숫자 8이 나타난 이유는 최초의 컴퓨터가 8비트였고 한 번에 8비트로만 작동할 수 있었기 때문입니다(예: 01011001). 첫 번째 0은 제거할 수 있습니다.

1바이트에 0부터 255까지의 숫자를 쓸 수 있습니다. 지정된 숫자 범위는 매우 작으므로 더 큰 범위가 사용되는 경우가 많습니다(2바이트 = 워드, 2워드 = 더블 워드).

컴퓨터가 이진수 시스템으로 작동하기 시작했습니다. 모든 10진수는 2진수로 쓸 수 있습니다. 자세한 변형은 고려하지 않겠지만, 관심 있으신 분들은 댓글로 남겨주시면 말씀드리겠습니다.

컴퓨터에서는 2진수 또는 16진수 시스템으로 계산을 수행하는 것이 일반적입니다. 두 번째는 컴퓨터가 16비트가 되었을 때 사용되었습니다. 프로그램을 작성할 때델파이 컴파일러 자체가 모든 숫자를 프로세서에 필요한 형식으로 변환하기 때문에 일반적인 십진법을 사용하지만 프로세서가 어떤 숫자를 사용하는지 이해하는 것이 매우 중요합니다.

16진수 시스템은 다르게 보입니다. 각 숫자에는 16개의 상태가 포함되어 있습니다. 따라서 한 자리는 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F. 문자 "A"는 십진법으로 숫자 10에 해당하고 "B"는 11에 해당합니다.

예를 들어, 숫자 1비 16진수는 10진수로 27과 같습니다.

자료 전반에 걸쳐 우리는 때때로 16진수 체계를 접하게 됩니다. 이 경우 16진수와 10진수를 구별하기 위해 관례대로 # 기호(예: #25)가 앞에 표시됩니다.델파이.

부동 소수점 숫자를 사용한 작업은 완전히 다릅니다. 우리는 이것을 고려하지 않을 것입니다.

이제 음수를 살펴 보겠습니다. 숫자가 음수일 수 있다고 미리 예측되면 숫자의 길이가 1비트만큼 줄어들어 숫자의 부호에 할당됩니다. 첫 번째 비트가 1이면 숫자는 음수이고, 그렇지 않으면 양수입니다.

분수에서는 정수 부분에 1바이트, 분수 부분에 1바이트를 할당할 수 있습니다. 이로 인해 분수는 항상 더 많은 메모리를 차지하며 이를 사용한 작업은 더 오래 걸립니다.

1.2. 기계어

텍스트 파일을 포함한 디스크의 모든 데이터는 바이너리 형식으로 저장됩니다. 모든 프로그램은 완전히 동일해 보이지만 이름만 다릅니다. 기계어 코드.좀 더 자세히 살펴보겠습니다.

모든 프로그램은 다음과 같은 일련의 명령입니다. 프로세서 지침.프로그램이 시작되면 컴퓨터는 기계어 코드를 RAM에 로드하고 명령을 계속 실행하기 시작합니다. 프로그래머의 임무는 컴퓨터가 원하는 것을 이해할 수 있도록 이러한 명령을 작성하는 것입니다.

컴퓨터가 실행하는 실제 프로그램은 1과 0의 시퀀스입니다. 이 순서를 기계어라고 합니다.

예를 들어, 추가 명령 16진수 시스템의 두 레지스터는 다음과 같습니다: $03С3. 이것은 많은 것을 말하지 않으며 그러한 명령을 기억하는 것도 매우 어렵습니다. "숫자 1과 숫자 2를 더하세요"라고 쓰는 것이 훨씬 쉽습니다.

처음에 프로그래머는 기계어 코드로 프로그램을 작성한 다음 프로그램 텍스트를 기계어 코드로 번역하는 프로그램인 첫 번째 컴파일러가 나타났습니다. 따라서 사용자는 보다 의미 있게 프로그램을 작성하기 시작했고, 컴퓨터 자체가 프로그램 텍스트를 기계 바이트코드로 변환하는 모든 일상적인 작업을 수행하기 시작했습니다.

1.3. 프로그래밍 언어의 역사

프로그램을 작성하는 언어를 프로그래밍 언어라고 합니다.

최초의 컴파일러는어셈블러 (“수집자”로 번역됨). 그것을 쓰는 것은 기계어만큼 어렵지만 이제는 숫자가 사용되지 않고 사람이 이해할 수 있는 숫자가 사용됩니다.단어.

그림의 텍스트는 세 개의 열로 나눌 수 있습니다.

· 명령어 주소;

· 기계어 명령어;

· 어셈블리 언어 코드.

예를 들어, 레지스터 복사 명령은 다음과 같습니다.mov응,ebx. 이 경우 mov프로그래밍 언어 명령입니다 그리고ebx- 이름을 등록하세요.

어셈블리 언어로 프로그램을 작성하는 것이 더 쉬웠지만 기계어로 작성된 프로그램은 더 빠르고 유연하게 작동했습니다. 기계어로 프로그램을 작성할 때 프로그래머는 어떤 제한도 받지 않지만 어셈블러로 작업할 때는 제한이 있습니다. 결과에 영향을 미치는 것이 항상 가능한 것은 아닙니다.

어셈블러가 탄생한 이후 프로그래밍 언어가 속속 등장하기 시작했다. S는 이렇게 등장했고,ADA, 폭스프로, 포트란, 기초적인, 파스칼기타 그 중 일부는 교육용으로만 제작되었고 다른 일부는 전문 프로그래머를 대상으로 했습니다.

어셈블리어 현재는 대부분고급 언어의 삽입물로만 사용되며 기계어 코드는 컴파일러가 수행할 수 없는 작업을 작성하는 데 사용됩니다.

그런 다음 객체 지향 프로그래밍이 개발되었습니다. C 언어가 C++로 바뀌었고,파스칼 인 물체파스칼등.

프로그래밍에서 일어나는 마지막 주요 혁명은 시각적 프로그래밍으로의 전환입니다. 이 전환이 현재 진행 중입니다. Visuality는 코드를 빠르게 작성할 수 있도록 더욱 편리한 개발 도구를 제공하지만 속도 측면에서는 OOP에 비해 뒤떨어집니다. 시각적 프로그래밍을 지원하는 일반적으로 사용되는 언어 중 일부는 다음과 같습니다.델파이와 C #, 진행이 멈추지 않고 다른 많은 언어에 대한 시각적 구성 요소가 나타납니다.

최고의 언어를 선택하는 것은 불가능합니다. 각각은 특정 작업 범위에 적합하며 프로그래머는 자신에게 가장 편리한 언어를 선택해야 합니다.

1.4. 기계 명령 실행

바이트 외에도 다른 차원이 있습니다.

· 1킬로바이트 = 1024바이트;

· 1메가바이트 = 1024킬로바이트;

· 1기가바이트 = 1024메가바이트.

· 1테라바이트 = 1024기가바이트.

· 등.

컴퓨터에서 대부분의 값은 2의 거듭제곱입니다. 왜냐하면 컴퓨터는 이진법으로 작동하고 이 방법으로 컴퓨터의 기능을 최대한 활용할 수 있기 때문입니다. 이 때문에 치수를 계산할 때 1024(2의 10제곱)가 사용됩니다.

몇 가지 개념을 살펴보겠습니다.

분절- 컴퓨터의 내부 메모리 영역입니다.

운영 체제가 16비트인 경우 프로세서는 64킬로바이트보다 큰 메모리를 처리할 수 없습니다. 이는 2바이트 주소를 사용하여 주소를 지정할 수 있는 최대 메모리 크기이기 때문입니다. 따라서 기억은 크기와 목적에 따라 여러 부분으로 나누어졌다. 현재 최대 4GB RAM을 처리할 수 있는 32비트 OS와 64비트 OS가 사용됩니다. 그러므로 기억은 연속적이라고 말할 수 있다. 그러나 목적에 따른 구분은 여전히 ​​남아있다.

다음과 같은 세그먼트가 있습니다메모리:

· 코드 세그먼트- 기계어 코드가 로드되어 프로세서에 의해 실행되는 메모리 영역

· 데이터 세그먼트- 데이터 저장을 위한 메모리 영역

· 스택 세그먼트- 임시 데이터와 프로시저의 반환 주소를 저장하기 위한 메모리 영역입니다.

실행 중인 각 프로그램에는 고유한 코드 세그먼트, 데이터 및 스택이 있습니다. 따라서 한 프로그램의 데이터는 다른 프로그램의 데이터나 코드를 방해할 수 없습니다.

등록하다- 프로세서의 메모리 셀. 크기는 비트 깊이에 따라 다릅니다. 32비트 프로세서에서는 셀이 32비트이지만 64비트 셀도 있습니다. 프로세서에는 이러한 레지스터가 여러 개 있으며 각 레지스터는 특정 목적으로 사용됩니다. 프로그램이 재량에 따라 사용할 수 있는 일반 레지스터도 있습니다.

컴퓨터 프로그래밍을 배우고 싶고 이 기술을 배우는 방법을 설명하는 빠른 안내서를 찾고 있다면 이 기사가 바로 당신을 위한 것입니다.

여기서는 스스로 컴퓨터 프로그램을 작성하는 방법을 배우는 방법에 대한 팁을 제공하겠습니다.

컴퓨터 프로그래밍은 일하기에 가장 흥미롭고 보람 있는 분야 중 하나입니다. 전 세계에서 매일 수백만 줄의 코드가 작성되어 새로운 애플리케이션과 소프트웨어가 탄생합니다. 분석적으로 생각하고 퍼즐과 모든 종류의 문제를 해결하고 싶다면 프로그래밍이 적합합니다. 프로그래밍 학습의 핵심은 프로그래밍 언어를 마스터하고 이를 사용하여 복잡한 문제를 해결하는 방법을 배우는 것입니다.

코딩을 배우고, 대학에 진학하고, 컴퓨터 과학 학위를 취득하는 표준 방법입니다. 그러나 교육 기관에서 공부한 적이 없음에도 불구하고 분석적 사고에 대한 기술과 재능을 가지고 있는 사람들이 많이 있습니다. 나는 프로그래머가 되기 위해 공부하지 않았지만 이미 프로그래밍의 아름다움을 발견했고 이 과학을 마스터하고 싶은 분들을 위해 이 글을 썼습니다. 인터넷은 이 과정을 안내할 수 있는 프로그래밍 문화를 조성했습니다. 자기 훈련과 끈기를 통해 자신만의 소프트웨어를 프로그래밍하고 작성하는 방법을 배울 수 있습니다. 이는 마음을 단련하는 방법일 뿐만 아니라, 자신이 만든 소프트웨어를 팔아서 돈을 벌거나, 정말 잘하면 전문 회사에 취업할 수 있는 좋은 방법이기도 합니다.

프로그래밍을 배우는 방법?

컴퓨터 과학은 마스터해야 할 주요 분야이므로 프로그래밍에 대한 최소한의 지식과 경험을 제공합니다. 프로그래머가 되는 방법에 대한 몇 가지 권장 사항은 다음과 같습니다.

프로그래밍 언어 배우기

먼저, 프로그램을 읽고 실행할 수 있는 데스크탑이나 노트북 컴퓨터가 필요합니다. 프로그래밍은 다양한 컴퓨팅 작업을 수행하기 위해 컴퓨터의 하드웨어 구성과 통신하는 능력입니다. 컴퓨터는 1과 0으로 쓰여진 기계어만을 이해합니다. 우리 인간이 컴퓨터와 통신할 수 있도록 컴파일러에 의해 코드가 기계가 읽을 수 있는 형태로 변환될 수 있는 프로그래밍 언어가 만들어졌습니다. 응용 프로그램에 따라 다양한 프로그래밍 언어가 있습니다. C, C++, Java, Perl, Lisp 및 Python을 포함하여 최소 12개의 주요 프로그래밍 언어를 배워야 합니다.

프로그래밍의 기초를 배우려면 처음부터 C나 Python을 배우기 시작하세요. 온라인 리소스와 프로그래밍 서적을 활용하여 기본 사항을 익히세요. 코딩 프로그램을 설치하고 컴퓨터에서 실행하십시오. 책과 전자교과서에 제공된 예제와 문제를 활용하여 자신만의 코드를 작성하세요. "C"를 배우기에 가장 좋은 책 중 하나는 ""입니다. 또 다른 좋은 책 "".

"C" 기술을 익힌 다음 C++로 가능해진 객체 지향 프로그래밍으로 넘어가세요. 그런 다음 웹 개발에 널리 사용되는 Java, Perl 및 에 대한 기술을 습득하세요. 웹 개발 분야에서 일할 계획이라면 HTML을 배우십시오. 보시다시피, 배워야 할 자료가 많고 대부분의 언어에 능숙해지려면 최소 5~6년이 걸립니다.

코드 작성 시작

이것이 배운 것을 실천하는 가장 좋은 방법입니다. 코드를 작성하고, 실수하고, 배우고, 코드를 디버그하세요. 온라인 코딩 대회에 참여하고 프로그래밍 기술을 테스트해보세요. 오픈 소스 소프트웨어를 접하고, 코드를 읽고, 소프트웨어가 얼마나 좋은지 이해하세요. 마스터 프로그래머가 코드 절감과 논리적 명확성을 달성하는 방법을 알아보세요. 컴퓨터와 주요 하드웨어에 대해 알아보세요. 컴퓨터가 메모리와 프로세서를 사용하여 기본적인 수준에서 어떻게 작동하는지 알아보세요.

Linux 또는 Unix 실행 방법 배우기

Linux 및 Unix 운영 체제를 마스터하기 전까지는 자신을 프로그래머라고 부를 수 없습니다. 컴퓨터에 Ubuntu 배포판을 설치하고 익숙해지십시오. 그러면 컴파일러와 함께 필요한 모든 프로그래밍 도구가 제공됩니다.

컴파일러는 컴파일(소스 코드에서 컴파일된 프로그램의 번역)을 수행하는 프로그램입니다.

학생 - 전문가 - 프로그래머

당신을 마스터 프로그래머가 되는 길로 안내해 줄 수 있는 좋은 멘토를 찾으세요. 조언을 듣고 그것으로부터 배우십시오.

코드 작성 규칙을 읽고 계속해서 개선하세요.

자신만의 컴퓨터 코드를 계속 작성하고 이를 개선할 수 있는 방법에 대해 생각해 보세요. 오픈 소스 운동에 동참하고 좋은 소프트웨어의 구조를 분석해 보세요. 웹사이트를 만들고 지속적으로 지식을 심화하세요. 항상 개선의 여지가 있다는 것을 기억하세요!

프로그래밍이 쉬운 일이 아니라는 환상을 갖지 마십시오. 자신을 본격적인 프로그래머라고 부를 수 있는 지점에 도달하려면 적어도 10년에서 15년이 걸릴 것입니다. 프로그래밍에서의 성공은 학습을 추구하는 헌신과 인내에 정비례합니다.

이 글의 목적은 여러분이 올바른 방향으로 나아갈 수 있도록 돕는 것입니다. 이 목표가 어느 정도 달성되었으면 좋겠습니다. 마음을 자유롭게 하고 재미있게 프로그래밍의 세계로 들어가보세요!



맨 위