문제

너무 많은 서버 측과 모바일 Java 응용 프로그램은 Java의 기본 Java 언어를 사용합니다. 대신 Jython을 사용하여 엔터프라이즈 애플리케이션 (예 : 웹 사이트, 응용 프로그램 서버 등)을 구축 할 수 있습니까?

또한 Jython의 Java Me 응용 프로그램에 대해 어떻게 생각하십니까?

질문에 대한 PS 의견도 환영합니다.

도움이 되었습니까?

해결책

아니요, Jython은 Java에 적합한 대체품이 아닙니다. 예를 들어, Java의 인터페이스를 작성하지 않고 인터페이스를 구현 한 다음 Jython에서이를 활용하는 클래스를 작성하는 방법을 제공하지 않는다는 것을 고려하십시오.

필요한 것은 부와 동등한 JVM- 표적화 된 것입니다. BOO는 Python에서 대략 영감을 주지만 호환되지 않은 .NET CLR을 타겟팅하는 언어이며 CLR의 기능을 완전히 노출시킵니다 (따라서 C#과 특징 등장). 현재 Java와의 특징 패리티를 갖춘 피닉스 언어는 없으며, Python은 단순히 관련 개념 (예 : 인터페이스 타이핑 정보)을 표현하는 방법을 제공하지 않기 때문에 Python과 호환되지 않습니다.


이것에 대한 몇 가지 질문이 있었기 때문에 나는 분명히 밝혀졌습니다.

Jython은 임의의 Java 프로젝트를 수행 할 수 없으며 대신 Jython에서 해당 프로젝트의 무작위 하위 집합을 구현하기로 결정하고 개발 팀의 다른 사람이 알고 있거나 관리하지 않는다는 점에서 Java를 대체하지 않습니다. 확실히, Jython은 Java와 같은 많은 클래스의 프로젝트에 적합합니다. 리버스가 아닌 Java에서 호출되는 인터페이스를 구축 할 때를 제외하고. "엔터프라이즈 애플리케이션"으로 주어진 것은 서로 밀접하게 작동하는 많은 구성 요소를 갖는 경향이 있으며, 임의의 외부 인터페이스를 가진 클래스를 구축 할 수있는 경향이 있으며 순수한 Jython에서는 쉽게 수행되지 않는 것입니다.

다른 팁

그것은 당신의 요구 사항이 크게 달라집니다. 모든 언어에는 강점과 약점이 있습니다. 언어 선택에 대한 완벽한 언어는 없으며 언어 선택에 대한 지능적인 결정은 프로그래머에게 중요한 기술입니다.

인터페이스를 구현할 수 없기 때문에 Jython이 Java를 대체 할 수 없다는 Charles에 동의하지 않습니다. 역동적 인 언어에서는 그렇지 않은 기능으로 간주됩니다. 필요 인터페이스 (오리 타이핑 참조).

Jython은 Python의 훌륭한 언어 기능을 취하고 거대한 Java 라이브러리에 쉽게 액세스 할 수 있습니다. 그러나 오버 헤드 측면에서 가격이 있으며, 상당히 새로운 언어라면 프로그래머가 적고 지원을받을 수있는 지원이 있습니다.

Jython의 좋은 점은 성능이 문제가되는 경우 Java의 개별 모듈을 다시 작성할 수 있다는 것입니다. 속도 문제는 문제에 하드웨어를 던질 수있는 서버에서는 주목할 만하다. 휴대 전화에서는 성능이 여전히 핵심이며 Jython이 가까운 시일 내에 큰 영향을 미치는 것을 볼 수 없습니다.

그렇다면 Jython은 Java를 대체할까요? 아니요, 나는 그것이 그렇게 될 것이라고 생각하지 않습니다 - Java의 추진력은 너무 큽니다. 그러나 우리는 Jython으로 작성된 부품 및 JVM을 목표로하는 다른 언어로 점점 더 많은 소프트웨어를 볼 것입니다.

파이썬이 동적으로 입력되었으므로 Jython은 Java를 교체 할 수 없습니다. 예, Jython은 서버 응용 프로그램에 사용할 수 있습니다.

Java Me는 자원이 매우 제한되어 있기 때문에 Jython은 Java Me에게 좋지 않습니다. 어쩌면 몇 년 후.

편집 : 약한 것이 아니라 동적으로 입력했습니다

예. 역동적 인 언어는 미래입니다. 나는 한 yar 전에 Sun 대표들로부터 이것을 들었습니다. Jython의 놀라운 부분은 Java 라이브러리의 "기본"사용입니다. 서비스 및 기타 구성 요소는 Java로 유지 될 수 있지만 통합 계층은 동적 언어 방향으로 확실하게 움직입니다. 나는 파이썬이 기본적으로 자바처럼 지향적이라고 생각합니다. Perl과 같은 다른 스크립팅 언어에서 그런 것을 기대하지는 않지만 Ruby와 Groovy도 좋은 대안입니다.

해당 도메인에는 Jython을 사용할 수 있습니다. 분명히, 웹 개발을위한 세계는 Python 또는 Ruby와 같은 역동적으로 타이핑 된 언어로 나아가고 있습니다. Jython 은이 도메인에서 훌륭합니다. 기업의 전체 "Java Stack"(App Server, Tomcat, 배포 및 테스트 인프라, ...)을 사용할 수 있기 때문입니다. Java에서 비즈니스 로직을 구현할 수도 있습니다.

그러나 Jython은 C#이므로 Java를 대체하지 않습니다. 당신은 (5 월) 프로그래머 생산성을 얻지 만 성능을 잃고 시간 점검을 컴파일합니다. 언어는 실제로 다르며 다른 작업에 대해 "최적화"됩니다. 나는 일부 테스트 사례를 구현하기 시작하여 더 작고 비 약한 작업에 대해 Jython을 평가할 것을 제안합니다.

Jython이 Java Me 개발에 유용하다는 것을 의심합니다. 그 이유는 다른 게시물에 나와 있습니다 : 자원 제약.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top