Robert Griesemer - Go
[Pages:30]Prototype your design!
Robert Griesemer
dotGo 2016, Paris
1
Getting to good software design
Literature is full of design paradigms
Usually involves
Design docs Feedback from reviewers Iterative process etc.
Often a "dry" exercise
No software is created until design is "completed"
2
How can we tell if we have a good design?
3
Elsewhere, design thinking requires prototyping
Try stuff Reframe problems
Empathize
Ideate
Build your way forward!
Define
Prototype
Test
From Design School Stanford:
4
Example: Designing Go support for numerical apps
j
Multi-dimensional slices for Go
(issue #6282)
matrix[i,j]
var matrix [,]float64
matrix = make([,]float64, 15, 11)
i
5
High-level goals
1. More readable code 2. Great performance
Many open questions:
Which primitive operations? What implementation? What notation? etc.
6
Observation
We can implement many aspects of multi-dimensional slices in Go now: Slice representation
Define an (abstract data) type
Creation, access, mutation Define appropriate methods on that type
A Go implementation allows us to explore our design.
7
Key missing feature: Nice notation
The work-around, accessor methods for multi-dim. index expressions m.At(i, j) m.AtSet(i, j, x)
makes numerical code clunky, perhaps even unreadable: c.AtSet(i, j, a.At(i, k) * b.At(k, ind.At(j)))
instead of c[i, j] = a[i, k] * b[k, ind[j]]
8
................
................
In order to avoid copyright disputes, this page is only a partial summary.
To fulfill the demand for quickly locating and searching documents.
It is intelligent file search solution for home and business.
Related download
- go tutorial sp17 ucsd cse
- robert griesemer go
- network programming with go cheat sheet series operators
- intro to go from the other side frontend masters
- a tour of go swtch
- francesc why and how to write good go code an
- introductionto go and rpc in go home damon
- go tutorial sp18
- golang convert int to float64
- golang int to int32
Related searches
- robert my 600 pound life
- robert stephens convention center rosemont il
- go go duck search engine
- robert marzano 9 instructional strategies
- robert kiyosaki
- robert kiyosaki books
- robert half finance accounting
- robert palmer mortgage complaints
- robert half accounting jobs
- robert half part time jobs
- robert allen marriott
- robert glover books