다른 언어로 된 기존 코드에 대한 Python 바인딩을 개발하려는 동기는 무엇입니까? 나는 많은 프로그래머들이 기존의 C 코드를위한 파이썬 바인딩을 개발하는 것을 보았다. 왜? 어떻게 도움이됩니까?파이썬 바인딩이 C와 같은 다른 언어로 된 기존 코드 용으로 개발 된 이유는 무엇입니까?
답변
C에 대한 지원을 제공하면서, 매우 빠르고 효과적 일 수있다 낮은 수준의 언어이기 때문에 파이썬, C에 바인딩이있다 엄청난 양의 하드웨어 및 소프트웨어 기능. C는 초보자에게는 매우 어렵고 본질적으로 파이썬이 개선 한 객체 지향 기능이 부족합니다. C는 객체 지향적 인 동작이 없기 때문에 C++을 만들 수있었습니다.
종종 소프트웨어 프로젝트는 Python이 C를 능가하는 코드의 실행 속도가 아니라 개발자의 속도로 제한됩니다.
C 이상 파이썬의 장점은 다음과 같습니다 :
- 매우 명확하고 읽기 쉬운 구문을
- 예외 기반 오류 처리 개
- 매우 높은 수준의 동적 데이터 유형
- 확장 및 모듈은 쉽게, C++ (또는 Java 자이 썬, 또는 IronPython을위한 .NET 언어)
- C로 작성된 거의 모든 작업에 대한 광범위한 표준 라이브러리 및 타사 모듈 스크립팅 인터페이스
"파이썬은 C로 해석됩니다"라는 문장은 기껏해야 오해의 소지가 있습니다. Python의 가장 일반적인 구현은 실제로 C로 작성된 해석기이지만 Python 코드는 결코 C로 변환되지 않으며 다른 구현 (PyPy, Jython, IronPython)에서는 다른 전략을 사용합니다. – Dougal
실현하고 변경했습니다. –
@Ben 5 분 전에 바뀌었지만 단어의 나쁜 선택이었습니다. –
환경 설정 기반이기 때문에 완전한 권한으로 말할 수는 없지만, C에 대한 Python 바인딩을 개발하면 Python 구문을보다 생산적이고 쉽게 처리 할 수있는 사람들이 쉽게 개발 프로세스를 수행 할 수 있습니다.
(예를 들어, 파이썬 CUDA, 3D, 키 넥트 등 라이브러리)
나는 래퍼 (바인딩)의 개발이 자바에서도 가능하다고 생각한다. 파이썬 바인딩은 그것보다 이점이 있습니까? 어떤 기준으로 파이썬 바인딩이나 자바 래퍼를 결정할 수 있습니까? 감사. –
주관적이라고 생각합니다. 나 자신을 포함한 일부 사람들은 Python을 매우 쉽고 효율적으로 프로그래밍 할 수 있습니다. (실행 가능한 의사 코드), 나는 이것이 가장 동기 부여라고 생각한다. 필자는 자바 프로그래머이기도하므로 16 년 동안 계속 사용 된 언어를 배쉬시키는 것은 어렵지만 바인딩을 선택하려면 파이썬으로 작성해야합니다. 현재 Accumulo API 용으로 개발 중입니다. – Edmon
, 버그와 같은 응용 프로그램 내에서 임베드 파이썬에서 모든 것을 재 구현하려고 시도하는 것은 대단한 일입니다 (예 : Python에서 암호화 라이브러리를 사용하지 마십시오. openssl, NSS 또는 gnutls와 같이 잘 테스트되고 편집증이 개발 된 C 라이브러리에 바인딩을 사용해야합니다).
... 완전히 재 작성하지 않고도 파이썬에서 사용할 수 있도록함으로써? – oldrinb