The Go programming language
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 |
Contents
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
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
- goclipse Golang plugin for Eclipse
Database packages
- MySQL
- Postgres
- sqlite
- CouchDB
- MongoDB
- mgo install with: go get labix.org/mgo
- gorp doc install with: go get github.com/coopernurse/gorp
Web frameworks
- gorillatoolkit.orginstall with: see page for subpackages
- Goweb Framework doc install with: go get github.com/stretchr/goweb
- Revel Framework install with: go get
- beego.me install with: go get