- 질문 게시판입니다.
Date 23/04/18 16:27:22
Name   아침커피
Subject   C, C++ 개발자가 적은 이유가 무엇인가요?
얼마 전 뉴스 게시판에서 https://redtea.kr/news/34171 이 글을 보았는데, 댓글에서 요즘 C와 C++ 개발자를 찾기 힘들다는 내용을 보았습니다. 둘 다 점유율도 높은 언어들이고 대학에서도 많이 가르치는 것으로 알고 있고 수요도 많을 텐데 왜 개발자 수가 적은 것인지 궁금합니다. 문법도 C-like 언어들인 C#이나 자바 쓰시던 분들은 쉽게 접근할 수 있을 것 같은데요.



0


그저그런
1) 어렵고(특히 포인터) 2) 요즘 트렌드가 아니라 최근의 IT서비스와 거리가 있습니다. 3) 생산성도 떨어집니다.
+ C/C++은 웹/앱 서비스 개발보다는 디바이스 펌웨어에 주로 쓰여서요, 우리나라에는 삼전/하이닉스에 엄청 훌륭한 C/C++ 개발자들이 있는걸로 알고 있습니다.
3
듣보잡
최근 양산되고 있는 인공지능 개발자들은 거의 파이썬 원툴입니다. 관련 라이브러리들이 파이썬에서 제공되고 있어서 다른 언어 공부할 이유가 없어요. 아마 분야별 요구 언어 수요가 천차만별일 것으로 생각됩니다.
1
아니 이 주제는 자세히 설명하다간 C부심 부린다는 소리 듣는 주제! 하지만 도전해보겠어용...

요새 트렌드는 협업(==조립)인데, 프로젝트가 커져서 참여자가 늘어날수록 설계상 스펙에 대한 해석에 오차가 발생할 가능성이 높습니다. 변수의 타입이나 스택 사이즈, 콜과 참조는 어떤 디자인으로 구현해 놓을 것인지 등등... 그래서 요새 언어들은 이를 고려하여 여러가지 철학을 도입해서 편의성을 갖추고 오류를 (보통 자동으로) 잡아냅니다.

하지만 C는... 흔히 하는 말로 바퀴부터 발명하고 장인의 정신으로 만들어야 하는 경우가 많아... 더 보기
아니 이 주제는 자세히 설명하다간 C부심 부린다는 소리 듣는 주제! 하지만 도전해보겠어용...

요새 트렌드는 협업(==조립)인데, 프로젝트가 커져서 참여자가 늘어날수록 설계상 스펙에 대한 해석에 오차가 발생할 가능성이 높습니다. 변수의 타입이나 스택 사이즈, 콜과 참조는 어떤 디자인으로 구현해 놓을 것인지 등등... 그래서 요새 언어들은 이를 고려하여 여러가지 철학을 도입해서 편의성을 갖추고 오류를 (보통 자동으로) 잡아냅니다.

하지만 C는... 흔히 하는 말로 바퀴부터 발명하고 장인의 정신으로 만들어야 하는 경우가 많아서 이러한 편의성이 크게 떨어집니다. 특히 프로젝트 규모가 커지면 협업하고 있는 개발자들의 평균 실력이 좋다고 해도 많은 문제가 발생합니다. 때문에 프로젝트 관리자가 개발자들 이상의 실력을 가지고 있어야 하는 경우가 많습니다. 설계를 모두 머릿속에 넣고 있다가 협업 오류가 일어날 수 있는 곳을 미리 교통정리하고 필요하다면 직접 스펙을 코드로 구현해야 합니다.

그래도 왜 C, C++을 쓰느냐? 완성된 코드의 퍼포먼스 때문이죠. (평범한 사람이 읽을 수 있는 언어중에 가장) 머신과 가까운 로우레벨 언어답게 성능이 매우 뛰어납니다. 품질이 좋습니다. 쓰는 사람에 따라서 유연함도 좋습니다. 그래서 DB나 데이터 전송, 임베디드 모듈, 대규모 정보처리 수학 연산, 게임엔진 등등에 쓰입니다. 코드 생산성 보단 품질이 더 중요한 분야죠.

하지만 요새 대부분 프로젝트는 웹이나 앱의 프론트와 백엔드에 집중되어 있습니다. 그래서 최고의 품질보다 생산성과 유지보수가 더 중요합니다. 그래서 굳이 이런 프로젝트를 C로 구현할 이유가 없고, 프레임워크가 잘 만들어져 있고 유행이 강물처럼 흐르는 언어로 프로젝트를 진행하게 됩니다. 당연히 사람들도 거기로 모이죠.

그래서 C나 C++을 한다는 사람을 찾아보기 힘듭니다. C-like 언어에서 C를 메인으로 하기도 어렵고, 그럴 이유도 없고... 물론 필요한 곳이 있기 때문에 장인은 있습니다. 우리나라에도 초절정 고수인 분들이 계십니다. 제가 아는 분들은 의료장비 개발이나 대형DB 쪽에서 일하시는 듯...
10
우리나라 IT서비스가 기본적으로 웹서비스라고 볼 때

1. 리소스? 그거 그렇게까지 꼭 아껴야 하나? 부족하면 서비스 하나 더 붙이면 될 것을..
2. 레이턴시? 어차피 웹서비스인데 전송 속도가 더 걸리잖아.. 이거 체감 될 정도로 잘 만들 수 있어?
3. 다른 서비스들 뭐로 만들었어? 그거 가져다 쓰려면 뭐가 편한데?
4. 그저그런님이 말씀해주신 포인터. 이거 때문에 안정성이 떨어집니다. 그래서 이걸 언어 내부적으로 해결 하려고
스마트포인터를 사용하지만 문제는 사라지지 않죠. ㅎ
5. C/C++의 장점을 유지하... 더 보기
우리나라 IT서비스가 기본적으로 웹서비스라고 볼 때

1. 리소스? 그거 그렇게까지 꼭 아껴야 하나? 부족하면 서비스 하나 더 붙이면 될 것을..
2. 레이턴시? 어차피 웹서비스인데 전송 속도가 더 걸리잖아.. 이거 체감 될 정도로 잘 만들 수 있어?
3. 다른 서비스들 뭐로 만들었어? 그거 가져다 쓰려면 뭐가 편한데?
4. 그저그런님이 말씀해주신 포인터. 이거 때문에 안정성이 떨어집니다. 그래서 이걸 언어 내부적으로 해결 하려고
스마트포인터를 사용하지만 문제는 사라지지 않죠. ㅎ
5. C/C++의 장점을 유지하면서 안정성까지 가져가려고 Rust 같은 언어를 사용하기도 하지만..그럴거면 자바는.. 무너졌냐?

위 이유로 우리가 흔히 아는 IT서비스에서는 C/C++ 사용이 적습니다.
위 이유 때문에 게임 및 디바이스는 아직도 C/C++ 많이 사용합니다.
그리고 같은 이유로 게임서버는 C/C++에서 점점 벗어나려고 하고 있습니다.
4
원금복구제발ㅠㅠ
여러 이유로 인해 C, C++을 쓰는곳이 점차 사라지고 있죠.
보이차
빠른 실행 속도보다 빠른 아이디어 구현이 더 중요한 곳이 많다보니 그렇지요
그리고 c++는 신규 진입이 그리 쉽지가 않읍니다
주니파
C/C++/C#/자바 다 개발 해봤고 지금은 python을 주로 쓰고 있는 입장에서 말씀드리자면
C/C++ 하다가 C#/자바 는 아주 쉽게 배울 수 있습니다. 반면 그 반대는 굉장히 어려워요.
C/C++ 에는 상위 언어에 없는 개념들이 있어서 그렇습니다. 그냥 자동 기어 운전하다가 수동 기어 운전하는 거랑 똑같다고 보시면 됩니다. 전혀 신경 안쓰던 주소값, 메모리 등의 개념을 항상 신경쓰면서 코딩을 해야 하는데 그냥 언어를 배우는 건 할 수 있지만 업무 효율성이 잘 나오지 않습니다. 신경안쓰던걸 계속 신경쓰면서 일해야하고 문... 더 보기
C/C++/C#/자바 다 개발 해봤고 지금은 python을 주로 쓰고 있는 입장에서 말씀드리자면
C/C++ 하다가 C#/자바 는 아주 쉽게 배울 수 있습니다. 반면 그 반대는 굉장히 어려워요.
C/C++ 에는 상위 언어에 없는 개념들이 있어서 그렇습니다. 그냥 자동 기어 운전하다가 수동 기어 운전하는 거랑 똑같다고 보시면 됩니다. 전혀 신경 안쓰던 주소값, 메모리 등의 개념을 항상 신경쓰면서 코딩을 해야 하는데 그냥 언어를 배우는 건 할 수 있지만 업무 효율성이 잘 나오지 않습니다. 신경안쓰던걸 계속 신경쓰면서 일해야하고 문제가 생겨도 원인파악이 어렵고... 남의 코드 보는 건 더더 어렵습니다. 문법도 온갖 이상한 문법이 등장하고 업체마다 개발자마다 이거 같은 언어 맞아? 할정도로 다르거든요...
지금은 주로 python으로 일하는데 세상 그렇게 편할 수가 없습니다. 수동차 운전하다가 자율주행기능 있는 전기차 운전하는 기분이랄까? 필요한 로직도 만들려다가 좀만 찾아보면 다 라이브러리도 있고... python 최고!
nothing
쓰는데가 많이 없습니다.
쓰는데가 많아야 C/C++ 일자리가 많이 생기고 그거 따라서 C/C++ 경험자 풀도 늘고 선순환이 이루어질텐데
요즘에는 굳이 굳이 C/C++ 로 써야 하는 부분이 진짜 많이 없어요.
특히나 Go 나 Rust 같은 일정부분 대체자가 나온 이후로는 더욱 더...
nm막장
파이썬으로 우선 구현하고 스피드가 필요한 곳(게임, 증권, 임베디드 등)에 별도로 c/c++로 구현하는 건 좀 본 것 같습니다)
아침커피
답변해주신 분들 모두 감사합니다!
ㅢㅘㅞ
C는 automotive 때문에 다시 뜰 것으로 생각합니다
목록
번호 제목 이름 날짜 조회 추천
14895 IT/컴퓨터차량용 핸드폰 충전거치대 추천 부탁드립니다 4 DogSound-_-* 23/06/06 2668 0
14894 IT/컴퓨터[질문] 게임개발 코딩실력 레벨업을 위한 학원 선택 질문 드립니다. mathematicgirl 23/06/06 2766 0
14885 IT/컴퓨터맥북에어 usb 허브 추천 4 쥬꾸미 23/06/05 2477 0
14882 IT/컴퓨터순수 사무용 pc 견적 부탁드립니다 2 danielbard 23/06/03 2611 0
14868 IT/컴퓨터사진 여러장 올리고 싶을때.. 2 우연한봄 23/05/30 2334 0
14861 IT/컴퓨터아이패드 굿노트가 무거운 어플이 맞나요? 1 땡땡 23/05/27 3966 0
14859 IT/컴퓨터디카 SD카드 용량인식 오류 10 카르스 23/05/26 4583 0
14833 IT/컴퓨터휴대폰 고민입니다 7 바이엘 23/05/19 2500 0
14812 IT/컴퓨터갤럭시 s23 울트라 싸게 사는 방법 있을까요 6 어둠달골짜기 23/05/14 3670 0
14810 IT/컴퓨터DC(?) 멀티 어뎁터가 있을까요? 3 dongri 23/05/13 2239 0
14785 IT/컴퓨터서브폰으로 쓸 기종 추천해주세요 7 대츄차 23/05/07 2594 0
14781 IT/컴퓨터이거 혹시 바이러스, 멀웨어 인가요? 2 덕후나이트 23/05/06 4965 0
14777 IT/컴퓨터인터넷 증명서발급 질문드립니다 5 Lian K 23/05/04 4647 0
14775 IT/컴퓨터혹시 KT 분기국사 기상정보 활용하시던분들 계신가요 매뉴물있뉴 23/05/04 2352 0
14774 IT/컴퓨터놋북 추천 받읍니다. 18 산타는옴닉 23/05/04 2752 0
14770 IT/컴퓨터헤드셋의 강점이 있나요? 28 레몬버터 23/05/03 3240 0
14759 IT/컴퓨터pc에서 유튜브를 팟플레이어로 보시는 분 계신가요? 5 John Petrucci 23/04/30 4064 0
14753 IT/컴퓨터알뜰요금제 새로 신청할려고 하는데 질문 드립니다. 7 호에로펜 23/04/29 3274 0
14750 IT/컴퓨터<사진 삭제> 엣지 접속시 새창이 2개 뜹니다. 9 설탕 23/04/29 3681 0
14740 IT/컴퓨터팟플레이어로 유튜브 재생 잘 되시나요? 5 조선전자오락단 23/04/27 4908 0
14738 IT/컴퓨터맥 클리어 타입 적용 관련 5 Dr.PepperZero 23/04/26 2308 0
14734 IT/컴퓨터USB PD 충전기 문의드립니다. 9 웃기는간짜장 23/04/25 2873 0
14727 IT/컴퓨터개발자 블로그 플랫폼 질문입니다! 2 벚문 23/04/23 3380 0
14720 IT/컴퓨터회사에서 쓰기 좋은 텐키리스 키보드 추천 부탁드립니다! 6 Broccoli 23/04/20 3259 0
14712 IT/컴퓨터C, C++ 개발자가 적은 이유가 무엇인가요? 11 아침커피 23/04/18 4972 0
목록

+ : 최근 2시간내에 달린 댓글
+ : 최근 4시간내에 달린 댓글

댓글
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기