>  기사  >  백엔드 개발  >  모든 개발자가 배워야 할 5가지 프로그래밍 언어(1부)

모든 개발자가 배워야 할 5가지 프로그래밍 언어(1부)

PHPz
PHPz앞으로
2023-04-10 11:41:031455검색

모든 개발자가 배워야 할 5가지 프로그래밍 언어(1부)

프로그래머가 코드를 작성하는 데는 일반적인 프로그래밍 언어가 많이 있으며, 엔터프라이즈 소프트웨어를 사용하는 대부분의 프로그래머는 일반적으로 은퇴하기 전에 하나의 프로그래밍 언어만 사용합니다. 그러나 일상 업무에서 여러 프로그래밍 언어를 사용할 기회가 있는 프로그래머도 있습니다. 예를 들어 프로그래머가 Flatter 네이티브 모듈을 사용한다면 Dart, Kotlin(또는 Java), Objective-C(또는 Swift), C/C++ 등을 사용할 기회가 있습니다.

대부분의 프로그래머는 수십 년 동안 하나의 언어로 작업해왔기 때문에 기술적 능력이 제한됩니다. 우리는 종종 .NET 및 Java 전문가를 많이 봅니다. 하지만 다국어를 마스터하는 프로그래머는 드물다. 여러 프로그래밍 언어를 배우면 더 많은 이점을 얻을 수 있습니다. 그러나 모든 인기 있는 프로그래밍 언어를 배우는 것은 현명한 선택이 아닙니다.

이 이야기에서는 모든 프로그래머가 배워야 할 5가지 프로그래밍 언어를 보여 드리겠습니다. 그리고 예제를 사용하여 이러한 프로그래밍 언어 학습의 이점을 설명하세요.

1. C/C++

C 언어는 거의 모든 기본 소프트웨어 구성 요소의 기본 언어입니다. C의 추상화는 하드웨어에 더 가깝고 C는 프로그래머에게 최소한의 구문(32개의 키워드 예약됨)을 제공합니다. 다른 현대의 인기 프로그래밍 언어와 비교할 때 C의 구문은 어셈블리 언어에 더 가깝습니다. 결과적으로 C 컴파일러는 C 소스 코드를 기계어로 효율적으로 변환하고 가볍고 매우 빠른 바이너리 실행 파일을 생성할 수 있습니다.

C++는 C의 확장이므로 C 언어에 없는 C++ 기능(예: 클래스, 네임스페이스 등)을 사용할 수 있습니다. C/C++를 배우면 모든 프로그래머에게 많은 이점이 있습니다. C/C++는 자동 가비지 수집을 제공하지 않기 때문에 최적화된 코드를 작성해야 합니다.

C는 사전 구축된 데이터 구조와 모든 기능을 갖춘 표준 라이브러리를 제공하지 않으므로 문제 해결 능력과 기본적인 컴퓨터 과학 기술을 향상시킵니다. 예를 들어 C에서 스택이 필요한 경우 직접 빌드해야 합니다.

마찬가지로 C/C++를 배우면 컴퓨터 과학 지식과 기술을 향상하는 데 도움이 됩니다. 다음 이야기는 프로그래머가 C를 먼저 배워야 하는 이유를 설명합니다.

모든 개발자가 C

로 프로그래밍을 시작해야 하는 이유 어떤 언어로든 프로그래밍을 시작할 수 있지만 C로 시작하면 더 많은 이점이 있습니다!

모든 개발자가 배워야 할 5가지 프로그래밍 언어(1부)

세상에는 약 700개의 프로그래밍 언어가 있습니다. 그러나 개발자는 엔터프라이즈 소프트웨어를 구축하기 위해 약 20가지의 프로그래밍 언어를 사용합니다. 즉, 프로그래밍 언어는 아무리 많아도 널리 사용되는 범용 프로그래밍 언어는 소수에 불과합니다. 개발자는 일반적으로 학교, 대학 또는 경력 초기에 코딩을 시작합니다.

모든 개발자는 코딩을 시작할 때 한 가지 질문을 하게 됩니다. 먼저 어떤 프로그래밍 언어를 배워야 할까요? 대학에서 컴퓨터 과학을 공부한다면 강의 계획서는 대개 C 프로그래밍 언어로 시작됩니다.

C 언어 프로그래밍 Miming 언어는 여전히 하드웨어 관련 소프트웨어 프로젝트에서 자주 사용됩니다.

하지만 Java, C#, JavaScript, Go, Python, Ruby, PHP 및 Kotlin과 같은 언어가 현대 소프트웨어 산업을 지배하고 있습니다.

  • 인간 친화적인 구문과 의미론 때문입니다.
  • 모든 기능을 갖춘 표준 API.
  • 커뮤니티 지원.
  • 프레임워크와 라이브러리로 구성된 풍부한 생태계.

C는 현대 커뮤니티에서 자주 사용되지 않습니다. 다른 인기 언어는 C보다 더 친근하고 단순하며 유연한 환경을 제공합니다. 예, C는 하드웨어 관련 프로젝트에 더 나은 선택이지만 대부분의 개발자는 웹 및 모바일 관련 프로젝트에서 작업하고 있습니다.

C를 배우는 것이 왜 최선의 선택인지 설명하겠습니다.

C는 당신을 훌륭한 문제 해결자로 만들어줍니다.

거의 모든 프로그램은 논리적 알고리즘이 필요한 코딩 문제를 해결하기 위해 내장된 방법이나 라이브러리 방법을 제공합니다. 예를 들어 특정 항목을 두 번째 배열에 복사해야 하는 경우 JavaScript에 내장된 필터 메서드를 사용할 수 있습니다. Java를 사용하는 경우 java.util.stream 패키지의 필터 메소드를 사용할 수 있습니다. 말 그대로 널리 사용되는 모든 프로그래밍 언어에는 배열을 필터링하는 내장 또는 라이브러리 방법이 있습니다. 하지만 C를 사용한다면 C에는 내장된 필터링 방법이나 라이브러리 필터링 방법이 없기 때문에 직접 구현해야 합니다.

이 장면들을 발견하면 해결해야 할 문제에 직면하게 될 것입니다. 알고리즘 문제를 연습하는 것은 좋은 문제 해결사가 되는 좋은 방법입니다. 표준 라이브러리와 선호하는 엔터프라이즈 프로그래밍 언어의 내장 기능만 포함하는 간단한 작업을 항상 처리하지는 않습니다. 우리는 종종 문제 해결 기술과 관련된 작업을 수행합니다. 따라서 초기 코드를 C로 작성하면 더 나은 문제 해결사가 될 수 있습니다.

또한 경쟁적인 프로그래밍 해커톤에 참여하는 개발자들은 C를 사용하여 문제를 해결하는 경우가 많습니다.

C는 하드웨어의 맛을 선사합니다

Python, C#, Java와 같은 프로그래밍 언어는 매우 사용자 친화적인 언어입니다. 그러나 이러한 언어는 물리적 하드웨어에서 매우 추상적입니다. 즉, C로 프로그래밍을 시작하기 전까지는 컴퓨터 하드웨어의 동작을 경험할 수 없습니다. 현대 프로그래밍 언어는 하드웨어 관련 경험 전체를 숨겨 완전히 새로운 샌드박스 환경을 제공합니다. 대부분의 경우 이 샌드박스 환경은 가상 머신을 사용하여 생성됩니다.

안타깝게도 개발자는 C로 시작하지 않기 때문에 메모리 관리, 파일 처리, 코드 최적화와 같은 주요 하드웨어 관련 주제를 건너뜁니다. 최신 프로그래밍 언어는 가비지 수집기를 통해 자동으로 메모리 할당 및 할당 해제를 처리합니다. 반면 C 프로그래밍 언어에서는 개발자가 고도로 최적화된 코드를 작성하여 메모리를 관리합니다.

C로 초기 코드를 작성하면 모든 컴퓨터 과학자가 경험해야 할 잊지 못할 하드웨어 여정을 경험할 수 있습니다.

C는 표현과 자유를 가르칩니다.

프로그래밍 언어가 매우 인간과 유사한 추상화를 제공하면 특정 프로그래밍 언어의 유연성이 떨어집니다. 즐겨 사용하는 프로그래밍 라이브러리의 모든 표준 라이브러리 방법과 내장 방법은 하드 코딩된 블랙박스 역할을 합니다. 즉, 현대 프로그래밍 언어는 낮은 수준의 코드를 숨기고 개발자에게 깨끗하지만 제한된 인터페이스를 제공합니다. 최신 프로그래밍 언어에서는 직접적인 동적 메모리 할당이 사실상 불가능합니다. 동시에 C는 모든 하위 수준 코드 액세스를 노출함으로써 진정한 자유를 제공합니다.

C 컴파일러는 매우 빠른 어셈블리 코드를 생성합니다. 따라서 C 개발 환경 자체가 고성능 코드를 작성하도록 동기를 부여합니다. C에서는 신중하게 변수를 선언하고, 메모리를 할당하고, 메모리를 정리하고, 리소스에 액세스하고 리소스를 해제해야 합니다. C로 시작했다면 현재 프로그래밍 언어에서는 너무 많은 메모리, 불필요한 리소스, 잘못된 데이터 구조를 사용하지 않을 수도 있습니다.

C는 깔끔한 코드를 작성하도록 영감을 줍니다.

현대 프로그래밍 언어와 달리 C에서는 많은 줄의 코드를 작성해야 합니다. 이는 C가 필요한 모든 것에 대한 낮은 수준의 액세스를 제공하기 때문입니다. 고도로 추상적인 표준 라이브러리를 제공하지는 않습니다. 코드의 줄 수가 증가하면 코드의 복잡성도 증가합니다. 그러므로 우리는 어수선한 코드를 제거하기 위해 깨끗하고 설명이 필요한 코드를 작성해야 합니다.

깨끗한 코드를 작성하는 것은 업계 수준의 소프트웨어 프로젝트를 진행할 때 매우 필요한 기술입니다. 사실, C 기반 프로젝트를 진행했다면 깔끔한 코드를 작성하는 것은 식은 죽 먹기입니다.

결론

C++ 프로젝트의 활발한 개발로 인해 C는 C++의 하위 집합이 되었습니다. C++는 실제로 모든 기능을 갖춘 표준 라이브러리를 갖춘 현대적인 프로그래밍 언어입니다. 따라서 C++를 배우는 것과 C를 배우는 것은 다릅니다. 그러나 직접 메모리 작업 기능과 하위 수준 액세스 기능은 계속 사용할 수 있습니다. 거의 모든 현대 프로그래밍 언어는 새로운 구문, 의미 및 표준 라이브러리 방법을 도입하여 서로 경쟁합니다. 그러나 Go와 같은 언어는 표준 라이브러리와 커뮤니티 기반 라이브러리만 확장합니다.

개발자가 즉시 Python, JavaScript, C# 또는 Java와 같은 최신 프로그래밍 언어로 뛰어들면 C 프로그래밍 언어가 제공하는 귀중한 경험을 놓치게 됩니다. C로 프로그래밍을 시작하는 것은 프로그래밍 언어가 하드웨어와 어떻게 인터페이스하는지 이해하는 좋은 방법입니다.

C 언어를 사용하여 먼저 어려운 경로를 선택하세요. 이는 당신이 좋아하는 프로그래밍 언어의 전문가가 되는 데 도움이 될 것입니다.

*원본 링크: https://betterprogramming.pub/why-every-developer-should-start-programming-with-c-39b3a87392bf.

2. Bash

Bash는 Unix 계열 운영 체제용으로 제작된 명령 언어 및 명령줄 해석기입니다. Bash 인터프리터 프로그램은 거의 모든 Unix 계열 운영 체제에 사전 설치되어 제공됩니다. 또한 많은 GUI 터미널 소프트웨어는 Bash를 기본 명령 해석기로 사용하는 경우가 많습니다. 따라서 우리는 다양한 Unix 계열 운영 체제에 대한 이식 가능한 Bash 스크립트를 작성할 수 있습니다.

프로그래머는 일상적인 프로그래밍 효율성을 높이기 위해 다양한 관행을 따릅니다. 많은 프로그래머는 반복적인 수동 프로세스를 위해 자신만의 Bash 스크립트를 작성하는 경우가 많습니다. 예를 들어, TypeScript 프로젝트의 출력을 빌드하고 복사하기 위해 간단한 Bash 스크립트를 작성했습니다. Learning Bash는 의심할 여지 없이 학습 과정을 자동화하기 위한 첫 번째 단계입니다. 프로세스 자동화는 실제로 생산성을 높이는 방법입니다.

Bash는 기본적으로 프로세스를 지원합니다. 즉, 이름만 언급하면 ​​다른 프로그램을 실행할 수 있습니다. 따라서 자동화 스크립트를 빠르게 작성하여 프로그래밍 효율성을 높일 수 있습니다. 다음 이야기에서는 Bash 스크립트에 GUI 요소를 추가하는 방법을 설명합니다.

GUI를 추가하여 Bash 스크립트를 현대화하는 방법

Bash 스크립트는 Unix 쉘 인터프리터에서 실행할 수 있는 Bash 명령 언어로 작성된 일련의 지침으로 구성됩니다. 우리는 bash 스크립트를 사용하여 수동으로 수행할 경우 시간이 많이 걸리는 여러 작업을 자동화합니다. 그러나 현대 컴퓨팅과 비교하면 bash 스크립트는 사용자와의 모든 상호 작용이 명령줄 인터페이스를 통해 수행되므로 구식입니다. 우리는 일부 개발자가 눈길을 끄는 로고와 색상을 사용하여 콘솔 인터페이스의 중요한 콘텐츠를 강조하고 있다는 것을 알고 있습니다. 고도로 기술적인 사용자가 특정 오래된 bash 스크립트를 사용하는 경우에는 괜찮습니다. 그러나 일반 청중이 사용한다면 사용자 친화적인 상호 작용을 갖는 것이 분명히 좋은 일이 될 것입니다.

실제로 Zenity 명령줄 도구를 사용하면 GUI(그래픽 사용자 인터페이스) 기반 입력/출력 구성 요소를 다음 bash 스크립트에 포함할 수 있으며 이는 GTK 대화 상자를 표시하는 데 도움이 됩니다. 또한, inform-send 명령줄 도구를 사용하여 기본 GUI 알림을 표시할 수 있습니다. 이 두 도구는 일반적으로 널리 사용되는 Linux 배포판과 함께 제공되므로 어떤 종류의 사전 설치도 필요하지 않습니다.

메시지 상자

분명히 기본 메시지 상자를 사용하여 사용자 작업 완료를 표시하는 것이 콘솔에 원시 텍스트를 인쇄하는 것보다 낫습니다. Zenity를 사용하면 오류, 정보, 문제 및 경고 유형의 메시지 상자를 쉽게 생성할 수 있습니다.

정보 메시지 상자: zenity --info.

모든 개발자가 배워야 할 5가지 프로그래밍 언어(1부)

경고 메시지 상자: zenity --info.

모든 개발자가 배워야 할 5가지 프로그래밍 언어(1부)

오류 메시지 상자: zenity --error.

모든 개발자가 배워야 할 5가지 프로그래밍 언어(1부)

오류 메시지 상자: zenity --question.

모든 개발자가 배워야 할 5가지 프로그래밍 언어(1부)

사용자의 허가를 받아 일련의 지침을 실행해야 하는 경우 질문 유형 메시지를 사용할 수 있습니다. 예를 들어 디스크에서 파일을 삭제합니다. 이는 간단한 if 조건이나 $?를 사용하여 수행할 수 있습니다. 마지막 반환 값을 저장하는 특수 변수입니다.

알림

알림은 장기 실행 일괄 지침의 상태를 표시하는 데 유용합니다. 이는 사용자가 무슨 일이 일어나고 있는지 확인하기 위해 콘솔을 보는 대신 다른 작업을 수행하는 경우에도 알림을 받을 수 있도록 매우 중요합니다. 알림 보내기 명령줄 도구를 사용하면 기본 알림을 쉽게 생성할 수 있습니다.

아래의 간단한 예를 고려해 보세요...

Zenity에는 알림을 보내는 기능도 있지만 알림 보내기를 사용하면 더 자유롭게 조정할 수 있습니다.

입력 요소

Zenity는 다양한 입력 요소를 제공하여 사용자 입력 수집을 효과적으로 지원합니다. 다음과 같은 유형의 입력 상자가 있습니다.

캘린더 입력 상자 zenity --calendar.

이는 콘솔에서 사용자에게 yyyy-mm-dd 형식으로 필요한 날짜를 입력하도록 요청하는 대신 사용자가 입력한 날짜를 캡처하는 더 좋은 방법입니다.

문자열 입력 상자 zenity --calendar.

우리는 일반적으로 콘솔에서 문자열 입력을 얻기 위해 read 명령을 사용합니다. 일반적인 키 입력(홈/엔드 키 등)과 간단한 복사-붙여넣기 기능을 허용하는 GUI 텍스트 필드를 제공하면 기술 지식이 없는 사람들에게 bash 스크립트의 유용성을 향상시킬 수 있습니다.

매우 유사한 zenity --password를 사용하여 비밀번호나 PIN과 같은 사용자의 비밀 문자열을 캡처할 수 있습니다. 또한 비밀번호를 입력하면 사용자 이름 필드를 활성화할 수 있습니다. 그런 다음 사용자 이름과 비밀번호가 | 문자로 구분되어 반환됩니다.

파일 선택 대화 상자 zenity --file-selection.

기본 저장/열기 대화 상자가 원활하게 표시됩니다. 저는 Neutralinojs에서도 이 기능을 사용하고 있습니다.

목록 선택

일반 콘솔 입력을 사용하여 사용자에게 몇 가지 선택 사항을 묻는 경우 사용자가 원하는 선택 사항에 대해 몇 가지 단축 키 입력을 구현할 수 있습니다. 예를 들어, 사용자에게 한 옵션을 수락하려면 문자 A를 입력하라는 메시지가 표시되고, 다른 옵션을 활성화하려면 문자 B를 입력하라는 메시지가 표시됩니다. 사용자 관점에서 이 접근 방식은 GUI 기반 목록 선택을 표시함으로써 약간 개선될 수 있습니다.

주 소프트웨어 프로그램의 2단계 인증을 위해 어떤 도우미 플러그인을 설치해야 하는지 묻는 설치 스크립트를 작성한다고 가정해 보겠습니다.

고급 예제

위에서 언급했듯이 항상 원시 텍스트를 사용하는 대신 bash 스크립트와 함께 사용할 수 있는 여러 GUI 입력 요소가 있습니다. 또한 이러한 기본 GUI 요소를 사용하여 구현된 고급 예제를 보여 드리겠습니다.

*원본 링크: https://medium.com/swlh/how-to-modernize-your-bash-scripts-by-adding-gui-cba613a34cb7.

위 내용은 모든 개발자가 배워야 할 5가지 프로그래밍 언어(1부)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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