프로그래밍이랑 코딩이랑 차이가 무엇인가요
프로그래밍이랑 코딩의 차이가 무엇인가요??? 그냥 단순하게 생각하면 느낌으로 코딩이 프로그래밍이라는 범주안에 있는 것 같긴해요. 그런데 이 둘 차이를 잘 모르겠어요...알려주세요!
안녕하세요. 답변드립니다.
프로그래밍에 대해 아무것도 모르는 사람들이 이 분야에 호기심을 가질만한
질문이 대부분 뭐부터 해야되냐, 무슨 언어가 좋냐 등의 내용을 물어보시기때문에
공통된 답변을 드리기위해 작성한 글입니다.
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? 프로그래밍의 기초 개념부터 안잡혔는데 할수 있으려나요? 설마요.
그냥 프로그래머의 공학적 사고방식이 결여되어있는거입니다. 학교에서 스크래치같은걸 가르친 이유가 그런 사고방식으로 접근하라고 가르치는 겁니다. 개발 언어는 도구에 불과합니다. 중요한건 프로그래머의 논리적이고 공학적인 사고방식을 기르는겁니다.
가벼운 기분으로 더 쉬운언어로 만족할만한 프로그램결과물을 만드려는 생각이라면 그냥 포기하시는게 좋습니다. 그 과정이란게 언어와 상관없이 매우 험난하거든요. 아마 대부분 그런 이유때문에 쉬운언어 없냐고 물어보는 거겠지만. 쉬운언어 찾는건 이미 제대로 도전해볼 생각도 없이 도망칠 궁리를 하고 있다는 겁니다.
안녕하세요. 아공입니다!
저능 현재는 현직에서 웹디자인과 웹 프로그래밍을 하고 있는데요.
난이도는 프로그래밍의 정도에 따라 달라지실 수 있어요~
기본만 익히시면 하중상으로 점차 발전하는 프로그래밍을 하실수 있답니다!:)
일단 서점에서 제일 쉬워보이는 책으로 배우고 싶은 책으로 구매를 하신 후, 아래 순서대로 진행해 보세요!
단! 일단 시도해보시고 아니다 싶으면 빠르게 다른 길을 찾으셔야 해요~
프로그래밍을 직접 해본 사람으로서 약간의 재능도 필요한게 프로그래밍이랍니다!
시작부터 해보시고! 경험해본 후에 진로를 또 정하셔도 늦지 않은 나이에요! 파이팅입니다!!:)
👉🏻👉🏻 코딩의 본질을 제대로 배워보고 싶으시면 기초 지식을 쌓을겸 C언어를 배워 보시는게 좋을 것 같아요!
C언어를 배우고 나서 JAVA를 배우시면 자바를 좀더 쉽게 접근하실 수 있을거에요!:)
공부해본 사람의 입장으로서
언어의 성질이 좀 달라서 배우실때 혼란이 있으실 수는 있을것 같은데 시작부터 자바를 배우시고 나면 C언어를 이해하시기가 더 어렵거든요~
그래서 그렇게 권장 드리는것이고:)
사실 실무적으로는 자바가 좀더 실용성이 있어요!
1 일단 진로의 방향 부터 잡아보시는게 좋을 것 같아요!
2 진로의 방향에 따라 배워야 하는 언어가 달라요~
3 서버관리 같은 직업은 C언어를 배우셔야하고 어플개발 등 웹관련 업무에는 JAVA가 더 필요해요~
완전히 처음이시라면~
시작이 반이다! 일단 하나 잡고
1 앱을 만든다던가
2 사이트를 만들어본다던가
하는 기초 개발부터 시작해보세요^^
조금이나마 도움이 되셨기를 바라며, 건강조심하시고 좋은하루되세요:)
3줄 요약
코딩 : 생각한 바를 코드로 옮길 수 있는 능력
프로그래밍 : 생각한 바를 공학적인 요소와 함께 사용하여 효율적인 코드로 작성할 수 있는 능력
소프트웨어 개발 : 코딩과 프로그래밍을 베이스로 깔고 실제 프로젝트 진행 시 발생할 수 있는 다양한 이슈를 처리할 수 있는 능력
코딩
사전에 따르면 코딩(Coding)은 '정보를 계산 조작에 편리한 부호로 바꾸기' 라고 합니다.
소프트웨어 관점에서는 컴퓨터가 이해할 수 있는 형태로 만드는 것이라고 볼 수 있습니다.프로그래밍
사전에 따르면 프로그래밍(Programming)은 '컴퓨터 프로그램을 작성하는 일. 일반적으로는 프로그램 작성 방법의 결정, 코딩(coding), 에러 수정 따위의 작업을 이르지만 특수하게 코딩만을 이를 때도 있다.' 라고 정의 되어 있습니다.
쉽게 설명해 드리면 프로그램을 만드는 일련의 행동을 프로그래밍이라고 할 수 있고요. 프로그래밍을 하기위한 스크립트(명령문)작성을 코딩이라고 생각하시면 될 것 같습니다.
단순하게 보면 프로그래밍 범주 안에 코딩이 있다고 보시면 됩니다.
간단한 프로그램같은경우에는 뭐 인간이 생각하기에는 프로그래밍=코딩이 될수 있지만 (1+1을 하는 프로그램) 프로그램이 복잡해지면 그 안에 여러과정(설계라던지 기타 등등)들이 들어가게 됩니다. 그중 하나가 코딩이구요.
도움이 되셨으면 좋겠네요.
프로그래밍과 코딩 헷갈릴 수 있지만 같은 개념은 아닙니다.
먼저 코딩은 말 그대로 코드를 입력하는 것입니다.
프로그래밍은 이 코딩을 포함헤서 기획, 설계, 디버깅 등의 일을 하는 것을 말하는 것입니다.
그래서 코딩은 프로그래밍의 범주안에 있죠
결국 코딩만 잘해선 좋은 개발자가 될 수 없다는 것 입니다.
이 프로그래밍을 잘해야 대우도 잘 받는 그런 개발자가 될 수 있는 거죠
여러가지 해석이 나올 수 있겠지만 저는 아래와 같이 정의하고 있습니다.
프로그래밍 : 여러가지 도메인에서 프로그래밍이라는 말이 사용될 수 있지만, 대체적으로 컴퓨터에서 동작하는 프로그램을 만드는 것을 뜻하고 있습니다. 그래서 프로그래밍을 하는 사람들을 "프로그래머(개발자)"라고 부르고 있습니다.
프로그래밍 안에는 기획, 설계, 코딩, 테스트, 디버깅, 평가 등의 단위 작업으로 나누어 볼 수 있습니다.
코딩: 예전에는 단순히 사전에 설계된 순서도에 따라서 선택된 프로그래밍 언어를 사용하여, 기능을 구현하는 것을 코딩으로 분류를 하였지만, 현재와 같이 한 사람이 다양한 작업을 모두 맡아서 하는 경우에는 프로그래밍과 같은 의미로 사용되고 있습니다.
코딩과 프로그래밍의 차이는
우선 코딩은 code + ing 코드를 작성하다
프로그래밍은 program + ing 프로그램을 만들다.
이렇게 설명을 하면 무슨소리야? 같은거 아닌가? 이런생각 드실수도 있습니다.
쉽게 설명을 하면 우리가 라면 밥솥을 만든다는 하면
아이디어를 구상하고 필요한 정보를 수집하고 밥을짓는 알고리즘을 적립합니다.
알고리즘은 예를 들어 솥에 쌀 500g을 넣고 물 300g을 넣은후 20분간 끓여준다 (예를 든 것입니다..ㅠ)
라는 알고리즘을 적립했을때 컴퓨터가 알 수있는 언어로 입력하는 작업이 프로그래밍이라고 하고
그리고 코딩은 최소의 범위로 명령어를 입력하는 행위입니다.
쉽게 말해 프로그래밍이랑 행동 안에 코딩이 포함되어 있다고 보셔도 됩니다.
주어진 코드로 코딩 하는것과 알고리즘을 짜서 프로그래밍 하는것이 코딩과 프로그래밍의 차이 라고 보시면 됩니다.
코딩은 프로그램의 일부 요소입니다.
비유 하자면 아파트를 지을때 엘레베이터 기능. 놀이터 기능.
계단기능. 기초 건설은 프레임워크에 해당 되네요
이런 기능을 구현 하는 구현 방법이 코딩이며
프로그래밍은 요구사항에 맞추어 고객에게 요구사항.
인터뷰등 고객이 원하는 최적의 일을 하는것이
프로그래밍이라고 봅니다.
동일한 뜻을 가지고 있습니다.
두가지 모두 프로그램의 명령문과 처리문 등을 작성하는것을 의미 합니다.
단순하게 프로그래밍이라하면 프로그램을 만드는것
코딩이라하면 프로그램 코드를 작성하는것 이라 표현 할 수도 있겠지만
의미적으로 동일합니다.
포털사이트에 프로그래밍이란?, 코딩이란?을 검색해 보시면 좀 더 이해가 빠르실듯 합니다.
코드 + ing
프로그램 + ing
단어 그대로 해석이 가능합니다.
우리가 매일 사용하는 카카오톡을 예로 들었을 때
카카오톡 이라는 프로그램을 만드는 행위 자체를 프로그래밍 이라고합니다.
코딩의 범주에 속하지 않는 프로그래밍의 범주는
분석 / 설계 / 계획 정도가 되겠지요?
설계자들이 카카오톡이라는 프로그램을 설계하고 (프로그래밍의 범주에속함)
개발자들이 그것을 직접 구현하는 단계를 코딩 (프로그래밍 범주에속함)
이라고 생각하시면 편하시겠습니다.
감사합니다 좋은하루되세요 ^^
프로그래밍은 프로그램을 만든다는 것이고 코딩은 코드를 써내려가는 행위여서 코딩이라고 하는 것 같은데요. 사실 실무에서는 이게 프로그래밍이냐 코딩이냐 혹은 분야에 따라거는 직무가 개발자냐 엔지니어냐 구분도 하지 않기도 해요. 구분이 되어야 체계가 확실한 거겠지만 그런덴 큰데나 그렇고 보통의 중소 혹은 일부 중견도 그런 구분보다는 전체적으로 개발을 한다 라고 통칭합니다.
같은 맥락으로 프로그래밍이냐 코딩이냐에 큰 차이는 없고 둘다 컴퓨터 언어로 어떤 프로그램이나 알고리즘을 만들어낸다는 의미입니다. 물론 알고리즘을 가지고 결국 프로그램을 만드는 것이니 그 둘도 같은 의미죠. 큰 의미부여는 안하셔도 될 것 같습니다.
프로그래머와 개발자의 차이를 알려주세요
라는 것과 같은 맥락인 것으로 생각 됩니다.
보통의 IT 회사에는 기술연구소 와 개발팀이 있습니다.
연구소 : 제품을 만들고 개선하는 사람들 (프로그래머)
-> 기존의 오픈소스나 사용제품이 아닌, 새로운 것을 만들어 내는 개발자
개발팀 : 만들어진 제품을 가공하여 서비스를 만들어 내는 사람들 (일반적인 개발자)
-> 기존의 상용화 되거나, 오픈소스, 무료 등을 사용하여, 서비스를 만들어 내는 개발자
도움이 되셨을까요?