문제

Java에서 그래픽 응용 프로그램을 작성하고 있습니다. 결국 나는 스크립팅 언어로 구축하고 싶습니다. 어떤 언어 라이브러리를 추천합니까?

아마도 용의자는 다음과 같습니다.

후보자는 다음과 같습니다.

대상 청중은 아마도 하드 코어 프로그래머가 아니므로 덜 비난이 선호됩니다. 내 생각에 JavaScript는 더 많이 보았 기 때문에 단지 기발한 상태에서도 그들에게 더 수용 가능하다는 것입니다.

LUA는 C/C ++에서 인기있는 것으로 보이지만 적어도 Luajava는 추가 .dll/.so가 필요하므로 배포가 복잡해집니다.

편집하다:필 호 LUA의 Java 구현이 있다고 썼습니다. 칼루아.


관련 질문 :

도움이 되었습니까?

해결책 6

방금 Steve Yegge 's를 읽었습니다 보편적 인 디자인 패턴. 이 기사는 Java 애플리케이션에 포함 된 스크립팅을하는 것보다 훨씬 광범위한 주제에 관한 것이지만, 저자는 스크립팅 (Jython 사용)을 허용하는 Java 응용 프로그램을 작성하기 때문에 흥미로운 정보를 발견했습니다.

그리고 JavaScript는 "스크립팅 언어"라는 용어의 가장 정확한 의미에서 지구상에서 가장 좋은 두 가지 스크립팅 언어 중 하나입니다. 즉, 더 큰 호스트 시스템에 포함되도록 특별히 설계된 다음 "스크립트"를 조작하는 데 사용되는 언어 호스트 시스템의 객체. 이것이 JavaScript가 설계된 것입니다. 일부 옵션 확장 기능이있는 합리적으로 작고 합리적으로 비공식적 인 사양이 있으며 JavaScript에서 투명하게 호스트 시스템 객체를 표면으로 신중하게 제작 한 인터페이스가 있습니다.

대조적으로, Perl, Python 및 Ruby는 거대한 스프롤이며, 모든 작업에 가장 적합한 언어가되기 위해 C ++ 및 Java와 같은 모든 노력을 기울입니다. 임의의 호스트 시스템을 스크립팅하기 위해 JavaScript와 경쟁하는 유일한 다른 주류 언어는 LUA이며, 게임 산업에서 선택한 스크립팅 언어로 유명합니다.

나는 그에게 JavaScript와 Lua로 좁히는 것에 동의합니다.

편리한 예제가 없다면, 내가 할 수있는 것은 JavaScript/Rhino (또는 LUA를 사용하면 JVM에서 구할 수있게되면) 내 인생을 더 쉽게 만들 수 있다고 말하는 것입니다.

나는 개인적으로 Java 플랫폼에서 JavaScript를 선호합니다. 사용자 기반의 모집단이 더 큽니다. Yegge가 말했듯이, 그것은 "세계에서 가장 오해 된 프로그래밍 언어"이지만 언어에서 사용할 수있는 자원의 양은 플러스입니다. 코뿔소 성숙한 짐승처럼 보입니다.

다른 팁

대상 청중이 "프로그래밍 기술 없음 ...."를 선택하면 Jython (Python)을 선택하면 쉽게 배우기가 쉽습니다. (나의 7 살짜리 Daugther는 그것을 매우 빨리 배웠습니다)

Bruce Eckel은 Jython과 "Java의 Thinking in Java"에서 장을 만들었습니다.

"다운 투표"파이썬을 얻는 위험은 기본적으로 더 쉽습니다 :-)

LUA는 무엇보다도 언어의 단순성으로 인해 배우기 쉽게함으로써 감사합니다. Luajava는 원래 LUA 구현을 사용하여 완료하지만, 지적하면 설치하기에 섬세합니다. 나는 적어도 LUA의 순수한 Java 구현을 알고 있습니다. 칼루아. 완전하지는 않지만 (다른 것들 중에서도 코 루틴 지원이 부족하지만, 그것들 없이는 많은 일을 할 수 있습니다) 아마도 당신의 목표를 위해 이미 사용할 수있을 것입니다.
예를 들어 Groovy와 달리 응용 프로그램에 많은 오버 헤드를 추가해서는 안됩니다 ...

모든 것을 외출하고 싶다면 Java 플랫폼에 대한 스크립팅을 사용하여 한정된 JSR 223에 의해 스크립트 엔진.

또한 완전히 승인 된 JSR이라는 장점이있는 Beanshell도 있습니다.

http://www.beanshell.org/

Java 6에는 이미 JSR 223 스크립팅 언어로 JavaScript를 사용할 수 있습니다.

현재 LUA 스크립트의 Java 개체 및 메소드를 사용할 수있는 라이브러리를 찾고 있습니다.

첫 번째 아이디어는 Luajava를 사용하는 것이었지만 Linux, Mac 및 Windows에서 작동하기를 원하기 때문에 Java 물건 외에 컴파일 된 Lib를 사용한다는 사실에 의해 꺼졌습니다. Windows 만 사전 컴파일 된 바이너리 만 사용할 수 있으며 Mac의 전문가가 아니기 때문에 순수한 Java에서 무언가를 찾으려고 노력했는데 이것을 찾았습니다. http://sourceforge.net/projects/luaj

Luajava의 API뿐만 아니라 LUA DOC에 설명 된 C API를 구현하는 것으로 보입니다.

이 프로젝트는 실제로 발전된 것으로 보이며 Lua (!)의 스윙 호출의 예가 있으며, 내 Linux 상자에서 작업했습니다. 그러나 이상하게도 메일 링리스트, 포럼 및 문서는 정말 드물다.

나는 이것을 Windows와 Mac에서 시도 할 것입니다. 그것이 효과가 있기를 바랍니다.

Kahlua는 언급되었지만 J2ME를 대상으로하는 것이므로 Lua의 일부가 부족한 이유입니다. 나는 같은 목표를 가진 Mochalua라는 프로젝트가 있다고 생각합니다.

반면에 Luaj는 두 가지 버전으로 제공됩니다. 하나는 J2SE를 대상으로 한 두 가지 버전 (코 루틴도)과 J2ME를 대상으로하는 2 ~ 3 개의 리브가 부족한 J2ME (반사가 필요한 Luajava 물건 포함)가 부족합니다.

당신은 고려할 수 있습니다 JaCl. 그것은 원래 포함 된 스크립팅 언어로 설계된 TCL을 기반으로합니다. 따라서, 그것이 삽입 될 수있는 다른 스크립팅 언어보다 그 목적에 훨씬 더 적합하다고 주장 할 수 있습니다.

특히 대상 청중이 "하드 코어 프로그래머가 아님"인 경우 JaCl은 훌륭한 선택을합니다. 지능형 사람들 (특히 유선 프로그래밍 편견이없는 사람들)은 아침에 TCL 구문을 쉽게 선택할 수 있습니다.

당신이 사용할 수있는 릴 프록시 -Java는 즉시 편집 덕분에 Java로 만든 쉘 스크립트를 포함하여 스크립팅 언어로 실제적이고 순수한 Java를 제공합니다. Java "스크립트"가 실행되므로 런처 클래스 로더를 공유하므로 통합은 간단합니다.

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