본문 바로가기
개발이야기

C++,C# 같은 범용 개발 언어를 이용한 PC제어의 단점

by ictlab 2023. 8. 27.

PC기반 자동화 장비를 제어할 때 대뿐 C++ , C# 같은 범용 개발 언어와 Visual Studio로 개발 작업을 하고 있지만 , 사실 범용 언어를 이용한 자동화 장비 제어는 여러가지 문제점이 많이 있다. 또한 이러한 문제점들로 인해 장비를 개발하고 제작하는 기업들은 제어 소프트웨어 개발자를 채용하고 관리하는데 커다란 어려움에 처해 있다. 



경험있는 숙련된 개발자가 필요

C++와 C#은 높은 수준의 추상화와 복잡한 구조를 가진 언어들이기 때문에, 이러한 언어들을 효과적으로 사용하려면 상당한 경험과 지식이 필요하다. 이는 개발자의 학습 곡선이 높고, 초보자에게는 특히 어려울 수 있다. 따라서, 개발팀에 경험있는 숙련된 개발자가 필요하다.



개발 기간이 오래 걸림

C++와 C#은 상대적으로 낮은 수준의 성능 향상을 위해 많은 작업을 필요로 하는 언어들이다. 이로 인해, 개발 기간이 길어질 수 있다.



개발자 역량에 따라 소프트웨어 품질의 차이가 심함

개발자의 경험과 지식 수준에 따라 코드의 품질과 효율성이 크게 달라질 수 있다. 이로 인해, 같은 프로젝트라도 개발자의 역량에 따라 결과물의 품질이 달라질 수 있다.


개발언어, 개발 툴에 따라 관리의 어려움 발생

C++와 C#은 서로 다른 툴셋과 라이브러리를 사용하며, 이로 인해 팀원들 간의 일관성이 떨어지고, 프로젝트 관리가 어려워질 수 있다.



장비 소스가 있어도 분석이 어려움

C++와 C#은 복잡한 구조를 가진 언어들로서, 코드 분석이 어려울 수 있다. 또한, 장비의 소스 코드가 복잡하게 구현되어 있으면, 분석이 더욱 어려울 수 있다.

​​

통합 프레임워크의 부족

PC 제어를 위한 통합된 프레임워크가 부족하면, 개발자들은 여러 라이브러리와 도구를 조합해야 하며, 이는 개발의 복잡성을 증가시킨다.

​​

장비 가동중에 시퀀스 수정이 어려움 (런타임 수정 안됨)

C++와 C#은 런타임 중에 코드를 수정하는 것이 어렵다. 이는 장비가 가동 중일 때, 시퀀스를 수정하는 것이 어려워 시스템의 유연성을 저해한다.


장비 가동중 디버깅이 어려움 (런타임 디버깅됨)

런타임 중에 디버깅이 어렵다면, 장비의 문제를 실시간으로 해결하기 어렵다. 이는 장비의 성능과 안정성을 저해한다.


개발자 채용이 어려움

C++와 C#은 상대적으로 어려운 언어들이며, 이러한 언어를 효과적으로 사용할 수 있는 개발자는 상대적으로 적다. 이로 인해, 적합한 개발자를 찾기 어렵다.



개발자의 인건비 상승으로 인한 비용 문제

C++와 C#을 효과적으로 사용할 수 있는 개발자는 상대적으로 적으며, 이로 인해 인력 비용이 상승한다.

​​

복잡한 코드로 개발자 퇴사로 인한 인수인계가 어려움

복잡한 코드는 인수인계가 어렵게 만든다. 이는 개발자가 퇴사하거나, 프로젝트 팀이 변경될 때, 프로젝트의 지연과 추가 비용을 초래한다.