programming freedom cs@ucu lviv

56
Programming Freedom Markiyan Rizun e-mail: [email protected] pharo web-site: http://http://pharo.org/

Upload: markrizun

Post on 11-Jan-2017

335 views

Category:

Software


2 download

TRANSCRIPT

Page 1: Programming Freedom CS@UCU Lviv

Programming Freedom

Markiyan Rizun e-mail: [email protected] pharo web-site: http://http://pharo.org/

Page 2: Programming Freedom CS@UCU Lviv

Background

• Lviv Physics and Mathematics Lyceum

• Ivan Franko National University of Lviv (currently on 4th year)

• Internships in Lille, France

Page 3: Programming Freedom CS@UCU Lviv

Background

Lille, France

Page 4: Programming Freedom CS@UCU Lviv

Background

Lille, France

Page 5: Programming Freedom CS@UCU Lviv

Background

Lille, France

Page 6: Programming Freedom CS@UCU Lviv

Who are programmers?

Page 7: Programming Freedom CS@UCU Lviv
Page 8: Programming Freedom CS@UCU Lviv

Programmers …

Page 9: Programming Freedom CS@UCU Lviv

Programmers create useful software

Page 10: Programming Freedom CS@UCU Lviv

Programmers make cool games

Page 11: Programming Freedom CS@UCU Lviv

Programmers support medicine

Page 12: Programming Freedom CS@UCU Lviv

Programmers develop technologies

Page 13: Programming Freedom CS@UCU Lviv

Programmers help to manage finances

Page 14: Programming Freedom CS@UCU Lviv

Programmers create future by solving problems

Page 15: Programming Freedom CS@UCU Lviv

We make life better for everyone!

Page 16: Programming Freedom CS@UCU Lviv

We make life better for everyone!

Page 17: Programming Freedom CS@UCU Lviv

We make life better for everyone!

Page 18: Programming Freedom CS@UCU Lviv

Programmers solve Everyone’s problems

Page 19: Programming Freedom CS@UCU Lviv

But not the problems of Programmers

Page 20: Programming Freedom CS@UCU Lviv

Code reading problem

Page 21: Programming Freedom CS@UCU Lviv

Code reading problem

Page 22: Programming Freedom CS@UCU Lviv

Code reading problem

Tools Solution

Page 23: Programming Freedom CS@UCU Lviv

Code reading problem

Tools

Page 24: Programming Freedom CS@UCU Lviv

Code reading problem

Tools

Page 25: Programming Freedom CS@UCU Lviv

Code rewriting problem

• Legacy code

• Your own bad code

• Wish to change API

• External library API has changed

• Etc.

Page 26: Programming Freedom CS@UCU Lviv

Code rewriting problem

Page 27: Programming Freedom CS@UCU Lviv

Code rewriting problem

• x1

• a

• myVar

• result

• length

• readStream

Page 28: Programming Freedom CS@UCU Lviv

To rewrite code programmers use … ?

Page 29: Programming Freedom CS@UCU Lviv

To rewrite code programmers use Their Hands

Page 30: Programming Freedom CS@UCU Lviv

To rewrite code programmers use Find&Replace

Page 31: Programming Freedom CS@UCU Lviv

To rewrite code programmers use Refactoring

Page 32: Programming Freedom CS@UCU Lviv

Code rewriting problem

result := a >= b ifTrue: [ a ]ifFalse: [ b ]

Page 33: Programming Freedom CS@UCU Lviv

Code rewriting problem

result := a max: b

Page 34: Programming Freedom CS@UCU Lviv

Code rewriting problem

result := a >= b ifTrue: [ a ]ifFalse: [ b ]

result := a max: b

Page 35: Programming Freedom CS@UCU Lviv

To rewrite code programmers use ...?

Page 36: Programming Freedom CS@UCU Lviv

To rewrite code programmers use Tools!

Page 37: Programming Freedom CS@UCU Lviv

Rewrite rules

Code Tool New code

Page 38: Programming Freedom CS@UCU Lviv

Rewrite Tool

Page 39: Programming Freedom CS@UCU Lviv

Innovative

IDE & Language

Page 40: Programming Freedom CS@UCU Lviv

Friendly & Smart Community

Innovative

IDE & Language

Page 41: Programming Freedom CS@UCU Lviv

Community

Page 42: Programming Freedom CS@UCU Lviv
Page 43: Programming Freedom CS@UCU Lviv
Page 44: Programming Freedom CS@UCU Lviv
Page 45: Programming Freedom CS@UCU Lviv
Page 46: Programming Freedom CS@UCU Lviv
Page 47: Programming Freedom CS@UCU Lviv

Rewrite Tool

Page 48: Programming Freedom CS@UCU Lviv

Friendly & Smart Community

Innovative

IDE & Language

Page 49: Programming Freedom CS@UCU Lviv

Friendly & Smart Community

Innovative

IDE & Language

Open-source: it’s yours!

Page 50: Programming Freedom CS@UCU Lviv

Pharo isyours

Page 51: Programming Freedom CS@UCU Lviv

EcosystemProgramming

Page 52: Programming Freedom CS@UCU Lviv
Page 53: Programming Freedom CS@UCU Lviv
Page 54: Programming Freedom CS@UCU Lviv

Pharo isyours

Page 55: Programming Freedom CS@UCU Lviv
Page 56: Programming Freedom CS@UCU Lviv

Markiyan Rizun e-mail: [email protected] pharo web-site: http://http://pharo.org/