저에겐 어려운 c언어, 계속 배워야 할까요? 아니면 다른 언어를 시작해야 할까요?
코딩에 관심있는 중학교 2학년 입니다. 저는 시작할때 c언어로 시작해서 지금은 포인터를 배우는 중입니다. 하지만 혼자 독학하며 강의 듣고 배우는 것이 힘들기도 하고 가끔은 c언어가 너무 어려워 내가 잘못하고 있는건가 라는 생각이 들기도 합니다. 차라리 파이썬이나 자바 같은 다른 언어를 배울까 하는 생각도 들었지만 여기서 끝내기에는 조금 아쉬웠습니다. c언어를 계속 배워 끝을 낼까요 아니면 그냥 지금이라도 다른 언어를 생각하는게 나을까요?
중학생이신데 처음부터 C를 공부 하시기에는 좀 어려움이 있지 않을까 생각이 듭니다.
진도를 얼마나 나갔는지는 모르겠지만 자바나 파이썬으로도 한번 공부를 해보시라고 말씀드리고 싶네요.
C를 하다가 파이썬을 해보면 아마 이렇게 간단하게 되는 건가 하실꺼에요. 그만큼 문법도 쉽고 간결하고 그렇습니다.
유튜브 같은 데서 한번 강의를 들어보세요.
안녕하세요.
C가 기초이긴 하지만 난이도가 있죠. 배워두면 좋은데 너무 어려우면 다른 언어부터 하는게 낫지 않나싶어요.
처음부터 어려운것 부터 시작하면 흥미를 잃지 않을까 싶기도 하구요.
아직 중학교 2학년인데 파이썬 등으로 프로그램 맛을 좀 보다음에 차후에 다시 시작해도 괜찮을 꺼라 봅니다.
열심히 하는 모습 보기 좋네요. 힘내세요.
보통 독학이란거 자체가 자기와의 싸움이라 엄청 힘든겁니다
특히 코딩을 하다가 어떤 난제를 만나게 되면, 그걸 해결하기 위해 몇칠 경우에 따라 몇달 걸리기도 하는데요,
이 문제점이 기초과정에서에 제일 중요한 디딤돌이 되는부분을 확실하게 짚고 넘어가야 하는데,
독학은 그저 보이는대로 따라가니, 점점 어려워 지는것입니다
이럴때 제일 좋은점은 C 언어를 배우는 다른 친구들과 스터디 그룹을 만드세요
스터디그룹 만들때는 레벨이 어느정도 맞는 친구들끼리 하셔야 합니다
만일 스터디그룹을 만들었는데 What0619학생의 실력이 제일 뛰어나다면?
아마도 지금 위 질문한것처럼 빠른시일내에 스터디그룹이 해산될거라 예상합니다
그리고 C언어를 계속하세요, 자바 든 다른언어든 초급 중급 과정에서의 레벨은 다들 비슷합니다
하지만, 어느정도 고급과정에 들어가게 되어 특별한(?) 프로그램등을 개발하게 되면,
막히게 되는건 c 언어든 자바든 파이썬이든 똑같습니다
결론은 C언어를 계속 하시고, 스터디 그룹 만들고 , 상당히 많은 문제들을 풀어나가보세요
해결하는것도 해결못하게 되는것도 전부 What0619학생의 알고리즘 생성경험에 많은 도움이 될겁니다^^
중학생이신데 상당히 빠르게 프로그래밍을 배우고 있네요. 저는 현재 실무직으로 있지만 포인터를 거의 사용하지 않습니다. 하지만 개념은 제대로 알고 있죠. C언어는 가장 기초중에 기초라 for, if, while, struct, pointer, 자료형 등의 문법만 익히고 책을 안보고 사용할 수준까지 되시면은 그만해도 괜찮긴 합니다.
파이썬이나 자바로 언어를 갈아타시려면 기존의 C언어와 많이 비슷하지만 약간은 다를 수 있습니다. 주로 파이썬과 자바는 웹 프로그래밍이나 소프트웨어를 만들때 많이 사용하며 C언어는 하드웨어를 만들 때 주로 사용합니다. 즉 GUI 화면이 필요하다면 갈아타는 것도 좋습니다.
하지만 아직 나이가 어리시다보니 조금 더 해보시는 것도 추천드립니다. 전 25살 때 부터 제대로 프로그래밍을 시작했음에도 불구하고 이걸로 잘 벌어서 먹고 살고 있습니다. ^^..
언어를 새롭게 배우고 계시는 군요!
일단 새로운 세계를 탐험 중인 것에 대해 축하를 드립니다.
시작이 반이라는 옛 속담도 있는 것처럼, 일단 시작하신 건 대단한 일입니다.
씨언어를 배우고 계신 것 같은데 어려움을 느끼시는 것 같습니다.
제 생각엔 사고의 틀만 조금 깨면 모든 게 쉬워지는 데 그 부분에서 지금 문제가 있는 것으로 보입니다.
이럴 땐 좋은 스승이나 학원의 도움을 받아보시는 게 좋은 돌파구가 되기도 합니다.
주변에 개인 교습이나 학원 등을 일단 알아보시고,
처음 배우는 언어로 씨언어를 선택하신 건 별 문제가 없고 다른 언어로 변경한다고 딱히 더 쉬워지는 건 별로 없습니다.
일단 시작하셨으니 조금 더 느리더라도 전진하는 방법을 권장드립니다.
화이팅입니다!!
안녕하세요 질문자님!!
질문자님의 제목을 보는순간 딱 생각을 하고 클릭을 했는데..
역시나 포인터에서 걸려서 고민을 하고 계시는군요 ^^
조금은 힘드실 수 있겠지만 현재로서는 C 를 마저 조금더 공부하시는 것을 추천해 드리고 싶습니다.
C 는 포인터가 전부다.. 라는 말이 있습니다. 그만큼 개념의 이해가 힘든부분이 있기는 합니다.
하지만! C 를 정복하고 나면 다른 언어들을 습득하는건 정말 쉬워지게 됩니다.
물론 프로그램을 그냥 단순히 홈페이지나 만들고 그러는 선에서 끝내시려면 편한 다른 언어를 선택하셔도 됩니다.
다만 어떤 언어를 하더라도 그 근간에는 C 가 있다는 것을 염두해 두시기 바랍니다.
어셈블리를 제외하면 그나마 C 가 가장 기계어에 가깝게 접근할 수 있으며, 또한 고급언어의 시발점이 된 부분도
C가 가장 적합한 부분에 있기때문입니다.
혹시라도 나중에 리눅스같은 OS 환경을 사용해 보시면 아실 수 있는 부분이지만, OS 커널에서부터 각종 프로그램들을
소스 컴파일 설치하게 되는데요.. 거의 모든소스는 C 로 구성이 되어있답니다. Java 나 PHP 등의 언어에 대한
컴파일러 소스 조차도 C 로 구성이 되어있지요.
힘든시기 조금만 넘어가시면 앞으로 여러가지 언어 및 환경을 접하시는데 분명히 큰 도움이 될거라 말씀드립니다.
우리 아들이 중3인데.. 요놈이 코딩좀 한다고 했으면 제가 적극 지원할텐데... 요놈은 게임만 허네요 ^^
그럼 화이팅하시구요!
중학생이 이미 언어에 대해 관심을 갖고 배우고 있다는 것에 놀랐습니다. 솔직히 아직 중2이라면 그저 재미있게 프로젝트를 하시는 것이 좋습니다. 굳이 어떤 언어를 마스터하지 않아도 됩니다. 차라리 만들고 싶은 프로젝트를 정하고 제작하며 즐기는 것이 좋습니다. 가끔씩 컴퓨터학원을 다니며 언어의 문법만 재미없이 하다가 질려버려 포기하는 사람을 보면 안타깝습니다. 그리고 점차 프로젝트를 진행해 가다보면 무조건 부족함을 느끼고 배우게 됩니다. 이때는 어떤 동기부여가 되어있기 때문에 배움에도 재미가 있습니다. 추천언어가 있다면 Python을 추천드리고 싶습니다. 편하고 응용분야가 넓습니다.
어려운만큼 결과는 달 겁니다.
사실상 많은 언어들이 C언어를 알면 배우기가 굉장히 쉽기 때문에 많은 사람들이 C언어를 먼저 배우라고 하는 것이구요.
어려운 만큼 굉장히 강력한 언어입니다. 지금은 힘들지만 조금 만 견디시면 반드시 후회하지 않으실 꺼에요.
요즘엔 유료강의 뿐만 아니라 Youtube를 통해 무료 강의도 쉽게 찾아보실 수 있으니까 적극 활용하는걸 추천드립니다.
나노코딩 채널도 추천드리는 채널이고 이 밖에 검색 후에 원하는 컨텐츠로 배워보세요.
안녕하세요~! 아하(Aha) 지식답변자 다라닝입니다.
질문하신 내용에 대하여 아래와 같이 답변 드립니다.C언어를 얼마나 오래 공부하셨는지 모르겠으나 나이때에 익히기 어려운 언어는 맞습니다.
개인적으로 자바나 C#쪽을 먼저 추천드리고 싶구요.
둘중에 하나를 익히시면 나머지 C언어는 좀더 쉽게 익히실수 있습니다.
너무 어려운 부분부터 시작하시면 질려버릴수 있으니 유의하시면 좋을것 같습니다.
부족하지만 도움이 되셨기를 바라며 추가적인 문의가 필요하시면 답변 부탁드려요!C언어 저도 포인터 공부하다가 접었던 기억이 나네요 ㅎㅎ
내가 잘못하고 있는건가 라는 생각은 누구나 다 해봤을 겁니다. 저도 진도도 잘 나아가질 않고 제자리에 머물고 있어서 공부법이 이상한가 이런생각을 끊임없이 했었습니다.
저는 이럴때 다른언어를 공부해 보거나 C언어를 통해 내가 무엇을 만들지 어디 분야로 가져갈지 아니면 휴식을 취하거나 외국 스트리머들이 프로그래밍을 하는 것을 보고 동기부여를 느껴 다시 열심히 이런식으로 무한 루프가 돌아 공부했었고 현재는 C언어를 통해 리버싱을 공부중입니다.
오래 걸리더라도 화이팅하세요.
C언어 포인터까지 하였다면 C언어를 끝내시는게 좋을 듯 싶습니다.
C언어 초반이였다면 C언어를 미루고 다른 언어를 배워도 되지만 C언어 포인터 부근까지 왔다면 차라리 C언어를 끝내시는게 좋습니다.
그리고 C언어를 미리 해두시면 추후에 다른 언어를 배울 때 많은 도움을 받으실 수 있을 것이라 봅니다.
안녕하세요.
포인터 산만 넘으시면 될 것 같습니다. 포인터는 전혀 어렵지 않고 개념만 명확히 하시면 되는데요, 포인터는 메모리의 주소를 담는 변수라고 보시면 됩니다. 여기서 메모리는 어떤 데이터의 저장소이겠죠.
쉬운 예로
int a; int *ap;여기서 a는 정수형 변수이고, a는 메모리 어딘가에 4바이트가 할당이 되어서 저장이 됩니다.
그리고 밑에 ap는 메모리의 주소를 담는 변수이고 32bit운영체제제에서 4바이트의 크기를 가지게 됩니다.
a는 저장소이다 보니 a = 4 이렇게 대입이 되고,
ap는 주소이다 보니, 그 주소가 가르키는 곳에 값을 넣어야 하고, 주소가 가르키는 곳이란 의미를 *으로 표시합니다. 그래서
*ap = 4 라고 하면 되는 것이지요. (물론 이렇게 위에 코드에서 하면 프로그램이 죽습니다.) 제대로 고치려면
int a; int *ap; ap = &a; *ap = 4;이 개념을 기본으로 다시한번 보시고, 궁금하신건 질문 올려주세요.
파이썬이나 다른 언어도 이렇게 어려운 부분이 있으니 우선은 지금 공부하시는 것을 끝내시는게 어떨까요? 포인터면 거의 끝까지 오셨으니까요.
대학생들도 처음 배우게 되면 가장 많이 포기하는 곳이 포인터 부분입니다.
저도 처음에 들을때는 응?? 이런 표정이 많았었습니다.
알고 있으면 좋기는 하지만 지금 당장 안되는것을 하실필요는 없다고 봅니다.
자바같은 경우에는 개발자가 직접적으로 포인터를 다루지는 않지만 내부적으로는 포인터로 되어 있기 때문에 개발공부를 계속 하시다보면 자연스럽게 이해가 되는 부분도 있습니다.
포인터까지 하셨으면 다른 언어 파이썬이나 자바를 근방 배울수 있으니 너무 아쉽게 생각 안하셔도 됩니다.
C언어의 꽃은 포인터라고 하지만 처음 배우는 사람에게는 정말 어려분 부분입니다.
포인터는 정말 잘다루시는 분들 코드 보면 정말 와~ 라는 감탄사가 나올만큼 효율적으로 구현하시는 분들이 많습니다.
저는 함수 포인터로 자바의 다형성 처럼 사용하는것보고 놀란적이 있을 정도로 포인터는 엄청납니다.
저도 저런 코드를 보지 못했다면 포인터는 그냥 어려운 부분으로만 생각했을 텐데 잘짜놓은 코드를 보면 정말 대단합니다.