Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Java on the Go - Go als Hilfsmittel für den Java-Veteranen

Java on the Go - Go als Hilfsmittel für den Java-Veteranen

Go ist eine moderne Sprache, die besonders im DevOps-Bereich größere Verbreitung gefunden hat. Tools wie Docker, Kubernetes, Prometheus oder InfluxDB sind alle in der von Google als C/C++-Ersatz entwickelten Sprache geschrieben. Der Fokus von Go liegt dabei auf hoher Performance und einfacher Behandlung von Nebenläufigkeit. Zudem bringt die Sprache ein statisches Typsystem und einen Garbage Collector mit und steht damit in direkter Konkurrenz zu Java.

Dieser Vortrag zeigt anhand vieler Beispiele die einfache Syntax und die wichtigsten Features von Go und gewährt damit den berühmten Blick über den Tellerrand. Und auch wenn niemand zu Go bekehrt werden soll, bieten sich auch für klassische Java-Entwickler interessante Einsatzgebiete in Form von Skripten und kleinen Tools.

Jannis Schaefer

March 13, 2018
Tweet

More Decks by Jannis Schaefer

Other Decks in Technology

Transcript

  1. Jannis Schaefer | cosee [email protected] | @jannisschaefer Java on the

    Go Go als Hilfsmittel für den Java-Veteranen
  2. Why run when you could Go? • Concurrency in mind

    • Clean syntax = No magic™ • Quickly compiled to assembly • Powerful tooling • Static binaries for all mayor platforms • Garbage Collection medium.com/@kevalpatel2106/why-should-you-learn-go-f607681fad65
  3. Standard Library https://golang.org/pkg/#stdlib archive bufio compress context crypto database/sql encoding

    errors expvar flag fmt html image io log math net/http net net/mail os path reflect regexp sort strings testing text text/template time encoding/json encoding/xml
  4. Things you need to Go • Go installation from golang.org/dl/

    • Some text editor or IDE (VSCode, GoLand, vim) • Built-in Tools explained in the next few minutes
  5. Go for what? • Server applications and micro services •

    http/2 support built-in • modern TLS settings • small size Docker containers • CLI tools for different platforms • Easy cross compilation • Official library for almost every cloud service
  6. Where to Go now? Effective Go „Offical Guide“ golang.org/doc/effective_go.html Links

    to learning resources github.com/golang/go/wiki/Learn Small code examples gobyexample.com Awesome contributed libraries github.com/avelino/awesome-go Democode github.com/schjan/image-converter
  7. Jannis Schaefer | cosee GmbH [email protected] | @jannisschaefer > blog.cosee.biz

    > jobs.cosee.biz > cosee.biz github.com/ashleymcnamara/gophers