? 참고: 썸네일은
를 사용하여 생성되었습니다. ComfyUI의 도움을 받은 Flux Schnell 모델;
이 기사는 NI - 자연 지능
의 도움으로 작성되었습니다. ? 읽을 시간이 없나요? - 우리가 만든 비디오를 시청하세요:
처음에는 모든 프로그램이 바이너리로 작성되었습니다. 소위 어셈블리
프로그래밍 언어. 문자 그대로 CPU에
내에서 수행할 작업을 지시하는 곳
ALU. 저수준 프로그래밍 언어로 어셈블리를 사용하는 동안
ALU를 매우 세밀하게 제어하려면 프로그래머가 실제로 CPU를 알아야 합니다.
아키텍처와 바이너리 로직 - 매우 어렵고 비용이 많이 듭니다.
어셈블리는 실행 성능에 도움이 되는 낮은 수준의 최적화를 제공합니다.
개발되고 적극적으로 유지 관리되는 프로그램의 예
정렬 알고리즘, 해시 함수, 루프 등이 있습니다.
그래서 복잡성을 줄이고 효율성을 높이기 위해 똑똑한 사람들이 발명되었습니다.
고급 프로그래밍 언어.
? Linux X86용 hello world app 어셈블리의 예:
section .data hello db 'Hello World!', 0x0A ; The string to print, with a newline section .text global _start ; Entry point for the program _start: ; Write the string to stdout mov eax, 4 ; syscall number for sys_write mov ebx, 1 ; file descriptor 1 is stdout mov ecx, hello ; pointer to the string mov edx, 13 ; length of the string int 0x80 ; call kernel ; Exit the program mov eax, 1 ; syscall number for sys_exit xor ebx, ebx ; exit code 0 int 0x80 ; call kernel
고급 프로그래밍 언어의 목적은 다음 작업의 절차를 단순화하는 것입니다.
사람이 읽을 수 있는 텍스트를 사용하여 비즈니스 로직을 작성합니다. 고급 프로그래밍
언어는 컴파일된 언어와 해석된 언어로 분류됩니다.
컴파일된 프로그래밍 언어는 사람이 읽을 수 있는 높은 수준의 코드를 다음으로 변환합니다.
컴파일 과정 중 기계 코드가 발생합니다.
실제 컴파일을 수행하는 프로그램을 컴파일러라고 합니다.
각 프로그램을 컴파일해야 한다는 점은 언급할 가치가 있습니다.
특정 컴퓨터 아키텍처에 적용됩니다.
X86용으로 컴파일된 프로그램은 ARM 프로세서에서 작동하지 않으며 그 반대의 경우도 마찬가지입니다.
따라서 특정 아키텍처에 대한 컴파일이 필요합니다.
컴파일은 되돌릴 수 없는 프로세스입니다.
어셈블리 코드를 상위 수준 소스 코드로 안정적으로 변환할 수 없습니다.
컴파일된 프로그램이 실행되는 대부분의 경우 성능 측면에서
더 빠르게 ? 통역프로그램보다.
컴파일된 언어의 대부분은 정적으로 유형이 지정됩니다.
다음 단락에 설명이 이어집니다.
가장 널리 사용되는 컴파일 언어는 C, C, Rust, Objective C, C#입니다.
? Hello World C 프로그래밍 언어로 작성됨:
#includeint main() { printf("Hello World!"); return 0; }
애플리케이션은 이미지 표시와 같은 특정 일반적인 작업을 수행할 수 있습니다.
아카이브 및 기타 여러 가지 압축을 해제합니다. 이러한 모든 것을 작성하는 것이 가능하지만
처음부터 기능을 수행하는 것은 비현실적입니다.
이를 위해 라이브러리가 사용됩니다.
라이브러리는 분할
을 통해 개발 프로세스의 복잡성을 줄이는 데 도움이 됩니다.
응용 프로그램을 모듈로 변환합니다. 새로운 기능과 버그 수정은
내에서 수행할 수 있습니다.
전체 애플리케이션이 아닌 모듈의 범위.
라이브러리를 기본 애플리케이션에 통합하는 프로세스를
라고 합니다.
연결. 연결은 동적으로 수행될 수 있습니다. 즉, 모든 라이브러리가
동안 별도로 컴파일되어 기본 애플리케이션에 연결됩니다.
애플리케이션의 런타임 또는 정적으로 - 모든 기계어 코드
를 의미합니다.
중 라이브러리가 기본 애플리케이션 바이너리에 통합되었습니다.
동적 라이브러리의 확장자는 일반적으로 Windows의 경우 .dll이고 Unix의 경우 .so입니다.
해석된 프로그래밍 언어는 사람이 읽을 수 있는 높은 수준의 코드를 번역합니다.
프로그램 실행 중에 기계어 코드로 변환됩니다. 이를 수행하는 프로그램
통역사라고 합니다. 통역사도
프로그램이기 때문에
변환할 수 있는 CPU의 특정 아키텍처에 대해 이미 컴파일되었습니다.
즉석에서 기계어로 고급 코드를 변환합니다.
대부분의 경우 해석된 프로그램의 성능이 느려지나요?
컴파일된 것보다
가장 널리 사용되는 해석 언어는 Python, JavaScript, PHP, Ruby입니다.
? 안녕하세요 세계 Python 프로그래밍 언어로 작성됨:
print("Hello World!")
프로그래밍 언어는 정적 유형 또는 동적 유형으로 분류될 수 있습니다.
정적으로 유형이 지정된 프로그래밍 언어의 모든 변수 및 데이터 구조
프로그램을 컴파일하거나 실행하기 전에 미리 정의됩니다.
예를 들어 이는 개발자가 변수 A를 문자열
로 정의하는 경우를 의미합니다.
나중에 코드에서 해당 값을 문자열에서 숫자로 변경할 수 없습니다.
이는 AOT(Ahead Of Time) 컴파일 및 인쇄 중에 확인할 수 있습니다
논리적 오류. 이 간단한 기술은 오류 수를 줄이는 데 도움이 됩니다
실행 중에 프로그램이 더 안정적으로 만들어집니다.
동적 유형의 프로그래밍 언어에서는 변수를 재할당할 수 있습니다.
한 유형에서 다른 유형으로. 예를 들어 변수 A는 먼저 숫자
를 포함할 수 있습니다.
나중에 문자열을 포함할 수 있습니다. 이 방법은 개발 프로세스를 단순화합니다.
변수는 정수, 부동 소수점 숫자, 문자열.
일 수 있습니다.
이는 가능한 가장 간단한 데이터 구조로 간주됩니다.
더 깊이 파고들려면 RAM의 지정된 주소를 사용하여 변수가 저장됩니다.
주소는 이진수입니다(11111111111111101011111101111111111100001101100)
일반적으로 16진수
로 표시되는 RAM의 메모리 셀
(0x7fff5fbff86c) 읽기 쉽도록 합니다.
상수는 할당 후 값이 다음과 같은 특수 변수입니다.
실행 중인 프로그램에 의해 변경되어서는 안 됩니다.
변수 옆에는 배열과 같은 다른 데이터 구조가 있습니다.
연관 배열, 연결 목록, 대기열, 스택 및 기타 여러 가지.
이러한 구조의 목적은 데이터를 보다 효율적으로 저장하는 것입니다.
그러면 데이터 작업이 더 쉬워질 것입니다.
비즈니스 로직 프로그래밍을 단순화하는 방법 중 하나는 다음을 사용하는 것입니다.
소위 기능. f(x)가
를 생성하는 함수인 수학에서와 같습니다.
프로그래밍에서 해당 기능의 속성에 따라 일부 값
함수는 값을 반환하거나 어떤 작업을 수행할 수 있습니다. 함수는 입력을 받을 수 있습니다
숫자, 문자열 또는 기타 데이터 구조와 같은 인수 및 반환
값이나 데이터 구조 또는 전혀 인수 없이 작동할 수 있습니다.
모든 것은 함수 자체의 비즈니스 로직에 따라 달라집니다.
실제로 프로그래밍 언어는 모든 사람이 생각하는 것만큼 복잡하지 않습니다.
프로그래밍을 배우기 시작했다면 간단한 해석으로 시작하세요.
Python과 같은 언어. 기본을 이해한 후 - 기타 모든 언어
구문을 읽는 것만큼 쉽게 따라갈 수 있습니다.
출처: https://blog.wiregate.io/posts/programming-언어s-explained
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3