1 minute read

프로그램 언어 선택

  • 프로그램 언어별 특징
    • 루프 C++, 자바 둘다 같이 동일한 형태로 지원 파이썬 range 이용하여 한 줄 처리까지 가능 Go 는 변수 처음 할당 시 := 연산자 사용, 세미콜론 사용 안 함 TypeScript 는 군더더기 없음
    • 제네릭 프로그래밍 파라미터의 타입이 나중에 지정되게 해서 재활용성을 높일 수 있는 프로그래밍 언어 C++ 은 템플릿 이라는 기능으로 구현 자바는 지원 파이썬은 동적 타이핑 언어이지만 타이핑과 함께 제네릭 지원 Go 는 OOP 를 무시한채 실용성에 초점을 맞춰 다른길 가고 있어서 지원하지 않지만 추가 예고함 TypeScript 는 제네릭을 지원하는 형태로 출발
    • 배열 반복 C++ 은 : 연산자로 파이썬과 큰 차이 없이 지원 자바도 C++ 와 유사하게 지원 파이썬은 간결하게 지원 Go, TypeScript 는 깔끔한 배열 반복 구문 지원
    • 구조체 순차적 메모리 할당이 아닌 복합 자료형 연결리스트를 포함한 배열을 제외한 모든 추상 자료형의 구현 C++ 은 지원 자바는 지원하지 않음 파이썬은 직접 지원하지 않고 네임드 튜플 사용해야 했지만 dataclass 지원하여 정의할 수 있음 Go 는 C 와 같은 느낌이라 지원 TypeScript 는 인터페이스 형태로 지원
    • 클래스 C++ 은 지원 자바는 모든 것이 클래스 파이썬은 dataclass 선언 시 내부 함수 기능 자동 구현해줘서 더욱 편리하게 활용 Go 는 구조체가 대신 역할 수행하며 함수를 인터페이스에 정의하여 구현할 수 있어서 다형성 지원 TypeScript 는 지원
  • 코딩 테스트 적합 언어 타입스크립트가 가장 우아하지만 우아한 것이 중요한 게 아님
    • 면접관이 쉽게 이해 가능? 수도 코드랑 거의 비슷해서 파이썬 모르는 면접관도 이해시킬 수 있음 C++ 은 코어 개발 외에는 잘 쓰이지 않기 때문에 잘 모르는 면접관이 많음
    • 코딩 플랫폼에서 지원? 거의 모든 플랫폼에서 파이썬 지원함 파이썬 제한하는 경우도 간혹 있음
    • 유연한 언어? 동적 타이핑은 거대한 앱에서는 유지 보수와 가독성에 불리함 알고리즘은 빠르게 구현해야 하는 코테에서 엄격함이 생산성 저해하는 요인이 될 수 있음 지나치게 유연하게 작성할 경우 면접관이 페널티 줄 수 있으므로 코드 재 검토 후 정리하는 습관 필요
    • 언어 레벨에서 풍부한 기능 지원? 자체 라이브러리에서 지원함