프로그래밍 어느 것부터 시작해야 할까요?
제가 프로그래밍이 하고 싶어 시작해보려 하는데, 처음에 어느 것부터 해야할지 막막하네요.
프로그래밍 언어 종류 중 어느 것이 시작하는 것이 제일 좋을까요?
그리고 온라인 강의와 책을 사는 것 중 어느 것으로 해야 더 배우는 게 좋을지
자세하게 어떻게 공부해야 하는지 알려주시면 좋겠습니다^^
- 책보다는 강의를 듣는게 더 이해가 잘 될 거에요. - 프로그래밍 언어를 배우기전에 프로그래밍, 코딩에 대한 기초지식을 좀 습득하고 나서 프로그래밍 언어를 공부하시는 게 좋습니다. - 프로그래밍 언어는 프런트엔드, 백엔드로 나뉘는 데요. 프런트엔드는 클라이언트(화면)쪽, 백엔드는 서버쪽 언어로 라고 보시면 됩니다. - 보통 프런트엔드로는 html, css, 자바스크립트 등이 있고 백엔드로는 자바, C, 파이썬 등이 있습니다. - 간단히 보여주기만 하는 화면은 html, css, 자바스크립트만으로 가능하고 등록, 조회, 수정, 삭제 등의 기능을 구현 하려면 서버쪽 백엔드 언어를 배우셔야 합니다. - html은 화면에 기본적인 레이아웃 그리는 작업이고, css는 글꼴이라던지 크기, 색상 등 디자인을 입히는 작업이고, 자바스크립트는 화면단에 필요한 로직을 구현하는 작업이라고 보시면 됩니다. - C는 기초가 되는 언어이고 성능이 뛰어나서 처음 하시면 좋긴 한데 좀 어려울 수 있습니다. 자바는 웹, 모바일, 앱 등 실사용이 많이 되고, 파이썬은 문법이 간단하여 다른 언어보다 배우기 쉬운 장점이 있습니다. - 상대적으로 쉬운 프런트엔드 쪽을 먼저 공부하시고 백엔드 쪽을 공부하시는게 좋습니다. - 코딩에 대한 기초적인 설명이랑 기본적인 웹프로그래밍(html,css,javascript) 강좌가 있는 유튜브강의 링크인데 한번 보시기 바랍니다. - https://m.youtube.com/playlist?list=PLU9-uwewPMe0ynomccdrAX2CtVbahN4hD 
- 안녕하세요~! 아하(Aha) 지식답변자 다라닝입니다. 
 질문하신 내용에 대하여 아래와 같이 답변 드립니다.
 프로그래밍 처음 입문하시면 공부하실 언어를 먼저 선택하셔야 합니다.- 일반적으로 자바스크립트, 파이썬 언어를 추천드리며 - 상대적으로 배우기 쉽고 자료가 많기 때문입니다. - 구글에 생활코딩 검색하시면 두 언어 모두 유튜브 강의와 샘플소스가 제공되고 있습니다. - 책으로도 공부하시는것도 방법이지만 책보다는 - 영상으로 공부하면서 직접 프로그램 실습해보시는 권해드립니다! 
 부족하지만 도움이 되셨기를 바라며 추가적인 문의가 필요하시면 답변 부탁드려요!
- 프로그래밍에 관련해서 아무것도 배운 적이 없으시다면 우선 프로그래밍을 할 수 있는 언어를 먼저 배우시는 것이 좋을 듯 싶습니다. - 프로그래밍 언어 중 초심자에게 많이 추천되는 언어인 파이썬을 먼저 접해보시고 온라인에 무료로 공개된 강의나 서점에서 교재를 사셔서 공부하시는 것이 좋을 듯 싶으며, 우선 책을 구입해서 공부하시다가 이해가 안되는 부분이 생기면 온라인에 공개된 강의를 이용하시는 것이 좋을 듯 싶습니다. 
- 안녕하세요. 답변드립니다. - 프로그래밍에 대해 아무것도 모르는 사람들이 이 분야에 호기심을 가질만한 - 질문이 대부분 뭐부터 해야되냐, 무슨 언어가 좋냐 등의 내용을 물어보시기때문에 - 공통된 답변을 드리기위해 작성한 글입니다. - 질문자분이 이제 개발자의 길을 생각해보는 학생이라면 진지하게 고민해보실 필요가 있습니다. - 돌아가기에는 아주 깊게 발들여놔야 되는 분야거든요. - 0. 프로그래머가 뭐하는 사람이에요?- 프로그래머라는 직업은 광범위한 업무내용을 담고 있지만 통상적으로 - 컴퓨터의 운영체제 위에서 어떠한 목적을 가진 응용프로그램 을 개발하는 사람입니다. - 1. 코딩? 프로그래밍?- 프로그래밍은 어떠한 데이터를 입력해서 산출하기까지의 전 과정에 대해 설계하고 구축해나가는 행위입니다. - 이것을 컴퓨터를 이용한 응용프로그램을 만드는 일을 말합니다. - 현대에는 컴퓨터가 발명되어서 널리 쓰이고 있으므로 프로그래밍이라 함은 - 의도된 루틴에 따라 데이터를 입력하고 컴퓨터가 알아들을 수 있도록 명령어(코드)를 작성해 실행하고 - 목적하는 결과를 산출하기까지의 행위를 말합니다. - 하지만 컴퓨터가 발명되기 전의 과거에도 프로그래밍은 있었습니다. - 공학적인 방법론에 의해서 입력과 출력에 관한 설계구축은 어느 분야에나 필요하기 때문에 - 계산기의 발명을 하던 시절부터 프로그래밍은 있었다고 봐야할 것입니다. - 그러므로 프로그래밍이란 행위의 근본적인 이해를 하려면 컴퓨터와 연관짓는 범주를 넘어서서 - 통합적으로 생각해봐야할 필요가 있습니다. - 코딩은 그러한 프로그래밍 행위의 일부인 명령어 실행을 위한 입력 작업입니다. - 그러면 코딩을 할줄 알면 프로그래밍을 할줄 아는 것이냐? 라고 생각할 수도 있는데, - 프로그래밍은 위에도 말했다시피 더 큰 범주의 작업 행위에 해당하기 때문에 - 코딩만 할줄안다고 프로그래밍을 할 수있는 건 아닙니다. - 물론 코딩을 계속하다보면 프로그래밍에 대한 기본 소양들을 자연스럽게 몸에 익히게 됩니다. - 2. 난 스크래치 좀 해봤는데?- 프로그래머의 업무에 적합한 소양중에는 프로그래머의 공학적 사고방식이 필수입니다. - 학교에서 가르쳐주는 스크래치같은 도구는 그런 프로그래밍에 필요한 사고방식을 익히기 위한 목적의 도구입니다. - 그것만으로는 코딩이나 프로그래밍을 했다고 할 수는 없습니다. - 3. 그럼 뭐부터 해야되나?- 일단 개발언어의 선택이겠죠? - 컴퓨터가 세상에 나오고 대중화 되면서, 그 안에 있는 소프트웨어를 만드는 데에 여러 시도가 있었습니다. - 위에서도 말했다시피 코딩은 컴퓨터가 알아들을 수 있는 명령어를 작성하는 것이고, - 그런 컴퓨터와 대화하는 명령어는 수천개에 달할 정도로 엄청나게 많습니다. - 그 수천 개 중에 어떤 개발언어를 익히는지는 순전히 개인의 선택이지만, - 국가별로, 산업군별로, 세부 분야별로 선호되는 언어가 있습니다. - 본인이 어떤 분야에 관심이 가는지에 따라 추천되는 개발언어는 다르다고 할 수있습니다. - 사례를 들어봅시다. - 가. 우리나라는 통상적으로 전자정부표준프레임워크라는 것을 도입해서 배포했고, - 관공서, 공기업. 일반 기업 등 많은 부문에 퍼져있습니다. - 그리고 그것이 자바 언어를 사용하기 때문에 , - 그 수요에 맞춰 자바 개발자를 많이 교육하고 배출했으며 - 현재 업계에서 자바언어를 다루는 개발자를 많이 찾아볼 수 있습니다. - 나. 몇년 전부터 빅데이터, 인공지능이 대두되면서 이 데이터들을 핸들링해서 - 결과를 도출하는 프로그램을 만드는 데에 쓰이는 언어로서 파이썬이 각광받습니다. - 다. 스마트폰이 세상에 나온 뒤로, 득세를 한 것이 안드로이드 운영체제인데, 수년간 자바언어를 써왔습니다. - 당연히 그 위에 올라가는 앱도 자바였지만, 여러 사정상 언어를 코틀린으로 바꾸게 되었습니다. - 라. 하드웨어에 돌아가는 펌웨어는 CPU에 직접적인 접근을 해서 연산작업이 이루어지기 때문에, - C, C++, C#이 많이 쓰이고 있습니다. - 이러한 업계의 수세부분야, 수요와 트렌드에 따라, 필요로하는 언어와 기술 소양은 각기 다릅니다. - 그러무로 본인이 뭘 하고 싶은지부터 생각해보고 언어를 선택하는 것이 순서입니다. - 그리고 그 선택한 언어데 따라 개발환경, 도구가 모두 상이하므로 이런 언어선택의 방향을 잡는 것이 매우 중요합니다. - 4. 프로그래머 돈 많이 버나요? 안정적인가요?- 이것도 매우 다양한 답이 돌아옵니다. - 하지만 결론부터 말하자면 프로그래머는 안정적인 직업이 아닙니다. - IT기술이 년단위로 크게 변화하고 있고, 그에 맞춰서 업계의 입맛이 바뀌기 때문에 - 필요로하는 개발자의 소양도 바뀝니다. - 저같은 경우 PHP로 시작해서 자바 언어를 다루고있고, 필요에 따라 - javascript, node.js, go, python을 더 다루게 되었습니다. - 그러니까 '난 이거 한가지로 계속 밥벌어먹고 살아볼테야' 라는 인생전략이 통하지 않는 분야라고 볼 수 있습니다. - 수입도 정규직이냐, 프리랜서냐에 따라 다르고, 경력에 따라 또 다릅니다. - 그리고 수도권 대기업에서 일하느냐, 지방 중소기업에서 일하느냐에 따라 또 큰 차이가 있구요. - 하지만 다른 어느 개발자들을 붙잡고 물어봐도 공통적인 답이 돌아올겁니다. - '이 분야는 계속 공부 안하면 살아남을 수 없다'는 답이요. - 5. 영화나 드라마 보면 프로그래머나 해커가 엄청 멋져보이던데...- 뭔가 엄청 복잡한 것들이 화면에 나오고 그걸 엄청난 속도의 타자로 처리하는 모습이 일반적으로 나올겁니다. - 그리고 그것을 단 몇분만에 처리하구요. - 그런 모습을 보고 환상에 젖어 이 분야에 호기심을 갖는 청소년도 있을것으로 압니다. - 하지만 그건 영화나 드라마일 뿐이구요, 그런 매체에서 보이는 작업하는 모습은 허구입니다. - 실제로 그렇게 타자를 빨리 치는 일도 별로 없으며, - 뭔가 복잡해보이는 것은 없습니다. 그 복잡해보이는 것도 결국은 어디선가 누가 만드는 과정이 있었겠죠? - 그리고 통상 개발자가 코드를 대하는 화면은 편집기와 콘솔창입니다. - 그리고 프로그래머의 속성은 끈기있게 노가대하는 겁니다. - 코드 하나를 잘못 작성했거나, 알고리즘이 틀려서 몇날 며칠을 허비하고, - 원하는 결과하나를 보기 위해 몇시간을 모니터를 들여다보고 있기도 합니다. - 이게 통상적인 프로그래머의 모습이고, 매우매우 지루한 과정을 참아가면서 일하는 겁니다. - 그러니까 '프로그래머는 컴퓨터를 가지고 끈기있게 일하는 노동자'이지 - 무슨 컴퓨터를 지배하는 자가 아님을 말씀드립니다. - 호기심을 갖는 것은 좋으나 일단 진지하게 일을 하고 싶은지, - 그리고 그러한 과정들을 감내할 수있을지 먼저 생각해보는 것이 좋습니다. - 6. 배우기 쉬운 언어좀 가르쳐줘요. C는 어려워.. 더 쉬운것좀..- 입문자의 기분은 이해하겠지만 C 이상으로 프로그래밍의 공학적 기본이 잘 잡혀있고 컴퓨터 사이언스에 적합한 언어는 없습니다. 컴퓨터의 발전 역사에서 개발언어의 많은 충족요건의 정수들만 수렴한 결과 나온 언어이기 때문입니다. - 꼭C를 배우라는건 아니지만, 최근 업계에서 쓰이고 있는 거의 모든 개발 언어들이 C의 개념에서 크든 작든 영향을 받았습니다. 한마디로 정리해드릴게요. - "C도 못할 정도라면 어떤 다른 언어를 배워도 똑같이 막힌다."- 그렇습니다. C가 어렵다고 하면 그 개념을 물려받은 대부분의 다른 언어를 해도 마찬가집니다. C의 개념에 더 확장을 가한 C++, C# 당연히 못합니다. 더 어렵습니다. C의 기본프로토타입을 그대로물려받은 JAVA? 못하겠죠? - 그렇다면 여기저기서 주워듣기로 쉽다고 하는 언어는 될까요? 유감스럽게도 이건 언어의 난이도 문제가 아닙니다. 파이썬, php? javascript? ruby? 프로그래밍의 기초 개념부터 안잡혔는데 할수 있으려나요? 설마요. - 그냥 프로그래머의 공학적 사고방식이 결여되어있는거입니다. 학교에서 스크래치같은걸 가르친 이유가 그런 사고방식으로 접근하라고 가르치는 겁니다. 개발 언어는 도구에 불과합니다. 중요한건 프로그래머의 논리적이고 공학적인 사고방식을 기르는겁니다. - 가벼운 기분으로 더 쉬운언어로 만족할만한 프로그램결과물을 만드려는 생각이라면 그냥 포기하시는게 좋습니다. 그 과정이란게 언어와 상관없이 매우 험난하거든요. 아마 대부분 그런 이유때문에 쉬운언어 없냐고 물어보는 거겠지만. 쉬운언어 찾는건 이미 제대로 도전해볼 생각도 없이 도망칠 궁리를 하고 있다는 겁니다. 
- 프로그래밍을 입문하여 배우는건 초기에 쉽습니다만, - 아무런 지식이 없는 상태에서 배우려면 산넘어 산입니다 - 특히, 유튜브나 책을 가지고 공부하다가 막히는 부분이 나오는데, - 그 막히는 부분을 해결하기 위해 학원이나 잘하는 친구에게 물어보면 10분이면 해결할걸 - 몇시간 또는 몇칠이 소요될 수 있습니다 - 그래서 프로그래밍 첫 입문자라면? 첫번째 언어는 학원에서 배우는걸 강력히 추천드립니다 - 그래야 정해진 시간에 튼튼한 기초를 쌓을수 있습니다 - 그럼에도 불구하고 독학을 하시겠다면, - 관련책자는 교보문고 와 같이 큰 서점에 가셔서 직접 눈으로 보시고 여러권의 책들을 - 비교해보세요 - 그래서 본인이 이해하기 쉽게 설명한 책을 고르시면 됩니다 - 또는 https://scratch.mit.edu/ 에서 코딩에 대해 경험해보시기 바랍니다 
- 프로그래밍을 처음 배운다면 파이썬 프로그래밍 언어를 배우는 것을 추천합니다. - 다른 프로그래밍 언어에 비해서 쉽기 때문에 처음 배우기 좋은 언어 입니다. - 파이썬을 공부하는 방법으로는 책과 온라인 강의 둘다 병행하는 것이 좋습니다. - 물론 온라인 강의 만으로도 충분하다면 책이 필요가 없기는 합니다. - 본인의 공부 방법에 따라 책이 필요할 수 도 있습니다. - 개인적으로는 책을 읽으면서 이해가 되지 않는 부분을 온라인 강의 같은곳에서 보충 설명을 찾는 편입니다. 





