프로그래밍 언어

알아야 하는 것들

  • 기본 도구와 생태계
    • 버전 관리자
    • 의존성 (VM 혹은 라이브러리)
    • IDE, LSP, REPL
  • 타이핑 모델
    • 강타입인가 약타입인가?
    • 동적인가 정적인가?
    • 명목적(nominal)인가 구조적(structural)인가?
  • 프로그래밍 패러다임
    • 함수형, 객체지향, 스택 기반, 배열 기반 등등등
    • 혹은 이 언어만의 특별한 점
  • 수를 다루는 방법
    • 산술연산
    • 논리연산
  • 자료구조
    • 리스트 등 내장 컨테이너
    • 합타입, 곱타입
  • 제어구조
    • 논리제어, 반복제어, 패턴매칭 등
  • 문자열을 다루는 방법
  • 함수
    • 익명함수, 클로저
  • 모듈과 파일 관리
  • 문서화
  • exceptions
  • 다형성을 달성하는 방법
  • concurrency
  • 런타임에서 제공하는 기능들
  • 커뮤니티에서 권장하는 것들
    • 스타일 가이드
    • 커뮤니티 라이브러리

런타임

C언어의 런타임은 The C Runtime Initialization 참고.

러스트는 최소한의 런타임만 구현되어 있으며 필요에 따라 라이브러리 런타임을 사용한다.

  • tokio — asynchronous rust runtime
  • actix — actor framework for rust

rfcs/0230을 보면 예전에는 librustrt라는 이름의 런타임이 있었으나 현재는 완전 삭제되었다.

참고