올해 프로그램을 시작합시다

얼마나 좋은 결과를 받았는지 놀랍습니다. 마리오 사실을 말하자면, 조회수 10회 이상을 기록한 것은 제가 게시한 첫 번째 기사입니다. 이는 다음 기사에 대한 기준을 다소 높게 설정했으며 이 기사로 여러분을 실망시키지 않기를 바랍니다  제 글을 찾아주셔서 대단히 감사합니다. 그런데 공유할 만큼 흥미롭습니다 

프로그래밍

이것은 유행하는 주제이고, 모두가 프로그래밍하고 싶어하거나 적어도 모든 사람들이 이것이 점점 더 필요한 기술이라고 생각합니다. 사실을 말하자면 저는 프로그래밍, GNU/Linux, 보안 및 Maybe at에 관한 전체 책을 쓰고 싶습니다. 언젠가는 좋은 형식으로 무료 책을 작성하는 방법을 배우자마자 할 수 있습니다  .

기술은 빠르게 발전합니다

이것이 제가 아직 책을 쓰지 못한 이유 중 하나입니다 현실적으로 며칠 이상 지속되지 않는 분야에서 시간의 장벽을 극복할 수 있는 일을 하고 싶기 때문입니다. 이것이 바로 이 기사에서 구현보다는 개념에 대해 조금 이야기하고 싶은 이유입니다. 이렇게 하면 우리는 이러한 줄을 시간에 맞춰 다시 읽을 수 있으며 여전히 유효할 것입니다.

원칙은 더 오래 지속됩니다

오늘날 많은 프로그래밍 언어가 있지만 많은 개념이 동일한 기원으로 돌아갑니다. 이것은 오늘 배운 많은 것들이 오랫동안 유효했으며 아마도 계속 될 것임을 의미합니다. 사람들을 그리고 그들이 계속 발전하는 한 일부 개념은 남아있을 것입니다.

기본을 알기

오늘날 가장 인기 있는 프로그래밍 언어의 구문을 상당 부분 노출하는 강좌가 이미 많이 있으며 일부는 무료이고 일부는 그렇지 않습니다. 하지만 여기서는 이 내용을 다루지 않을 것입니다.  모든 프로그래머가 제대로 된 작업을 수행하기 위해 프로그래밍을 시작하기 전에 고려해야 할 사항에 대해 조금 말씀드리고 싶습니다.

프로그래머의 마음에 들어가는 것은 확실히 필요한 일입니다. 이미 약간 오래된 기사에서 테마. 이제 코드를 작성할 수있는 개념을 살펴 보겠습니다.

변수 및 기능

변수는 메모리 공간입니다. 큰 건물에있는 사서함에 대해 생각해 봅시다. 특정 유형의 개체를 저장하도록 설계되었으며 크고 작은 개체가 있으며 단독으로 또는 그룹으로 존재할 수 있습니다. 변수는 시간이 지남에 따라 사용될 것이라는 것을 알고있는 값입니다. 비록 처음에는 그 값을 정확히 알지 못하더라도 알고 있고 변하지 않을 것이라는 것을 안다면 상수에 직면하게됩니다.

반면에 함수는 명령 집합입니다. 명령은 프로세서가 할 수있는 가장 기본적인 일이며, 기능의 이유는 프로그래머가 명령 세트를 그룹화하여 프로그램 전체에서 반복 할 수 있도록하는 것입니다. 간단하고 상세한 예를 살펴 보겠습니다.

개인적인. 크리스토퍼 디아즈 리베로 스

이것은 C로 작성된 작은 프로그램입니다. 본관, 변수 saludo및 기능 printf 도서관에서 온 stdio.h. 예제를 약간 수정 한 다음 컴파일하여 어떤 일이 발생하는지 살펴 보겠습니다.

개인적인. 크리스토퍼 디아즈 리베로 스

우리는 작은 함수를 추가했습니다. saludar 이것은 변수를 인자로받습니다. saludo 그리고 그것을 인쇄합니다. 이것은 프로그램의 최종 결과를 많이 변경하지는 않지만 위대하고 유용한 프로그래밍 원리를 보여줄 수 있습니다. 추출. 결과를 보겠습니다.

개인적인. 크리스토퍼 디아즈 리베로 스

지식과 작업으로 가득한 간단한 프로그램.

도서관

내가 함수를 만든 이유 saludar 그것은 단순히 우리가 이미 명명 한 소프트웨어 개발의 가장 큰 원칙 중 하나 인 추상화를 보여주기위한 것입니다. 우리가 정의한대로 saludarprintf() 운영 체제 (GNU 표준 C 라이브러리)의 어딘가에 정의되어 있으며, 이곳은 일반적으로 라이브러리 / 모듈 / 라이브러리로 알려져 있습니다. 라이브러리는 휠을 재발 명하지 않고도 프로그램에 기능을 추가 할 수있는 함수 세트입니다. 이 경우 덕분에 printf 터미널에 원하는 메시지를 표시하는 데 필요한 모든 논리에 대해 걱정할 필요가 없습니다.

라이브러리는 거의 모든 현재 프로그래밍 언어로 제공됩니다. 코드 섹션을 선택하고 구현하는 것이 처음부터 각 함수를 만드는 것보다 쉽기 때문입니다.

추출

메일 시스템을 상상해보십시오. 편지를 보내거나받는 데 필요한 모든 물류를 알 필요가 없습니다. 프로그래밍에서도 마찬가지입니다. 추상화는 내구성 있고 우아한 코드를 생성하는 데 필수적입니다. 이 프로세스를 통해 이름을 사용할 수 있습니다. 일반 프로세스 정의 일반  즉, 함수를 생성하면 enviarCarta() 우리는 어떤 방식으로 알고 일반 이 기능은 편지를 보내는 것을 처리 할 것이지만 그렇게하기 위해 어떤 단계가 반드시 필요한 것은 아닙니다. 이것이 추상화가 좋은 이유입니다. 캡슐화하다 프로세스 세그먼트.

캡슐화

우리의 역할 saludar 이것은 캡슐화의 명확한 예이며 프로그램 내에서 한 번 또는 수천 번 사용할 수있는 특정 명령이있는 닫힌 블록을 가질 수 있습니다. 이렇게하면 오류가 발생하면 함수의 한계를 정확히 알고 작은 공간에서 각 명령문을 알고 있기 때문에 코드를 더 쉽게 읽고 디버그하기가 더 쉬워집니다. 이것은 우리에게 UNIX에서 상당히 일반적인 프로그래밍 원칙을 가져옵니다.

한 가지만 해, 잘 해

좋은 기능은  한 가지 일을하지만 아주 잘합니다. 잠시 생각해 봅시다 ... enviarCarta() 아마 많은 일을 할 것입니다. 우리가 프로세스를 디버그하고 싶다면 좋지 않을 것입니다. saludar() 하나만 수행합니다. 시간이 지남에 따라 문제가 발생하면 두 번째가 첫 번째보다 수리하기가 더 쉬울 것입니다. 이 문제를 피할 수있는 옵션은 다른 수준의 추상화를 생성하는 것입니다. enviarCarta(), 이는 함수 내에 다음과 같은 다른 항목이 있음을 의미합니다. verificarSobre() 그리고 아마도이 안에 verificarRemitente(). 궁극적으로이 마지막 함수 (verificarRemitente())는 단순한 것보다 훨씬 더 구체적입니다. enviarCarta() 이런 식으로 코드의 일부를 캡슐화하여 필요한 작업을 한 번에 한 가지만 수행 할 수 있습니다.

연습

프로그래밍의 기술을 배우기 위해서는 연습이 필요하고, 이제 주제를 매우 일반적으로 살펴 보았으므로 다양한 언어 또는 다양한 문제로 연습해야합니다. 먼저 특정 기능을 생성 한 다음 복잡성을 증가시킵니다. 항상 그렇듯이 의심이나 제안 또는 의견이 발생하면 어떤 측면을 강화해야하는지 알 수 있습니다. 감사합니다. 2018 년에는 성공과 놀라운 프로젝트가 가득 할 수 있습니다. 건배