OOP 대 절차 프로그래밍 - 페이지 14

 
Реter Konow :

OOP 없이 하지 않는 것이 더 나은 동일한 유형의 이러한 작업에 대한 구체적인 예를 제공할 수 있습니까?


OOP 없이도 풀 수 있지만 OOP가 있으면 더 빠릅니다.

예를 들어, 템플릿은 0~100개의 캔들스틱 패턴, 0~30개의 서로 다른 표시기 및 각각에 1~5개의 서로 다른 신호를 포함할 수 있습니다. - 패턴과 2개의 표시기, 각각 1개의 신호.. 그리고 두 번째 인스턴스는 12개의 다른 패턴과 8개의 다른 표시기를 포함합니다. 다음으로 두 인스턴스가 서로 4바 이상 열리지 않도록 신호를 보내야 한다는 조건을 설정합니다.

이 모든 찌꺼기는 신호 패턴 및 기타 모든 것이 클래스에 설명되어 있으면 5초 안에 완료됩니다.

 
Dmitry Fedoseev :

이것은 주요 주장이 아닙니다.

글쎄요, 절차적 프로그래밍에는 다형성 의 유사점이 없습니다.

내 모든 연습에서 프로그래밍에 대한 완전한 무지로 시작하여 어느 정도 남아있어 다형성을 사용할 필요가 없다는 것이 이상합니다 ... 이것은 아마도 운명입니다.

신은 그 이유를 알고 있다...))

 
Nikolay Ivanov :

OOP 없이도 풀 수 있지만 OOP가 있으면 더 빠릅니다.

예를 들어, 템플릿은 0~100개의 캔들스틱 패턴, 0~30개의 서로 다른 표시기 및 각각에 1~5개의 서로 다른 신호를 포함할 수 있습니다. - 패턴과 2개의 표시기, 각각 1개의 신호.. 그리고 두 번째 인스턴스는 12개의 다른 패턴과 8개의 다른 표시기를 포함합니다. 다음으로 두 인스턴스가 서로 4바 이상 열리지 않도록 신호를 보내야 한다는 조건을 설정합니다.

이 모든 찌꺼기는 신호 패턴 및 기타 모든 것이 클래스에 설명되어 있으면 5초 안에 완료됩니다.

패턴이 포함된 템플릿은 어떻게 구현됩니까? 함수입니까, 배열입니까, 아니면 다른 것입니까? 패턴은 어떻게 기록됩니까?
 

이 모든 OOP는 보편적인 규모로 사육되었습니다.

결국, 이와 같은 것을 글로벌 규모로 추진하려면 그러한 인재가 필요합니다.

그리고 그 어떤 것도 변명을 멈추지 않습니다.

현지 사과를 하면. 코 밑에 µl 언어 가이드가 있습니다. 섹션을 살펴보겠습니다. 세 개의 섹션만 데이터에 할당되고 나머지는 모두 ACTION(프로그램, 배열을 사용한 작업, 데이터 변환 ...)에 대해 설명합니다.

아마도 "고급 아이디어"에 해당하지 않는 마이크로 리터의 언어입니까?

훨씬 더 큰 소프트웨어 시스템을 사용하십시오. R.

각각 기능을 포함하는 10,000개 이상의 패키지가 포함되어 있습니다. 이는 개체가 아니라 작업입니다.


내 생각에, 지역 유출 및 글로벌 전반에 대한 이러한 모든 OOP 옹호자는 일반적으로 프로그래밍에서 아무 것도 이해하지 못합니다. 즉: 모든 데이터의 가치(의미론)는 함수, 이 데이터를 처리하는 작업입니다 . int를 썼다. 이 문자의 의미는 이 변수로 작업을 수행할 수 있는 프로세서의 명령 집합에 의해 결정됩니다.


다음으로 수업을 진행해 보겠습니다.

R을 선택하는 경우 해당 클래스는 언어의 일부입니다.

함수의 입력은 일부 클래스의 개체입니다. 출력은 일반적으로 다른 클래스의 개체입니다. 입출력 필드의 의미는 이 모든 것을 처리하는 함수에 의해서만 결정됩니다. 그리고 함수가 특정 클래스를 인식하지 못하면 이 함수에 대한 그러한 클래스는 의미가 없습니다. 이것이 각 패키지에 대한 문서가 µl에 대한 문서와 정확히 동일한 이유입니다. 작업, 기능이 나열됩니다. 그리고 한 패키지의 함수 또는 다른 패키지의 함수와의 관계는 특정 함수가 작동하는 클래스의 이름에 의해 결정됩니다.


다시. R에서 객체는 임의의 복잡성을 가질 수 있으며 실제로는 매우 복잡할 수 있습니다. 그러나 특정 클래스의 객체에 대한 각 필드의 값은 이 객체를 생성하는 함수에 의해 완전히 결정됩니다.


이것은 컴파일러를 작성한 사람들에게 특히 분명합니다. 특정 시퀀스의 코드가 작성됩니다. 이 코드는 무엇을 합니까? 이 코드의 의미는 무엇입니까? 모든 프로그래밍 언어의 소스 언어에서 텍스트의 의미는 컴파일러가 생성할 실행 코드에 의해 결정되며, 이는 결국 프로세서에 의해 수용됩니다. 한 언어의 컴파일러는 작성된 행의 값을 찾고 다른 언어는 찾지 않습니다. 이 다른 사람에게 쓰여진 줄은 의미가 없습니다.


따라서 객체의 의미는 항상 함수, 즉 입력 데이터를 작업의 지침으로 인식하고 출력에서 특정 필드 목록을 생성할 수 있는 작업이며, 값은 이 기능에 의해서만 결정됩니다.


위에서 Konov는 ACTIONS에서 가야한다고 설명하려고했습니다. 액션에 대한 처리가 필요하며, 이러한 액션을 연결하는 객체는 나중에 액션이 결정될 때 발생합니다. 그러나 코드의 명확성과 효율성은 ACTIONS의 전체 계층 구조와 상호 작용을 얼마나 잘 구성할 수 있었는지에 달려 있습니다.


OOP 지지자들은 다음과 같이 말합니다. 객체를 만들자. 그리고 이러한 필드가 있는 작업이 정의되지 않은 경우 개체 필드의 값은 얼마입니까?

 
Реter Konow :
패턴이 포함된 템플릿은 어떻게 구현됩니까? 함수입니까, 배열입니까, 아니면 다른 것입니까? 패턴은 어떻게 기록됩니까?

예, 일반적으로 설명됩니다. 그게 요점이 아닙니다.

또 다른 예 .. 클래스는 책이 있는 도서관과 같고 인스턴스는 카트입니다 .. 라이브러리에서 선택하기 위해 책을 카트에 넣을 수 있습니다 .. 예를 들어 옵티마이저에서 다음과 같이 복잡한 작업을 설정할 수 있습니다. 장바구니의 수와 각 세트의 책 세트가 자동으로 선택됩니다. 그리고 더 수익성있는 것을 찾으십시오.) OOP없이 라이브러리와 1 개의 카트를 만들 수 있으며 카트의 수가 많을 때 이미 OOP가 더 좋습니다

 
Реter Konow :
이것이 내가 현재 수용하는 개발에서 OOP를 지지하는 유일한 주장입니다.

헛되이 수락합니다.

내가 마지막으로 작업한 팀은 약 300명이었습니다. 전체 소프트웨어 프로젝트 의 총 인건비는 약 1500인년입니다. SUCH 팀의 잘 조정 된 작업 조직은 PLO를 돕지 않습니다. 이를 위해 전체 문제를 단계적으로 분해하고 각 단계에서 모든 것과 모든 것을 신중하게 규제하는 것과 관련된 다른 접근 방식이 있었습니다. 이것을 설명하는 GOST가 있었습니다. 프로그래밍에서 이것은 ESPD(통합 프로그램 문서 시스템)입니다. 노동집약도 측면에서 코딩 자체는 인건비의 약 20%를 차지했다.


PLO 변호인의 말을 듣지 마십시오. 당신은 올바른 길을 가고 있습니다. 두 개의 변수를 하나의 구조로 결합하지 않았다는 사실에도 불구하고 이러한 결합에서는 이득이 보이지 않습니다.

 
Nikolay Ivanov :

바로 표면에 있는 또 다른 간단한 예입니다. 메타에디터의 어드바이저 생성기... 프로그래밍 방법조차 모르는 사람은 10초 안에 수많은 지표와 조건으로 구성된 어드바이저를 리벳팅할 수 있습니다)) ) 그리고 이것은 모두 OOP입니다))



발전기에 대해 이야기하지 말자. 그렇지 않으면 2 개월 동안 더 이상 맹세하지 않기로 결정했습니다.)))

MQ 개발자 여러분, 존경합니다. 난 진심이야

그리고 이러한 생성자를 만드는 이유를 이해합니다. 나는 또한 이 모든 생성자가 왜 진공 방귀인지 이해합니다.

예, 이것은 일종의 MQL5 학습의 예라고 할 수 있지만 결코 실제 로봇의 시작은 아닙니다.

 
СанСаныч Фоменко :

헛되이 수락합니다.

내가 마지막으로 작업한 팀은 약 300명이었습니다. 전체 소프트웨어 프로젝트의 총 인건비는 약 1500인년입니다. SUCH 팀의 잘 조정 된 작업 조직은 PLO를 돕지 않습니다. 이를 위해 전체 문제를 단계적으로 분해하고 각 단계에서 모든 것과 모든 것을 신중하게 규제하는 것과 관련된 다른 접근 방식이 있었습니다. 이것을 설명하는 GOST가 있었습니다. 프로그래밍에서 이것은 ESPD(통합 프로그램 문서 시스템)입니다. 노동집약도 측면에서 코딩 자체는 인건비의 약 20%를 차지했다.


PLO 변호인의 말을 듣지 마십시오. 당신은 올바른 길을 가고 있습니다. 두 개의 변수를 하나의 구조로 결합하지 않았다는 사실에도 불구하고 이러한 결합에서는 이득이 보이지 않습니다.


San-Sanych, 나는 최근에 프로거로부터 연락을 받았고, 그는 시장에서 물건을 팔기까지 했습니다.

그는 내가 여러 프로그램을 붙이려고했지만 컴파일 오류가 있다고 말했습니다. 그는 나에게 자신의 프로그램, 말하자면 접착을 보냈습니다. 그는 지불하기로 약속했다.

보고 아파서 컴파일 오류 59개

n,c,m 유형의 전역 변수 묶음

모든 것이 서로 충돌합니다.

그리고 사람들은 뭔가를 수정하면 시장에 내놓을 수 있다고 확신합니다.

 
СанСаныч Фоменко :

...

내 의견으로는, 지역 유출 및 글로벌 일반적으로 이러한 모든 OOP 옹호자는 프로그래밍에서 아무 것도 이해하지 못합니다. 즉: 모든 데이터의 가치(의미론)는 함수, 이 데이터를 처리하는 작업입니다 . int를 썼다. 이 문자의 의미는 이 변수로 작업을 수행할 수 있는 프로세서의 명령 집합에 의해 결정됩니다.

...


기억을 위해

 
СанСаныч Фоменко :

헛되이 수락합니다.

내가 마지막으로 작업한 팀은 약 300명이었습니다. 전체 소프트웨어 프로젝트의 총 인건비는 약 1500인년입니다. SUCH 팀의 잘 조정 된 작업 조직은 PLO를 돕지 않습니다. 이를 위해 전체 문제를 단계적으로 분해하고 각 단계에서 모든 것과 모든 것을 신중하게 규제하는 것과 관련된 다른 접근 방식이 있었습니다. 이것을 설명하는 GOST가 있었습니다. 프로그래밍에서 이것은 ESPD(통합 프로그램 문서 시스템)입니다. 노동집약도 측면에서 코딩 자체는 인건비의 약 20%를 차지했다.


PLO 변호인의 말을 듣지 마십시오. 당신은 올바른 길을 가고 있습니다. 두 개의 변수를 하나의 구조로 결합하지 않았다는 사실에도 불구하고 이러한 결합에서는 이득이 보이지 않습니다.


이제 그러한 프로그램은 3일 동안 한 사람이 작성합니다.

사유: