Description Want to write code that runs fast(er than ruby, python, php) and can be written fast(er than java, C++)? Go might be worth a try, especially for web and network projects. This workshop aims to be a platform to meet and exchange thoughts with other go programmers or simply to become one in the first place. No prior knowlegde required. Bringing a computer is highly recommended.
Website(s) http://golang.org
Type Workshop
Keyword(s) software, network, coding
Person organizing Flexy
Language de - German, en - English
Other session...

Subtitle an introduction
Starts at 2013/12/28 02:00:00 PM
Ends at 2013/12/28 04:00:00 PM
Duration 120 minutes
Location Hall 13

About Go

Go is (relatively) new programming language. It's main focus is easy to use concurrency and good networking functionallity. Combining the speed and typesafety of compiled languages (like C++ and Java) with the fast development and lightweight syntax of dynamically typed languages (like ruby, python or php).

A hallmark feature of go is that concurrency support is build right into the language, making it easier to exploit the resources of modern multicore processors.

While not beeing an object oriented language in the classical sense, it provides features that allow you to do allmost everything classical OO gives you.

Additionally documentation and testing are included in the language making it easy to write well maintainable software.

While created by google employees, the language and compilers are completely open source.

For further information about the language visit the website or come to the workshop ;-)

This Workshop

At the beginning a short (45 min) introduction will be given.

  • language concepts and synthax
  • concurrency
  • existing tools that make life simpler (web frameworks, database tools, etc)
  • getting started

Afterwards it's time for playing with the language hands on and exchanging with other go programmers.

About me

Eventhough maintaining and improving IT is part of my professional life, I'm not a professional programmer. So writing code for me should primarily be an enjoyable act. Having started with python and php, I greatly enjoyed being able to just write programs. When deployment time came, these languages didn't feel so good anymore. At the same time I realized, that I'd soon need more hardware, should the project grow. Go gave me the alternative: Make the code faster, serving more users with the same hardware. Still, Go's learning curve was much much friendlier than Java's, let alone C++'s.

At the moment I work on a website, that helps people to learn chinese characters.


Links

Golang

Additional Libs

  • go.crypto doc additional crypto functionality from the go team (blowfish, ssh, pgp, ...)
  • go.net doc additional additional networking functionality from the go team (html parser, proxy, etc)

Documentation

  • godoc.org look up the documentation of published packages

Videos

Tutorials

Code Completion

  • gocode install with: go get github.com/nsf/gocode

IDEs

Database packages

  • MySQL
    • GoMySQL doc install with: go get github.com/Philio/GoMySQL
    • go-sql-driver doc install with: go get github.com/go-sql-driver/mysql
    • mymysql doc install with: go get github.com/ziutek/mymysql
  • Postgres
    • pq doc install with: go get github.com/lib/pq
  • sqlite
    • sqlite3 doc install with: go get github.com/mattn/go-sqlite3
  • CouchDB
    • couch go doc install with: go get code.google.com/p/couch-go
  • MongoDB
    • mgo install with: go get labix.org/mgo
  • gorp doc install with: go get github.com/coopernurse/gorp

Web frameworks