카테고리 보관물: blabla

좋은 프로그래머 되기?

[원문] Teach Yourself Programming in Ten Years
[요약]
공부에 왕도는 없다(?)
요리, 음악, 태권도 등 어떤 것을 배우는데 7일만에 배울 수 있는 건 없다.
그렇지만 서점을 찾아 보면 프로그램을 3~7일 만에 배울 수 있게 출간 된 책들이
상당히 많다. 그렇지만 한 분야에서 뛰어나게 되기 위해서는 최고로 잘하는 사람은 10,000 시간,
잘하는 사람은 8,000 시간, 강사로 될 사람들이 4,000 시간을 투자한다.

10년이 중요한 것이 아니라 10,000 시간이 중요한 것이다.

So You Want to be a Programmer

  • 흥미를 가져라. 10,000시간을 하려면 많은 즐거움이 있어야 한다
  • 좋은 공부 방법은 자신의 공부 방법에 맞는 프로젝트는 해보는 것이다.
  • 다른 프로그래머들과 대화하고 그들이 만든 프로그램을 봐라. 책을 보는 것 보다 교육 받는 것 보다 좋다.
  • 다른 프로그래머들과 프로젝트를 함께 하라. 만약 실력이 좋다면 팀을 이끌고 그렇지 않다면 잘하는 사람이 이끄는 방법을 배워라.
  • 다른 프로그래머들이 진행한 프로젝트를 분석해라.
  • 최소 6개 이상의 프로그래밍 언어를 배워라. Class Abstraction(like Java or C++), Functional Abstraction(like LISP or ML), Syntactic Abstraction(like LISP), Declarative Specification(like Prolog or C++ templates), Supports Coroutines(like Icon or Scheme), Supports Paralleism(like Sisal)
  • 표준화 방식을 따라 코딩하는 습관을 기르자.

 

Comparison of Java to C

digg_url = “http://coozplz.blogspot.com/2012/02/comparison-of-java-to-c.html”;digg_title = “Comparison of Java to C”;digg_bgcolor = “#FFFFFF”;digg_skin = “normal”;digg_url = undefined;digg_title = undefined;digg_bgcolor = undefined;digg_skin = undefined;

Java 와 C를 놓고 kldp.org 에서 논쟁하는 글
http://kldp.org/node/73324 

위키 피디아에 다음과 같이 비교해 놨습니다.
http://en.wikipedia.org/wiki/Comparison_of_Java_to_C%2B%2B

실행시간 비교는 위 문서 reference 3번에 2005년에 실행한 벤치마킹 자료를 참고하시면 될듯합니다.
http://www.ddj.com/184401976

한눈에 비교는 이 문서가 더 좋네요;;
http://www.tommti-systems.de/go.html?http://www.tommti-systems.de/main-Dateien/reviews/languages/benchmarks.html

예전 문서이긴 하지만
http://www.ibm.com/developerworks/java/library/j-jtp09275/index.html

http://butunclebob.com/files/images/rubyJavaCpp.jpg

http://butunclebob.com/ArticleS.UncleBob.SpeedOfJavaCppRuby

http://kangcom.com/common/author/default.asp?author_id=13044

http://www-128.ibm.com/developerworks/java/library/j-jtp09275.html

http://kldp.org/node/73324#comment-361727

크롤러(crawler)에 대한 이야기

본문 내용.… [ 우연히 검색을 하다 매우 재미있고 특히 검색 엔진 중 수집기(크롤러, spider나 robot이라고도 부른다)의 동작에 대해 궁금해 하는 사람들에게 유용한 댓글을 발견했다. 본문은 그냥 대충 넘어가도 될 것 같아 댓글만 옮겨 온다. Googleguy라는 익명의 사람이 쓴 것이다. 두 개의 댓글이 있는데 모두 옮겨 온다. ]

http://i-guacu.com/605

 

초기 구글 검색엔진의 구조

 

PageRank 와 구글 검색엔진 // 사이넵 소프트

Best way to Learn Programming

온라인에서 다운받은 E-Book 중 The Hacker’s Underground Handbook 에 제목과 같은 타이틀이 있어 적어봅니다..

1.  Purchase a beginners book on your programming language. Before you
choose the book, make sure you read the reviews to make sure it’s a
good choice.
2.  It is important that once you begin learning the programming language
through your book, you don’t take big breaks. Taking long breaks will
cause you to forget things you learned in the beginning that apply to the
rest of the book.
3.  Do ALL of the practice problems provided in the book. The only way you
will become better is by applying what you learn.
4.  When something difficult comes up or something that makes no sense
to you, don’t avoid or skip it. Instead embrace it! This is how you
actually learn. If you still don’t understand it after going over it multiple
times, find someone that can help you.
5.  Join a programming forum. Search for a website on your programming
language that has a large user base. There will be many professionals on
there that will be able to help you when you get stuck.
6.  Practice. Practice Practice. Think of ideas for fun programs that you
could make and program them!

 

영어를 잘하지는 못하지만 대충 뜻은 알겠습니다….

1. 초급자용 교재를 구입한다. 책을 선택하기 전에 후기를 읽어 보고 선택해라.

2. 프로그래밍을 배우다 오랫동안 쉬지 마라. 오랫동안 쉬면 배운 내용을 잊게 된다.

3. 모든 예제를 실행해라.

4. 어려운 문제가 나오면 피하거나 넘기지 마라. 답을 알 수 없으면 답을 아는 사람을 찾아라.

5. 프로그래밍 커뮤니티에 가입해라. 어려운 문제에 처했을 때 도움을 줄 것이다.

6. 연습. 연습. 연습 . 흥미로운 프로그램을 생각하고 만들어라.

 

대충 이런 내용인 것 같습니다. 저도 프로그래밍을 배웠지만 위의 글처럼은 못했습니다.

책은 많은데 거기에 있는 내용을 넘긴 적도 많고 포기한 적도 많습니다.

 

제가 가장 중요하게 생각하는 부분은 6번 입니다.

연습. 연습. 연습 …. 많은 연습과 흥미로운 프로그램을 생각하고 만드는 게 가장 좋은 방법이라고 생각됩니다.

자신이 흥미 있는 프로그램을 만들면 지겹지도 그리고 포기 하지도 않습니다. 흥미로운 프로그램을 만들다

보면 프로그램을 만드는 중에 여러 가지 기술을 덤으로 습득하게 되는 것 같습니다.

 

예를 들어 자바로 메신저를 만들다 보면 기본적으로 네트워크를 공부 해야 합니다. 그리고 UI(User Interface)를 공부 해야 합니다.

메신저를 실행 파일로 만들기 위한 방법 등 많은 것을 알 수 있게 됩니다. ^^