본문 바로가기
일상느낌

C언어는 어렵다! (feat. 따배씨)

by Dev_Dank 2021. 1. 16.

나의 코딩공부 시작

글쓴이는 비전공자이며 개발자로 취업을 하고 싶은데 어디서 부터 입문을 할지 고민하던 중이었다. 파이썬이 쉽다는 이야기를 들었고 윤인성님의 혼공파 책을사서 퇴근후 짬짬히 공부하기 시작했다. 실제로 파이썬은 2주 만에 기본문법을 다 볼 수 있었다. 굉장히 재밌었다. 이해하기 쉽고 진도도 확확 나갈수 있었으니까.  

기본문법을 마친뒤에는 난이도 중~하 정도의 알고리즘을 나동빈님의 책을 활용하여 1개월 정도 풀었다. 생각보다는 어려웠지만(아직도 점화식을 이용한 다이나믹 프로그래밍 풀이는 잘 이해가 안된다 ㅜㅜ) 할만한 느낌이었다.

사실 알고리즘 책을 2~3번 정도 더 회독하면서 유형을 익히고 책 뒤에 나와있는 실전 문제를 풀어볼까 싶었는데 이런 글이 눈에 자주 띄었다.

"비전공자는 컴퓨터 공학 기초가 부족해서 면접에서 탈락 하는 경우가 많아." 

그래서 문제 풀이를 더 하기전 컴퓨터 공학 기초 지식이 더 필요하다고 생각이 들었고 어떻게 공부를 할지 여기저기 검색을 하면서 고민했다. 

그러던 중 인프런에서 홍정모 교수님의 따라하며 배우는 C 강의 소개글을 마주치게 되었는데 강의 소개 글귀가 나를 이끌었다. 

딱 나를 위한 강의 같았다. 초보자였으며 컴퓨터의 기본 작동원리를 알기를 원했으니까. 

 

수강시작

1월 1일 지체없이 강의를 구매하고 들뜬 마음으로 수강을 시작했다. 

강의 초반에는 매우 신세계였다. 파이썬책으로 공부할때는 알지 못했던  CPU 와 메모리가 어떻게 작동하는지와 같은 내용들, 그리고 2진수 체계, 자료형 등등. 매우신기했다. 

C언어 왜이렇게 민감해!

그런데 강의의 진도가 나가면 나갈수록 점점더 어려워지기시작했다. 파이썬의 편리함에 익숙해져있었던 나는 변수별로 자료형 선언을 일일히 해주는것에 익숙하지 않았고 배열또한 파이썬에서는 간단하게 "변수명 = []" 만 쓰면 되던 부분이 C에서는 자료형도 지정하고 사이즈도 지정하고 등등 신경쓸게 너무 많았다. 파이썬만 경험해본 나에게는 너무 민감해서 조금만 잘못해도 틀리는게 짜증났다. 

강의를 나가며 풀어보라고 하시는 예제를 볼때마다 드는 생각은 "아...이거 파이썬으로 이렇게 이렇게 하면 진짜 금방일거 같은데..." 였다. 파이썬으로 5분이면 구현 할수 있을것 같은 예제를 C언어로 구현하니 인터넷으로 검색하고 강의내용을 복습하고 하면서 30분~50분 씩 고민하면서 구현했다. (물론 내가 C의 자료형지정이나 포인터에 익숙하지 않아서 생기는 문제다.)

특히 요즘 chapter 10을 수강중인데 포인터가 정말 어려운거같다. 포인터 자체의 개념(메모리공간의 주소를 담고있는변수)는 이해하기 쉬운데 언제 어디서 포인터를 어떻게 써야 정확하게 작동하는지가 아직 어렵다. 

만약 내가 C로 코딩을 입문했다면 아마 80%의 확률로 그만두지 않았을까 싶다. 현재 파이썬으로 기초 프로그래밍을 알고 강의를 수강하는데도 강의가 어렵게 느껴지는데 아무것도 모르는 상태에서 수강을 했었다면..... 어휴...

완강을 향해서

강의 수강 계획은 2주~ 3주안에 강의를 완강 하는 것이었는데 앞내용을 복습하며 블로그에 정리하고 하면서 듣다보니 불가능하다는걸 알게되었다. (아무리 빨라도 1월 27일 정도는 되어야 기본을 마칠수 있을거 같은 느낌이 든다. 이후에 자료구조와 알고리즘 기초강의까지 생각하면 2월 첫째주 정도?)

그래도 다행히 긍정적으로 생각되는 것은 이렇게 컴퓨터 메모리의 동작을 생각하며 까다롭게 프로그래밍 하는 것에 익숙해지면 향후 어떤 언어를 배우더라도 더 쉽게 느껴지지 않을까 싶다. 

어렵더라도 조금 더 힘내서 완강해보려 한다!

 

 

'일상느낌' 카테고리의 다른 글

SSAFY 준비? SSAFY가 뭐죠?  (0) 2021.02.22
인프런 따배씨 완강 후기  (0) 2021.02.01

댓글