Тёмный

Opening keynote: Clear is better than clever - GopherCon SG 2019 

Singapore Gophers
Подписаться 5 тыс.
Просмотров 15 тыс.
50% 1

Speaker: Dave Cheney, VMware (@davecheney)
Well socialised Gophers often cite readability as one of Go’s core tenets, I disagree.
In this talk I’ll discuss the differences between readability and clarity, show how to write clear Go code, and argue that Go programmers should strive for clarity, not just readability, in their programs.
About the speaker
David Cheney is an open source contributor and project member for the Go programming language. David is a well-respected voice within the tech community, speaking on a variety of topics such as software design, performance, and the Go programming language.
In 2009, while idly perusing Google Reader, he ran across the announcement of a new open source language, Go. It was love at first sight. From that point David’s passion has taken him around the world writing, teaching, and speaking about Go.
David is currently a member of the technical staff at VMware. Prior to their acquisition he served as a Staff Engineer at Heptio, a Seattle based company, focused on building tools to help developers become more productive with Kubernetes.
Event Page: 2019.gophercon.sg

Наука

Опубликовано:

 

19 май 2019

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 18   
@nyashachiroro2531
@nyashachiroro2531 Год назад
"Do not make your code harder to read because you think it needs to be faster" 😮😮 Damnn
@kamilziemian995
@kamilziemian995 2 года назад
I love Go proverbs talks by Dave Cheney.
@bluebobx
@bluebobx 4 года назад
Interesting talk, worth sharing with the rest of a development team writing in Go.
@gregmurdoch3264
@gregmurdoch3264 3 года назад
Great points, and I agree. The problem comes when you're given unrealistic deadlines that result in you having to get something working in 20% - 10% of the time you actually need. In that case just getting the functionality working is the important aspect, with the cleaning, simplifying and refactoring coming later.
@Meritumas
@Meritumas Год назад
except for the fact that "later" never comes ;-) as we know
@jonasfelix7700
@jonasfelix7700 4 года назад
If i want to initialize to 0 cause 0 is the value that is relevant for the first operation, couldn’t initializing it to 0 give you more clarity.
@TheMrKeksLp
@TheMrKeksLp 3 года назад
Yes it would. The problem you're having is that you assume there is any logic in Go's design and motivation when there really isn't. `var sum int` is objectively less readable than Rust's `let sum = 0u32;` which is using an optional type suffix to make it even more clear what we're getting. Note that Rust does crazy type deduction so `let sum = 0; sum += 0 as u8;` results in sum being a u8 variable
@KurtisRader
@KurtisRader 3 года назад
@@TheMrKeksLp Go away, troll. Stick to a single language and let me know a decade from no how that worked out for you. FWIW, I've been programming for a living since 1979 and have learned, become proficient in, and forgotten more computer languages than you have probably written even a trivial "hello world" in.
@nyrtzi
@nyrtzi 3 года назад
We add complexity to solve problems. There are no simple solutions to complex problems after all. So we're back to inherent and accidental complexity. The tools (including our skills to use them) should help us solve the problems instead of becoming a part of the problem by adding accidental complexity. Easier said than done. In the end the combination of the code and everything else around it need to bear their combined weight. Rewriting is just an attempt to simplify things. While saying all this I'm thinking of the economics of complexity in how complex societies work.
@OstretsovArtem
@OstretsovArtem 5 лет назад
WriteTo should better be renamed to just Write at 18:40
@Velobetty
@Velobetty 5 лет назад
@@michaelmcloughlin3868 Naming things is hard. Hence the two greatest problems in computer science; cache invalidation, naming things, and off-by-one errors.
@slideweasel
@slideweasel 3 года назад
@@Velobetty The day I have my Ted Talk, I'll open with this phrase
@chuckles2040
@chuckles2040 3 года назад
why do people need to do a conference on a language that is darn simple? you can save yourself 45 minutes and read the spec of effective go.
@ryanleemartin7758
@ryanleemartin7758 3 года назад
lol that's true. My guess is it generates excitement and helps build community. No language really needs a conference.
@fringefringe7282
@fringefringe7282 4 года назад
Wonder how Linux Kernel would come to be if people would not write clever code... This Keynote assumes a programmer is a moron...
@TheMrKeksLp
@TheMrKeksLp 3 года назад
The assumption that you're a moron is literally why Go was created and it's plainly visible in all of it's design decisions. Go is fine as a beginners language but not much more beyond that
@fringefringe7282
@fringefringe7282 3 года назад
@@TheMrKeksLp Go was created because of me? Wow, I am so special:)
@vpraid
@vpraid 3 года назад
@@TheMrKeksLp Except every single important piece of cloud infrastructure happens to be written in the "beginners language".
Далее
So... why did AI take off now?
4:01
Просмотров 478
Наше обычное утро 💕
00:42
Просмотров 914 тыс.
Garbage Collection Semantics - GopherCon SG 2019
26:56
dotGo 2015 - Rob Pike - Simplicity is Complicated
23:12
Новые iPhone 16 и 16 Pro Max
0:42
Просмотров 1,7 млн
iPhone 16 - 20+ КРУТЫХ ИЗМЕНЕНИЙ
5:20
iPhone 15 Pro в реальной жизни
24:07
Просмотров 454 тыс.