객체 지향 프로그래밍 언어를 배우고 싶었습니다. OOP의 전체 개념을 알기 위해 어떤 목적으로도 원하지 않습니다. 그렇다면 누구나 어떤 언어를 배우기 시작해야하는지 말해 줄 수 있습니까?
객체 지향 프로그래밍 언어를 배우고 싶었습니다. OOP의 전체 개념을 알기 위해 어떤 목적으로도 원하지 않습니다. 그렇다면 누구나 어떤 언어를 배우기 시작해야하는지 말해 줄 수 있습니까?
답변:
몇 가지 추가 제안 사항 :
내가 OOP 바에서 읽은 최고의 책은 Bertrand Meyer의 Object Oriented Software Construction 입니다. 장소에서 열심히 생각해야한다는 점에서 '쉬운'읽기는 아닙니다. 그러나 그것은 OO 원칙을 설명하는 데 가장 좋은 일을합니다.
언어에 관해서는 : 저는 C ++에서 멀리 떨어져 있습니다. 학습 목적으로는 너무 큽니다. OO를 이해하는 데 실제로 도움이되는 언어를 원한다면 (주류 응용 프로그램을 작성하거나 직업을 구하는 언어와 달리) smalltalk를보십시오. 또는 에펠 (위의 마이어 책의 언어).
좀 더 주류이지만 여전히 OO 원칙을 충실하게 지원하는 언어를 원한다면 Python이 좋습니다. 정적 입력을 원한다면 Java 및 C #도 괜찮습니다.
한가지주의 할 점은 언어는 당신에게 OO를 가르치지 않을 것입니다. OO 개념을 얼마나 잘 지원하는지에 대해서만 도움을 줄 수 있습니다. OO를 배우는 것은 실제로 OO 용어 로 생각 하는 것을 배우는 것 입니다. 이를 위해 Meyer의 책으로 돌아 왔습니다.
hth.
OOPS를 시험하기 위해 C ++, Java, C # 등과 같은 객체 지향 언어를 배울 수 있습니다.
실제로 OOP를 배우고 싶다면 언어를 넘어서 생각해야하며, 실제 환경에서 소프트웨어 프로그램을 관리하는 것과 마찬가지로 소프트웨어 프로그램과 관련된 만화의 복잡성을 돕는 패러다임이라는 것을 이해해야합니다. 그런 다음 다형성, 상속, 캡슐화 (PIE) 등과 같은 OO의 기본 개념을 배웁니다.
Grady Booch의 객체 지향 분석 및 응용 프로그램을 사용한 디자인 (제 2 판)에 관한 좋은 책이 있습니다.
또한 fascinatingoops.com 으로 시작하기에 충분히 간단한 블로그를 사용해보십시오.
OOP를 배우고 싶습니까? 하나의 답변-스몰 토크.
그것은 우아한 언어이며 핵심에 OO입니다. 처음부터 OOP를 배우고 다른 언어가 통합하는 다른 모든 방해 요소에 의해 방해받지 않습니다.
스몰 토크가 이깁니다. 좋은 무료 전자 책도 있습니다 ( Stephane Ducasse 참조 ).
C ++을 배우거나 스몰 토크와 같은 조상 중 하나를 배워야 할 것입니다. C ++는 객체 지향, 메모리 관리 및 참조 대 값과 같은 개념을 명확하게 분리하며 강력한 일반 지원을 제공합니다.
Java 또는 C #과 같은 .NET 언어를 배우지 마십시오. Java와 같은 언어를 배우면 "객체는 항상 힙에 있고 항상 참조입니다"와 같은 것을 배우게됩니다. 이는 Java에만 해당되며 일반적으로 OOP에는 해당되지 않습니다. 이러한 개념의 충돌 (객체 지향, 메모리 관리, 참조 대 가치)은 일단 머리에 갇히게되면 되돌릴 수 없기 때문에 첫 번째 언어에는 매우 위험합니다. C #은 이와 관련하여 다소 낫지 만 많이는 아닙니다. 또한, 그들은 일반적인 프로그래밍 지원이 약한 "상속은 망치이며 모든 것이 못이다"라고 가르치는 경향이있다.
OOP 개념을 배우는 가장 좋은 방법은 점점 더 많은 코드를 작성하고 자주 검토하는 것입니다. 연습을 좋은 프로그래머로 만드십시오.
실제 시나리오를 생각하고 문제 설명을 정의하십시오. 코드로 해결하고 검토하십시오. /codereview// 에서 언제든지 도움을 얻을 수 있습니다. :)
행복한 코딩 !!!
나는 OOP를 배우려고 할 때 다른 언어를보아야한다고 생각하지 않습니다. 나에게 이론을 이해하고 내가 이미 알고있는 것과 관련이 있다면 그것을 적용하는 법을 배우는 것이 더 쉽다. 새로운 구문을 알아내는 데 방해가됩니다.
모든 OOP 책으로 시작할 수 있습니다. 다시, 나는 내가 선택한 언어로 하나를 얻을 것입니다. 리팩토링 (OOP 스타일)에 관한 책을 읽으면 OOP를 적용하는 데 도움이되었습니다. 기존 프로젝트 (요구 사항 수집에 방해가되지 않음)를 사용하여 개선 할 수있는 새로운 방법을 찾았습니다. OOP를위한 OOP만이 아닙니다. 그런 다음 새 프로젝트에서 처음부터 끝까지 수행하는 방법을 배울 수 있습니다. 여기의 논리는 항상 처음부터 올바르게 얻을 수는 없다는 것입니다. 적절한 곳을 알 수 있다면 더 나을 것입니다. 대부분의 것들과 마찬가지로 모든 문제를 해결하지는 못합니다.
일부 언어에는 명확한 제한이 있습니다. 귀하의 목표가 다중 상속의 마스터가되는 것이라면 .NET은 사용되지 않습니다.
여기서는 기존의 사고에 반대하고 OOP 를 사용 하기위한 가장 쉬운 언어 가 반드시 그것을 배우기에 가장 적합한 언어는 아니라고 제안 합니다. 나는 C ++로 OOP에 처음 노출되었지만 Perl을 사용한 OOP에 대한 Larry Wall의 Camel 책 장을 읽을 때까지 그것을 얻지 못했습니다. 어떤 이유로 나는 클래스에 객체를 명시 적으로 축복 해야 할 때까지 클래스와 객체의 차이점을 파악하는 데 어려움을 겪었습니다 . GObject를 사용하여 C에서 수행 할 때까지 OOP의 기본 구현을 실제로 이해하지 못했습니다. 언어에 구애받지 않는 회사 수업을들을 때까지 모범 사례를 제대로 이해하지 못했습니다. 매우 큰 주제입니다..