Submit Search
Upload
C-spirit reborn: why Go was bound to be created
•
Download as PPTX, PDF
•
0 likes
•
966 views
Artem Kovardin
Follow
Сhannels — почему это круто для мультизадачности, defer и другие особенности Go.
Read less
Read more
Engineering
Report
Share
Report
Share
1 of 14
Download now
Recommended
Emscripten, asm.js, and billions of math ops
Emscripten, asm.js, and billions of math ops
Luka Zakrajšek
Let's Go-lang
Let's Go-lang
Luka Zakrajšek
Fun with Raspberry PI (and Perl)
Fun with Raspberry PI (and Perl)
Andrew Shitov
Getting groovy (ODP)
Getting groovy (ODP)
Nick Dixon
Full-stack go with GopherJS
Full-stack go with GopherJS
Poga Po
主機自保指南
主機自保指南
維泰 蔡
Config
Config
Topsportlab
East Bay Ruby Tropo presentation
East Bay Ruby Tropo presentation
Adam Kalsey
Recommended
Emscripten, asm.js, and billions of math ops
Emscripten, asm.js, and billions of math ops
Luka Zakrajšek
Let's Go-lang
Let's Go-lang
Luka Zakrajšek
Fun with Raspberry PI (and Perl)
Fun with Raspberry PI (and Perl)
Andrew Shitov
Getting groovy (ODP)
Getting groovy (ODP)
Nick Dixon
Full-stack go with GopherJS
Full-stack go with GopherJS
Poga Po
主機自保指南
主機自保指南
維泰 蔡
Config
Config
Topsportlab
East Bay Ruby Tropo presentation
East Bay Ruby Tropo presentation
Adam Kalsey
Monitoramento ambiental e alertas visuais com Zabbix - 3º Zabbix Meetup do In...
Monitoramento ambiental e alertas visuais com Zabbix - 3º Zabbix Meetup do In...
Zabbix BR
Go for Rubyists
Go for Rubyists
Luka Zakrajšek
Bash Scripting Gabrovo
Bash Scripting Gabrovo
Marian Marinov
First impressions of Go
First impressions of Go
Yusaku OGAWA
Session 9 4 alp to display the current system time using dos int 21 h
Session 9 4 alp to display the current system time using dos int 21 h
Dr. Loganathan R
Bash is Testing
Bash is Testing
Matt Turner
Perl Power Tools - Saint Perl 6
Perl Power Tools - Saint Perl 6
brian d foy
Bash script (mask off remix)
Bash script (mask off remix)
Elaine Yeung
Why zsh is Cooler than Your Shell
Why zsh is Cooler than Your Shell
brendon_jag
MFC Menu
MFC Menu
Razvan Raducanu, PhD
Instalación de emu8086 y compilados
Instalación de emu8086 y compilados
Diego Erazo
Why Zsh is Cooler than Your Shell
Why Zsh is Cooler than Your Shell
jaguardesignstudio
Knee-deep in C++ s... code
Knee-deep in C++ s... code
PVS-Studio
Sol8
Sol8
University Of Lahore
C++ hello world
C++ hello world
AL- AMIN
Hls за час
Hls за час
volegg
The hacker choice
The hacker choice
Flavio Castelli
OOP в Go
OOP в Go
Artem Kovardin
Garbage collector и управление памятью в Go
Garbage collector и управление памятью в Go
Artem Kovardin
Anthony Starks - deck
Anthony Starks - deck
Artem Kovardin
Building A Relevancy Engine Using MongoDB and Go
Building A Relevancy Engine Using MongoDB and Go
ardan-bkennedy
Fraser Graham Killer Robots
Fraser Graham Killer Robots
Artem Kovardin
More Related Content
What's hot
Monitoramento ambiental e alertas visuais com Zabbix - 3º Zabbix Meetup do In...
Monitoramento ambiental e alertas visuais com Zabbix - 3º Zabbix Meetup do In...
Zabbix BR
Go for Rubyists
Go for Rubyists
Luka Zakrajšek
Bash Scripting Gabrovo
Bash Scripting Gabrovo
Marian Marinov
First impressions of Go
First impressions of Go
Yusaku OGAWA
Session 9 4 alp to display the current system time using dos int 21 h
Session 9 4 alp to display the current system time using dos int 21 h
Dr. Loganathan R
Bash is Testing
Bash is Testing
Matt Turner
Perl Power Tools - Saint Perl 6
Perl Power Tools - Saint Perl 6
brian d foy
Bash script (mask off remix)
Bash script (mask off remix)
Elaine Yeung
Why zsh is Cooler than Your Shell
Why zsh is Cooler than Your Shell
brendon_jag
MFC Menu
MFC Menu
Razvan Raducanu, PhD
Instalación de emu8086 y compilados
Instalación de emu8086 y compilados
Diego Erazo
Why Zsh is Cooler than Your Shell
Why Zsh is Cooler than Your Shell
jaguardesignstudio
Knee-deep in C++ s... code
Knee-deep in C++ s... code
PVS-Studio
Sol8
Sol8
University Of Lahore
C++ hello world
C++ hello world
AL- AMIN
Hls за час
Hls за час
volegg
The hacker choice
The hacker choice
Flavio Castelli
What's hot
(17)
Monitoramento ambiental e alertas visuais com Zabbix - 3º Zabbix Meetup do In...
Monitoramento ambiental e alertas visuais com Zabbix - 3º Zabbix Meetup do In...
Go for Rubyists
Go for Rubyists
Bash Scripting Gabrovo
Bash Scripting Gabrovo
First impressions of Go
First impressions of Go
Session 9 4 alp to display the current system time using dos int 21 h
Session 9 4 alp to display the current system time using dos int 21 h
Bash is Testing
Bash is Testing
Perl Power Tools - Saint Perl 6
Perl Power Tools - Saint Perl 6
Bash script (mask off remix)
Bash script (mask off remix)
Why zsh is Cooler than Your Shell
Why zsh is Cooler than Your Shell
MFC Menu
MFC Menu
Instalación de emu8086 y compilados
Instalación de emu8086 y compilados
Why Zsh is Cooler than Your Shell
Why Zsh is Cooler than Your Shell
Knee-deep in C++ s... code
Knee-deep in C++ s... code
Sol8
Sol8
C++ hello world
C++ hello world
Hls за час
Hls за час
The hacker choice
The hacker choice
Viewers also liked
OOP в Go
OOP в Go
Artem Kovardin
Garbage collector и управление памятью в Go
Garbage collector и управление памятью в Go
Artem Kovardin
Anthony Starks - deck
Anthony Starks - deck
Artem Kovardin
Building A Relevancy Engine Using MongoDB and Go
Building A Relevancy Engine Using MongoDB and Go
ardan-bkennedy
Fraser Graham Killer Robots
Fraser Graham Killer Robots
Artem Kovardin
Go database/sql
Go database/sql
Artem Kovardin
High Performance Systems in Go - GopherCon 2014
High Performance Systems in Go - GopherCon 2014
Derek Collison
Best practices-for-production-environments
Best practices-for-production-environments
Artem Kovardin
A Channel Compendium
A Channel Compendium
Cloudflare
Viewers also liked
(9)
OOP в Go
OOP в Go
Garbage collector и управление памятью в Go
Garbage collector и управление памятью в Go
Anthony Starks - deck
Anthony Starks - deck
Building A Relevancy Engine Using MongoDB and Go
Building A Relevancy Engine Using MongoDB and Go
Fraser Graham Killer Robots
Fraser Graham Killer Robots
Go database/sql
Go database/sql
High Performance Systems in Go - GopherCon 2014
High Performance Systems in Go - GopherCon 2014
Best practices-for-production-environments
Best practices-for-production-environments
A Channel Compendium
A Channel Compendium
Similar to C-spirit reborn: why Go was bound to be created
Code that gets you pwn(s|'d)
Code that gets you pwn(s|'d)
snyff
MeCC: Memory Comparison-based Code Clone Detector
MeCC: Memory Comparison-based Code Clone Detector
영범 정
MeCC: Memory Comparison based Clone Detector
MeCC: Memory Comparison based Clone Detector
Sung Kim
Damn Fine CoffeeScript
Damn Fine CoffeeScript
niklal
String Manipulation Function and Header File Functions
String Manipulation Function and Header File Functions
Bosco Technical Training Society, Don Bosco Technical School (Aff. GGSIP University, New Delhi)
2007 09 10 Fzi Training Groovy Grails V Ws
2007 09 10 Fzi Training Groovy Grails V Ws
loffenauer
Similar to C-spirit reborn: why Go was bound to be created
(6)
Code that gets you pwn(s|'d)
Code that gets you pwn(s|'d)
MeCC: Memory Comparison-based Code Clone Detector
MeCC: Memory Comparison-based Code Clone Detector
MeCC: Memory Comparison based Clone Detector
MeCC: Memory Comparison based Clone Detector
Damn Fine CoffeeScript
Damn Fine CoffeeScript
String Manipulation Function and Header File Functions
String Manipulation Function and Header File Functions
2007 09 10 Fzi Training Groovy Grails V Ws
2007 09 10 Fzi Training Groovy Grails V Ws
Recently uploaded
What are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptx
wendy cai
Why does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsync
Why does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsync
ssuser2ae721
Churning of Butter, Factors affecting .
Churning of Butter, Factors affecting .
Satyam Kumar
Artificial-Intelligence-in-Electronics (K).pptx
Artificial-Intelligence-in-Electronics (K).pptx
britheesh05
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
9953056974 Low Rate Call Girls In Saket, Delhi NCR
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
9953056974 Low Rate Call Girls In Saket, Delhi NCR
Introduction to Machine Learning Unit-3 for II MECH
Introduction to Machine Learning Unit-3 for II MECH
C Sai Kiran
computer application and construction management
computer application and construction management
MariconPadriquez1
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
Asst.prof M.Gokilavani
Heart Disease Prediction using machine learning.pptx
Heart Disease Prediction using machine learning.pptx
PoojaBan
Design and analysis of solar grass cutter.pdf
Design and analysis of solar grass cutter.pdf
Tagore Institute of Engineering And Technology
Introduction-To-Agricultural-Surveillance-Rover.pptx
Introduction-To-Agricultural-Surveillance-Rover.pptx
k795866
Risk Assessment For Installation of Drainage Pipes.pdf
Risk Assessment For Installation of Drainage Pipes.pdf
ROCENODodongVILLACER
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
sdickerson1
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
jennyeacort
Electronically Controlled suspensions system .pdf
Electronically Controlled suspensions system .pdf
me23b1001
An introduction to Semiconductor and its types.pptx
An introduction to Semiconductor and its types.pptx
Purva Nikam
Work Experience-Dalton Park.pptxfvvvvvvv
Work Experience-Dalton Park.pptxfvvvvvvv
LewisJB
IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024
Mark Billinghurst
complete construction, environmental and economics information of biomass com...
complete construction, environmental and economics information of biomass com...
asadnawaz62
Recently uploaded
(20)
What are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptx
Why does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsync
Why does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsync
Churning of Butter, Factors affecting .
Churning of Butter, Factors affecting .
Artificial-Intelligence-in-Electronics (K).pptx
Artificial-Intelligence-in-Electronics (K).pptx
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
Introduction to Machine Learning Unit-3 for II MECH
Introduction to Machine Learning Unit-3 for II MECH
computer application and construction management
computer application and construction management
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
Heart Disease Prediction using machine learning.pptx
Heart Disease Prediction using machine learning.pptx
Design and analysis of solar grass cutter.pdf
Design and analysis of solar grass cutter.pdf
Introduction-To-Agricultural-Surveillance-Rover.pptx
Introduction-To-Agricultural-Surveillance-Rover.pptx
Risk Assessment For Installation of Drainage Pipes.pdf
Risk Assessment For Installation of Drainage Pipes.pdf
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Electronically Controlled suspensions system .pdf
Electronically Controlled suspensions system .pdf
An introduction to Semiconductor and its types.pptx
An introduction to Semiconductor and its types.pptx
Work Experience-Dalton Park.pptxfvvvvvvv
Work Experience-Dalton Park.pptxfvvvvvvv
IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024
complete construction, environmental and economics information of biomass com...
complete construction, environmental and economics information of biomass com...
C-spirit reborn: why Go was bound to be created
1.
C-spirit reborn, or
why Go was bound to be created BOHDAN TROTSENKO
2.
C, C++ CMyClass instance; instance.DoSomething();
3.
… void *p =
get_memory_on_stack(sizeof(CMyClass)); try { p.ctr(); p.DoSomething(); } catch (...) { p.~dstr(); }
4.
Imperative Languages C, C++ Go Java,
C#
5.
Enterprise principle The straight-forward
way to do things is the right way to do things
6.
func FillInp(path string,
res chan string) { var ( file *os.File err error ) defer close(res) if file, err = os.Open(path); err != nil { fmt.Println("Error opening file", err) return } defer file.Close()
7.
… some horrible
code sem := make(chan bool, parallelism) // semaphore for perm := 0; perm < parallelism; perm++ { sem <- true // add initial values } for cs := 0; cs < len(cases); cs++ { <-sem // read values thiscase := cs go func() { Solve(&cases[thiscase]) sem <- true // permit others to continue }() }
8.
9.
10.
protobuf message Test { required
string label = 1; optional int32 type = 2 [default=77]; repeated int64 reps = 3; optional group OptionalGroup = 4 { required string RequiredField = 5; } }
11.
usage of protobuf test
:= &example.Test { Label: proto.String("hello"), Type: proto.Int32(17), Optionalgroup: &example.Test_OptionalGroup { RequiredField: proto.String("good bye"), }, } data, err := proto.Marshal(test) if err != nil { log.Fatal("marshaling error: ", err) }
12.
A few gotchas… dbg_f("Awaiting
writer...") <-outWG dbg_ln("done.") //////////////// hostname := packet[start:end]
13.
Bottom line Go is
lightweight and powerfull Collections and memory made right Concurrency made right Software architecture made wonderful
14.
bohdan@trotsenko.com.ua http://trotsenko.com.ua @modosansreves
Download now