GOLANG

⚡ talk by david



¿¡WHY!?




FAST LANGUAGES






    but they are miserable to program with



    SLOW LANGUAGES







    but they're beautiful and easy to use

    SO WHERE DOES GO COME IN?



    SOME SMART 
    DUDES MADE IT



    • UNIX
    • B Programming Language
    • UTF-8
    • Plan9
    • Inferno
    • Limbo
                                           
                                               and some other stuff...

    yeah but what is it?

    go is compiled
    go is small
    go is for writing quick software fast
    go is targeted at multicore programming

    but you don't *need* to worry about multiple cores



    OKAY COOL

    IT HAS

    ~ a nice package manager (with http://godoc.org/)
    ~ docs that are pretty decent (> godoc 'package')
    ~ garbage collection (eat your heart out C folks)
    ~ concurrency built-in
    ~ structs/interfaces instead of classes
    ~ a lack of flow-based exceptions (but should compiled things except?)
    ~ a "dynamic feel" (kill me now)



    BUT I WANT CLASSES
    
    package main
    
    import (
          "fmt"
          "net/http"
    )
    
    type Bikeshed struct{}
    
    func (b Bikeshed) ServeHTTP(
          w http.ResponseWriter,
          r *http.Request) {
          fmt.Fprint(w,
                     "the bikeshed should clearly be "+
                     r.FormValue("color"))
    }
    
    func main() {
          var b Bikeshed
          http.ListenAndServe("localhost:4000", b)
    }
    
    

    GO HERE:


    http://tour.golang.org/

    GO LANG

    By cashscam