Hi, Here are the slides from my talk from yesterday: Marcus
|
On Mon, Feb 2, 2015 at 12:19 PM, Marcus Denker <[hidden email]> wrote:
very cool, Marcus! will there be audio of the Q&A? Do you have any recollections of the Q&A? -- best,
Eliot |
It was recorded… the Q&A after was not that many questions… I don’t actually remember. I think the impact is more the slides+video, not the presentation itself there. Marcus |
In reply to this post by Marcus Denker-4
> On 02 Feb 2015, at 21:19, Marcus Denker <[hidden email]> wrote: > > Hi, > > Here are the slides from my talk from yesterday: > > http://www.slideshare.net/MarcusDenker/2015-fosdempharo > The part in between Pharo3 and Pharo4 tries a bit to explain the philosophy… I did a longer talk at ESUG last year about that: Nomads do not build Cathedrals http://www.slideshare.net/MarcusDenker/2014-esugcathedral The video of that is online: Video Part 1: https://www.youtube.com/watch?v=Vcoy5gwUvOA Video Part 2: https://www.youtube.com/watch?v=5LrH9r4FNzY In the spirit of the talk, I should do a pass over it and make a version 2… e.g. one book that was very influential to my thinking was Finite and Infinite Games by James P. Carse: http://kk.org/cooltools/archives/000434 To me a software system should always be thought as an “infinite game”… Marcus |
I do agree, that nomads do not build cathedrals but there is the flip side of the coin, why one would want to be a nomad and the great benefits coming with being a nomad Guido the creator of python explains it from the side of the Python Standard library but I think it applies fine for Pharo too he makes the point at 49th minute for a couple of minutes. Especially if the subject of your coding is quite unconventional putting it inside a standard distribution can be a huge wast of time that not only can offer limited benefits but even decrease the quality of the code substantially. Afterall the most beautiful things in life are not big at all ;) But yes I agree that being teamplayer is extremely important too. The balance is somewhere in between and I am a big supporter of what you trying to do with making pharo more modular. Thanks for the slides. I am using Pharo for a couple of years and I am amazed how far it has come , keep up the great work. On Tue, Feb 3, 2015 at 12:10 PM, Marcus Denker <[hidden email]> wrote:
|
the changes that where needed to make those real make sense to be feed back into the main system. Often it is just parts, and in all “research” cases a real engineering pass is needed: research prototypes are just good enough to publish a paper… every minute spend doing more means publishing less, which is hurting your research career. (Research is a very nomadic activity…)
Thanks! Marcus
|
But thats not the point I am trying to make and what Guido is talking about in the video. The summary of those two minutes is that "you dont want to contribute your code to us because as soon as you do you are trapped by our huge scary monster of backward compatibility and we wont tolerate any change to the design" So you end up being a nomad because you want to be flexible, you dont even know if at some point you decide to rewrite your code because the code may be very experimental. The cool thing about nomads that they are extremely flexible unlike Cathedrals ;) Pharo right now is in the "honeymoon" period of expanding and expanding , as new , fresh thing. But the more user it will get the more inflexible will become to change. That's a big price to pay for abandoning the nomad life. On Tue, Feb 3, 2015 at 3:07 PM, Marcus Denker <[hidden email]> wrote:
|
Note that, that statement, is not exactly true. The more users it gets, the more social pressure the community will put on it. That happens. But... Flexibility is function of design and not coupled with community size. |
And it is a good problem to solve: We need to change the language to make it easier evolvable. A very nice research topic. (which in a second step then can be feed back into the system, making future evolution easier) Marcus
|
It's a fact of life that leverage implies rigidity. A rubber crowbar
is flexible, but useless.
Our challenge is, as I see it, to determine the minimum we need to keep rigid in order to get maximum leverage for doing the rest. --Trygve On 03.02.2015 14:34, Marcus Denker
wrote:
--
The essence of object orientation is
that |
On Tue, Feb 3, 2015 at 2:50 PM, Trygve Reenskaug <[hidden email]> wrote:
Very insightful point. Case in point: most frameworks. Bootstrap, Seaside, ... All add rigidity but also structure. Phil
|
Administrator
|
In reply to this post by kilon.alios
Cathedral to me means architecture i.e. the application of forethought and understanding to make the most beautiful, functional structure in the most efficient way VS. nomads slapping together temporary mud huts that can be abandoned and easily rebuilt elsewhere in better conditions. This is orthogonal to the also-important issue that rigidity often accompanies a large user-base. One could have a beautiful cathedral that is frequented only by the faithful, and not turned into a tourist attraction like Notre Dame or Il Duomo di Firenze. Steph often says that if we were looking to be famous, we'd be programming in Ruby ;) Conversely, one could have a mud hut that becomes a historic landmark or revered for it's earthly charm, and can never be improved. And as for popularity = rigidity, that's certainly true for languages taken up by pop culture. That is because of one of Alan Kay's frequent observations - that nearly everyone is driven by utility, with only a tiny minority concerned inherently with ideas. Once people are programming a language because that's the language "you're supposed to use" - like C++ or Ruby - the utilitarianists flock in, and, because they are concerned only with its usefulness, they will not tolerate much disturbance due to "beauty", "design", or other intangibles. But, who says we have to go there? I for one am not interested in that game. One estimate says there are 18.5 million software developers in the world [1]. I don't remember the exact percentage of inherent-idea people, but let's be extremely conservative and say 5% (I think it was much higher). That gives us 0.05 x 18.5M = 925,000 potential Pharo users that would revel in the idea of an infinite game pursuing a beautiful, simple liberator of human expression; and therefore willing to tolerate and adapt themselves to the inevitable change, just like we all do now. Now, here's the important thing to remember... As we get more popular, the above plan will leave over 17,500,000 potential complainers to potentially distract and discourage us! These are the challenges of those who dare to venture into the Blue Plane, but isn't it a beautiful game?! [1] http://www.techrepublic.com/blog/european-technology/there-are-185-million-software-developers-in-the-world-but-which-country-has-the-most/
Cheers,
Sean |
On Tue, Feb 3, 2015 at 4:38 PM, Sean P. DeNigris <[hidden email]> wrote: kilon.alios wrote Care to make that into an article for the world to see? It is worth every word. It actually fits with this pretty nicely: http://www.jamesaltucher.com/2015/02/the-ultimate-guide-to-making-a-personal-manifesto/ Not that we need a manifesto... Do we? /Phil, happy to be in the 5%
|
In reply to this post by Sean P. DeNigris
The weak spot in your argument is that you use the worst example you can choose to prove it. Ruby. Ruby has two big issues for your line of arguments. First its popularity was build by a single man. A nomad. His name is David Heinemeier Hansson. He is the guy behind that library you probably know as "Ruby on Rails". Not only he created that library alone, not only that library is the single reason why Ruby is so popular, though personally I would not call it a popular language, but he also did not allow people to commit to his code for a single year before opening up the project to external commits. A true nomad if you ask me. The second issue is that you use Ruby as an example language that does not care about design and cool ideas, which is kinda strange if you think about how much Ruby copies from smalltalk. Actually I would even argue that Ruby is more smalltalk than even objective c. But further more its not hard to find evidence of the contributions of nomads to our society, whether you learn about Einstein, Newton , Socrtates etc. Our western civilization is based on the effort of individuals that worked alone, "standing on the shoulder of giants" , but alone none the less and they did not only succeed but carried modern civilisation to what we take today for granted (and we should not). Codings of course is no exception. So even though I acknowledge the huge importance of teamwork , cooperation and competition, I am also perfectly capable of seeing nomads as something vastly more than people living in mud huts. I also dont share your optimism that an "idea" / "design orientated" coder will have any problem materialising his dream software in the "abomination" language called C++ . As a matter of fact tons of great software with gorgeous design that people highly praise has been built in this language. For me one such thing is the QT framework for which Pharo has no alternative that can approach it even in the distance of 100 light years. And believe me I am Noooooooo fan of C++. Like you I love Pharo, but unlike you I dont think I will live long enough to see Pharo used by 1 million people. But it is one of those things I will be very glad to be wrong about. It would be great to have something like QT for Pharo , or other great libraries. But even if Pharo remains small , no regrets , I love it and I will keep coding in it. But then I dont see Pharo as neither the Blue , or the Red, or the Pink pill. Is just another tool with advantages and disadvantages. A personal choice that I dont try to impose to others as "better". On Tue, Feb 3, 2015 at 5:38 PM, Sean P. DeNigris <[hidden email]> wrote: kilon.alios wrote |
Administrator
|
Ha ha ha, did you really just boil my whole post down to two examples of languages which are "languages you're supposed to use" (which by the way if you read carefully I never suggest are inherently good ideas)?!
Cheers,
Sean |
well this is why I say its a weak spot. I dont disagree with everything you say. I do agree that a language like C++ goes to a very diffirent direction to Pharo and will attract diffirent kind of people, or even the same people with different set of goals. If you mean something more than that, then I am open to other opinions as always :) My point is that nomads should not be underestimated. But then I am one of them so maybe I am a bit biased :D On Tue, Feb 3, 2015 at 7:08 PM, Sean P. DeNigris <[hidden email]> wrote: kilon.alios wrote |
Administrator
|
The only meaning I connected to C++ and Ruby were that they were dogmatically and widely enough approved for use to be rigid by necessity. Based on some of your comments, I assume I probably could have used Python as an example of a language that got popular enough to expand beyond people that truly "get it", and thus have significant push back to non-backward-compatibility in the community.
Cheers,
Sean |
Yes sure , I agree, but why that does not apply to Pharo ? I would not want to use Pharo libraries that get changed and redesigned in each version and I have to rewrite my code. I could not even imagine the nightmare scenario of having a big code base and a language that keep changing. Python broke compatibility from version 2 to version 3 and it was not a smooth ride for people, it took years for people to migrate and still there are a lot that are still using Python 2. The changes they made were not even that big and even offered a tool to automagically convert code from version 2 to version 3. What makes Pharo immune to this situation ? because the way I see it Pharo is not immune at all. On Tue, Feb 3, 2015 at 7:19 PM, Sean P. DeNigris <[hidden email]> wrote: kilon.alios wrote |
Administrator
|
Pharo as a principle has prioritized "do the right thing" over backward compatibility, and by consequence to lose users who won't accept that. Now amazingly, in practice, migration has for the most-part been a breeze, partly because a lot of the mess is buried way down in the system internals where user code isn't usually directly dependent. So I would say it doesn't apply to Pharo because Pharo is playing a different game.
Cheers,
Sean |
Free forum by Nabble | Edit this page |