4차산업시대, IT, 인공지능, IOT, 빅데이터, VR/AR, 스마트폰, 스마트, 스마트, 스마트
뭐 요즘에는 초등학생 때부터 코딩을 배운다는 말이 있다. 실제로 그런지 안 그런지는 내가 뭐 조사해본 적도 없어서 잘은 모르겠지만 아무튼 예전에 내가 초등학생 때 가벼운 마음으로 방과 후 학교에서 컴퓨터를 배우며 컴이조아 같은 뭐 이상한 걸 했는데 그때보단 컴퓨터에 접근하기가 더 수월해졌으리라 본다.
개발자.. 나는 뭔가 개발자란 단어가 멋있어 보였다. 뭔가 개발하는 사람이여서 멋있고 특히나 예전부터 지금까지 쭉 좋아하는 게임들도 그들이 만들고 나도 그렇게 되고 싶기도 했다.
내 주위에도 비전공자인데 개발자가 되고 싶어하는 경우를 봤다.
비전공자가 할 수 있느냐?? 충분히 가능하다고 본다.
나 같은 경우는 전공자지만 대학 와서 배운 것을 느꼈을 때 충분히 혼자서도 이 정도까지는 가능하겠구나 라고 느꼈었다.
물론 그렇게 생각한 이유가 내가 그렇게 전문성이 높지 않다고 생각해서이다.
음... 그저 좀 더 공부하기 수월해진 상태라고나 할까?
요즘에는 구글에 검색만 하면 다 나온다고 한다. 나오면 근데 뭐 할 거야 내가 뭘 검색해야 할지도 모르고 나와도 뭔지 모르는데 좀 더 검색해서 알아가기 용이한 정도까지가 내 상태라고 생각한다.
c언어
제목에 개발자가 되려면 c언어를 공부해야하는 이유라고 쓰여 있다.
결론부터 얘기하자면 굳이 뭐 c언어를 안해도 된다. 뭐 많고 많고 다양한 게 언어인데 굳이 c를 해야 하나..
java도 있고 phthon도 있고 c++ 뭐 많기도 한데 그럼에도 나는 c언어부터 하면 좋다고 생각한다.
이유는?? 내가 그렇게 시작했기 때문에..ㅎ 그냥 많고 많은 언어들이 있지만 주요 언어들은 문법들이 대부분 비슷하고
자료형도 비슷해서 한 언어만 잘 익히면 다른 언어를 배울 때 큰 어려움은 없을 거라고 생각한다.
그렇기에 어떤 것부터 시작해도 상관없다. 대신 좀 꼼꼼하게 이해를 잘하고 익히면 좋을 것 같다.
나중에 알겠지만 대부분 문법도 어느 정도 비슷하고 자료형도 일치하고 함수를 사용하는 것들도 전반적인 맥락이 비슷하다고 생각하면 되는데 c언어가 좀 더 어 뭐랄까.. 가장 기초라고 생각하면 될 듯하다.
예를 들어 자바에서 지원해주는 스택 클래스가 있는데 이 스택은 가장 기초적인 자료구조이다.
자바에서는 그냥 Stack <> stack = new Stack<>(); 이렇게 하고 나중에 stack.push() .pop() 이렇게 하면 그만이다.
뭐 지금은 알 필요 없는 내용이다. 그냥 push가 데이터를 집어넣고 pop이 꺼내오는 것인데 후입 선출이라 해서 가장 늦게 집어넣는 데이터를 가장 먼저 빼오는 자료구조이다.
java는 저렇게 단순하게 사용할 수 있는데 c언어에서는 아예 구조를 본인이 작성해야 한다. 즉 내부의 구조를 알게 된다.
저런 것들을 알고 쓰냐 모르고 쓰냐는 차이가 크다.
물론 자바에서도 직접 구현해서 사용하는 것이 가능하지만 의미적으로 뭐랄까 어.. 그냥 기본 용어를 c언어를 통해서 배운다고 생각한다.
다시 말하지만 굳이 c언어부터 안 해도 상관없다. java를 시작해도 아무 상관이 없다.
물론 일하는 업종마다 사용하는 언어가 다르지만 본인이 어디를 갈지 뭘 할지 다 정하고 그쪽에 맞춰서 공부하는 것도 좋지만 언어를 공부하면서 컴퓨터 프로그래밍에 대해 이해하고 어느 분야로 갈지 혹은 정해놨다면 아 이제 이 것을 공부하면 되겠구나.라고 느끼는 것도 필요하다고 생각한다.
프로그래밍 언어
컴퓨터는 하드웨어와 소프트웨어가 나눠져 있는 것은 누구나 알고 있다.
스마트폰이 하드웨어고 안에 있는 카카오톡 같은 어플이 소프트웨어다.
그리고 그 다양한 어플들을 띄워주고 실행할 수 있는 환경을 제공해주는 안드로이드 역시 소프트웨어다.
흔히 개발자라 하면 이 소프트웨어를 개발하는 사람이라고 볼 수 있다.
우리가 공부해볼 c언어도 소프트웨어 즉 프로그램을 만드는 언어다.
컴퓨터가 0과 1만 인식할 수 있는 멍청한 고철이다. 그 0과 1의 배합으로 우리가 이렇게 윤택한 삶을 살고 있는 것이다.
0 1 전기신호로 on/off 신호가 있으면 1(on)이면 없으면 0(off) 그래서 기계 전원도 이렇게 생기지 않았나
우리가 개발하면서 작성하는 언어는 일반 언어(영어)구문으로 만든 것이다.
그것을 컴파일러라고 하는 쉽게 말해 번역기가 기계어로 번역하여 컴퓨터가 알아듣게 한다.
뭐 아무튼 이런 거 저런 거 의미도 다 필요 없고 어떻게 내가 프로그램을 만들 수 있을지 앞으로 차근차근 공부해보도록 하자.
참고로 제대로 공부하려면 언어만 가지고는 부족하다. 사실 언어는 그냥 언어일 뿐이다.
글을 작성하려면 한국어를 알아야 하듯이 프로그래밍을 하려면 언어는 그냥 알아야 되는 것일 뿐인 것이다.
우리가 한글을 안다고 글을 잘 작성하기는 어렵지 않은가
뭐 맥락은 조금 다르지만 프로그래밍 언어를 안다고 해서 프로그램을 잘 만드는 것은 아니다.
자료구조, 알고리즘, 컴퓨터구조, 운영체제, 데이터베이스, 통신과 네트워크 등등 알아야 할 정보들이 산더미지만!!
뭐 몰라도 공부하다 보면 아!! 하면서 내가 필요하다고 느껴질 때가 있다.
그때 공부해도 괜찮다고 생각한다. 아 이래서 이거를 해야 하구나~~ 하면서 느끼면서 하는 거지 뭘..
'프로그래밍 > c언어 기초공부' 카테고리의 다른 글
[C언어 에러 해결] Visual Studio 2019 scanf() C4996 에러해결 (0) | 2021.08.02 |
---|---|
[C언어 기초-04] 데이터 입출력 2. scanf() (0) | 2021.07.27 |
[C언어 기초-03] 데이터 입출력 1. printf() (0) | 2021.04.29 |
[C언어 기초-02] 데이터 편 변수와 자료형 (0) | 2020.11.05 |
[C언어 기초-01] Visual Studio 2019 설치하기 개발환경 (0) | 2020.10.28 |
댓글