녹: 최초의 생각

최근에 나는 녹슨 것을 배우기 시작했다.왜 그렇게 물어봐요?좋아, 이것은 이런 종류 중 가장 좋은 프로그래밍 언어 중의 하나이다. 성능, 신뢰성, 생산성. 우리는 뒤에서 토론할 것이다.그 밖에 나는 Python/Javascript의 배경이 있기 때문에 저급한 정적 유형 언어를 배우는 것은 도전이 될 것이라고 생각한다.녹에 대한 나의 최초의 생각과 다른 언어와의 비교를 깊이 있게 살펴보자!

학습이 녹슬다


내가 녹균을 배우기 전에 나는 시작하기가 매우 어렵다고 생각했다. 나는 심지어 내가 녹균을 배우는 좋은 자원을 찾을 수 있는지 궁금했다.잘못했어, 크게 잘못했어.무수한 학습 자원이 있다.나는 aUdemy Course를 선택하고 따르기로 했다offical Rust Programming Language book.나의 수업과 책은 모두 훌륭하다!나는 네가 녹병을 배울 때 이 두 방면을 좀 보라고 강력하게 건의한다.그 후에 나는 녹을 가지고 놀며 하나를 만들기로 결정했다simple command-line calculator application.한마디로 Rust 입문을 배우는 것은 파이톤 입문을 배우는 것과 마찬가지로 간단하다.

녹이 슬어 배우기 어렵다


Rust는 저급 프로그래밍 언어이기 때문에 배우기가 매우 어렵다.만약 프로그래밍 언어가 저급하다고 여겨진다면, 이것은 이 언어가 컴퓨터의 set 구조와 거의 차이가 없거나, 더욱 간단하게 말하면, 그것은 기계 코드에 더욱 가깝다는 것을 의미한다. (기본적으로 0과 1)특히 고급 프로그래밍 언어 배경에서 온 사람들은 녹이 슬는 것에 익숙하지 않다.나는 심지어 자바스크립트나 파이톤에서 생명주기, 차용, 그리고 더 많은 (메모리 관리) 지식을 배울 필요가 없다.그러나 저급 프로그래밍 언어로서도 장점이 있다.

녹은 매우 강하다


일부 프로그래밍 언어(특히 속도를 겨냥한 프로그래밍 언어)의 수준이 낮은 데는 이유가 있다.간단하게 말하자면, 저급 언어는 기계 코드에 가깝기 때문에, 그것들은 기계 코드로 컴파일되어 실행되는 속도가 고급 프로그래밍 언어보다 빠르다.Rust는 로우엔드 이외에도 안전하고 신속하며 효율적인 스토리지 환경을 제공하는 강력한 기능을 갖추고 있습니다.이 기능들을 보여 주세요.

녹이 빨리 슬다


녹슨 속도가 빠른 데는 두 가지 주요 원인이 있다. 그것은 정적 유형으로 비용이 거의 없다.잠시 후에 쓰레기 수집을 소개하지만, 우선 Rust가 어떻게 정적 유형화되고 번역되었는지 이야기하고 싶습니다.정적 형식화와 컴파일링은 컴파일할 때 (코드를 실행하기 전에) 알고 있는 변수의 유형을 의미합니다.이것은 Rust가 실행할 때 변수의 유형을 정하는 것이 아니라 실행 코드를 해야 한다는 것을 의미한다.이것은 실행할 때 한 걸음만 덜 가면 됩니다. 이것은 Rust가 Python이나 Javascript 등 다른 동적 형식 언어보다 훨씬 빠릅니다.다음 예를 살펴보겠습니다.
fn main() {
  let message: &str = "Hello World";
  println!("{}", message);
}
보시다시피main 함수에서 우리는 변수를 정의했습니다. 그 종류는 &str 입니다.Rust는 컴파일할 때 유형을 찾아내려고 시도하지 않았고, 우리의 소식이 &str 유형이라는 것을 이미 알고 있었다.파이톤의 등가물을 살펴보자.
def main():
  message = "Hello World"
  print(message)

main()
보시다시피 메시지 변수에 형식을 제공하지 않았기 때문에 프로그램이 실행되기 전에 변수 형식은 알 수 없습니다.

쓰레기를 수거하지 않다


다음은 쓰레기 수집에 대해 이야기하고 싶습니다.대부분의 메모리 보안 언어는 쓰레기 수집기를 사용해서 이를 실현한다.쓰레기 수집기는 무엇입니까?스팸 수집기는 프로그램이 더 이상 사용하지 않는 대상이 차지하는 메모리를 회수하려고 시도합니다.이것은 메모리 유출과 메모리 문제를 방지할 수 있다.이것이 바로 파이썬, 자바스크립트, 자바 등 언어가 메모리 보안을 실현하는 방식이다.쓰레기 수집기가 모두 전문적인 것은 아니다.프로그래밍 언어에 쓰레기 수집기가 있으면 그것을 매우 느리게 만들 수 있다.왜 이렇게 천천히 물어봐요?쓰레기 수집기는 쓰레기를 수집하려면 프로그램을 멈추고 작업을 수행한 다음 프로그램을 계속해야 한다.보시다시피 메모리 안전을 확보하기 위해 작동을 멈추는 것이 느린 이유입니다.Rust는 쓰레기 수집기를 실현하지 않고 소유권이라는 개념을 실현했다.Rust의 소유권은 다음과 같습니다3 rules.
  • Rust의 각 값에는 소유자라는 변수가 있습니다.
  • 한 번에 한 명의 소유자만 있을 수 있습니다.
  • 소유자가 범위를 벗어나면 값이 삭제됩니다.
  • 주어진 시간에 규칙 중 하나를 준수하지 않으면 프로그램이 정지되어 모든 메모리 보안 문제를 제거합니다.다음 예를 살펴보겠습니다.
    fn main() {
      let var = 1;
      {
        let var1 = var; 
      }
      println!("Var: {}, Var 1: {}", var, var1);
    }
    
    이 예에서 우리는 var라는 변수와 var1라는 변수를 정의했다.var1은 다른 역할 영역에서 정의된 값으로 var이기 때문에 var은 더 이상 유효하지 않습니다 (규칙 3). 이 프로그램은 오류를 초래할 수 있습니다.

    컴파일러가 제 가장 친한 친구예요.



    Rust 컴파일러의 출력은 매우 아름답다.그것은 너에게 문제가 무엇인지 알려줄 뿐만 아니라, 어떻게 해결하는지도 알려준다.Stack Overflow의 응답을 기다리지 않고 컴파일러가 알려주는 동작만 실행하면 버그가 발생하지 않습니다.

    너는 학생이 녹슬어야 하니?


    쇠녹은 절대로 볼 만하다.비록 미래의 프로젝트에서 Rust를 사용하지 않으려고 하더라도, 더 높은 프로그래밍 언어 배경을 가진 개발자라면 누구나 Rust를 볼 수 있다.그럼에도 불구하고, 지금은 Rust의 백엔드 웹 개발에 전념할 것입니다.누가 알겠는가, 그것이 나의 노드를 대체할 수도 있다.js 백엔드.
    요컨대 지금까지 나는 녹에 대한 경험이 매우 좋았다.나는 네가 녹과 함께 놀기를 강력히 건의한다.읽어주셔서 감사합니다.
    헨리

    좋은 웹페이지 즐겨찾기