기금넷 공식사이트 - 금 선물 - CTP를 개발하는데 C를 사용하면 어떨까요?

CTP를 개발하는데 C를 사용하면 어떨까요?

나는 pyctp, c ctp 및 c# ctp를 약간 사용했지만 작업의 작은 부분만 수행했습니다.

제 생각에는 다양한 언어의 핵심 로직 부분에 들어가는 코드의 양은 비슷합니다. 차이점은 기본 라이브러리의 완성도와 언어 자체가 가져오는 개발 및 디버깅 효율성의 차이에 있습니다.

C에 익숙하더라도 개발 효율성은 여전히 ​​C#만큼 좋지 않습니다. 왜냐하면 향후 전략 개발에서는 프로그램을 자주 수정하고 실행하게 되며 C의 컴파일 속도는 너무 느림. 또한 C 언어와 개발 환경을 고려하면 디버깅 비용이 너무 높다는 점을 종합하면 C에서의 CTP 개발 효율성은 C#에 비해 훨씬 낮습니다.

제 느낌으로는 C#으로 개발할 때 대부분의 시간이 비즈니스 로직에 사용되는 반면, C의 상당 부분은 언어와 환경으로 인해 직간접적으로 발생하는 문제를 해결하는 데 사용된다는 것입니다.

효율성 관점에서 볼 때, 간단한 테스트 후에는 차이가 크지 않습니다(20 이하). 왜냐하면 stl 및 Boost 패러다임은 스택에 객체 생성을 권장하고 객체 복사의 오버헤드가 상당하기 때문입니다. , C#에서는 참조로 전달하는 데 드는 비용이 없습니다. 또한 C#에서 개체를 만드는 비용은 C 힙에서 개체를 만드는 비용보다 저렴합니다.

물론 C에 비해 C#에는 크로스 플랫폼(모노는 상대적으로 미성숙), C# 템플릿, 연산자 오버로딩 제한이 더 엄격한 등 제한 사항이 더 많습니다. 전반적으로 저는 C#을 선호합니다.

Python의 경우 복잡한 시스템을 작성할 때, 특히 객체 지향 아키텍처를 수행할 때 더 어렵다는 것을 알았습니다(객체 지향 메커니즘은 완벽하지 않고 함수 오버로드가 없습니다). 정적 유형 검사는 없습니다. 시간이 지나면 코드가 반복적으로 수정되고 나면 어떤 함정이 생길지 알 수 없습니다. 그리고 동적 타이핑으로 인해 편집기의 자동 완성 및 프롬프트도 매우 약합니다. 과거에는 기능에 필요한 매개변수를 고려하는 데 시간이 걸렸고, 이는 개발 효율성에 영향을 미쳤습니다.

이제 C#으로 돌아왔습니다.

제가 제안하는 바는 C와 개발 환경 사용에 익숙하지 않고 완전한 기본 도구 라이브러리를 축적하지 않은 이상 C를 사용하는 데 드는 비용이 매우 높다는 것입니다.