Clojure를 최근에 배웠을 때, 나는 좋은 치아 기능 프로그래밍으로 내 이빨을 가라 앉히는 것에 관심이 있습니다. Clojure는 어떤 종류의 애플리케이션에 적합합니까? 웹 앱? 창 클라이언트 응용 프로그램? 명령 줄 유틸리티? Clojure는 어떤 종류의 응용 프로그램에 대한 끔찍한 해결책입니까?어떤 종류의 응용 프로그램이 클로저에 적절합니까?
답변
Clojure는 많은 구문 분석이 필요한 모든 것에 적합합니다. 나는 확실히 예를 들어 로그 파일을 분석하기 위해 그것을 사용할 것입니다. 또한 DSL을 작성하는 훌륭한 언어입니다. 아마도 90 % GUI를 사용하는 응용 프로그램에서는 사용하지 않을 것입니다. 물론 요즘 하나의 언어를 고르실 필요는 없습니다. 응용 프로그램의 일부로 Clojure를 사용할 수 있습니다.
정말 모든 유형의 응용 프로그램이 좋습니다. Clojure는 합리적인 범용 언어이기 때문에 특히 Java 클래스 라이브러리 지원으로 대부분의 기능을 제공합니다.
기능적 프로그래밍 언어는 고도로 평행 한 문제에 도움이되기 때문에 해당 영역에서 뭔가 찾을 수 있습니다. 예를 들어 Google과 같은 MapReduce 접근 방식을 사용하여 대량의 정보를 처리하면 ...
Clojure가 좋지 않을 수있는 유일한 방법은 일회용 명령 줄 스크립트입니다. -client 플래그를 사용하여 실행하는 경우에도 JVM 시작 시간이 너무 덥지 않습니다. Nailgun과 같은 프로젝트는 해결 방법을 제공하지만이 접근법에는 몇 가지 심각한 보안상의 영향이 있습니다.
그렇지 않으면 Clojure가 모든 작업에 이상적이라고 생각합니다.
REPL을 계속 열어두면 (좋은 습관!) 일회용 명령 줄 스크립트에서도 꽤 유용합니다 ..... – mikera
나는 Clojure도 상당히 익숙하며 속도가 실제로 문제가되지 않는 수학 문제에서이 기술을 사용하는 것을 즐긴다. 그것은 너무 표현력이 있습니다. BigDecimals와 BigIntegers의 확장 된 정밀도를 투명하게 사용할 수 있다는 것도 매우 좋았습니다. Java가 필요로하는 어색한 생성자와 메서드를 다루지 않아도되었습니다.
속도에 대한 경고는 실제로 내 자신의 경험이 없기 때문에 발생합니다. 저는 그것이 진정으로 숙련 된 사람들에게는 문제라는 것을 모릅니다. 또한 Clojure에서 쉽게 볼 수있는 병렬 처리에 도움이되는 영역이기도합니다.
Clojure는 거대한 데이터 세트를 다루는 스타일 데이터 처리 문제를 줄이기 위해 적합합니다. 이것은 FlightCaster.com과 Runa에서 큰 효과를 발휘합니다. 나는 그것을 암호화에 사용하고 있으며 다른 두 네트워크 중심의 신생 업체에서 전문적으로 사용되는 것을 보았습니다.
Clojure가 거의 적합하지 않습니다. 일반적인 목적의 언어이며 거의 모든 작업에 매우 적합합니다. 특히 동시성과 관련된 것들.
- 1. 어떤 종류의 프로그램이 호출됩니까?
- 2. 어떤 종류의 응용 프로그램이 서버 측 응용 프로그램입니까?
- 3. 어떤 종류의 응용 프로그램이 비 대화식으로 실행하는 데 가장 좋을까요?
- 4. 어떤 아이콘이 시간별로 정렬에 적절합니까?
- 5. 어떤 종류의 자바 스크립트입니까?
- 6. 어떤 상황에서 동적 언어가 적절합니까?
- 7. 어떤 종류의 응용 프로그램이 더 일반적인 언어와 반대되는 F #으로 작성되면 어떤 이점이 있습니까?
- 8. Amazon EC2 스팟 인스턴스에서 어떤 종류의 작업 부하를 사용하는 것이 적절합니까?
- 9. 어떤 종류의 로그인을 사용해야합니까?
- 10. 어떤 종류의 예외를 던집니까?
- 11. 어떤 종류의 Barcode입니까?
- 12. 어떤 종류의 설치 프로그램이 Microsoft를 사용하여 Visual Studio 2010을 설치합니까?
- 13. 어떤 종류의 해시입니까?
- 14. 어떤 종류의 데이터 구조입니까?
- 15. 플러시 PHP는 어떤 종류의
- 16. 어떤 종류의 UDP 프로토콜입니까?
- 17. 바이슨은 어떤 종류의 파서입니까?
- 18. 어떤 종류의 프록시입니까?
- 19. 어떤 종류의 트라이입니까?
- 20. 어떤 종류의 앱입니까?
- 21. 어떤 종류의 정렬 알고리즘입니까?
- 22. 어떤 종류의 복제를 사용해야합니까?
- 23. NSXMLParser는 어떤 종류의 파서입니까
- 24. 어떤 종류의 허가를 부여해야합니까?
- 25. 어떤 종류의 개체 트리입니까?
- 26. 어떤 종류의 배열입니까?
- 27. 서버 사용자가 .NET Framework에 업데이트를 적용하려는 경우 어떤 테스트가 적절합니까?
- 28. SQL DDL 문 작성 : 어떤 패턴이 적절합니까?
- 29. @EJB annotation - 어떤 오류 처리가 적절합니까?
- 30. iPhone의 HTTPS - 어떤 종류의 암호화?
Clojure는 실제로 모든 Java 라이브러리 (OpenGL, Swing, Processing 등)를 피기 시작할 수 있기 때문에 실제로 GUI에 좋지 않습니다. Clojure에서 게임 GUI를 작성했고, 꽤 잘 돌아갔다. – mikera