프로그래밍 언어 학습 방법론

in #kr-dev4 years ago

처음 배운 언어는 BASIC 이었습니다.
몇주 배우다 만 것이기는 했으나, 기억에 남는 것은 아래와 같은 출력이었습니다.

  *
 ***
*****

그때는 루프문이 뭔지도 모르고, 그냥 코드만 어렴풋이 기억했던 것 같습니다.

대학에서 다시 배운 언어는 파스칼이었는데, 책 내용이 구조적 프로그래밍 함수이 어떤 것이라는 이야기, 호출시 call by value 니 reference 니 이런것에 주로 신경을 썼고 문법은 별로 신경 안썼던 것 같습니다. 그러다가 실제로 코딩을 하면 for 문을 어떻게 쓰는지 자꾸 책을 뒤져보고 또 틀리고 뒤져보고 틀리고를 반복하다가 어느 순간에는 외우게 되었던 기억이 납니다.

여러개의 언어를 하다가 보면 문법이 해깔리게 됩니다. 자바스크립트 문자열길이가 .length 인지 len() 인지 모르겠습니다. 하지만 괜찮습니다. 구글링을 해도 되고, 한번 틀려보면 다른 것이 답이라는 것을 알게 됩니다. 굳이 문법에 집착할 필요가 없습니다.

코딩을 배울 때 기초적인 문법은 하루만 공부하면 됩니다.
C나 Java 와 같은 언어에서 문법은 순차,반복,분기 외에는 없습니다.

일단 하루에 문법을 다 공부하고 나면, 좀 더 어려운 문제에 접근해야 합니다.
이쯤 되면 한계에 봉착합니다. 이때는 다른 사람들이 작성한 코드를 읽어야 합니다.
이해가 안되면 직접 타이핑 해보고 중간중간에 print 도 넣어서 확인해 보려고 하는 시도를 해 보아야 합니다.
물론 컴파일이 안될 수도 있습니다. 아주 머리아픈 일이지요. 하지만 여기서 좌절하면 안 하느니만 못하겠지요?
임베디드 환경이 아니라면 컴파일 문제는 구글링으로 어렵지 않게 해결할 수 있을 것입니다.

예전에 임베디드 프로그래밍에서는 printf 를 추가하는 것이 매우 큰 일이었습니다.
왜냐하면 printf 를 직접 짜야해서... 그리고 간혹 serial port 도 직접 짜야해서
그런데 컴파일이 안되거나, 또 컴파일하면 바이너리 크기가 커져서 롬에 안들어가는...

C 언어 문법을 아무리 잘 써도 네트워크 프로그래밍 못합니다.
C 를 하루정도 투자해서 배웠으면 간단한 udp 코딩을 해 봅니다.
구글링 하면 튜토리얼이 나오는데 이 코드를 이해해 보는 것이 도움이 됩니다.
그러다 보면 서버니 클라이언트니 소켓이니 이런것도 알게 됩니다. 그리고 내 마음대로 제어할 수 있게 되지요.

코딩은 작문입니다. 구양수의 삼다 (다독, 다작, 다상량)는 IT 시대에도 적용되는 학습론입니다.

남이 짠 코드를 부지런히 읽어나가야 합니다.
남이 만든 라이브러리를 이해하고 써먹어야 합니다.
그리고 나도 좋은 라이브러리를 만들고 공유하겠다는 마인드를 가져야 합니다.

github 는 우수한 프로그래머들만 코드를 올리는 것이 아닙니다.
동작하는 코드가 있으면 github 에 올려보세요.

이쯤 되면 자면서도 코딩이 생각이 날 수도 있습니다.
아 이렇게 했었어야 했는데... 아침에 일어나면 해보게 되지요.

간단히 다시 정리해 보면

  1. 문법은 하루만에
  2. 많이 읽자
  3. 많이 쓰자
Sort:  

OH dear nice post, please upvote me.

개발도 결국 계속 해보는것 만큼 빨리느는건 없죠~
많이 읽는것도 마찬가지고요~

무려2주전에 올리셨던 qna관련글을 왜 못봤는지...
저도 overstackflow 기능도 충분히 스팀에서 좋은 역할을 할거라고 생각했거든요..

정말 오랜만에보는 별 모양 트리입니다ㅋㅋ
요즘도 가장먼저하는게 별그리기인것같아요ㅎㅎ

역시 어떤 언어든 많이 써야 늘어요 ^^

다른코드를 사용만했지 제대로 읽어본지가 좀 된거 같네요. 좋은 말씀 감사합니다.

베이직에.. 파스칼에~ 추억 돋네요~

코딩에 관한 지론에 공감이 가는군요. 예전에 포트란이란것도 있었죠.

Coin Marketplace

STEEM 0.29
TRX 0.06
JST 0.039
BTC 36938.01
ETH 2442.90
USDT 1.00
SBD 3.89