오픈소스로 프로그래밍하는 법 배우기

이 책 중 상당수가 몇 년 된 책이라는 것을 알 수 있지만 대부분의 프로그래밍 언어도 상당히 오래되었기 때문에 대부분 문제가 되지 않습니다. Java는 1990년대로 거슬러 올라가고, C++는 1990년대부터 시작됩니다. 1980년대와 C부터 적어도 1970년대까지(일부 사람들은 C가 1960년대까지 거슬러 올라간다고 주장할 것입니다. C는 B라는 언어에서 파생되었기 때문입니다. B라는 언어는 그로부터 BCPL을 기반으로 했습니다. 연대). 나는 이 사이트의 모든 책을 읽은 것은 아니지만 몇 권 찾아보았는데 읽을 가치가 있습니다.

오픈소스로 프로그래밍하는 법 배우기

이런 사이트를 볼 때 기억해야 할 점은 이 책을 구입하는 데 비용이 들지 않기 때문에 한 권을 시작하고 마음에 들지 않으면 그냥 다음 책으로 넘어가는 것입니다. 한 작가가 무언가를 설명하는 방식을 이해할 수 없다면 다른 작가를 살펴보세요. 이는 프로그래밍을 배울 때 핵심 원칙입니다. 왜냐하면 단순히 이해해야 하는 특정 아이디어가 있기 때문입니다. 한 사람의 설명이 당신을 혼란스럽게 할 수도 있고 다른 사람의 설명이 완벽해질 수도 있습니다. 감각. 나는 프롤로그라는 언어를 배울 때 누군가가 내가 전체를 이해하는 데 도움이 되는 방식으로 하나의 개념을 설명하기 전까지는 정확히 그런 입장에 있었던 것을 기억합니다.

오픈 소스 프로그래밍 도구

이제 몇 권의 책을 읽었으므로 몇 가지 프로그램을 작성할 준비가 되었습니다. 따라서 프로그램이 무언가를 수행하도록 하려면 선택한 언어를 구현해야 합니다. 하지만 그렇게 하기 전에 어떻게든 프로그램을 컴퓨터에 입력해야 합니다. 이 시점에서는 멋진 통합 개발 환경을 얻고 싶은 유혹이 있습니다. (IDE). 나는 그런 유혹에 저항하고 싶습니다. 먼저 IDE가 작동하는 방식보다는 프로그램이 작동하는 방식을 배워야 하기 때문입니다.

대신 간단한 텍스트 편집기를 사용하세요. 메모장이나 TextEdit이 괜찮습니다. 그런 다음 해당 언어에 맞는 컴파일러나 해석기가 필요합니다. 몇 가지를 살펴보겠습니다:

자바
Java는 여전히 많은 프로그래밍 과정에서 선택되는 프로그래밍 언어입니다. 진지한 생각을 담은 언어이고, 많은 것을 저지르는 것을 상대적으로 어렵게 만드는 언어입니다. 유형 검사를 사용하기 때문에 간단한 오류(숫자가 아닌 "주황색"에 15를 추가하려고 하면 오류가 발생함) 불평하다). IBM의 순수 오픈 소스 Java 구현과 IBM의 주요 Sun 구현이 있습니다.

Java.com 너무 좋습니다.

C와 C++
이러한 언어는 모두 다양한 패키지로 제공되며 대부분의 Unix 스타일 시스템에 사전 설치되어 제공되거나 Mac OS X의 경우 개발자 번들을 통해 쉽게 얻을 수 있습니다. 개인적으로 나는 이것이 프로그래밍을 시작하기에 좋은 선택이라고 생각하지 않습니다. 둘 다 나쁘지는 않지만 언어 자체로 인해 둘 다 초보자가 나쁜 프로그래밍에 빠져들기 쉽습니다. 관행. C++는 거대한 언어이며 접근 방식이 매우 일관성이 없습니다. Java는 기본적으로 C++의 주름을 해결하기 위해 발명되었습니다. 그리고 Java를 먼저 배우면 C++를 더 잘 이해하고 더 나은 코드를 작성할 가능성이 매우 높습니다. 일반 C와 비교하여 Java에도 동일하게 적용됩니다. 컴파일러 측면에서 C++ 및 C의 GNU 컬렉션은 다양한 플랫폼에서 사용할 수 있습니다.

PERL, Python, Ruby 및 변형
이들은 모두 웹사이트에서 실행할 스크립트를 작성하는 데 널리 사용되는 언어입니다. Perl은 다양한 Unix 스크립팅 도구를 통해 개발되어 가장 오랜 역사를 갖고 있는 반면, Python은 다소 다릅니다. 유산이며 Google의 언어이기 때문에 Google 앱 개발에 참여하려는 경우 특히 유용합니다. 선택. 다시 말하지만, 많은 도구가 존재하지만 아마도 그 중 어느 것도 첫 번째 언어로 권장하지 않을 것입니다.

자바스크립트
JavaScript의 주요 용도는 웹 페이지에 애플리케이션 기능(예: 드롭다운 메뉴)을 구축하는 것입니다. JavaScript로 멋진 일을 할 수 있지만 초보자를 위한 언어는 아닙니다. 이를 파악하고 작동시키려면 웹 페이지가 어떻게 구성되고 구현되는지 이해해야 합니다. 이것이 서로 다른 웹 브라우저 사이에서 어떻게 다를 수 있는지 설명하십시오. 이 모든 것은 기본 사항을 방해하는 것입니다. 프로그램 작성.

하스켈, SML, 계획, LISP
이것들은 모두 기본적으로 기능적 언어로 설명될 수 있습니다(물론 지지자들 사이에 어떤 것이 있고 어떤 것이 아닌지에 대한 격렬한 종교적 논쟁이 있지만). 함수형 프로그래밍 스타일은 언어보다는 문제의 수학적 본질에 집중하기 때문에 대학 컴퓨팅 과학 과정에서 많이 사용됩니다. 그러나 상업용 애플리케이션에서는 거의 사용되지 않습니다. 그들을 위한 오픈 소스 도구가 존재하고 소개 서적도 있지만, 그들의 목표를 이해하려면 공식적인 교육 과정을 통한 "완전한 몰입"이 정말로 필요합니다.

PHP
PHP는 아마도 금지되어야 할 끔찍한 언어입니다(저는 매일 사용합니다). 대부분의 컴퓨터에서 사용할 수 있는 구현이 있지만 실제로 PHP를 배우고 싶은 이유를 결정해야 합니다. 이는 웹 페이지 생성에 매우 적합한 언어이지만 이를 최대한 활용하려면 단순한 PHP 명령줄 해석기 이상이 필요합니다. 프레임워크라는 주제를 다루게 되었습니다.