직접 프로그래밍하여 프로그래밍 기술을 연마하거나 새로운 언어를 배우기위한 제안 [폐쇄]


10

배우는 가장 좋은 방법은 프로젝트를 수행하는 것이므로 특정 프로그래밍 기술을 향상 시키거나 새로운 언어를 배우는 목적으로 스스로를 시험해볼 수있는 좋은 소프트웨어는 무엇입니까?


3
이 사이트를 복제하십시오.

답변:


11

다음 프로그램은 새로운 언어로 시작하는 것이 좋습니다.

콘웨이의 인생 게임

구현하기 쉽습니다. 컨테이너 클래스의 간단한 사용법으로 시작하는 것이 좋습니다. 결과 출력을 위해 반드시 그래픽이 필요하지는 않습니다.

또한 3D 버전을 작성하고 출력을 위해 게임 엔진을 사용할 수 있습니다 (예 : Panda3D와 같은 간단한 것)

스도쿠 솔버

약간 더 복잡합니다. 복잡성은 필요에 따라 조정할 수 있습니다. 더 이상 불가능한 경우 숫자를 취소하고 중지하거나 더 복잡한 문제를 해결하기 위해 검색 트리를 구현하십시오. 웹에서 프로그램 테스트에 어려움을 겪는 모든 수준의 스도쿠에 대한 문제 및 솔루션을 웹에서 풍부하게 이용할 수 있습니다. 가능한 전략에 대한 자료도 마찬가지입니다.

오일러 프로젝트

당신이 원하는 모든 난이도의 문제. 또한 모든 주요 프로그래밍 언어에서 숙련 된 프로그래머의 솔루션과 솔루션을 비교하십시오.


다양한 플랫폼에서 Game of Life를 구현해 볼 수 있습니다. HTML5 / Javascript 캔버스에서 수행했습니다. 대단 했어!
mauris

5

'어떻게 시도해 볼만한 좋은 소프트웨어가 무엇입니까?'라는 말의 의미가 확실하지 않지만 '7 주 만에 7 개 언어' 책을 추천 할 수 있습니다.

새로운 언어를 시험해 볼 수있는 좋은 출발점이됩니다.


방금이 책을 받았는데, 새해 결심은 그 책을 따르는 것입니다.
Tangurena

5

다음 사이트 중 하나에 로그온하여 SPOJ , TOPCODER 등 의 코딩 문제가 있는지 확인하십시오 .

이러한 사이트의 대부분은 여러 프로그래밍 언어로 코딩하는 옵션을 제공하므로 가장 익숙한 언어를 사용할 수 있습니다.

그리고 당신이 게임의 마스터라면 항상 ICPC가 있습니다.


3

다음 세 가지 요구 사항을 충족하는 프로젝트를 말합니다.

  • 당신이 흥미로운 것을 발견
  • 매우 빠른 진행 감을 얻을 수있는 것 (예를 들어 3D 게임을 만드는 것과 같은 것을 피하십시오)
  • 그 언어의 프로그래밍 패러다임에 맞는 것. 예를 들어 기능 언어 인 경우 데이터 조작, 수학 또는 무언가를 수행하는 프로젝트입니다.

2
첫 번째 요점이 핵심입니다. 프로젝트에 관심이 없다면 진행 상황과 열정을 유지하기가 더 어려워 질 것입니다.
ChrisF

2
  • Sourceforge.net 또는 GitHub로 이동하여 해당 언어로 된 프로젝트를 검색하고 관심있는 프로젝트를 찾으십시오.
  • "실제"에서 가장 자주 작업하는 라이브러리에 대해 생각해보십시오. 많은 웹 서비스를 작성하십니까? 새로운 언어를위한 웹 서비스 프레임 워크를 작성하십시오. 많은 그래픽 프로그래밍이 있습니까? 간단한 렌더링 엔진을 작성하십시오. 데이터 분석을 수행합니까? 기본 통계 패키지를 구현하십시오. 기타 등 이것은 일상적으로 비슷한 것을 사용하기 때문에 유틸리티를 이미 볼 수 있고 이미 도메인 지식이 있다는 이점이 있습니다. 이런 종류의 프로젝트는 또한 당신이 무한한 시간을 조정 (즉, 더 많은 것들을 배우는 것)을 할 수 있고, 결국 소스를 공개하고 싶을 때, 그리고 언어가 되어도 진행중인 취미; 그것의 단점은 실제로 "완료"되었다고 느끼지 않을 수 있다는 것입니다
  • 개발 영역에 따라 프로젝트를 안내하기 위해 특별히 마련된 책이있을 수 있습니다. 이는 게임 개발 플랫폼 (iOS, XNA)에서 특히 그렇습니다.

1

초보자를위한

문자열 조작 :

  • 행맨 게임.

데이터 베이스:

  • 할 일 목록
  • 운동이나 개인 일지

난수 조작 :

  • 바퀴를 돌리다

매트릭스 및 기본 그래픽

  • 테트리스

1

당신이 계속하고 싶은 모든 것. 대부분의 학습은 마지막 1 %에서 수행되며, 이는 보조 프로젝트에서 일반적으로 무시되지만 작업 제품의 매우 중요한 부분입니다.

결과적으로 프로젝트가 될 수있는 것은 매우 개인적인 선택입니다. 그렇기 때문에 훌륭한 OS 프로젝트가 너무 많고 이력서 / CV에있을 때 모두가 매우 중요하다고 말하는 이유는 무엇입니까? 그것은 다른 사람들이 사용할 수 있고 그들이하는 일을 즐깁니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.