아하
검색 이미지
생활꿀팁 이미지
생활꿀팁생활
생활꿀팁 이미지
생활꿀팁생활
굳건한거북이202
굳건한거북이20220.08.17

군에서 컴퓨터 언어 공부에 대한 조언을 받고자 합니다.

위 질문이 객관적인 사항을 물어보는 질문이라기 보다는 저의 주관적인 상황에 맞춘 질문이기에 답변에 필요한 몇가지 사항들을 정리하겠습니다.

1. 현재 신분 : 군인(약 6개월 후 전역)

2. 전공 : 전기전자공학(대학교 2학년 1학기 과정 수료 후 군휴학)

3. 접해본 컴퓨터 언어와 현재 저의 언어별 수행능력 정도

- C : 중학교 시절 정보영재교육원에 들어가서 배운 적이 있습니다만 그땐 전혀 흥미가 없어서 활동에 제대로 참여하지 않았습니다. 대학교에 들어가서 필수교양(?, 교과목 분류가 기억이 잘 나지 않습니다 ㅠㅠ)으로 배운 적이 있지만 마찬가지로 초기에만 바짝 공부하고 후반에는 공부 상태가 미진합니다. 군에서 공부를 하기는 했지만 많이 부족합니다. 처음부터 다시 시작해야할 필요성을 느낍니다.

- HTML : 저의 이야기를 블로그에 담고 싶어서 티스토리 블로그를 만드려고 하였습니다. 저의 개성에 맞게 블로그를 꾸미려다 보니 HTML언어가 필요하여 접하게 되었습니다. 마찬가지로 매우 기초적인 내용만 공부하고 그만두었습니다.

- Verilog : 대학교 전공필수 교과목 중 하나인 '디지털 시스템'에서 논리회로를 코딩하면서 배운 언어입니다. 전공 수업이였지만 학습을 제대로 하지 못한 채 군으로 왔습니다. AND, OR과 같은 매우 기초적인 회로만 코딩가능한 정도며, 이마저도 교재를 통해 제대로 배운 것이 아니라 강의 시간에 나눠준 pdf에 의존하여 공부하였습니다.

4. 배움의 목적

- 사실 고3때부터 학업에 충실하지 못했던 저는 대학교에 들어가서도 바뀌지 않았습니다. 군에 와서 여러가지를 시도해보려고 관심있는 분야들부터 공부를 했지만 끈기있게 나아가지 못했기에 오래가지 못해 그만둔 것들이 많습니다.

- 전역을 한 후, 바로 복학을 해야 하는 실정입니다. 그렇다 보니 고민들이 많습니다. 배우려는 열정과 의지는 있지만 끈기가 부족했던 저의 모습을 보니 복학을 하기 전 어떤 언어를 미리 공부해두고 가는 것이 좋은지 확신이 안 서기도 하였고 막상 공부를 했다가 확신이 안들어서 포기를 할 것 같았습니다. 전공에 대한 정확한 이해와 조사가 부족하기도 하지만, 컴퓨터 언어에 있어서 가장 기초적인 부분도 부족하다고 생각하기에 공부의 필요성은 인지하고 있지만, 어디서부터 시작해야할 지 잘 모르겠습니다.

- 이런 상황 속에서도 컴퓨터 언어에 대한 배움의 의지는 매우 큽니다. 저의 전공이 전기전자공학이라 컴퓨터언어를 컴퓨터 공학과 같이 매우 전문적으로 다루지는 않을지라도 공학에서 가장 필요하고 기본적인 것은 컴퓨터 프로그래밍이고, 학업에서 뿐만 아니라 사회에 나가서도 꼭 필요한 것이 프로그래밍이라고 생각합니다. 군대에서 얼마 남지 않은 시간동안만큼이라도 컴퓨터 언어 공부를 하고자 합니다.

여기까지 저의 글을 읽어주신 분들에겐 너무 감사드립니다. 다시 본 내용으로 돌아가겠습니다.

앞서 말씀드린 것처럼 컴퓨터 언어를 접해본 것은 3개의 종류가 있지만 거의 노베이스라고해도 무방한 정도입니다. 프로그래밍 입문으로 알려진 언어에 C, Phython 등이 있지만 이중 어떤걸로 공부를 시작해야할지 그리고 어떤 방식으로 공부를 시작해야할지 확신이 안섭니다.

뿐만 아니라 공부방법에도 의문이 듭니다. 이전에 군에서 C를 공부할 때는 외서인 'C Programming : A Modern Approach, 2/E' 으로 공부를 했습니다. 원서를 읽기에 무리가 없어서 영어 공부를 다시 하는 셈, 그리고 이왕 공부하는 거 제대로 C를 공부해보자는 마음으로 공부를 시작했지만 한달 정도 채 가지 못했습니다.

지금 생각해보면 2가지 정도의 이유가 있던 것 같습니다. 첫번째, C에 대한 너무 상세한 내용을 다 공부할 필요가 있을까. 뭔가를 시도하면 정말 확실하게 하려는 성격때문에 선택한 책이었지만 오히려 이런 점이 저에게 의문을 주었던 것 같습니다. '개발자로서의 진로가 매력적이긴 하지만, 전공 과정을 위한 기초를 다지는 나한테 이정도만큼의 상세한 내용이 필요할까?', '나에게 필요한 건 숲 속의 나무에 어떤 곤충까지 사는 지를 아는 것이 아닌, 숲에는 어떤 나무들이 군락을 이루고 있는가하는 정도의 구조적인 틀만 잡아도 충분하지 않을까?'하는 의문이 들었습니다. 뿐만 아니라 군대에서의 제한적인 시간동안 책에서의 진도와 코딩을 병행하려고 하니 쉽지 않았습니다. 책을 다 소화하기 위한 책에서의 진도가 많은 시간을 소요하는 탓에 정작 중요한 코딩을 직접 해보는 기회가 극히 드물었기 때문입니다.

그래서인지 코딩을 배우는 방식에 대해서도 궁금증이 생깁니다. 책으로 공부하는 것이 바람직한지 또는 여러 사이트와 업체에서 제공해주는 오픈 소스나 컴퓨터 언어 공부 과정 등으로 공부하는 것만으로도 충분한지 말입니다.

말이 너무 길어진 것 같아서 죄송합니다. 컴퓨터 언어에 대한 경험이 많은 분들의 의견을 듣고 싶어 질문을 남기게 되었습니다. 긴 글 읽어주셔서 감사합니다.

55글자 더 채워주세요.
답변의 개수
4개의 답변이 있어요!
  • 하고자 하는 의욕이 보여서 보기 좋네요. 응원할께요.

    자바는 안 해보셨나요?

    저 같은 경우에는 자바를 추천 드립니다.

    아무래도 자바를 사용하는 프로젝트도 많이 있고 웹이나 안드로이드 개발할 때도 사용하는 언어입니다.

    실사용이 많이 되는 언어라 메리트가 있지 않나 싶어요.

    C도 해보셨다고 하니 금방 배우지 않을까 싶네요. 파이썬은 좀 더 쉽다고 하더군요.

    공부 방법은 책보다는 동영상 강의를 보면서 같이 따라 가는게 더 도움이 될꺼라고 보네요.

    요새 유튜브 같은 곳에서 검색하면 강의 많이 있더라구요.


  • 안녕하세요.

    작성해 주신 글 잘보았습니다. 요약해 보면 마지막에 질문주신 내용이 핵심이 아닐까 하는데요,

    "책으로 공부하는 것이 바람직한지 또는 여러 사이트와 업체에서 제공해주는 오픈 소스나 컴퓨터 언어 공부 과정 등으로 공부하는 것만으로도 충분한지 말입니다."

    1) 네 오픈소스나 여러 사이트로 충분합니다. 오히려 그런 사이트들이 더 잘되어 있습니다.

    2) 군대라는 환경을 생각해보면 책으로 공부하는 것도 굉장히 괜찮습니다. 예전의 대학 과정을 보면 이론 수업과 실습 수업이 따로 있었던 적도 있고, 이론 수업도 충분히 의미가 있습니다.

    3) C언어는 "A book on C"와 같은 책들이 잘되어 있습니다. C언어를 깊게 배울 필요가 있냐에 대해서 질문하신다면, 100% 깊게 배우실 필요가 있습니다. 특히나 앞으로 이 분야에 종사하실거라면요, C언에는 storage class, pointer, module등 모든 프로그램에 기본이 되는 내용들이 들어 있습니다. 안타깝게도 object oriented라는 개념이 없는 것이 단점이지만 이는 C++로 배우실수 있구요,

    숲에는 어떤 나무들이 군락을 이루고 있는가하는 정도의 구조적인 틀만 잡아도 충분하지 않을까?' 이 말씀에도 100% 동이합니다. 그런데 언어를 배우는 것은 이와는 조금 다릅니다. 즉 최소한 "말"을 할수 있어야 그 다음의 무언가를 할수 있습니다.. 비유해 주신 내용을 보자면 언어를 배우는 것은 숲이던 나무인던 무언가를 "볼 수" 있게 해주는 과정입니다.

    그리고 이런면에서 언어보다 더 중요한 것이 "문제 해결 능력"을 포함하는 "알고리즘"입니다. 사실 대학교의 학부 전과정을 통틀어 알고리즘을 배우는 시간은 매우 조금이고 학점도 낮게 되어 있지만 사회에서 혹은 코딩 인터뷰를 위해서 제일 필요한 것이 이것입니다.

    코딩 인터뷰가 어려운 것이 그 언어를 몰라서가 아니라 "알고리즘"을 몰라서이거든요. 그래서 저는,

    1) 좋은 알고리즘이나 문제해결 사이트를 선택하시고(리트코드추천드립니다.), 그 다음에 JAVA나 C나 배우고 싶으신 언어를 선택해서, 그 문제들을 풀어나가시는 것을 추천 드립니다.

    2) 그 이유는, 우선 가장 많은 시간이 할애되는 부분이고, 문제 풀이를 하는데 있어서 코딩을 직접 하는것보다는 생각하는 시간이 더 많이 필요하기 때문입니다.

    꾸준히 준비하셔서 좋은 결과 있으시기 바랍니다.


  • 저도 군대에서 시작했는데 비슷하네요. 그때는 할 수 있는게 책을 보는 방법밖에 없어서 힘들었던 기억이 있네요.

    언어 선택에 있어서 어떤걸 해도 지금은 모두 좋을 것이라 판단되네요. 실제 프로젝트의 투입도 아니고 점차적으로 공부해 나간다면 C, Python 모두 좋을 것 같아요. 굳이 선택하라면 저 같으면 Python을 선택하겠네요. 전역하면 복할 할테고 그때부터 제대로 배운다고 생각하시고 지금은 책만 보세요. 백날 책을 봐도 가장 습득이 빠르고 피부로 느낄 수 있는건 실제 프로젝트하면서 코딩하는게 가장 빠릅니다. 책은 그저 레퍼런스로 생각하시면 될 것 같아요. 코딩을 할 기회가 있다면 군에서는 제약이 많기 때문에 알고리즘을 풀어보시는게 좋은 방법입니다. 백준져지코딜리티에 다양한 문제가 있으니 연습하시면 되요. 알고리즘은 점차적으로 배워나가야하고 이 후 졸업 후 취업시 유용하게 작용됩니다. 알고리즘은 종이로도 풀 수 있으니 시간이 가능할 때 문제를 푸시고 다 못 푼 문제는 이후 생활관에서는 종이로 풀어보시고 풀이 내용을 보고 다시 풀어보시면 되요. 알고리즘을 풀면서 코딩 연습을 하시고 이 후 전역 후에 교내에서 실제 프로젝트를 진행하면서 스킬을 올려가면 될 것 같네요. 다시 말씀드리지만 책만 뚫어지게 본다고 스킬과 실력이 느는 건 아니예요. 책 백번 보는 것보다 코딩 한번이 효율적입니다.

    6개월 정도 이렇게만 진행해도 복학 후 언어 수업에 다른 언어를 쓴다하더라고 일맥상통하기 때문에 학점관리도 될 것 같네요.

    전역 잘 하시고 사회부적응자로 업그레이드 하시기 바랍니다~


  • 안녕하세요

    장문의 글 잘 읽어보았습니다.

    일단 프로그램은 재미가 있어야 오래 갈 수 있습니다.

    C 언어가 좀 딱딱하긴 하죠.

    일단 제가 추천드리는 방법은 어떤 언어가 되었든 한가지 언어에 대해서

    여러가지 개발경험을 해보시기를 추천드립니다

    간단한 구구단 출력부터 시작하여 인터넷 크롤링 그리고 정보조합으로 님의 티스토리에

    자동으로 글쓰기 등등 엄청나게 많은 개발경험을 해보시기 바랍니다

    즉, 쉽든 어렵든 수천 수만가지 문제들을 한가지 언어로 풀수 있다면?

    다른언어를 배울때 쉽게 넘어가기 쉽습니다. 사실 프로그램 개발은 알고리즘을 어떻게

    창의적으로 만드느냐의 문제이고 얼마나 많은 경험을 했느냐가 기술의 깊이를 나타냅니다

    그래서 님 같은 경우 파이썬을 해보셨다고 하니, 파이션으로 진짜 여러가지 문제풀이에 도전해보시기 바랍니다.

    파이션으로 왠만한 아이디어를 전부 프로그래밍 할 수 있다면? 그때 좀더 전문적으로 원하는 방향의

    개발언어를 선택하셔도 늦지 않을거라 생각합니다