극단적으로 이야기해, 컴퓨터가 완전히 새로운 종류와 구조의 컴퓨터(뉴런 컴퓨터나 광학 컴퓨터, 양자 컴퓨터, 바이오 컴퓨터 같은)로 완전히 넘어가지 않고 여전히 '폰 노이만 아키텍쳐'방식의 컴퓨터를 쓰는한 우리는 C를 쓰겠죠. 그 사이, 유닉스와 C를 대체해 보겠다는 OS와 언어는 참 많았지만 역으로 그 언어들이 무덤으로 간 숫자가 더 많았구요.
C/C++ 은 컴퓨터 아키텍처가 새로운게 나오지 않는한 영생합니다. C 아래에는 어셈블러가 있지만 C 만큼 어셈블러로 어떻게 번역이 되겠다 라고 코디을 하며 예측이 가능한 언어는 없죠 그래서 OS, 프로그래밍 언어를 만들때 어셈블러나 C/C++ 을 대체할 언어는 없습니다.
c/c++ 점점 안쓰인다고 주장하는 자들은 자기가 배운 자바, 파이썬 등의 언어가 대세가 되서 어려운 언어를 더 배우는 수고를 덜기 위해 그렇게 말하는 경우가 많다고 본다. 근데 안타깝게도 정밀함과 속도를 요구하는 우주항공, 자율주행, 컴퓨터 커널, 게임, 의료분야, 공장 자동화 등등에선 절대적으로 많이 쓴다라는 거. 개발자라면 힘들더라도 c/c++ 배워두는게 여러모로 이득임. 그리고 java 배웠으면 문법이 비슷해서 생각보다 c/c++ 금방 배울 수 있음.
저학년 때는 파이썬이 너무 직관적이고 편하고 데이터 다루는 기능도 유연해서 C를 왜 써야하나 했는데, 컴퓨터구조를 배우니 기계어와 어셈블리로 어떻게 번역될 지 직관적으로 보이는 언어가 C밖에 없더라고요. 다른 언어들도 구현체 자체는 C로 만드는 경우가 많다는걸 보면 가히 고급 기계어라고 불러도 될것 같은...
하드웨어, 임베디드 시스템, 리눅스 같은건 다 C언어를 써요..그냥 모든 언어의 기본이라고 보면됨... 자바 파이썬 이런건 깊이 들어가면 너무 개발이 산만하고 어려워지고 관리가 힘들어요.. 또한 대부분의 운영체제는 C언어로 작성됨.. 그리고 UI 같은거 할때는 편의성 때문에 자바나 파이썬으로 하고, 핵심 코어부분만 C로 만드는 경우도 많죠...
전에 다니던 회사에서 저한테 C 한다고 천대하던거 생각하면 ㅋㅋ 그떄 자존감도 많이 박살났고 지금도 좀 박살나있는 상태인데 그래도 좀 위안이 되네요. 여태 해왔던게 완전 무용한건 아니었구나... 하는 그런 생각. 뭐 그래서 파이썬이나 러스트, 자바스크립트같은것도 배우게 되었으니 좋게 생각 하려 합니다.
GPU 언어도 모두 C 언어임. C 문법을 가진 OpenCL, Cuda, OpenGL 인데 라이브러리나 메모리 모델이 CPU언어와 다를 뿐 syntax는 100% C언어임 내 생각에는 적어도 C언어와 고급언어(Python, Java...특히 python) 2개 정도는 기본으로 할 줄 알아야 한다고 생각함 그럼 다른 언어도 바로 배울 수 있음. ....ADA, C#. .NET , PL/SQL, CUDA, OpenCL 등등
본인이 하고자 하는 일에 필요한 언어를 배우믄 되는거, 웹쪽에서 서비스 하고 샆으믄 자바부터, 하드웨어 하고프믄 c, 좀 더 큰 큐몬데 성능 필요하믄 c++ 난 전문 개발자는 아니지만 일할때 프로그래밍 필요해 그르믄 파이썬, 본인이 타겟팅하는 잡에서 쓰는 언어부터 봐야지. 쓰는 용도랑 목적이 다르다보니 뭐가 더 좋다라고 딱 잘라 말하기 힘듬. 요즘은 러스트로도 게임 서버 만든다던데 트랜드한거 배워보는 것도 괜츈,,
그런게 있으면 좋겠다고 생각한 사람들의 결과 : RUST RUST의 결과 : C를 완전히 대체가능하지도 않고, ZIG로 대체불가능하지도 않음 스몰토크가 OO에 대한 이데올로기를 구현해보려고 했듯이, 러스트는 안전성에 대한 이데올로기를 버그무결성, 혹은 보수적으로는 설계의 우위를 기대하며 봉기하고 있습니다. 그렇지만 쿨하고 트렌디한 것과 그 입지가 고유하다는 것은 함께하는 게 아니라는게 역사로 증명되어 왔잖습니까. 크레이트 숫자나 OS 커널 일부 코드에 쓰였다는 것만으로는 증명되었다고 보기 어렵습니다. 러스트 소프트웨어 수보다 러스트 홍보자 수가 더 많은 한은요.
'할수 있다' 와 '안쓸 이유가 없다' 와 '대신 쓴다' 는 서로 각각 완전히 다른얘깁니다. 그 명제만으로 언어대세가 결정된다면 지금쯤 우린 모드 D++를 쓰고 있겠죠. 미국정부에서 권장한 언어를 '배워야만' 한다면 90년대 이후 모두들 ADA 강좌를 듣고있지 않을까요? RUST로 '가능' 하다면 ZIG로 '가능' 한 것에 대해 배타적일 근거도 없습니다.
윈도에서 c/c++ 배울려면 visual studio 구입해야 하는데 (30일짜리는 무료는 의미없음) 개인이 c++ 컴파일러에 몇백을 투자해야 함? 2년마다 visual studio 신제품 나오는데... 감담됩니까? Mac에서 배울려면 ... 200주고 맥북사야 되는데... 앞날을 어떻게 알고 이 개발툴에 몇백씩 꼴아박습니까?
게임 업계는 2005년 정도를 분기로 거의 모든 플랫폼(소니, 닌텐도 포함)이 비주얼 스튜디오로 옮겨 갔습니다. 그 전에는 엑박과 윈도우만 비주얼 스튜디오를 썼지만요. 당연히 컴파일러는 clang, gcc 등을 쓰지만요. 게임처럼 규모가 꽤 큰 코드베이스는 VS Code로 한계가 있답니다.
gcc 쓰라는 분들이 많게이계신데... MFC 사용해야 윈도 어플만들어서 밥벌이 입문이라도 하죠. gcc 써서 맨난 커맨드창에 hello world만 출력할 겁니까? 그나마 돈되는(=월급이나마 받을 수 있는) exe / dll은 visual studio 로만 빌드가 됩니다. ... 타인의 인생(=밥벌이)이 걸린 일인데... 수명끝난 언어 (=백악관에서도 말림) 강의 들으라고 하는건 ... 너무 한 듯~
비주얼 스튜디오는 IDE이며 gcc는 컴파일러입니다. 실제 비주얼 스튜디오를 사용하지만 gcc혹은 clang으로 컴파일하는 프로젝트들이 매우 많습니다. 또한 직장 수로 보면 윈도우 환경(즉 exe, dll)보다는 그 외 환경에서 C/C++로 컴파일 하는 곳이 더 많습니다.
(현업으로 충고드립니다) C/C++ 일자리 없어요. 굳이 뭐하러 배우나요? 진짜 필요하면 회사에서 키우겠지요. c/c++ 배우느니 박스나 주우세요. 그게 훨씬 많이 법니다. sw도 어차피 먹고 살자고 하는 짓인데... crud를 메인으로 배우고, 시간 남으면 취미로 obj-c나 배워두세요
극단적으로 이야기해, 컴퓨터가 완전히 새로운 종류와 구조의 컴퓨터(뉴런 컴퓨터나 광학 컴퓨터, 양자 컴퓨터, 바이오 컴퓨터 같은)로 완전히 넘어가지 않고 여전히 '폰 노이만 아키텍쳐'방식의 컴퓨터를 쓰는한 우리는 C를 쓰겠죠.
그 사이, 유닉스와 C를 대체해 보겠다는 OS와 언어는 참 많았지만 역으로 그 언어들이 무덤으로 간 숫자가 더 많았구요.
👍
하버드 아키텍처로 넘어가서 스마트폰이 나옴
현업에서 엔지니어링 소프트웨어 개발 합니다
입사 초반 5년은 C#으로 현업과 코딩 감각 좀 배우고,
이후는 코어는 C++로 개발하고 UI는 C#으로 하려고 합니다
현재 생각으로는 고성능 요구하는 곳에서 C/C++은 필수인 것 같습니다
c를 아무도 안쓴다고요? ㅋㅋㅋㅋㅋㅋㅋ 이세상 모든 전자기기에 95%이상은 c언어 기반이라고 장담함. 자동차 세탁기 인터넷 디바이스 게임기 모두 것이 c부터 시작함.
C/C++ 은 컴퓨터 아키텍처가 새로운게 나오지 않는한 영생합니다.
C 아래에는 어셈블러가 있지만 C 만큼 어셈블러로 어떻게 번역이 되겠다 라고 코디을 하며 예측이 가능한 언어는 없죠
그래서 OS, 프로그래밍 언어를 만들때 어셈블러나 C/C++ 을 대체할 언어는 없습니다.
자바도, 파이썬도 모두 C로 만듭니다. 자바의 탄생 목적은 c를 소스코드 수준에서 호환이 아니라 바이너리 수준에서 호환되게 하는 게 목표 였죠. 즉 내부는 C언어다.
c/c++ 점점 안쓰인다고 주장하는 자들은 자기가 배운 자바, 파이썬 등의 언어가 대세가 되서 어려운 언어를 더 배우는 수고를 덜기 위해 그렇게 말하는 경우가 많다고 본다. 근데 안타깝게도 정밀함과 속도를 요구하는 우주항공, 자율주행, 컴퓨터 커널, 게임, 의료분야, 공장 자동화 등등에선 절대적으로 많이 쓴다라는 거. 개발자라면 힘들더라도 c/c++ 배워두는게 여러모로 이득임. 그리고 java 배웠으면 문법이 비슷해서 생각보다 c/c++ 금방 배울 수 있음.
그리고 그 주장을 20년 넘게 하고 있는 건....
저학년 때는 파이썬이 너무 직관적이고 편하고 데이터 다루는 기능도 유연해서 C를 왜 써야하나 했는데, 컴퓨터구조를 배우니 기계어와 어셈블리로 어떻게 번역될 지 직관적으로 보이는 언어가 C밖에 없더라고요. 다른 언어들도 구현체 자체는 C로 만드는 경우가 많다는걸 보면 가히 고급 기계어라고 불러도 될것 같은...
용도가 달라요. 과일 깍는데 회칼 쓰지는 않잖아요. 본인이 썰게 과일인지 회인지 알아서 맞는 칼을 쓰는게 맞습니다
하드웨어, 임베디드 시스템, 리눅스 같은건 다 C언어를 써요..그냥 모든 언어의 기본이라고 보면됨... 자바 파이썬 이런건 깊이 들어가면 너무 개발이 산만하고 어려워지고 관리가 힘들어요.. 또한 대부분의 운영체제는 C언어로 작성됨.. 그리고 UI 같은거 할때는 편의성 때문에 자바나 파이썬으로 하고, 핵심 코어부분만 C로 만드는 경우도 많죠...
전에 다니던 회사에서 저한테 C 한다고 천대하던거 생각하면 ㅋㅋ 그떄 자존감도 많이 박살났고 지금도 좀 박살나있는 상태인데 그래도 좀 위안이 되네요. 여태 해왔던게 완전 무용한건 아니었구나... 하는 그런 생각. 뭐 그래서 파이썬이나 러스트, 자바스크립트같은것도 배우게 되었으니 좋게 생각 하려 합니다.
멋지십니다! 긍정적인 마인드는 성장하는 사람의 모습이더라고요~
그 회사 넘들이 무식한 넘들이네요..
난 자칭 '개발자' 라는 애들이 os에서 메모리 어떻게 관리하는지 기초도 모르는거 보면 어이가 없다...
어셈블리가 뭔지, 컴퓨터구조는 어떻게 되는지 설명은 할 줄 알아야 개발자지..
동감 합니다. 취미로 하거나, 웹 프로그래밍 정도면 몰라도 되지만 개발자... 난 프로그램 개발자야 라고 말 하려면 말씀하신대로 메모리에서 어떻게 관리되는지는 알아야 한다고 생각 합니다.
솔직히 그딴거 몰라도 돈잘벌수있음. 비즈니스로직 잘 설계하고 컨설팅하면됨. 요즘이 어느시댄데 로우레벨 딥하게 파고가서 코딩장인되야만 돈번다 그러냐 pm 되려면 다른게 더 중요해
그럼요. 세상에 돈 버는 방법은 다양합니다. 하지만 말씀하신 직종이 아닌 전문 프로그래머는에게는 로우레벨 지식이 돈 잘 버는데 큰 도움이 됩니다.
@@Dkzhfmeow
돈버는 게 목적이면 그럴수 있죠. 근데 제대로된 개발자가 되는게 목적이면 로우레벨 모르면 안됩니다.
그리고 본인이 pm 되보시면 밑에 그 로우레벨 전혀 모르는 애들만 가지고 팀꾸려 운영해보세요. 프로젝트 산으로 가는 거 금방입니다.
GPU 언어도 모두 C 언어임.
C 문법을 가진 OpenCL, Cuda, OpenGL 인데 라이브러리나 메모리 모델이 CPU언어와 다를 뿐 syntax는 100% C언어임
내 생각에는 적어도 C언어와 고급언어(Python, Java...특히 python) 2개 정도는 기본으로 할 줄 알아야 한다고 생각함
그럼 다른 언어도 바로 배울 수 있음. ....ADA, C#. .NET , PL/SQL, CUDA, OpenCL 등등
한국에서 취업 편하려면 자바, 자바스크립트, 파이썬 중 하나를 메인으로 해야함. 영어 잘하면 씨로 먹고 살겠지.
사실 한국에 국한에서 사용 언어 별로 취업자/실업자 비율을 보면 큰 차이는 없다고 들었습니다.
본인이 하고자 하는 일에 필요한 언어를 배우믄 되는거, 웹쪽에서 서비스 하고 샆으믄 자바부터, 하드웨어 하고프믄 c, 좀 더 큰 큐몬데 성능 필요하믄 c++ 난 전문 개발자는 아니지만 일할때 프로그래밍 필요해 그르믄 파이썬, 본인이 타겟팅하는 잡에서 쓰는 언어부터 봐야지. 쓰는 용도랑 목적이 다르다보니 뭐가 더 좋다라고 딱 잘라 말하기 힘듬. 요즘은 러스트로도 게임 서버 만든다던데 트랜드한거 배워보는 것도 괜츈,,
저희는 컴퓨터의 동작원리를 가르치는 컴퓨터 공학 학원이기 때문에 언어 선택에도 신경을 쓰고 있습니다!
C의 문법적인 모호함을 더 다듬고 컴파일 단계에서 좀 더 실수를 잡아주는 그런 게 있으면 좋겠다고 생각하고 있어요. 근데 이런 생각을 저 혼자만 했을 것 같지는 않고 어딘가에서 조용히 점유율을 올리면서 오고 있겠죠?
Rust
리눅스도 러스트로 점점 이관하려고 하고 있어요.
그런게 있으면 좋겠다고 생각한 사람들의 결과 : RUST
RUST의 결과 : C를 완전히 대체가능하지도 않고, ZIG로 대체불가능하지도 않음
스몰토크가 OO에 대한 이데올로기를 구현해보려고 했듯이, 러스트는 안전성에 대한 이데올로기를 버그무결성, 혹은 보수적으로는 설계의 우위를 기대하며 봉기하고 있습니다.
그렇지만 쿨하고 트렌디한 것과 그 입지가 고유하다는 것은 함께하는 게 아니라는게 역사로 증명되어 왔잖습니까.
크레이트 숫자나 OS 커널 일부 코드에 쓰였다는 것만으로는 증명되었다고 보기 어렵습니다.
러스트 소프트웨어 수보다 러스트 홍보자 수가 더 많은 한은요.
솔직히 c가 제일 쉬움
그리고 제일 불편함
녹화를 19~20년도에 하신건가요??
그렇습니다. 그때 처음 공개한 강의입니다.
배치프로그램에서 쓰더라고ㅋㅋㅋㅋㅋ
저런 언어들은 누가 어떻게 왜 만들었을까?
러스트 쓰겠죠 ㅋㅋ
현업에서는 특정분야 빼고는 러스트는 아직 머나먼 얘기입니다
@@사이다콜라-e2p 국가적 차원(백악관..)에서 메모리 취약 언어 사용하지 말자고 했으니.. 사실상 배워야만 하는게 아닐까 싶네요.
C와 같은 수준의 결과를 뽑아낼 수 있는 로우레벨 언어인데 안넘어갈 이유는 없다고 봅니다.
당장 리눅스/윈도우 커널만 하더라도 추상화 개념때문에 c++도입마저도 꺼렸던 코드베이스가 러스트로 마이그레이션 하거나 구현되고 있어요.
'할수 있다' 와 '안쓸 이유가 없다' 와 '대신 쓴다' 는 서로 각각 완전히 다른얘깁니다.
그 명제만으로 언어대세가 결정된다면 지금쯤 우린 모드 D++를 쓰고 있겠죠.
미국정부에서 권장한 언어를 '배워야만' 한다면 90년대 이후 모두들 ADA 강좌를 듣고있지 않을까요?
RUST로 '가능' 하다면 ZIG로 '가능' 한 것에 대해 배타적일 근거도 없습니다.
@@jamesmillerjo 배워야만 한다는 이야기는 러스트에 국한된 이야기는 아니었습니다 ㅎ c를 안써야 한다는 이야기가 좀 이상하게 나갔네요
윈도에서 c/c++ 배울려면 visual studio 구입해야 하는데 (30일짜리는 무료는 의미없음)
개인이 c++ 컴파일러에 몇백을 투자해야 함?
2년마다 visual studio 신제품 나오는데... 감담됩니까?
Mac에서 배울려면 ... 200주고 맥북사야 되는데... 앞날을 어떻게 알고 이 개발툴에 몇백씩 꼴아박습니까?
Gcc쓰면되죠
그러고보니 예전에는 c/c++배우려면 비주얼 스튜디오 써야했고 정품은 몇백하던 때가 있었죠. 지금은 무료버전 있어서 공짜입니다. 먼저 댓글다신 분 말씀대로 gcc나 이클립스 등 오픈소스 개발툴 쓰면 MS거 안 써도 됩니다. ㅎㅎ
비주얼 스튜디오 community 버전은 평생 무료입니다.
요즘 c/c++은 wsl에 gcc깔아서 vs code로 하는게 훨씬 쉽고 자료도 많고 좋죠.
말씀하신 visual studio가 필요했던 c++은 c/c++이라기 보다는 윈도우즈 프로그래밍을 위한 mfc쪽이었을 거 같습니다.
게임 업계는 2005년 정도를 분기로 거의 모든 플랫폼(소니, 닌텐도 포함)이 비주얼 스튜디오로 옮겨 갔습니다. 그 전에는 엑박과 윈도우만 비주얼 스튜디오를 썼지만요. 당연히 컴파일러는 clang, gcc 등을 쓰지만요.
게임처럼 규모가 꽤 큰 코드베이스는 VS Code로 한계가 있답니다.
gcc 쓰라는 분들이 많게이계신데... MFC 사용해야 윈도 어플만들어서 밥벌이 입문이라도 하죠.
gcc 써서 맨난 커맨드창에 hello world만 출력할 겁니까?
그나마 돈되는(=월급이나마 받을 수 있는) exe / dll은 visual studio 로만 빌드가 됩니다.
...
타인의 인생(=밥벌이)이 걸린 일인데... 수명끝난 언어 (=백악관에서도 말림) 강의 들으라고 하는건 ... 너무 한 듯~
비주얼 스튜디오는 IDE이며 gcc는 컴파일러입니다. 실제 비주얼 스튜디오를 사용하지만 gcc혹은 clang으로 컴파일하는 프로젝트들이 매우 많습니다.
또한 직장 수로 보면 윈도우 환경(즉 exe, dll)보다는 그 외 환경에서 C/C++로 컴파일 하는 곳이 더 많습니다.
전공자는 아닌거 같고 학원 출신 같네요.
참고로 IT의 정점인 회사에서 C 사용률이 올라간답니다...
(현업으로 충고드립니다)
C/C++ 일자리 없어요. 굳이 뭐하러 배우나요? 진짜 필요하면 회사에서 키우겠지요.
c/c++ 배우느니 박스나 주우세요. 그게 훨씬 많이 법니다.
sw도 어차피 먹고 살자고 하는 짓인데... crud를 메인으로 배우고, 시간 남으면 취미로 obj-c나 배워두세요
... obj-c요? Swift면 이해가 되는데 obj-c는...
C/C++ 일자리가 얼마나 되는지는 사람인 등의 취직 사이트에 가셔서 검색해 보시고 각자 판단하시면 좋을 것 같습니다.
crud...? obj-c....? 어떤 일 하는지 알겠네요. ㅎ.
크롬엔진, 커널, git 모두 C로 작성되며 거대IT기업은 기본적으로 커널튜닝을 하기때문에 C사용률이 되려 올라갑니다.... 네트워크 엔지니어도 C사용하구요. 클라우드/인프라/네트워크 엔지니어는 대체로 C를 자유롭게쓰며 도메인별 연봉도 탑티어수준입니다.
세상엔 프론트엔드/api서버 개발자만 있는게 아니에요 ^^; 비싼 개발자는 그분들이 아닙니다