Programming Freedom CS@UCU Lviv
Transcript of Programming Freedom CS@UCU Lviv
![Page 1: Programming Freedom CS@UCU Lviv](https://reader036.fdocuments.net/reader036/viewer/2022062823/5875d9d81a28ab8f438b71e7/html5/thumbnails/1.jpg)
Programming Freedom
Markiyan Rizun e-mail: [email protected] pharo web-site: http://http://pharo.org/
![Page 2: Programming Freedom CS@UCU Lviv](https://reader036.fdocuments.net/reader036/viewer/2022062823/5875d9d81a28ab8f438b71e7/html5/thumbnails/2.jpg)
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](https://reader036.fdocuments.net/reader036/viewer/2022062823/5875d9d81a28ab8f438b71e7/html5/thumbnails/3.jpg)
Background
Lille, France
![Page 4: Programming Freedom CS@UCU Lviv](https://reader036.fdocuments.net/reader036/viewer/2022062823/5875d9d81a28ab8f438b71e7/html5/thumbnails/4.jpg)
Background
Lille, France
![Page 5: Programming Freedom CS@UCU Lviv](https://reader036.fdocuments.net/reader036/viewer/2022062823/5875d9d81a28ab8f438b71e7/html5/thumbnails/5.jpg)
Background
Lille, France
![Page 6: Programming Freedom CS@UCU Lviv](https://reader036.fdocuments.net/reader036/viewer/2022062823/5875d9d81a28ab8f438b71e7/html5/thumbnails/6.jpg)
Who are programmers?
![Page 7: Programming Freedom CS@UCU Lviv](https://reader036.fdocuments.net/reader036/viewer/2022062823/5875d9d81a28ab8f438b71e7/html5/thumbnails/7.jpg)
![Page 8: Programming Freedom CS@UCU Lviv](https://reader036.fdocuments.net/reader036/viewer/2022062823/5875d9d81a28ab8f438b71e7/html5/thumbnails/8.jpg)
Programmers …
![Page 9: Programming Freedom CS@UCU Lviv](https://reader036.fdocuments.net/reader036/viewer/2022062823/5875d9d81a28ab8f438b71e7/html5/thumbnails/9.jpg)
Programmers create useful software
![Page 10: Programming Freedom CS@UCU Lviv](https://reader036.fdocuments.net/reader036/viewer/2022062823/5875d9d81a28ab8f438b71e7/html5/thumbnails/10.jpg)
Programmers make cool games
![Page 11: Programming Freedom CS@UCU Lviv](https://reader036.fdocuments.net/reader036/viewer/2022062823/5875d9d81a28ab8f438b71e7/html5/thumbnails/11.jpg)
Programmers support medicine
![Page 12: Programming Freedom CS@UCU Lviv](https://reader036.fdocuments.net/reader036/viewer/2022062823/5875d9d81a28ab8f438b71e7/html5/thumbnails/12.jpg)
Programmers develop technologies
![Page 13: Programming Freedom CS@UCU Lviv](https://reader036.fdocuments.net/reader036/viewer/2022062823/5875d9d81a28ab8f438b71e7/html5/thumbnails/13.jpg)
Programmers help to manage finances
![Page 14: Programming Freedom CS@UCU Lviv](https://reader036.fdocuments.net/reader036/viewer/2022062823/5875d9d81a28ab8f438b71e7/html5/thumbnails/14.jpg)
Programmers create future by solving problems
![Page 15: Programming Freedom CS@UCU Lviv](https://reader036.fdocuments.net/reader036/viewer/2022062823/5875d9d81a28ab8f438b71e7/html5/thumbnails/15.jpg)
We make life better for everyone!
![Page 16: Programming Freedom CS@UCU Lviv](https://reader036.fdocuments.net/reader036/viewer/2022062823/5875d9d81a28ab8f438b71e7/html5/thumbnails/16.jpg)
We make life better for everyone!
![Page 17: Programming Freedom CS@UCU Lviv](https://reader036.fdocuments.net/reader036/viewer/2022062823/5875d9d81a28ab8f438b71e7/html5/thumbnails/17.jpg)
We make life better for everyone!
![Page 18: Programming Freedom CS@UCU Lviv](https://reader036.fdocuments.net/reader036/viewer/2022062823/5875d9d81a28ab8f438b71e7/html5/thumbnails/18.jpg)
Programmers solve Everyone’s problems
![Page 19: Programming Freedom CS@UCU Lviv](https://reader036.fdocuments.net/reader036/viewer/2022062823/5875d9d81a28ab8f438b71e7/html5/thumbnails/19.jpg)
But not the problems of Programmers
![Page 20: Programming Freedom CS@UCU Lviv](https://reader036.fdocuments.net/reader036/viewer/2022062823/5875d9d81a28ab8f438b71e7/html5/thumbnails/20.jpg)
Code reading problem
![Page 21: Programming Freedom CS@UCU Lviv](https://reader036.fdocuments.net/reader036/viewer/2022062823/5875d9d81a28ab8f438b71e7/html5/thumbnails/21.jpg)
Code reading problem
![Page 22: Programming Freedom CS@UCU Lviv](https://reader036.fdocuments.net/reader036/viewer/2022062823/5875d9d81a28ab8f438b71e7/html5/thumbnails/22.jpg)
Code reading problem
Tools Solution
![Page 23: Programming Freedom CS@UCU Lviv](https://reader036.fdocuments.net/reader036/viewer/2022062823/5875d9d81a28ab8f438b71e7/html5/thumbnails/23.jpg)
Code reading problem
Tools
![Page 24: Programming Freedom CS@UCU Lviv](https://reader036.fdocuments.net/reader036/viewer/2022062823/5875d9d81a28ab8f438b71e7/html5/thumbnails/24.jpg)
Code reading problem
Tools
![Page 25: Programming Freedom CS@UCU Lviv](https://reader036.fdocuments.net/reader036/viewer/2022062823/5875d9d81a28ab8f438b71e7/html5/thumbnails/25.jpg)
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](https://reader036.fdocuments.net/reader036/viewer/2022062823/5875d9d81a28ab8f438b71e7/html5/thumbnails/26.jpg)
Code rewriting problem
![Page 27: Programming Freedom CS@UCU Lviv](https://reader036.fdocuments.net/reader036/viewer/2022062823/5875d9d81a28ab8f438b71e7/html5/thumbnails/27.jpg)
Code rewriting problem
• x1
• a
• myVar
• result
• length
• readStream
![Page 28: Programming Freedom CS@UCU Lviv](https://reader036.fdocuments.net/reader036/viewer/2022062823/5875d9d81a28ab8f438b71e7/html5/thumbnails/28.jpg)
To rewrite code programmers use … ?
![Page 29: Programming Freedom CS@UCU Lviv](https://reader036.fdocuments.net/reader036/viewer/2022062823/5875d9d81a28ab8f438b71e7/html5/thumbnails/29.jpg)
To rewrite code programmers use Their Hands
![Page 30: Programming Freedom CS@UCU Lviv](https://reader036.fdocuments.net/reader036/viewer/2022062823/5875d9d81a28ab8f438b71e7/html5/thumbnails/30.jpg)
To rewrite code programmers use Find&Replace
![Page 31: Programming Freedom CS@UCU Lviv](https://reader036.fdocuments.net/reader036/viewer/2022062823/5875d9d81a28ab8f438b71e7/html5/thumbnails/31.jpg)
To rewrite code programmers use Refactoring
![Page 32: Programming Freedom CS@UCU Lviv](https://reader036.fdocuments.net/reader036/viewer/2022062823/5875d9d81a28ab8f438b71e7/html5/thumbnails/32.jpg)
Code rewriting problem
result := a >= b ifTrue: [ a ]ifFalse: [ b ]
![Page 33: Programming Freedom CS@UCU Lviv](https://reader036.fdocuments.net/reader036/viewer/2022062823/5875d9d81a28ab8f438b71e7/html5/thumbnails/33.jpg)
Code rewriting problem
result := a max: b
![Page 34: Programming Freedom CS@UCU Lviv](https://reader036.fdocuments.net/reader036/viewer/2022062823/5875d9d81a28ab8f438b71e7/html5/thumbnails/34.jpg)
Code rewriting problem
result := a >= b ifTrue: [ a ]ifFalse: [ b ]
result := a max: b
![Page 35: Programming Freedom CS@UCU Lviv](https://reader036.fdocuments.net/reader036/viewer/2022062823/5875d9d81a28ab8f438b71e7/html5/thumbnails/35.jpg)
To rewrite code programmers use ...?
![Page 36: Programming Freedom CS@UCU Lviv](https://reader036.fdocuments.net/reader036/viewer/2022062823/5875d9d81a28ab8f438b71e7/html5/thumbnails/36.jpg)
To rewrite code programmers use Tools!
![Page 37: Programming Freedom CS@UCU Lviv](https://reader036.fdocuments.net/reader036/viewer/2022062823/5875d9d81a28ab8f438b71e7/html5/thumbnails/37.jpg)
Rewrite rules
Code Tool New code
![Page 38: Programming Freedom CS@UCU Lviv](https://reader036.fdocuments.net/reader036/viewer/2022062823/5875d9d81a28ab8f438b71e7/html5/thumbnails/38.jpg)
Rewrite Tool
![Page 39: Programming Freedom CS@UCU Lviv](https://reader036.fdocuments.net/reader036/viewer/2022062823/5875d9d81a28ab8f438b71e7/html5/thumbnails/39.jpg)
Innovative
IDE & Language
![Page 40: Programming Freedom CS@UCU Lviv](https://reader036.fdocuments.net/reader036/viewer/2022062823/5875d9d81a28ab8f438b71e7/html5/thumbnails/40.jpg)
Friendly & Smart Community
Innovative
IDE & Language
![Page 41: Programming Freedom CS@UCU Lviv](https://reader036.fdocuments.net/reader036/viewer/2022062823/5875d9d81a28ab8f438b71e7/html5/thumbnails/41.jpg)
Community
![Page 42: Programming Freedom CS@UCU Lviv](https://reader036.fdocuments.net/reader036/viewer/2022062823/5875d9d81a28ab8f438b71e7/html5/thumbnails/42.jpg)
![Page 43: Programming Freedom CS@UCU Lviv](https://reader036.fdocuments.net/reader036/viewer/2022062823/5875d9d81a28ab8f438b71e7/html5/thumbnails/43.jpg)
![Page 44: Programming Freedom CS@UCU Lviv](https://reader036.fdocuments.net/reader036/viewer/2022062823/5875d9d81a28ab8f438b71e7/html5/thumbnails/44.jpg)
![Page 45: Programming Freedom CS@UCU Lviv](https://reader036.fdocuments.net/reader036/viewer/2022062823/5875d9d81a28ab8f438b71e7/html5/thumbnails/45.jpg)
![Page 46: Programming Freedom CS@UCU Lviv](https://reader036.fdocuments.net/reader036/viewer/2022062823/5875d9d81a28ab8f438b71e7/html5/thumbnails/46.jpg)
![Page 47: Programming Freedom CS@UCU Lviv](https://reader036.fdocuments.net/reader036/viewer/2022062823/5875d9d81a28ab8f438b71e7/html5/thumbnails/47.jpg)
Rewrite Tool
![Page 48: Programming Freedom CS@UCU Lviv](https://reader036.fdocuments.net/reader036/viewer/2022062823/5875d9d81a28ab8f438b71e7/html5/thumbnails/48.jpg)
Friendly & Smart Community
Innovative
IDE & Language
![Page 49: Programming Freedom CS@UCU Lviv](https://reader036.fdocuments.net/reader036/viewer/2022062823/5875d9d81a28ab8f438b71e7/html5/thumbnails/49.jpg)
Friendly & Smart Community
Innovative
IDE & Language
Open-source: it’s yours!
![Page 50: Programming Freedom CS@UCU Lviv](https://reader036.fdocuments.net/reader036/viewer/2022062823/5875d9d81a28ab8f438b71e7/html5/thumbnails/50.jpg)
Pharo isyours
![Page 51: Programming Freedom CS@UCU Lviv](https://reader036.fdocuments.net/reader036/viewer/2022062823/5875d9d81a28ab8f438b71e7/html5/thumbnails/51.jpg)
EcosystemProgramming
![Page 52: Programming Freedom CS@UCU Lviv](https://reader036.fdocuments.net/reader036/viewer/2022062823/5875d9d81a28ab8f438b71e7/html5/thumbnails/52.jpg)
![Page 53: Programming Freedom CS@UCU Lviv](https://reader036.fdocuments.net/reader036/viewer/2022062823/5875d9d81a28ab8f438b71e7/html5/thumbnails/53.jpg)
![Page 54: Programming Freedom CS@UCU Lviv](https://reader036.fdocuments.net/reader036/viewer/2022062823/5875d9d81a28ab8f438b71e7/html5/thumbnails/54.jpg)
Pharo isyours
![Page 55: Programming Freedom CS@UCU Lviv](https://reader036.fdocuments.net/reader036/viewer/2022062823/5875d9d81a28ab8f438b71e7/html5/thumbnails/55.jpg)
![Page 56: Programming Freedom CS@UCU Lviv](https://reader036.fdocuments.net/reader036/viewer/2022062823/5875d9d81a28ab8f438b71e7/html5/thumbnails/56.jpg)
Markiyan Rizun e-mail: [email protected] pharo web-site: http://http://pharo.org/