mirror of
https://github.com/vbatts/talks.git
synced 2024-12-04 22:25:41 +00:00
2018 devconf
This commit is contained in:
parent
f565eff1e0
commit
4e28b8b764
3 changed files with 135 additions and 0 deletions
Binary file not shown.
After Width: | Height: | Size: 355 KiB |
BIN
2018/01/devconf.cz-golang/best_release.png
Normal file
BIN
2018/01/devconf.cz-golang/best_release.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 84 KiB |
135
2018/01/devconf.cz-golang/talk.slide
Normal file
135
2018/01/devconf.cz-golang/talk.slide
Normal file
|
@ -0,0 +1,135 @@
|
|||
What's new in the World of Golang?
|
||||
26.2.2018 - devconf.cz
|
||||
|
||||
Vincent Batts
|
||||
Developer
|
||||
@vbatts
|
||||
vbatts@redhat.com
|
||||
https://github.com/vbatts/talks
|
||||
|
||||
* howdy
|
||||
|
||||
$> whoami
|
||||
vbatts
|
||||
$> id -Gn
|
||||
vbatts devel openshift docker golang slackware ruby farts etc
|
||||
|
||||
* Golang
|
||||
|
||||
.image 74f836db7e03776d5592cfd0943480ec12fc6b68.png _ 300
|
||||
.caption [[https://gopherize.me/gopher/74f836db7e03776d5592cfd0943480ec12fc6b68][gopherize.me]]
|
||||
|
||||
* Overview
|
||||
|
||||
- strongly typed
|
||||
- compiled
|
||||
- stylistically nice
|
||||
- opinionated
|
||||
|
||||
* Release Timeles
|
||||
|
||||
6 month cadence
|
||||
|
||||
- Go1.5 - 19.8.2015
|
||||
- Go1.6 - 17.2.2016
|
||||
- Go1.7 - 15.8.2016
|
||||
- Go1.8 - 16.2.2017
|
||||
- Go1.9 - 24.8.2017
|
||||
- Upcoming 1.10 release [[https://github.com/golang/go/compare/go1.9...go1.10rc1][go1.9...go1.10rc1]] 2066 commits
|
||||
|
||||
* Best release ever
|
||||
|
||||
.image best_release.png _ 400
|
||||
.caption [[https://twitter.com/search?f=tweets&vertical=default&q=best%20release%20from%3Abradfitz&src=typd][twitter.com]]
|
||||
|
||||
* New Features
|
||||
|
||||
since my 2015 devconf.cz "Golang: the Good, the Bad, and the Ugly"
|
||||
|
||||
* New Features
|
||||
|
||||
- Full compiler rewrite from C to golang (go1.5)
|
||||
- No cross-compile bootstrapping needed (go1.5)
|
||||
- Shared library support (C->go; go->go; go->C) (go1.5)
|
||||
- HTTP/2 support (go1.6)
|
||||
- “Vendor” directory feature now default (go1.6)
|
||||
- Static-single assignment (SSA) compiler backend (go1.7)
|
||||
- Reduction in binary size by 20-30% (go1.7)
|
||||
|
||||
* New Features
|
||||
|
||||
- `context` package now included (go1.8)
|
||||
- Dynamically loadable “plugins” (go1.8)
|
||||
- Testing helpers, safe sync.Map and monotonic time (go1.9)
|
||||
- Sparse files for `archive/tar` (g1.10)
|
||||
|
||||
* Less than Ideal
|
||||
|
||||
- package management
|
||||
|
||||
vendoring is a beast
|
||||
|
||||
[[https://github.com/golang/dep][github.com/golang/dep]]
|
||||
|
||||
- RPMs
|
||||
|
||||
[[https://github.com/gofed/gofed][github.com/gofed/gofed]]
|
||||
|
||||
- Package guidelines ...
|
||||
|
||||
[[https://fedoraproject.org/wiki/PackagingDrafts/Go][Fedora Go Packaging Draft]]
|
||||
[[https://fedorahosted.org/fpc/ticket/382][FPC #382]]
|
||||
|
||||
* Less than Ideal
|
||||
|
||||
- Debugging still is archaic (but hopeful!)
|
||||
|
||||
Call to action for DWARF and elf folks to contribute. Gdb
|
||||
|
||||
- FIPS isn’t there yet
|
||||
|
||||
* Reasons it’s nice
|
||||
|
||||
- FIPS is in progress!
|
||||
|
||||
Upstream has a branch working with boringSSL
|
||||
We are now working to incorporate and participate in this effort
|
||||
|
||||
- Debugger traction
|
||||
|
||||
[[https://github.com/derekparker/delve][github.com/derekparker/delve]]
|
||||
|
||||
We have understanding with and interest from upstream, but they are not motivated for gdb features
|
||||
|
||||
* Reasons it’s nice
|
||||
|
||||
- Learning and ownership of code is easier
|
||||
- Multi-arch and gcc-go (which is go1.8.1 as of gcc-7.2)
|
||||
|
||||
Cross-Compiles are nice (apart from cgo understandably)
|
||||
|
||||
- Community is diverse and vigilant
|
||||
|
||||
And growing [[https://trends.google.com/trends/explore?date=all&q=golang&hl=en-US]]
|
||||
[[https://octoverse.github.com/]]
|
||||
|
||||
- Opportunity to talk and learn
|
||||
|
||||
[[https://gophercon.com/][GopherCon]]
|
||||
[[https://gophercon.is/][GopherCon.is]]
|
||||
[[https://gophercon.sg/][GopherCon.sg]]
|
||||
[[http://gothamgo.com/][GothamGo]]
|
||||
|
||||
|
||||
* Where's Red Hat?
|
||||
|
||||
- Having an increased presence
|
||||
|
||||
Still need to have our name present at confs
|
||||
Need more speakers
|
||||
But as far as active code development, presence and respect, we are formidable
|
||||
|
||||
- Products are written in it e.g. OpenShift.
|
||||
|
||||
Openstack teams are working on tooling in golang
|
||||
|
Loading…
Reference in a new issue