인프런 커뮤니티 질문&답변

semu0523님의 프로필 이미지
semu0523

작성한 질문수

독하게 시작하는 C 프로그래밍

C언어와 파이썬

해결된 질문

작성

·

379

·

수정됨

0

안녕하세요 선생님

다름이 아니라 현재는 프로그래밍 분야와 다른 분야에서 일하고 있지만 차차 준비를 해서 언젠가는 해당 분야로 직무를 변경하여 일하고 싶어 선생님의 강의를 수강하고 있는 직장인입니다.

제가 처음 C언어를 배운 것은 2015년도 였고 그때 포인터를 마주하고 C언어 및 프로그래밍의 벽을 느껴 공부를 포기했었습니다. 그 이후로도 몇번이고 공부하고자 마음을 먹었지만 코드를 따라치고 기본적인 문법을 익혀 예제를 푸는 것 만으로는 실질적으로 코드 자체가 이해가 가지 않아서 중간에 학습을 포기하였습니다.

최근에는 선생님의 C언어 강의를 들으면서 차근차근 공부를 하고 있습니다. 강의 내용이 어렵긴하지만 그래도 기초적인 것부터 설명해주셔서 너무 감사하게 수강 중입니다. 선생님이 말씀하신대로 프로그래밍언어 공부는 단순히 문법을 익히는 것 뿐만아니라 컴퓨터 구조와 메모리를 어떻게 쓰는 지 아는 것이 중요하고 이런 학습 방법이 도움이 더 많이 되는 것 같습니다. 아직도 잘은 모르지만 뭔가 하나하나 개념이 잡힌다고나 할까요?

 

그런데 최근 고민이 있습니다. 제 지인들은 다들 4년제 컴퓨터공학과를 나와서 일을 하고 있습니다. 제가 지인들에게 학습 방법, 로드맵에 대해서 질문을 하면 다들 C언어를 공부하는 것 보다는 Python을 공부하는 것이 더 좋다고 합니다. 실질적으로 c언어를 써서 개발하는 부서는 많지도 있고 요샌 대부분 Python을 사용하여 업무를 한다고 하더라구요. 제가 미리 말씀을 안드렸는데 현재 저는 반도체 기업에서 일을 하고 있고 제 지인들도 반도체 기업의 SW직무이고 저 또한 프로그래밍 능력을 쌓아 C++로 코딩테스크를 본 뒤에 사내 직무 이동 프로그램을 통해 SW직군으로 이동할 계획입니다.

또한 지인들이 Python 은 인터프리터 언어(메모리 관리를 안해도 되는 언어)라서 요새는 C++까지 넘어가지 않아도 된다고들 하더라구요. 그래서 C는 어려우니 굳이 힘빼지말라는 말도 들었습니다. 또한 현업에서 일하시는 분들도 운영체제, 자료구조,네트워크 같은 과목을 두루두루 깊게 공부한 사람들이 적다고도 들었습니다.

저는 현재 C언어를 공부하면서 어렵지만 배우는 것도 많고 뭔가 뜬구름 잡던게 하나하나 알아가는 느낌이라서 좋은데 제 지인들이 코딩테스트도 Python으로 봐라 C는 어렵고 어차피 현업가면 Python을 쓴다고 해서 제가 올바른 방향으로 학습을 하고 있는것인지 의문이듭니다. 제가 코딩 테스트를 C++로 보려는 이유는 인터프리터 언어인 Python보다 컴파일러 언어인 C++을 공부해야지(C++이 조금 더 어렵긴하지만) 컴퓨터가 메모리를 어떻게 쓰는 지 알게 되고 나추후에 더 도움이 된다고 생각해서 C++로 준비하고 있는데 제가 삽질을 하고 있는 건 아닌지 선생님의 의견이 궁금합니다.

또한 제가 만약 C언어를 공부후에 선생님께서 자료구조, 운영체제, 네트워크는 필수로 공부하라고 들었던 것 같은데 맞을까요? 그렇다면 자료구조, 운영체제, 네트워크 중 공부 순서가 있을까요?

위의 3가지 과목 이외에 추가적으로 공부해야할 과목과 공부순서가 있을까요? 이론공부의 커리큘럼이 공부합니다.

그리고 현재 선생님의 유튜브 채널 멤버쉽도 구독 중인데 시간되시면 이 내용에 대한 선생님의 생각을 한번 유튜브에서 말씀해주시면 저처럼 갈피를 못잡고 있는 사람들에게 많은 도움이 될 것 같습니다. (저에 대한 직접적인 언급은 뺴고요)

 

감사합니다

답변 2

0

널널한 개발자님의 프로필 이미지
널널한 개발자
지식공유자

프로그래밍 언어는 '도구'입니다. 소프트웨어 개발 목표나 문재해결 상황에서 어떤 도구가 가장 적절한 것인지 따져보고 알맞은 것을 선택하면 됩니다. Python이 사용이 편리한 도구인 것은 맞지만 소위 실무에서는 Python이라는 개념은 동의 할 수 없습니다. 지나치게 편협한 생각의 결과라 하겠습니다.

이와 같은 질문에 늘 드리는 말씀이 있습니다. 컴퓨터 공학과 전공자들이 4년이라는 시간 동안 공부하는 이유에 대해 생각해봐야 합니다. 누구나 Python으로 소프트웨어 개발자가 될 수 있고 코딩을 할 수 있습니다. 그러나 그것 만으로 충분할 가능성은 매우 낮습니다.

소위 기초가 튼튼해야 합니다. 그래야 무엇을 하더라도 상대적으로 쉽게 적응하고 나아갈 수 있습니다. 그런 차원에서

  1. 넒고 얕게 외워서 컴공 전공자 되기

  2. 독하게 C

  3. 선형 자료구조

  4. C++

  5. 운영체제

  6. 시스템 프로그래밍

  7. 네트워크 및 소켓 프로그래밍

  8. RDBMS (자료구조 이후 즉시 공부해도 무방)

등을 공부한다면 (2년 정도 걸릴 수 있음) 어떤 환경에서 어떤 언어를 이용하더라도 경쟁력 있는 개발자로 성장 할 수 있을 것입니다.

0

안녕하세요, 인프런 AI 인턴입니다.

semu0523님의 경우, C언어를 시작으로 프로그래밍을 학습 중이시며, 이후 C++ 공부를 통해 프로그래밍 능력을 증진시키고자 하시는 목적을 가지고 계신 것으로 보입니다. 당장의 코딩 테스트 준비와 장기적인 목표 달성을 위한 학습 방향성에 대해 고민 중이신 것 같습니다.

직접적으로 semu0523님의 질문에 답변되는 내용은 발견하지 못했으나, 관련된 흥미로운 답변을 찾았습니다. 여기서는 C언어 학습의 중요성과 컴퓨터 과학의 기초를 다지는 것의 가치에 대해 간략히 언급되었습니다.

  • 코딩, 자료구조, 운영체제, 네트워크 등을 알아야 하는 이유와 C언어를 시작으로 이러한 학습을 진행하는 것의 의미는 많은 개발자들이 공감하는 부분입니다. C언어는 기본적인 프로그래밍 능력을 증진시키며, 인터프리터 언어인 Python을 학습하기 전에, 컴파일 언어인 C 혹은 C++로 시작하는 것이 메모리 관리와 같은 프로그래밍의 깊은 이해에 도움이 됩니다.

  • C언어를 통한 프로그래밍 학습은 기본 개념의 명확한 이해를 통해 다른 언어로의 전환 시 그 언어의 특징을 빠르게 익히고, 효율적인 프로그래밍을 구현하는 데 큰 도움이 됩니다.

  • 기본적으로 C언어를 배운 후에 자료구조, 운영체제, 네트워크 등의 과목을 공부하는 것은 프로그래밍 능력을 향상시키고, 실제 문제를 해결하는 능력을 기르는데 중요합니다. 이 과정은 프로그래머로서의 기본기를 탄탄하게 하는 데 필수적인 부분입니다.

질문하신 공부 방향성과 관련해서 추가적인 입장이나 조언을 원하신다면 다음 링크의 답변을 참고하시는 것도 도움이 될 것 같습니다:

이 링크들은 C언어 공부의 중요성, 다른 언어로의 전환, 학습 방향성에 대한 강사님의 의견을 담고 있습니다. 또한, C언어를 넘어 추가적인 프로그래밍 학습 방향과 순서에 대한 답변도 포함되어 있습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

semu0523님의 프로필 이미지
semu0523

작성한 질문수

질문하기