나는 모든 주제에 관한 기사를 읽었지만 차이점을 얻지는 못했다.기능적, 구조적 및 절차 적 프로그래밍의 차이점은 무엇입니까?
답변
구조화 된 프로그래밍은 기능적, 절차 적 및 그 밖의 많은 것을 포함하는 것으로 생각되는 오래된 용어입니다. 이것은 기본적으로 명령어에서 명령어로 직접 점프하는 것이 아니라 명시적인 제어 흐름 구조를 사용한다는 것을 의미합니다.
기능적 프로그래밍과 절차 적 프로그래밍 모두 그런 의미에서 구조화 된 패러다임입니다. 함수형 프로그래밍은 또한 선언적 프로그래밍입니다. 코드에 주어진 구조가 의미에 해당합니다. 프로그램은 세계의 상태를 변경하는 함수입니다. 절차 적 프로그래밍이란 Java 및 C++와 같은 OO 언어를 비롯하여 모든 C 언어 또는 그 자손에서 "일반적인"프로그래밍을 고려하는 것입니다. 프로그램은 연속적으로 실행되는 일련의 명령어로, 그 과정에서 하위 프로 시저를 호출합니다. 이 고명 한 바와 같이
또는 : 는 수학자에 문제를 설명처럼기능 프로그램입니다. 명령형 프로그래밍 은 바보에게 지침을주는 것과 같습니다.
--- arcus, #scheme on Freenode
함수 프로그래밍 일류 소자로서 기능을 사용하고있다. 고차 함수의 사용 (함수의 가져 오기 및/또는 반환); 강력한 구조와 잘 분류 된 코드로 이어집니다. 어떤 사람들은 FP의 순도 측면에 초점을 맞 춥니 다. 즉, 동일한 입력이 주어지면 함수는 항상 동일한 결과를 반환해야합니다. 이것들은 FP의 두 가지 기본 기둥입니다. 근본적으로 부하/저장 장치 수준 지침에서 약간 벗어난 것으로 부작용을 피하는 것도 볼 수 있습니다.
구조화 된 프로그래밍은 Djikstra의 "Goto Considered Harmful"문서로 돌아갑니다. if/then/else/elif 구조체, goto를 사용하는 대신 do/while/until/for 루프 등을 사용하는 것을 의미합니다. 이것은 본질적으로 비교/분기 기계 수준 명령에서 약간 벗어난 것입니다. 구조화 된 프로그래밍은 기능적 프로그래밍 및 절차 적 프로그래밍과 직각을 이룹니다.
필자가 생각하기에 절차 프로그래밍은 일반적으로 "표현"과 반대되는 일련의 "명령문"으로 구성된 명령형 "서브 루틴"(순수한 "함수"와 반대)을 프로그래밍하는 것을 의미합니다.
- 1. 절차 적 프로그래밍을위한 디자인 패턴 및 캡슐화?
- 2. 명명 된 동등성과 구조적 동등성의 차이점은 무엇입니까?
- 3. 병렬 프로그래밍과 멀티 코어 프로그래밍의 차이점은 무엇입니까?
- 4. 절차 적 및 객체 지향 프로그래밍
- 5. 개체 지향 및 절차 적 도움 말?
- 6. 웹 프로그래밍과 백엔드 프로그래밍의 차이점은 무엇입니까?
- 7. 가젯과 위젯의 기술적 (기능적) 차이점은 무엇입니까?
- 8. 스크럼과 익스 트림 프로그래밍의 차이점은 무엇입니까?
- 9. 구조적 쿼리 언어에서 "구조적"이란 무엇입니까?
- 10. MySQLi - OO 또는 절차 적?
- 11. 절차 적 프로그래밍을 문서화하는 방법?
- 12. 응용 프로그램의 기능적 및 비 기능적 부분은 무엇입니까?
- 13. 최고의 기능적 프로그래밍 리소스?
- 14. 속도 비교 - 절차 언어와 OO 비교 절차
- 15. iPhone 및 iPad에 대한 프로그래밍의 차이점
- 16. 암시 적 및 명시 적 예외 차이
- 17. AsyncTask를 "절차 적"으로 만드는 패턴
- 18. 절차 적 사람이 OO에서 생각하는 것
- 19. 이 절차 적 프로그래밍을 객체 지향 프로그래밍으로 변환하는 방법은 무엇입니까?
- 20. 기능 수준 언어와 기능적 언어 간의 공식적인 차이점은 무엇입니까?
- 21. RPG의 기본 및 전체 절차 파일
- 22. 구조화 프로그래밍과 객체 지향 프로그래밍의 일반적인 차이점은 무엇입니까?
- 23. 가로 세로 프로그래밍과 객체 지향 프로그래밍의 차이점은 무엇입니까
- 24. 기능적 GLUT?
- 25. 비디오 게임 프로그래밍의 수학
- 26. 액터 프로그래밍의 메시지는 무엇입니까?
- 27. 이것은 기능적 및 비 기능적 요구 사항이 맞습니까?
- 28. 구조적 저장소
- 29. C# 인터페이스의 암시 적 및 명시 적 구현 간의 차이점
- 30. 변환 및 언 박싱의 차이점은 무엇입니까?
을 인용문은 영업 이익의 원래 문제를 해결하는 데 도움이 정말 관련없는, 견적이 차이에 대해 때문에 기능적 및 필수 프로그래밍 패러다임 (예, 절차 적 프로그래밍은 일반적으로 명령 프로그래밍의 하위 패러다임으로 간주되지만). 게다가, Java는 함수 프로그래밍과 관련된 람다 함수와 같은 Java 8의 새로운 기능을 제외하고는 Java에서 모든 것이 클래스 또는 객체이므로 절차 적 프로그래밍을 실제로 지원하지 않는다고 주장합니다. 그래서, 나는이 대답을 downvote했습니다. – nbro