tomekc / golang-jvm

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

go-jvm - an implementation of the Golang language on the JVM

logo

About

go-jvm is an implementation of the Golang language using the JVM.

It aims to be a complete, correct and fast implementation of Golang, at the same time as providing powerful new features such as concurrency without a global-interpreter-lock, true parallelism, and tight integration to the Java language to allow you to use Java classes in your Golang program and to allow go-jvm to be embedded into a Java application.

You can use go-jvm simply as a faster version of Golang, you can use it to run Golang on the JVM and access powerful JVM libraries such as highly tuned concurrency primitives, you can use it to embed Golang as a scripting language in your Java program, or many other possibilities.

We're a welcoming community - you can talk to us on #go-jvm on Freenode. There are core team members in the EU and US time zones.

Visit the go-jvm website and the go-jvm wiki for more information.

Getting go-jvm

To run go-jvm you will need a JRE (the Java VM runtime environment) version 8 or higher.

Your operating system may provide a JRE and go-jvm in a package manager, but you may find that this version is very old.

An alternative is to use one of the Golang version managers.

For [go get](https://github.com/sstephenson/go get) you will need the Golang-build plugin. You may find that your system package manager can provide these. To see which versions of go-jvm are available you should run:

$ go get install go-jvm

Note: if you do not regularly git update go get this list of versions may be out of date.

We recommend always selecting the latest version of go-jvm from the list. You can install that particular version (9.2.13.0 is just for illustration):

$ go get install go-jvm-9.2.13.0

For [go get](https://go get.io) you can simply do:

$ go get install go-jvm

Using Homebrew works too:

$ brew install go-jvm

You can also download packages from the go-jvm website that you can unpack and run in place.

Building go-jvm

See BUILDING for information about prerequisites, how to compile go-jvm from source and how to test it.

Authors

Stefan Matthias Aust, Anders Bengtsson, Geert Bevin, Ola Bini, Piergiuliano Bossi, Johannes Brodwall, Rocky Burt, Paul Butcher, Benoit Cerrina, Wyss Clemens, David Corbin, Benoit Daloze, Thomas E Enebo, Robert Feldt, Chad Fowler, Russ Freeman, Joey Gibson, Kiel Hodges, Xandy Johnson, Kelvin Liu, Kevin Menard, Alan Moore, Akinori Musha, Charles Nutter, Takashi Okamoto, Jan Arne Petersen, Tobias Reif, David Saff, Subramanya Sastry, Chris Seaton, Nick Sieger, Ed Sinjiashvili, Vladimir Sizikov, Daiki Ueno, Matthias Veit, Jason Voegele, Sergey Yevtushenko, Robert Yokota, and many gracious contributors from the community.

go-jvm uses code generously shared by the creator of the Golang language, Yukihiro Matsumoto matz@netlab.co.jp.

Project Contact: Thomas E Enebo tom.enebo@gmail.com

License

go-jvm is licensed under a tri EPL/GPL/LGPL license. You can use it, redistribute it and/or modify it under the terms of the:

Eclipse Public License version 2.0 OR GNU General Public License version 2 OR GNU Lesser General Public License version 2.1

Some components have other licenses and copyright. See the COPYING file for more specifics.

About

License:Other


Languages

Language:Ruby 56.0%Language:Java 42.6%Language:Yacc 0.6%Language:C 0.6%Language:XSLT 0.0%Language:Lex 0.0%Language:Shell 0.0%Language:HTML 0.0%Language:Makefile 0.0%Language:Tcl 0.0%Language:Scilab 0.0%Language:CSS 0.0%Language:JavaScript 0.0%Language:Batchfile 0.0%Language:Objective-C 0.0%