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

To Go or Not To Go : that is the question (Geeks Who Drink発表資料) / To Go or Not To Go

To Go or Not To Go : that is the question (Geeks Who Drink発表資料) / To Go or Not To Go

6月28日のGeeks Who Drinkで、ヌーラボのJuliusがお話しした、Golangに関する発表資料です。

More Decks by 株式会社ヌーラボ

Other Decks in Programming

Transcript

  1. –Phil Karlton
    “There are only two hard things in Computer Science:
    cache invalidation and naming things.”

    View full-size slide

  2. To Go or Not To Go:
    that is the question

    View full-size slide

  3. package main
    import "fmt"
    func main() {
    fmt.Println("Hello, Newbies!")
    }

    View full-size slide

  4. package main
    import "fmt"
    func main() {
    fmt.Println("Revenge of the Newbies")
    }

    View full-size slide

  5. What is the most challenging thing in programming
    for you?

    View full-size slide

  6. –Spielberg to Kubrick
    “The hardest part about directing is getting out of
    the car.”

    View full-size slide

  7. –Spielberg to Kubrick (if they were programmers)
    “The hardest part about programming is coming to
    work especially on Monday morning and start
    coding.”

    View full-size slide

  8. Free breakfast @nulab
    every Monday morning

    View full-size slide

  9. –Phil Karlton
    “There are only two hard things in Computer Science:
    cache invalidation and naming things.”

    View full-size slide

  10. Not everyone happy with Golang
    Because Golang is not ice cream

    View full-size slide

  11. Golang Design Goals
    • Light weight
    • Type safe
    • Easy to learn

    View full-size slide

  12. Golang is not going to give you
    anything you want

    View full-size slide

  13. no class
    no inheritance

    View full-size slide

  14. no generic
    no functional operators

    View full-size slide

  15. no optional type
    no exception handling

    View full-size slide

  16. Other unusual things
    • Goroutine

    • Uninitialized var will be zero valued

    • Only one loop construct and no ternary if

    • Dependency can’t be circular

    • Usually only one workspace

    • Dependency management problem

    • No function argument default value

    • Unusual method construct

    View full-size slide

  17. To Go or Not To Go: that is the question

    View full-size slide

  18. Is Golang missing important features
    to be useful for serious project?

    View full-size slide

  19. –Bob Marley & The Wailers
    “Every Little Thing is Gonna Be Alright.”

    View full-size slide

  20. “And it will be awesome too.”

    View full-size slide

  21. Thank you
    Julius @Sirait
    Software Developer at Nulab

    View full-size slide