프로그래밍의 종류가 무엇이있나요?
요즘 들어서 프로그래밍에 관심도 있고,
프로그래밍에 더욱 흥미와 관심을 가져서,
프로그래밍의 종류가 무엇이 있는지 궁금합니다.
그리고 일반인도 나만의 프로그래밍을 할 수 있나 궁금합니다.
- 안녕하세요. - 프로그래밍 언어에 따라 각각의 특징과 용도가 조금씩 차이가 납니다. 각 언어의 특징을 보고 맞는 언어로 공부하시기 바랍니다. 처음하신다면 화면쪽 언어를 추천드립니다. 배우기도 쉽고 재미도 있습니다. - 우선 프로그래밍 언어를 공부하기 전에 프로그래밍에 대한 기초를 좀 공부하시면 더 도움이 됩니다. - 보통 프로그래밍 입문은 서버쪽 언어(백엔드)인 파이썬, 자바, C 로 많이 시작합니다. 그리고 화면 쪽(프론트엔드)에서 사용하는 언어로 HTML, CSS, 자바스크립트가 있습니다. - 파이썬은 데이터통계 등에 많이 사용되고 비교적 쉽게 배울 수 있는 언어이고 자바는 웹이나 안드로이드 등 다양한 분야에 많이 사용 되는 언어입니다. 정부에서 사용하는 전자정부프레임워크에서도 쓰입니다. C는 하드웨어제어나 게임등에 사용되는 언어로 기초를 다지기에 적합한 언어입니다. - HTML, CSS는 단순히 화면을 만들고 디자인 하는데 사용이 되고 실질적인 로직 구현은 자바스크립트를 사용합니다. 자바스크립트는 제일 배우기 쉬운 언어이기도 하지만 기능이 막강합니다. 간단하게 화면을 만들어서 바로바로 테스트를 해 볼수 있는 장점도 있습니다. - 모든 언어가 알고리즘이나 로직은 다 똑같습니다. 그 로직을 구현하는 문법이 조금씩 다를 뿐이죠. 그 언어를 배우는 것도 좋지만 그 안에 로직이나 알고리즘을 구현하는 연습을 많이 하시면 다른 언어를 배울 때도 큰 도움이 됩니다. - 인터넷이나 유튜브 검색해 보면 관련자료가 많이 나와 있습니다. 아래 관련 사이트 참고하시길 바랍니다. - [기초강의] 
 https://youtube.com/playlist?list=PLU9-uwewPMe0ynomccdrAX2CtVbahN4hD- [생활코딩] 
 https://opentutorials.org/course/1- [커뮤니티] 
 https://okky.kr/- [추천도서] 
 프로그래밍 기초를 공부하시려면 "Do it! 첫 코딩(정동균/이지스퍼블리싱)"이란 책을 추천드립니다. 프로그래밍의 개념부터 해서 아주 기초적인 부분을 설명해 주고 있습니다. 뒷부분에는 가장 많이 쓰이는 언어인 자바로 코딩하는 법에 대한 설명도 있습니다.- C언어를 공부하신다면 "혼자 공부하는 C 언어(서현우/한빛미디어)"란 책을 추천드립니다. 제목처럼 혼자 공부하기에 적합한 책입니다. 챕터별(19개)로 나누어져 있어서 하루에 하나씩 공부하면 될것 같습니다. 각 챕터마다 연습문제도 있어 배운 것을 확인해 볼 수 있습니다. 유튜브에 강의동영상도 있습니다. - 자바 쪽을 공부하시면 "Java의 정석(남궁성/도우출판)" 이란 책을 추천드립니다. 기초부터 심화학습까지 자세히 나와있습니다. 또한 작가가 직접 운영하는 카페, 유튜브 강의도 있어서 하다가 모르는 것이 있으면 물어보면서 더 많이 배울 수 있습니다. - 파이썬언어를 공부하신다면 "혼자 공부하는 파이썬(윤인성/한빛미디어)"란 책을 추천드립니다. 제목처럼 혼자 공부하기에 적합한 책입니다. 초보자도 알기 쉽게 설명이 되어 있어서 배우실 때 어려움 없이 배울 수 있으리라 생각됩니다. 유튜브 강의동영상도 있어서 같이 시청하시면 좋을 것 같습니다. 
- 안녕하세요. 답변드립니다. - 프로그래밍에 대해 아무것도 모르는 사람들이 이 분야에 호기심을 가질만한 - 질문이 대부분 뭐부터 해야되냐, 무슨 언어가 좋냐 등의 내용을 물어보시기때문에 - 공통된 답변을 드리기위해 작성한 글입니다. - 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? 프로그래밍의 기초 개념부터 안잡혔는데 할수 있으려나요? 설마요. - 그냥 프로그래머의 공학적 사고방식이 결여되어있는거입니다. 학교에서 스크래치같은걸 가르친 이유가 그런 사고방식으로 접근하라고 가르치는 겁니다. 개발 언어는 도구에 불과합니다. 중요한건 프로그래머의 논리적이고 공학적인 사고방식을 기르는겁니다. - 가벼운 기분으로 더 쉬운언어로 만족할만한 프로그램결과물을 만드려는 생각이라면 그냥 포기하시는게 좋습니다. 그 과정이란게 언어와 상관없이 매우 험난하거든요. 아마 대부분 그런 이유때문에 쉬운언어 없냐고 물어보는 거겠지만. 쉬운언어 찾는건 이미 제대로 도전해볼 생각도 없이 도망칠 궁리를 하고 있다는 겁니다. 
- 안녕하세요. - 요즘 파이썬이 대세라고는 알려져있습니다. - 보편적으로 웹개발이 취업하기도 광범위합니다. - 또한 기본적으로 java는독학하기에도 수월합니다. - 자바스크립트를 시작으로해서 앞부분 프론트를 마무리하고 java로 들어서면서 서비스쪽(조금 더 디테일하게) 배우는것이 괜찮을 것 같습니다. - 자바스크립트는 현재 많이 사용중이므로 쉽게 접근하실 수 있습니다. - 감사합니다.