C 는 오래 전에 게임과 그래픽 소프트웨어의 표준 언어가 되었습니다. 그리고 실제 이유가 있었습니다. 실시간 그래픽과 물리학을 사용하여 작업하려면 고성능이 필요했습니다. 형상 처리, 버퍼 관리, 행렬 계산 등 모든 작업에는 시간이 걸립니다.
그러나 고급 논리는 어떻습니까? 게임 메커니즘, 사용자 인터페이스, 스토리지 관리, 네트워크 요청? 안정성과 안전성 속도보다 훨씬 더 요구됩니다.
C와 같은 컴파일된 언어로 성능을 요구하는 기능을 구현하고 Python과 같은 동적 언어로 작성된 프로그램에서 이를 호출할 수 있습니다.
그러나 오늘날 우리는 이미 잘 문서화되어 있고 사용하기 쉬운 Python용 라이브러리(pygame, pyopengl, pyassimp, pybullet, numpy)를 보유하고 있습니다. 이 라이브러리는 주로 C/C에서 구현되고 무거운 계산을 위한 기능을 제공합니다. 또는 특히 물리학/그래픽. 우리는 그러한 라이브러리를 스스로 구현할 필요가 결코 없을 수도 있습니다.
Java 또는 C#과 같은 가비지 수집 언어는 C보다 느리고 실제로 많은 계산 요구 사항을 충족하지 못한다는 것이 일반적으로 인정됩니다. 물론 이는 사실이 아닙니다.
C는 일부 특수한 경우 성능 면에서 Java 또는 C#을 20~30% 능가할 수 있지만 동적 함수 디스패치, 언어 상호 작용, 비동기 작업, 텍스트 또는 추상 컬렉션 관리와 같은 런타임 추상화의 경우 Java와 C#은 C보다 훨씬 높은 효율성을 보여줍니다.
또한 Jython이나 IronPython을 사용하여 Java나 C#으로 동일한 런타임에서 Python 프로그램을 실행할 수도 있습니다. 공유 가비지 수집 메모리, 유형 시스템, C# 또는 Java 라이브러리에 대한 간편한 액세스 등 많은 이점을 제공합니다. Java에서는 Java 클래스 라이브러리에 대한 완전한 액세스 권한을 갖고 이전에 언급한 이점을 공유하는 Clojure 및 Groovy와 같은 멋진 동적 언어가 구현됩니다.
오늘날 개인용 컴퓨터는 15~20년 전보다 훨씬 빠릅니다. 그러나 대부분의 데스크톱 프로그램이나 게임은 예상만큼 빠르게 작동하지 않습니다(아직 대부분 C/C로 구현되어 있음에도 불구하고). 오늘날 우리에게는 언어 속도보다 좋은 알고리즘과 효과적인 접근 방법이 훨씬 더 필요합니다. Python에서 일정한 복잡성을 갖는 함수는 C에서 선형 복잡성을 갖는 함수보다 더 바람직합니다. Python 코드 15줄로 100개의 나무를 그리는 것이 300줄로 500개의 나무를 그리는 것보다 더 바람직합니다. C 코드입니다.
만든 게임이 없다면 어떤 언어를 사용하는지는 별로 중요하지 않죠?
C에서 게임을 만드는 것은 Python이나 Ruby에서 게임을 만드는 것보다 훨씬 더 힘들고 지치게 합니다. C로 1개의 게임을 만들면 Python으로 10개의 게임을 만들게 됩니다. Python으로 5개의 게임을 만들면 C로는 0개의 게임이 됩니다.
게임과 재미에만 신경쓰자면, 그렇지 않으면 무슨 의미가 있을까요?
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3