Skip to content

Instantly share code, notes, and snippets.

@jasonkeene
Last active March 23, 2017 18:39
Show Gist options
  • Save jasonkeene/db564f08bfb1f7759b6f to your computer and use it in GitHub Desktop.
Save jasonkeene/db564f08bfb1f7759b6f to your computer and use it in GitHub Desktop.
Go for the Dynamic Programmer

Go for the Dynamic Programmer

  • Introduction
    • I love dynamic languages
    • You will hate the compiler (at first)
    • Goals for the series
  • C vs Go vs Python/Ruby/JavaScript
    • Compilation Speed
    • Runtime Speed
    • Startup Time
    • Garbage Collelction
      • Reference Counting
      • Mark and Sweep
    • Memory Safety
    • Bounds Checks
    • Concurrency (GIL/Single Threaded Interpreters)
    • Type Systems (Compile/Runtime)
  • Robustness
    • {} + []
    • None attribute error
    • unwinding stacks
  • Installation
    • Install
    • Setup Workspace
  • Tooling
    • go run/build/install/get
    • gofmt
    • goimports
    • godoc
  • Why Static Typing
  • Type Inferance (ease the pain)
  • Collections
    • Literals
    • Common Operations
  • Stack vs Heap Allocation
  • Pointers
  • Escape Analysis
  • Functions (inner/anon/closures/etc)
  • Concurrency
    • Shared Memory w/ Locks
    • CSP
  • Interfaces (Duck Typing)
  • OOP in Go
  • Error Handling
@carlisia
Copy link

Doit!

@jasonkeene
Copy link
Author

I'm going to turn this into a talk for the Boulder Go meetup! They are recorded :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment