>백엔드 개발 >PHP 튜토리얼 >프로그래밍 초보자가 PHP를 배우기 위해 알아야 할 것

프로그래밍 초보자가 PHP를 배우기 위해 알아야 할 것

烟雨青岚
烟雨青岚앞으로
2020-06-15 13:38:362373검색

프로그래밍 초보자가 PHP를 배우기 위해 알아야 할 것

PHP를 배우기 위해 프로그래밍 초보자가 알아야 할 것은 무엇입니까?

1. 컴퓨터 프로그램이란 무엇입니까?

백과사전 설명에서 발췌: 소프트웨어라고도 알려진 컴퓨터 프로그램은 정보 처리 기능을 갖춘 컴퓨터 또는 기타 장치의 각 단계를 지시하는 일련의 지침을 의미합니다. 일반적으로 특정 프로그래밍 언어로 작성됩니다. 특정 대상 아키텍처에서 실행됩니다.

컴퓨터 프로그램에 대한 대중적인 이해

컴퓨터 프로그램은 특정 기능을 완료하기 위해 컴퓨터에서 실행할 수 있는 일련의 명령입니다. 컴퓨터 프로그램의 복잡성은 컴퓨터에서 완료해야 하는 논리적 기능에 따라 결정됩니다. 예를 들어, 간단한 프로그램을 작성하면 이차 방정식의 해를 계산할 수 있고 강력한 게임 프로그램은 다른 게임 경험을 제공할 수 있습니다. 컴퓨터. 컴퓨터가 특정 작업을 수행하고 특정 기능을 수행할 수 있도록 하는 명령 모음입니다.

컴퓨터를 켠 후 Windows/Linux/Mac 등의 운영 체제에 들어가면 운영 체제에서 많은 프로그램이 로드되고 실행됩니다. 운영 체제의 본질도 일련의 컴퓨터 프로그램으로 구성됩니다. 일반적으로 컴퓨터 프로그램은 비디오/오디오 플레이어, 웹 브라우저, 소셜 도구 클라이언트 Wechat/QQ 등과 같은 특정 기능을 완료할 수 있는 비교적 독립적인 프로그램입니다. 일반적으로 많은 컴퓨터 프로그램이 함께 작동합니다. 더 복잡한 작업을 완료합니다. 일반적으로 운영 체제와 같이 시스템이라고 하는 일련의 프로그램입니다.

백과사전 설명에 언급된 지침은 특정 대상 아키텍처에서 실행됩니다. 대부분의 컴퓨터의 경우 컴퓨터 아키텍처의 광범위한 분류 관점에서 볼 때 여기서 대상 아키텍처는 일반적으로 가장 일반적인 Von Nuo Iman 아키텍처가 기본 구조입니다. 이전 섹션에서 설명한 컴퓨터의 von Neumann 아키텍처 설계에서 CPU(계산기 및 컨트롤러) 설계도 여러 아키텍처로 나눌 수 있습니다.

명령어 세트가 무엇인지 자세히 알아보겠습니다. 명령어 세트는 CPU 내부에 저장된 하드 프로그램으로 CPU 작업을 안내하고 최적화합니다. 즉, CPU의 연산 장치는 CPU의 명령어 세트가 지원하는 명령어만 실행할 수 있습니다. 다양한 CPU 아키텍처가 나타나는 이유는 명령어 세트의 디자인이 다르기 때문입니다. 일반적인 CPU 아키텍처에는 Intel의 X86 아키텍처와 ARM의 ARM 아키텍처가 포함되며, 해당 명령어 세트는 RISC(Reduced Instruction Set)입니다. X86과 ARM 프로세서의 주요 차이점은 전자는 CISC(복합 명령어 세트)를 사용하고 후자는 RISC(축소 명령어 세트)를 사용한다는 것입니다. X86 아키텍처 CPU는 노트북, 데스크톱 및 서버에서 흔히 볼 수 있는 반면, ARM 아키텍처 CPU는 주로 휴대폰 및 임베디드 시스템에 사용됩니다. 관심이 있는 경우 명령어 세트에 대해 자세히 알아볼 수 있습니다.

2. 프로그래밍 언어란 무엇인가요?

위에서는 컴퓨터 프로그램이 무엇인지 설명합니다. 컴퓨터 프로그램의 본질은 특정 대상 아키텍처(일시적으로 특정 CPU 아키텍처로 이해될 수 있음)에서 실행되는 명령 집합이며 이러한 명령 집합은 다음과 같습니다. CPU에서 사용할 수 있습니다. 아키텍처에서 지원됩니다. 즉, CPU의 산술 단위는 명령어 세트의 모든 명령어를 실행할 수 있습니다. 즉, 동일한 기능을 가진 프로그램이 다른 CPU 아키텍처에 작성된 경우 최종 생성된 프로그램에 해당하는 명령어 세트는 다를 수 있습니다.

1. 기계어

CPU 아키텍처가 지원하는 명령어 세트를 통해 수천 개의 프로그램을 작성할 수 있으며, 명령어 세트로 구성된 프로그램을 CPU에서 직접 해석하고 실행하는 과정이 가능합니다. 프로그램은 텍스트를 통해 기사를 작성하는 것과 같습니다. 단일 단어 또는 단어는 특정 명령입니다. 다양한 단어 또는 단어(명령어)가 특정 규칙을 통해 결합되어 기사(프로그램)를 구성합니다. 이 언어는 일반적으로 기계어, 기계어라고도 알려져 있습니다. 서로 다른 CPU 아키텍처에서 지원되는 서로 다른 명령어 세트는 서로 다른 기계 언어로 간주될 수 있습니다. 텍스트도 중국어, 영어 및 기타 여러 언어로 구분되는 것처럼 기계 언어도 마찬가지입니다.

2. 어셈블리 언어

기계어로 프로그램을 작성할 때 프로그래머는 사용하는 컴퓨터의 모든 명령어 코드와 그 의미를 먼저 외워야 합니다. 프로그래밍할 때 프로그래머는 각 명령어와 각 데이터 자체의 저장 할당과 입력 및 출력을 처리해야 하며 프로그래밍 프로세스의 각 단계에서 사용되는 작업 단위의 상태도 기억해야 합니다. 이것은 매우 지루한 작업입니다. 프로그램을 작성하는 데 걸리는 시간은 실제 실행 시간보다 수십 배, 심지어 수백 배 더 긴 경우가 많습니다. 게다가 프로그래밍된 프로그램은 모두 0과 1의 명령 코드이므로 직관적이지 않고 오류가 발생하기 쉽습니다. 하다?

이때 어셈블리 언어가 탄생하게 되었습니다. 어셈블리 언어의 주체는 어셈블리 명령어입니다. 조립 명령어와 기계 명령어의 차이점은 명령어 표현 방법에 있습니다. 조립 명령어는 예를 들어 작업을 수행하기 위해 레지스터 BX의 내용이 AX로 전송되는 쓰기 형식입니다. 특정 의미에 들어갈 필요는 없으며 특정 기능에 대한 완전한 지침으로 충분하다는 것을 이해합니다.)

  1000100111011000               机器指令
    mov ax,bx                    汇编指令

동일한 작업에 대해 다음 조립 지침이 더 기억하기 쉽다는 것을 쉽게 알 수 있습니다. 어셈블리 언어는 기계어와 비교하여 크게 발전했습니다. 몇 가지 기능:

1 더 많은 프로그래밍 가능, 프로그래머는 어셈블리 언어를 사용하여 동일한 프로그래밍 작업을 완료할 수 있습니다.

2. 프로그램은 위에서 언급한 바와 같이 다양한 CPU 아키텍처가 다양한 명령 집합 시스템(기계어)을 지원하므로 프로그램은 일반적으로 특정 용도에 맞게 기계어로 작성됩니다. 유형의 CPU 아키텍처는 다른 CPU 아키텍처에서 실행될 수 없으며 어셈블리 언어에서는 동일한 어셈블리 문이 다른 CPU 아키텍처에서 실행될 때 컴파일러가 이를 컴파일하기만 하면 된다고 상상할 수 있습니다(다른 언어 간 번역과 마찬가지로) ​​및 텍스트)를 해당 CPU 아키텍처에서 지원하는 기계어 코드로 변환합니다.

어셈블리 언어 컴파일러는 어셈블리 언어를 대상 CPU 아키텍처의 기계어로 번역할 수 있는 프로그램입니다.

3. 고급 언어

앞서 기계어와 어셈블리어가 무엇인지 배웠습니다. 어셈블리어도 기계어처럼 하드웨어를 직접 작동하지만, 어셈블리어 명령어는 영어 약어 식별자를 사용하므로 더 쉽게 인식할 수 있습니다. 기억하세요. 하지만 이는 기계어에만 관련되어 있습니다. 실제 프로그래밍에 있어서도 어셈블리 언어 소스 프로그램은 매우 복잡하고 길다. 프로그램을 보다 간단하고 효율적으로 작성하기 위해 고급 언어가 탄생하게 되었다.

고급 언어는 하나의 언어를 지칭하는 것이 아니라 고도로 캡슐화된 프로그래밍 언어인 C, C++, Java, php, Python 등과 같은 여러 프로그래밍 언어를 포함합니다. 고급 언어는 컴퓨터의 하드웨어 구조 및 CPU 아키텍처(명령 시스템)와 아무런 관련이 없으며, 어셈블리 언어는 이미 해당 CPU 아키텍처에 따라 해당 기계 언어로 번역할 수 있습니다. 마찬가지로, 고급 언어는 이식성이 더 뛰어나므로 컴파일러는 고급 언어를 대상 CPU 아키텍처에서 직접 기계어로 번역하거나 먼저 컴파일한 다음 기계어로 번역할 수도 있습니다. , 컴파일러의 구현에 따라 다릅니다.


요즘에는 일반적으로 프로그래밍을 하려면 기계어나 어셈블리어를 사용하는 방법을 배울 필요가 없습니다. 어셈블리 언어를 이해하는 방법만 알면 됩니다. 우리가 작성한 고급 언어가 대상 언어로 번역되면 컴파일러는 자동으로 일부 최적화 처리를 수행합니다.


4. 고급언어의 분류 ​​

고급언어는 디자인 아이디어의 특성에 따라 프로세스 지향(명령형) 언어로 분류할 수 있는데, 객체 지향 언어, 기능 언어, 논리 언어는 코드가 실행되기 전에 번역되는 시기에 따라 해석 언어와 컴파일 언어로 구분됩니다.


절차적(명령형) 언어를 지향합니다

이 언어의 의미론적 기반은 "데이터 저장/데이터 작업"을 시뮬레이션하는 Turing 기계 계산 가능 모델이며, 이는 현대 컴퓨터 아키텍처의 자연스러운 구현과 매우 일치합니다. 작업을 생성하는 주요 방법은 명령문이나 명령의 부작용에 의존하는 것입니다. Fortran, Pascal, Cobol, C, C++, Basic, Ada, Java, C# 등과 같은 대부분의 현대 인기 언어가 이 유형입니다. 다양한 스크립팅 언어도 이 유형으로 간주됩니다.


객체 지향 언어 ​​

대부분의 최신 언어는 객체 지향 지원을 제공하지만 일부 언어는 기본 객체 지향 모델을 직접 기반으로 구축되어 언어의 구문 형식이 기본 객체입니다. 운영. 객체지향 프로그래밍을 지원하는 주류 언어로는 C++, Java, C#, PHP, Python 등이 있습니다. 일반 언어도 프로세스 지향(명령형) 프로그래밍을 지원합니다.

함수형 언어

이 언어의 의미론적 기반은 수학 함수 개념을 기반으로 한 값 매핑의 람다 연산자 계산 모델입니다. 이 언어는 인공지능과 같은 업무를 위한 계산에 매우 적합합니다. Lisp, Haskell, ML, Scheme, F# 등 대표적인 함수형 언어입니다.


논리적 언어

이 언어의 의미론적 기반은 일련의 알려진 규칙을 기반으로 하는 형식적 논리 시스템입니다. 이 언어는 주로 전문가 시스템의 구현에 사용됩니다. 가장 유명한 논리 언어는 Prolog입니다.


다양한 언어가 서로 다른 유형에 속하지만 각각은 다양한 수준으로 다른 유형의 언어의 작동 모드를 지원합니다.


5. 통역 언어

통역 언어는 언어의 능동적 특성과 수동적 특성에 따라 마크업 언어와 스크립팅 언어로 나눌 수 있습니다. 마크업 언어는 수동적으로 해석을 기다리며 컴퓨터에 적극적으로 명령을 내리지 않습니다. 일반적으로 스크립팅 언어는 컴퓨터가 작업을 수행하도록 적극적으로 명령을 내립니다.


마크업 언어

마크업 언어는 텍스트(Text)와 기타 텍스트 관련 정보를 결합하여 문서 구조 및 데이터 처리에 대한 세부 정보를 표시하는 컴퓨터 텍스트 인코딩입니다. 텍스트와 관련된 기타 정보(텍스트의 구조 및 표현 정보 등)는 원본 텍스트와 결합되지만 마커를 사용하여 식별됩니다.

예: . 이 이름은 실행될 때마다 대화 상자가 그대로 반복되도록 하는 "각본" 스크립트의 이름을 따서 명명되었습니다. 초기 스크립트 언어는 일괄 처리 언어 또는 작업 제어 언어라고도 불렸습니다. 스크립트는 일반적으로 컴파일되기보다는 해석되어 실행됩니다. 스크립팅 언어는 일반적으로 간단하고 배우기 쉽고 사용하기 쉽다는 특징을 가지고 있습니다. 그 목적은 프로그래머가 프로그램 작성 작업을 빠르게 완료할 수 있도록 하는 것입니다.

예: JavaScript, VBScript, PHP, Python

6. 컴파일된 언어


컴파일된 언어: 프로그램이 실행되기 전에 프로그램을 기계어 파일로 컴파일하고 실행해 보세요. 다시 번역할 필요가 없으며, 컴파일된 결과를 직접 사용하면 됩니다. 프로그램 실행 효율성이 높고 컴파일러에 의존하며 크로스 플랫폼 성능이 낮습니다.

예: C, C++, c#, java 등

7. 고급 언어 유형의 차이 ​​


1. 컴퓨터이지만 서식 지정 및 연결에 자주 사용됩니다.

2. 스크립트 언어는 마크업 언어와 프로그래밍 언어 사이에 있습니다. 스크립트 언어는 컴파일할 필요가 없으며 해석을 직접 담당합니다.
3. 컴파일된 언어로 작성된 프로그램을 실행하기 전에 프로그램을 exe 파일과 같은 기계어 파일로 컴파일하는 특별한 컴파일 과정이 필요합니다. 다시 번역할 필요 없이 컴파일된 결과(exe 파일)를 직접 사용하면 됩니다. 왜냐하면 번역은 한 번만 수행되고 런타임 중에는 번역이 필요하지 않기 때문에 컴파일된 언어 프로그램의 실행 효율성이 높습니다.


8. 고급언어의 일반적인 특징 ​​


1. 고급언어는 알고리즘 언어에 가깝고 배우기 쉽고 숙달하기 쉬우며, 일반 엔지니어링 및 기술 인력도 프로그래머로 유능할 수 있습니다. 단 몇 주만 훈련하면

2. 고급 언어는 프로그래머에게 구조화된 프로그래밍 환경과 도구를 제공하여 설계된 프로그램을 읽기 쉽고 유지 관리 가능하며 안정적으로 만듭니다.
3. ​기계어와는 거리가 멀고 컴퓨터와는 전혀 관련이 없습니다. 하드웨어 구조 및 명령어 시스템과 관련이 없으며 표현력이 강해 작성된 프로그램이 이식성이 좋고 재사용률이 높습니다.


4 복잡하고 사소한 일은 컴파일러에게 맡기므로 자동화 정도가 높고, 개발 주기가 짧으며, 프로그래머는 안심하고 자신에게 더 중요한 창의적인 작업에 시간과 에너지를 집중할 수 있습니다. 프로그램 품질


5. 고급 언어 컴파일로 생성된 프로그램 코드 일반적으로 프로그램 코드는 어셈블리 언어로 설계된 프로그램 코드보다 길고 실행 속도도 느립니다. 따라서 어셈블리 언어는 빠른 속도와 코드 길이가 필요한 프로그램과 하드웨어를 직접 제어하는 ​​프로그램을 작성하는 데 적합합니다. 고급 언어 프로그램은 기계의 하드웨어 구조를 "볼 수 없으며" 시스템 소프트웨어나 장치 제어 소프트웨어를 작성하는 데 사용할 수 없습니다. 머신 하드웨어 리소스에 직접 액세스합니다. 이를 위해 일부 고급 언어에서는 어셈블리 언어로 호출 인터페이스를 제공합니다. 어셈블리 언어로 작성된 프로그램은 스택을 사용하여 매개변수 또는 매개변수의 주소를 전달하는 고급 언어의 외부 프로시저 또는 함수로 사용될 수 있습니다.


읽어주신 모든 분들께 감사드리며, 많은 혜택 받으시길 바랍니다.

원본 링크: https://blog.csdn.net/abc_1225/article/details/80237929

추천 튜토리얼: "

PHP Tutorial
"

위 내용은 프로그래밍 초보자가 PHP를 배우기 위해 알아야 할 것의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 csdn.net에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제