Real Programmingliw.iki.fi/liw/talks/Real-programming.pdf · Optimization What is the most...

20
Real Programming Lars Wirzenius http://liw.iki.fi or: What they didn't teach me about programming at university

Transcript of Real Programmingliw.iki.fi/liw/talks/Real-programming.pdf · Optimization What is the most...

Page 1: Real Programmingliw.iki.fi/liw/talks/Real-programming.pdf · Optimization What is the most important optimization method? Premature optimization is the root of all evil — Donald

Real Programming

Lars Wirzeniushttp://liw.iki.fi

or: What they didn't teach me about programming at university

Page 2: Real Programmingliw.iki.fi/liw/talks/Real-programming.pdf · Optimization What is the most important optimization method? Premature optimization is the root of all evil — Donald

Most important tasks

● Documentation● Diplomacy● Process improvement● Debugging others' mistakes● Computer administration

Page 3: Real Programmingliw.iki.fi/liw/talks/Real-programming.pdf · Optimization What is the most important optimization method? Premature optimization is the root of all evil — Donald

Most important programming tasks

● Parsing and interpreting data● Studying tools● Making tools work together

Page 4: Real Programmingliw.iki.fi/liw/talks/Real-programming.pdf · Optimization What is the most important optimization method? Premature optimization is the root of all evil — Donald

Rarest programming tasks

● Using formal/very high level languages● Implementing well known algorithms or data 

structures● Implementing your own programming language 

or operating system

Page 5: Real Programmingliw.iki.fi/liw/talks/Real-programming.pdf · Optimization What is the most important optimization method? Premature optimization is the root of all evil — Donald

Optimization

What is the most important optimization method?

Premature optimization is the root of all evil— Donald Knuth

Page 6: Real Programmingliw.iki.fi/liw/talks/Real-programming.pdf · Optimization What is the most important optimization method? Premature optimization is the root of all evil — Donald

Optimization = faster hardware

Boring. Optimization is fun.

Page 7: Real Programmingliw.iki.fi/liw/talks/Real-programming.pdf · Optimization What is the most important optimization method? Premature optimization is the root of all evil — Donald

Employment contracts

● Intellectual property rights● Non­competition clauses● Employee identity and persona

Page 8: Real Programmingliw.iki.fi/liw/talks/Real-programming.pdf · Optimization What is the most important optimization method? Premature optimization is the root of all evil — Donald

Workspace (good)

Page 9: Real Programmingliw.iki.fi/liw/talks/Real-programming.pdf · Optimization What is the most important optimization method? Premature optimization is the root of all evil — Donald

A programmermight have towork here, too!

Page 10: Real Programmingliw.iki.fi/liw/talks/Real-programming.pdf · Optimization What is the most important optimization method? Premature optimization is the root of all evil — Donald

Workspace (typical)

Page 11: Real Programmingliw.iki.fi/liw/talks/Real-programming.pdf · Optimization What is the most important optimization method? Premature optimization is the root of all evil — Donald

The joy of cubicles

● Airy● Light● Supports the sociality and informality of the 

modern workplace● Democratic● Improves internal communication

Page 12: Real Programmingliw.iki.fi/liw/talks/Real-programming.pdf · Optimization What is the most important optimization method? Premature optimization is the root of all evil — Donald

Worst problem in cubicles

Page 13: Real Programmingliw.iki.fi/liw/talks/Real-programming.pdf · Optimization What is the most important optimization method? Premature optimization is the root of all evil — Donald

Ergonomics at work

Page 14: Real Programmingliw.iki.fi/liw/talks/Real-programming.pdf · Optimization What is the most important optimization method? Premature optimization is the root of all evil — Donald

The customermay also benoisy.

Page 15: Real Programmingliw.iki.fi/liw/talks/Real-programming.pdf · Optimization What is the most important optimization method? Premature optimization is the root of all evil — Donald

Communicating with the customer

● The customer is always right● Writing is tedious● Face to face, not via e­mail

Page 16: Real Programmingliw.iki.fi/liw/talks/Real-programming.pdf · Optimization What is the most important optimization method? Premature optimization is the root of all evil — Donald

Remote debugging

● At least some communication method is needed● Phone● Serial port log, PDF, e­mail

Page 17: Real Programmingliw.iki.fi/liw/talks/Real-programming.pdf · Optimization What is the most important optimization method? Premature optimization is the root of all evil — Donald

Using LEDs for status information

● Color = black, red, green● Three LEDs● QUESTION: How many states can you show?

Page 18: Real Programmingliw.iki.fi/liw/talks/Real-programming.pdf · Optimization What is the most important optimization method? Premature optimization is the root of all evil — Donald

Which way is the box?

Page 19: Real Programmingliw.iki.fi/liw/talks/Real-programming.pdf · Optimization What is the most important optimization method? Premature optimization is the root of all evil — Donald

Right answer

● Red and green look yellow at an angle● Total: four states

– no LED

– one LED

– two LEDs

– three LEDs

Page 20: Real Programmingliw.iki.fi/liw/talks/Real-programming.pdf · Optimization What is the most important optimization method? Premature optimization is the root of all evil — Donald

How to prepare for a career?

● Learn the basics at school● Large projects teach practice (of large projects)● Employers prefer those with experience● Get experience● http://www.debian.org