1 00:00:08,450 --> 00:00:11,110 If you are either a beginner or an expert in object-oriented programming 2 00:00:11,110 --> 00:00:13,970 you will love this MOOC because it will change the way you program with objects. 3 00:00:14,190 --> 00:00:17,310 I am Stéphane Ducasse, with Luc Fabresse and Damien Cassou, 4 00:00:17,310 --> 00:00:19,090 we will present this MOOC about Pharo. 5 00:00:19,290 --> 00:00:19,970 What is Pharo? 6 00:00:19,980 --> 00:00:22,970 Pharo is a dynamic and pure language that will offer you 7 00:00:22,971 --> 00:00:25,490 a unique development experience in which you will be 8 00:00:25,490 --> 00:00:27,459 in constant interaction with live objects. 9 00:00:27,460 --> 00:00:30,900 Pharo is a language and an open source environment in the tradition of Smalltalk. 10 00:00:30,900 --> 00:00:35,640 It is fun to use, elegant and very powerful. 11 00:00:36,080 --> 00:00:37,600 Why do I say that Pharo is elegant? 12 00:00:37,600 --> 00:00:40,590 In fact, it is very simple: its full syntax, and I insist 13 00:00:40,590 --> 00:00:43,529 on “full”, can be written on a postcard and its object-oriented 14 00:00:43,530 --> 00:00:46,900 model written in 4 lines. Moreover, Pharo and its environment are 15 00:00:46,900 --> 00:00:50,220 written in Pharo itself exclusively with objects and messages. 16 00:00:50,550 --> 00:00:53,310 All these points make Pharo very easy to learn and 17 00:00:53,310 --> 00:00:55,670 once you have understood the syntax, you will have access to 18 00:00:55,670 --> 00:00:58,400 the whole Pharo world, hence it is written in Pharo itself. 19 00:00:58,630 --> 00:01:00,780 That is why Pharo is used in about thirty 20 00:01:00,780 --> 00:01:03,700 universities all over the world to teach object-oriented programing. 21 00:01:05,430 --> 00:01:07,700 In this MOOC, you will discover that Pharo is fun. 22 00:01:08,240 --> 00:01:10,820 In fact, when programing in Pharo, you are immersed in a world of 23 00:01:10,820 --> 00:01:13,230 live objects. Each time the programer modifies 24 00:01:13,230 --> 00:01:16,610 its code, the 3D animation changes and he can see immediately 25 00:01:16,610 --> 00:01:17,200 the result of its program. 26 00:01:18,240 --> 00:01:21,080 In Pharo, the programer modifies continuously objects with immediate feedback. 27 00:01:21,250 --> 00:01:24,630 These objects can represent web applications, graphics in 2D, 28 00:01:24,760 --> 00:01:27,630 in 3D, network, or even code itself. 29 00:01:28,090 --> 00:01:30,400 You will see that in Pharo everything is object. 30 00:01:30,820 --> 00:01:32,930 In this MOOC, you will discover that Pharo is also a powerful 31 00:01:32,930 --> 00:01:36,370 language, used in companies. 32 00:01:36,640 --> 00:01:38,550 And you can discover some success stories 33 00:01:38,550 --> 00:01:39,590 on Pharo’s website. 34 00:01:41,770 --> 00:01:44,520 In this MOOC, we will also present Pharo’s web stack. 35 00:01:44,530 --> 00:01:46,850 and how this stack revolutionizes the way web applications 36 00:01:46,850 --> 00:01:49,340 are designed. During this MOOC, you will deploy 37 00:01:49,340 --> 00:01:51,590 a web application fully written in Pharo. 38 00:01:51,780 --> 00:01:54,450 Beyond this, we will revisit fundamental principles 39 00:01:54,450 --> 00:01:57,560 of programing by illustrating how Pharo uses them. 40 00:01:58,020 --> 00:02:00,460 We will present some coding idioms and design patterns 41 00:02:00,460 --> 00:02:01,620 to better design web applications. 42 00:02:02,220 --> 00:02:04,540 Such concepts can be applied to any object-oriented language 43 00:02:04,590 --> 00:02:05,250 beyond Pharo. 44 00:02:06,400 --> 00:02:08,750 Moreover, you will have access to many resources such as 45 00:02:08,750 --> 00:02:11,370 the book “Pharo by example” which is available on Pharo’s website. 46 00:02:11,620 --> 00:02:14,480 For the most experienced of you, this MOOC will provide a new 47 00:02:14,480 --> 00:02:17,200 vision of the fundamental principles of object-oriented programming 48 00:02:17,430 --> 00:02:19,540 (i.e. late binding and polymorphism). 49 00:02:20,020 --> 00:02:23,520 Through out this MOOC come and discover or rediscover object-oriented 50 00:02:23,520 --> 00:02:25,900 programing in a different world, the world of Pharo…