- 질문 게시판입니다.
Date 23/04/18 16:27:22
Name   아침커피
Subject   C, C++ 개발자가 적은 이유가 무엇인가요?
얼마 전 뉴스 게시판에서 https://new.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 때문에 다시 뜰 것으로 생각합니다
목록
번호 제목 이름 날짜 조회 추천
6921 의료/건강B-CYMO 6 [익명] 19/04/09 2635 0
13732 기타balance due to your company 뜻이 뭘까요..? 1 루키루키 22/08/10 3504 0
2666 기타band 데이터 세이브 요금제 잘 아시는분 계신가요? 2 하드코어 17/04/15 5564 0
14659 기타BBQ를 맛있게 못하겠습니다 ㅠㅜ 4 ㅢㅘㅞ 23/04/03 2431 0
14347 기타BHC 치킨 질문입니다 7 김치찌개 23/01/08 2033 0
774 IT/컴퓨터Binary search tree 문제 6 kpark 16/01/25 6956 0
12493 경제BJ 후원을 주식 처럼 할 수 있는 플랫폼 어떨까요? 9 INFJ 21/10/31 3444 0
2193 교육Bless you 있잖아요. 4 은머리 17/01/27 3378 0
13248 의료/건강BMI30.2-30대후반-여성, 위소매절제술 여쭙습니다. 12 [익명] 22/04/14 4082 0
5998 의료/건강brain MRI 보험여부 질문드립니다. 3 [익명] 18/11/30 2430 0
9742 철학/종교BTS는 악마의 표징, 블랙핑크는 악마숭배, 겨울왕국2는 동성애를 장려한다고 자꾸 그러네요 42 [익명] 20/07/10 6014 0
7068 문화/예술Bts의 군면제 이슈에 대해서 어떻게 보십니까? 26 방사능홍차 19/05/06 3285 0
491 기타BW에 대해 궁금한점이 있습니다. 2 수박이두통에게보린 15/11/17 2761 0
1384 의료/건강b형 간염 예방 백신을 맞아야하는데 간수치 높으면 안 되나요? 1 베스트F 16/08/06 6603 0
10401 의료/건강B형 간염 예방주사 관련 9 꿀래디에이터 20/11/06 3519 0
13622 의료/건강B형간염 6개월 정기검진 병원 선택에 관해서 질문드립니다 6 Uhfu 22/07/12 3202 0
11045 의료/건강B형간염 있는 사람이 우벤자임 영양제 먹어도 괜찮나요? 2 Uhfu 21/02/15 3980 0
14712 IT/컴퓨터C, C++ 개발자가 적은 이유가 무엇인가요? 11 아침커피 23/04/18 3987 0
3156 IT/컴퓨터c++ 공부 하는데 얼마정도 걸리나요? 6 지식의늪지대 17/08/06 7983 0
7974 IT/컴퓨터c++ 에서 unordered map을 pair를 key로 사용할 때 순회 7 kaestro 19/10/03 4349 0
8492 의료/건강CA 19-9 수치 검사를 건강검진에 사용하는 이유 등에 대해서 5 [익명] 19/12/17 5215 0
10121 경제CBDC를 발행하면 마이너스 금리 부과 가능하다는데... 2 [익명] 20/09/15 2678 0
10191 IT/컴퓨터CCTV 설치 쉬운가요? 7 덕후나이트 20/09/30 4006 0
2304 IT/컴퓨터cd -> mp3 변환 방법 질문입니다. 5 줄리엣 17/02/13 2749 0
6261 기타CD 굽기 질문입니다 8 김치찌개 19/01/09 2451 0
목록

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

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