Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Golang Concurrency
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Alex Wheeler
November 16, 2017
91
0
Share
Golang Concurrency
Alex Wheeler
November 16, 2017
More Decks by Alex Wheeler
See All by Alex Wheeler
Running Rings Around Rack
alexwheeler
0
88
Rewriting Rack: A Functional Approach
alexwheeler
2
160
Man Computer Symbiosis
alexwheeler
0
140
Flipper
alexwheeler
0
140
Transducers
alexwheeler
0
72
Character Encodings
alexwheeler
0
120
Featured
See All Featured
Principles of Awesome APIs and How to Build Them.
keavy
128
17k
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
5
1.1k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
530
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.5k
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
71
40k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.7k
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
440
Technical Leadership for Architectural Decision Making
baasie
3
400
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
1
770
Paper Plane
katiecoart
PRO
1
51k
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
1
1.3k
Transcript
Golang The Future of VTS
• Yes, there will be Vim.
Background • Developed at Google • Born out of frustration
• 1. efficient compilation • 2. efficient execution • 3. ease of programming
Background • make programming fun again • feel of dynamic
language with type safety • run-time that supports GC, concurrency • lightweight flexible type system
Hello, World
Syntax
implicit typing
Concurrency
BUT FIRST… • Concurrency != Parallelism • Concurrency is about
dealing with lots of things at once. • Parallelism is about doing lots of things at once
goroutine • lightweight thread managed by the go runtime •
little memory (~2kb stack space), can spawn millions if you want • go f() starts function f in a new groutine
None
• “Don't communicate by sharing memory; share memory by communicating.”
- Golang • Communicating Sequential Processes - Tony Hoare
<- channels <- • typed structure through which you can
send/receive values using the channel operator • first class values • block by default
sending to channel
receiving from channel
Time for some code
None
None
Vim Support • https://github.com/fatih/vim-go
Further Learning • https://tour.golang.org • brew install go -- cross-compile-common
• #go-nuts on freenode • @askwheeler