프로그래밍 막 배우기 시작한 초보인데요
소프트웨어 엔지니어가 꿈인 중학교 2학년입니다
프로그래밍을 시작할때 무슨 언어 부터 배우는 것이 실질적으로 좋을까요?
일단 저는 PHP, HTML, python, SQL문 다 조금조금씩 할수 있습니다
뭘 제일 적극적으로 또는 새로 배우는 것이 좋을까요?
그리고 자격증은 뭐 먼저 따는것이 좋을까요?
리눅스 자격증은 지금 준비중입니다
안녕하세요.
일단 처음 언어를 배우기전에 프로그래밍, 코딩에 대한 기초지식을 좀 습득하고 나서 프로그래밍 언어를 공부하시는 게 좋습니다.
프로그래밍 언어는 프런트엔드, 백엔드로 나뉘는 데요. 프런트엔드는 클라이언트(화면)쪽, 백엔드는 서버쪽 언어로 라고 보시면 됩니다.
보통 프런트엔드로는 html, css, 자바스크립트 등이 있고 백엔드로는 자바, C, 파이썬 등이 있습니다.
간단히 보여주기만 하는 화면은 html, css, 자바스크립트만으로 가능하고 등록, 조회, 수정, 삭제 등의 기능을 구현 하려면 서버쪽 백엔드 언어를 배우셔야 합니다.
html은 화면에 기본적인 레이아웃 그리는 작업이고, css는 글꼴이라던지 크기, 색상 등 디자인을 입히는 작업이고, 자바스크립트는 화면단에 필요한 로직을 구현하는 작업이라고 보시면 됩니다.
C는 기초가 되는 언어이고 성능이 뛰어나서 처음 하시면 좋긴 한데 좀 어려울 수 있습니다. 자바는 웹, 모바일, 앱 등 실사용이 많이 되고, 파이썬은 문법이 간단하여 다른 언어보다 배우기 쉬운 장점이 있습니다.
프런트엔드 쪽을 먼저 공부하시고 백엔드 쪽을 공부하시는게 좋습니다.
코딩에 대한 기초적인 설명이랑 기본적인 웹프로그래밍(html,css,javascript) 강좌가 있는 유튜브강의 링크인데 한번 보시기 바랍니다.
https://m.youtube.com/playlist?list=PLU9-uwewPMe0ynomccdrAX2CtVbahN4hD
여러가지 많이 해보셨네요.
PHP, HTML, SQL 등을 해보셨으면 여기에 더 집중해서 웹프로그래머 쪽으로 해보는 건 어떨까 생각이 드네요.
자바스크립트랑 자바도 추가로 좀 공부하시면 많은 도움이 될 듯하네요.
자바는 웹이나 안드로이드 등 다양한 분야에 많이 사용 되고, 정부에서 사용하는 전자정부프레임워크에서도 사용되고 있어 메리트가 있지 않나 싶습니다.
자격증으로는 자바쪽 OCPJP등이 있습니다.
안녕하세요. 답변드립니다.
프로그래밍에 대해 아무것도 모르는 사람들이 이 분야에 호기심을 가질만한
질문이 대부분 뭐부터 해야되냐, 무슨 언어가 좋냐 등의 내용을 물어보시기때문에
공통된 답변을 드리기위해 작성한 글입니다.
0. 프로그래머가 뭐하는 사람이에요?
프로그래머라는 직업은 광범위한 업무내용을 담고 있지만 통상적으로
컴퓨터의 운영체제 위에서 어떠한 목적을 가진 응용프로그램 을 개발하는 사람입니다.
1. 코딩? 프로그래밍?
프로그래밍은 어떠한 데이터를 입력해서 산출하기까지의 전 과정에 대해 설계하고 구축해나가는 행위입니다.
이것을 컴퓨터를 이용한 응용프로그램을 만드는 일을 말합니다.
현대에는 컴퓨터가 발명되어서 널리 쓰이고 있으므로 프로그래밍이라 함은
의도된 루틴에 따라 데이터를 입력하고 컴퓨터가 알아들을 수 있도록 명령어(코드)를 작성해 실행하고
목적하는 결과를 산출하기까지의 행위를 말합니다.
하지만 컴퓨터가 발명되기 전의 과거에도 프로그래밍은 있었습니다.
공학적인 방법론에 의해서 입력과 출력에 관한 설계구축은 어느 분야에나 필요하기 때문에
계산기의 발명을 하던 시절부터 프로그래밍은 있었다고 봐야할 것입니다.
그러므로 프로그래밍이란 행위의 근본적인 이해를 하려면 컴퓨터와 연관짓는 범주를 넘어서서
통합적으로 생각해봐야할 필요가 있습니다.
코딩은 그러한 프로그래밍 행위의 일부인 명령어 실행을 위한 입력 작업입니다.
그러면 코딩을 할줄 알면 프로그래밍을 할줄 아는 것이냐? 라고 생각할 수도 있는데,
프로그래밍은 위에도 말했다시피 더 큰 범주의 작업 행위에 해당하기 때문에
코딩만 할줄안다고 프로그래밍을 할 수있는 건 아닙니다.
물론 코딩을 계속하다보면 프로그래밍에 대한 기본 소양들을 자연스럽게 몸에 익히게 됩니다.
2. 난 스크래치 좀 해봤는데?
프로그래머의 업무에 적합한 소양중에는 프로그래머의 공학적 사고방식이 필수입니다.
학교에서 가르쳐주는 스크래치같은 도구는 그런 프로그래밍에 필요한 사고방식을 익히기 위한 목적의 도구입니다.
그것만으로는 코딩이나 프로그래밍을 했다고 할 수는 없습니다.
3. 그럼 뭐부터 해야되나?
일단 개발언어의 선택이겠죠?
컴퓨터가 세상에 나오고 대중화 되면서, 그 안에 있는 소프트웨어를 만드는 데에 여러 시도가 있었습니다.
위에서도 말했다시피 코딩은 컴퓨터가 알아들을 수 있는 명령어를 작성하는 것이고,
그런 컴퓨터와 대화하는 명령어는 수천개에 달할 정도로 엄청나게 많습니다.
그 수천 개 중에 어떤 개발언어를 익히는지는 순전히 개인의 선택이지만,
국가별로, 산업군별로, 세부 분야별로 선호되는 언어가 있습니다.
본인이 어떤 분야에 관심이 가는지에 따라 추천되는 개발언어는 다르다고 할 수있습니다.
사례를 들어봅시다.
가. 우리나라는 통상적으로 전자정부표준프레임워크라는 것을 도입해서 배포했고,
관공서, 공기업. 일반 기업 등 많은 부문에 퍼져있습니다.
그리고 그것이 자바 언어를 사용하기 때문에 ,
그 수요에 맞춰 자바 개발자를 많이 교육하고 배출했으며
현재 업계에서 자바언어를 다루는 개발자를 많이 찾아볼 수 있습니다.
나. 몇년 전부터 빅데이터, 인공지능이 대두되면서 이 데이터들을 핸들링해서
결과를 도출하는 프로그램을 만드는 데에 쓰이는 언어로서 파이썬이 각광받습니다.
다. 스마트폰이 세상에 나온 뒤로, 득세를 한 것이 안드로이드 운영체제인데, 수년간 자바언어를 써왔습니다.
당연히 그 위에 올라가는 앱도 자바였지만, 여러 사정상 언어를 코틀린으로 바꾸게 되었습니다.
라. 하드웨어에 돌아가는 펌웨어는 CPU에 직접적인 접근을 해서 연산작업이 이루어지기 때문에,
C, C++, C#이 많이 쓰이고 있습니다.
이러한 업계의 수세부분야, 수요와 트렌드에 따라, 필요로하는 언어와 기술 소양은 각기 다릅니다.
그러무로 본인이 뭘 하고 싶은지부터 생각해보고 언어를 선택하는 것이 순서입니다.
그리고 그 선택한 언어데 따라 개발환경, 도구가 모두 상이하므로 이런 언어선택의 방향을 잡는 것이 매우 중요합니다.
4. 프로그래머 돈 많이 버나요? 안정적인가요?
이것도 매우 다양한 답이 돌아옵니다.
하지만 결론부터 말하자면 프로그래머는 안정적인 직업이 아닙니다.
IT기술이 년단위로 크게 변화하고 있고, 그에 맞춰서 업계의 입맛이 바뀌기 때문에
필요로하는 개발자의 소양도 바뀝니다.
저같은 경우 PHP로 시작해서 자바 언어를 다루고있고, 필요에 따라
javascript, node.js, go, python을 더 다루게 되었습니다.
그러니까 '난 이거 한가지로 계속 밥벌어먹고 살아볼테야' 라는 인생전략이 통하지 않는 분야라고 볼 수 있습니다.
수입도 정규직이냐, 프리랜서냐에 따라 다르고, 경력에 따라 또 다릅니다.
그리고 수도권 대기업에서 일하느냐, 지방 중소기업에서 일하느냐에 따라 또 큰 차이가 있구요.
하지만 다른 어느 개발자들을 붙잡고 물어봐도 공통적인 답이 돌아올겁니다.
'이 분야는 계속 공부 안하면 살아남을 수 없다'는 답이요.
5. 영화나 드라마 보면 프로그래머나 해커가 엄청 멋져보이던데...
뭔가 엄청 복잡한 것들이 화면에 나오고 그걸 엄청난 속도의 타자로 처리하는 모습이 일반적으로 나올겁니다.
그리고 그것을 단 몇분만에 처리하구요.
그런 모습을 보고 환상에 젖어 이 분야에 호기심을 갖는 청소년도 있을것으로 압니다.
하지만 그건 영화나 드라마일 뿐이구요, 그런 매체에서 보이는 작업하는 모습은 허구입니다.
실제로 그렇게 타자를 빨리 치는 일도 별로 없으며,
뭔가 복잡해보이는 것은 없습니다. 그 복잡해보이는 것도 결국은 어디선가 누가 만드는 과정이 있었겠죠?
그리고 통상 개발자가 코드를 대하는 화면은 편집기와 콘솔창입니다.
그리고 프로그래머의 속성은 끈기있게 노가대하는 겁니다.
코드 하나를 잘못 작성했거나, 알고리즘이 틀려서 몇날 며칠을 허비하고,
원하는 결과하나를 보기 위해 몇시간을 모니터를 들여다보고 있기도 합니다.
이게 통상적인 프로그래머의 모습이고, 매우매우 지루한 과정을 참아가면서 일하는 겁니다.
그러니까 '프로그래머는 컴퓨터를 가지고 끈기있게 일하는 노동자'이지
무슨 컴퓨터를 지배하는 자가 아님을 말씀드립니다.
호기심을 갖는 것은 좋으나 일단 진지하게 일을 하고 싶은지,
그리고 그러한 과정들을 감내할 수있을지 먼저 생각해보는 것이 좋습니다.
안녕하세요.
프로그래밍은 원래 혼자서 독학해야 하는 직종입니다. 대부분의 모르는 것들은 구글에 검색하면 다 나옵니다. 혼자서 독학하기에 좋은 프로그래밍 인강 사이트는 유료로 한다면 인프런 이라는 사이트가 있고 일단 맛보기라도 먼저 해보고 싶으시다면 생활코딩이라는 사이트를 접속하셔서 한 번 영상 훑어보시는 것도 좋습니다.
시작하기 좋은 프로그래밍언어는 nodejs 혹은 javascript, python 등이 있습니다. 만약 앱개발을 원하신다면 무조건 자바를 하셔야 합니다. 안드로이드가 자바기반으로 되어 있으며 코틀린 언어를 사용하셔도 됩니다.
현업에서는 C언어를 거의 사용하지 않습니다. 파이썬을 사용하는 부서는 있으며 주로 자바나 자바스크립트 nodejs 를 사용하는 부서가 가장 많습니다.
그 외의 프로그래밍이라면 html, css, javascript 등과 같은 것은 https://w3schools.com 에서도 충분히 학습하실 수 있습니다.
안녕하세요~! 아하(Aha) 지식답변자 다라닝입니다.
질문하신 내용에 대하여 아래와 같이 답변 드립니다.
자격증은 천천히 준비하셔도 될정도로 시간이 많습니다.우선은 내신을 중점적으로 하시되 취미삼아 프로그램 공부하시는걸 추천드립니다.
말씀하신것중에서는 HTML과 SQL 문을 추천드립니다.
넷다 중요하고 많이 사용되는 언어이지만 제일 베이직한 언어들입니다!
부족하지만 도움이 되셨기를 바라며 추가적인 문의가 필요하시면 답변 부탁드려요!처음 입문이시라면 "자바스크립트"를 추천드립니다.
자바스크립트는 초심자가 가장 재미있게 배우고 다양한곳에 쓸수 있으며 난이도가 어렵지 않습니다.
실제 웹사이트를 제작하는 모든 업체에서 사용하며 다른 분야에서도 점점 많이 쓰는 추세입니다.
웹사이트를 만드는 가장 근간이 되는 언어이며, 이젠 node.js를 이용하여 화면단 뿐만 아니라 서버도 자바스크립트로 구성이 가능합니다!
요즘엔 윈도우 어플리케이션, 서버, 딥러닝 등 모든 분야에 고루 쓸수 있는 언어입니다.
아래 공부하시기 좋은 사이트들 모아서 제공드리니 한번 살펴보시고 공부하시면 좋을것 같습니다^^
https://www.opentutorials.org/course/1가장 유명한 초심자 가이드 생활코딩 사이트입니다.
같은 이름으로 페이스북 페이지에서 많은 개발자들이 신규 개발자를 위하여 조언 및 실질적인 도움을 주니 활용하시면 아주 좋습니다.
유,무료 프로그래밍 강의가 정리되어있는 인프런 사이트 입니다.
이벤트 등으로 유료강의를 저렴하거나 무료로 제공하는 경우도 많고 강의 질이 생각보다 매우 좋습니다.
유저들끼리의 각종 Q&A, 테크에 관련한 것들이 잘 올라오는 커뮤니티 오키 입니다.
관련하여 괜찮은 무료 강의들에 URL이 올라오는 경우도 많습니다.
https://programmers.co.kr/learn/challenges?language=javascript
많은 기업들이 실제 채용에도 반영하는 코딩테스트 및 강좌가 개설되어있는 프로그래머스 입니다.
기본적으로 강좌도 좋지만 실제로 알고리즘을 접목한 문제를 풀어볼수있는 환경을 잘 제공해줍니다.
구름 IDE 로 유명한 구름에 코딩테스트 도구입니다.
사용자가 직접 알고리즘 문제를 만들어서 게시한다던가, 구름IDE와 접목하여 실시간으로
다른 인원들과 채팅하며 코딩을 가능하게 해줍니다.
영어로 짧고 가볍게 들어보고 싶으시다던가.
페이스북, 트위터 등을 실제로 똑같이 만드는 "클론코딩" 등이 해보고 싶으시다면
https://academy.nomadcoders.co/
노마드코더 에서 강의를 들어보시는걸 추천드립니다.
위에 말씀드린 사이트들을 활용하시어 공부하시면 많은 도움이 되실것으로 보입니다!^^
우선 저기 있는 프로그래밍 언어를 알고 있다면 무엇인가를 만들어 보는 것을 추천합니다.
언어를 많이 배우는 것보다는 문제를 해결하는 것이 더 중요하다고 생각이 됩니다.
프로그래밍 언어는 하나의 도구지 해결책이 되는 것이 아니기 때문입니다.
어떠한 것을 만들때 좀더 쉽게 만들 수 있게 도와줄 수는 있지만 결국 만드는 것은 개발자가 만들어야 합니다.
웹사이트나 게시판을 만들려고 하면 생각하는 것보다 많은 부분에서 고민이 생길 것입니다.
구글링이나 문서를 찾아보면서 어떻게 해결하는 것이 좋을지 생각해보는 것이 좋을 것 같습니다.
입시에 자격증이 도움이 되는지는 잘 모르겠습니다.
취업시에는 자격증은 크게 도움이 되는것 같지는 않습니다.
새로 배우시는것보다 한가지 언어로 고급기술까지 개발능력을 발전시키는걸 추천합니다
예를 들어 php 로 메신저 서버+클라이언트도 개발했다면? 차후에 다른언어로도 똑같이 개발 가능합니다
그 이유는 언어만 틀릴뿐 제품을 만들기 위한 로직이라던지 알고리즘 디비설계는 거의 동일하기때문입니다
그래서 일단은 한가지 언어로 최고급난이도까지 가세요
다시 말하지만, 한가지 언어로 습득한 알고리즘은 그 언어에만 사용하는게 아니라,
타 언어에서도 그대로 사용이 가능합니다
단순히 이언어 저언어 습득하려면 시간만 걸릴뿐 제일 중요한 알고리즘의 빠른 습득에 장애만 됩니다