Hi,

First, I concur with what Norbert said.

@Trygve: Could you describe what you would need in more details?

Cheers,
Doru


> On May 8, 2018, at 9:57 AM, Norbert Hartl <norb...@hartl.name> wrote:
> 
> 
> 
>> Am 08.05.2018 um 08:30 schrieb Trygve Reenskaug <tryg...@ifi.uio.no>:
>> 
>> Norbert,
>> I stand corrected because I have not followed the mainstream languages as 
>> well as I probably should. Thank you for your candid answer, it clearly 
>> outlines what I can and cannot expect from Pharo and any other ST project. 
>> 
> Ok, I didn’t want to sound too harsh but for me there is no benefit in 
> telling something which is not true. And as a member of such community you 
> get sometimes allergic to things that sound negative because that happens far 
> too often. What I said about not upgrading is the thing we suffer from. While 
> you find it that squeak has moved too fast we consider it that it didn’t move 
> enough. That is why a lot of the sub-systems need to be replaced and that 
> causes instability. For me the stability is outstanding if I look what is 
> changed all the time. But that is another perspective. For a user of the 
> platform it is simply annoying. We know that but not moving is not option for 
> us so that’s why I say that frankly. And sadly the only thing that can 
> compensate side-effects due to changes is to put a lot of man power onto it. 
> The programming/software world has not much too say about how change should 
> be done. 
> 
>> I go back to Alan Kay's vision of a Dynabook: A personal computer for 
>> children of all ages. It should contain all its owner's  personaldata, 
>> including  his or her personal programs, as they evolve through the years.  
>> Continuity is a must; the owner shall never loose data. 
>> 
> We are onto it. If you look at the way we can work, model inspect etc. it is 
> still an wonderful tool. And it is getting better every day while breaking 
> things here and there. I can only repeat what I said earlier. The part of 
> your IDE that copes with language details might break the least because that 
> is the most stable part of the pharo system. But all of the UI system will be 
> replaced in a non-compatible way. Morphic is great but it has grown into a 
> hugly monster. And in this century you might not survive having bitmap based 
> graphics. It might still make perfect sense to you. Because there will be 
> some effort put into the ability to load it into pharo at wish. But I would 
> suspect it won’t change much from there. 
> But it cannot stay because to old-fashioned and not changeable. Maybe it is 
> missing in the Dynabook vision that is not likely that children born after 
> 2000 still won’t too use a graphical interface designed in the 70s being 
> unchanged. But I’m not sure if the Dynabook vision was supposed to be 
> realized some day or just a vehicle to complain about everything.
> 
>> Again, thank you for your answers. They have given invaluable contributions 
>> to my thinking.
> 
> I would have liked to say something more encouraging but ….
> 
> Norbert
> 
>> --Trygve.
>> 
>> 
>> On 07.05.2018 14:14, Norbert Hartl wrote:
>>> 
>>>> Am 07.05.2018 um 12:42 schrieb Trygve Reenskaug <tryg...@ifi.uio.no>:
>>>> 
>>>> Please tell me when Java, C, C++, etc programs stopped working because 
>>>> their runtime systems had changed.
>>>> Please tell me when Java, C, C++, etc compilers stopped compiling old code 
>>>> because the languages had changed.
>>>> 
>>> If we talk about C/C++ the runtime is the operating system. Everytime I 
>>> update it the linked libraries are suspect to be invalid from then. If you 
>>> have in the same system update a new version of the C compiler you are 
>>> doomed. You cannot link your binary with the new libs. And the new C 
>>> compiler quirks about your code. So what you have then? Staying on an old C 
>>> language standard? Statically link everything. Ah no that won’t work 
>>> because you would have to care about all your dependencies being compilable 
>>> with the new compiler. But you don’t update the compiler meaning you don’t 
>>> update the operating system. It is the same as staying on pharo 3.
>>> 
>>> For Java the situation is slightly different because if you use new 
>>> programming language features you can only do when switching the compiler 
>>> to the new standard. There is a lot of effort that went into making the 
>>> java vm recognize the language version and execute regarding that making 
>>> version compatible. We are in sync here. I told you it is about manpower. 
>>> Do you know how much manpower it needed and how long it took to add 
>>> something like closures to the java language? Do you consider java closure 
>>> to be en par with other languages?
>>> 
>>> We are sorry not everything is to your liking. It is not even to our own 
>>> liking because we have dreams far beyond. But we will never get there if we 
>>> don’t take the effort. And the point of open source (did I mention pharo is 
>>> open source?? ) is that the ones that do it decide what to do. Nuff said!
>>> 
>>> Norbert
>>> 
>>>> On 07.05.2018 11:57, Norbert Hartl wrote:
>>>>> I understand what you are saying but it contains some misconceptions 
>>>>> about the modern software world. 
>>>>> 
>>>>> „The earth is not stopping to turn just because you want to stay on the 
>>>>> sunny side“
>>>>> 
>>>>> There is two funny concepts going on in the modern software industry. The 
>>>>> one tells you that because you want to do a product everything else 
>>>>> around you should come to a full stop so can comfortably build your 
>>>>> software not disturbed by other things. The second one tells you that you 
>>>>> _have to upgrade_ … there is this magical force preventing you from 
>>>>> staying where you are. Both notions are funny alone but they come 
>>>>> combined and then they turn out to be a non-sensical monster.
>>>>> 
>>>>> Let’s take a different approach. Put in everything you say about 
>>>>> software, libraries, etc the word version. So you can build upon Pharo 
>>>>> version 3 your own product. You can stay at that version and it won’t 
>>>>> change. If the software you sell is not 80% pharo but your own you should 
>>>>> not have a problem just to stay on that version because you develop your 
>>>>> own stuff. But still the world did not stop turning and there is pharo 4. 
>>>>> You decide there are a few nice features but the work to adjust is too 
>>>>> big to take the risk. Then there is pharo 5 and you … nahhh not this 
>>>>> time….Then there is pharo6 and they not only changed the image but also 
>>>>> the way source code is managed. That prevents you further from adjusting. 
>>>>> But hey you can still be happy with pharo3 and it does not change. 
>>>>> 
>>>>> So what is the real problem? Yes, money/time is not enough. I think there 
>>>>> are a lot of people risking their health to promote pharo and now we have 
>>>>> a consortium that can pay engineers to do work on pharo. So let me tell 
>>>>> you a future story:
>>>>> 
>>>>> You see what pharo is doing and you think it is good. You can also see 
>>>>> that there are too less resources to proceed in the way you need it to 
>>>>> go. So you decide to show pharo to the world inspiring people with some 
>>>>> kind of a vision. The result is that more people pay into the consortium 
>>>>> and we hire more engineers. And then one day the consortium has enough 
>>>>> money to pay engineers that can care about a LTS (long term support) 
>>>>> version of pharo. So you can stay on pharo version 3 and still get those 
>>>>> annoying bugs fixed. And hey this team has also enough time to provide 
>>>>> you with tools that make a migration to pharo version 4 more easy and 
>>>>> less annoying for you. And then you have your own product based on pharo 
>>>>> version 4. And then for version 5, version 6,…. Sounds like a dream…but 
>>>>> hey…it is indeed realistic. It just depends on how the people approach it
>>>>> 
>>>>> How does this sound?
>>>>> 
>>>>> Norbert
>>>>> 
>>>>>> Am 07.05.2018 um 11:31 schrieb Trygve Reenskaug <tryg...@ifi.uio.no>:
>>>>>> 
>>>>>> Thanks for your quick answer.  I have only a fleeting knowledge of Pharo 
>>>>>> but liked what I saw. The Squeak class library has seen organic growth 
>>>>>> since 1978 or earlier. Pharo gave it a thorough overhaul. At the Pharo 
>>>>>> kernel was a minimal image with a minimal class library. The rest of the 
>>>>>> functionality was partitioned into packages that could be added to the 
>>>>>> kernel image as required. Beautiful. But only my dream?
>>>>>> Matthew 7:24-27: And the rain fell, and the floods came, and the winds 
>>>>>> blew and beat on that  house, but it did not fall, because it had been 
>>>>>> founded on the rock. And  everyone who hears these words of mine and 
>>>>>> does not do them will be like a foolish man who built his house on the 
>>>>>> sand."
>>>>>> I am developing an IDE for non-programmers  called BabyIDE, a 
>>>>>> non-intrusive extension of Squeak. Where the Class Browser in Squeak is 
>>>>>> used to work with one class at the time, the BabyIDE browser is used to 
>>>>>> work with structures of collaborating objects, ignoring their classes. I 
>>>>>> would like to develop a BabyIDE image that gets broad usage and long 
>>>>>> life. I'm looking for a rock to build on and hoped it could be what I 
>>>>>> thought was the Pharo kernel+ a few selected packages. In your answer, I 
>>>>>> read that if I build BabyIDE on Pharo, I will be building on sand.
>>>>>> 
>>>>>> pharo.org writes: "Pharo is a pure object-oriented programming 
>>>>>> language...".  The only language I can see is defined by the release 
>>>>>> image. A Pharo programmer builds application programs in this language. 
>>>>>> He or she can add new classes, change existing ones, subclass them, add 
>>>>>> or change methods, change the Smalltalk dictionary, etc. etc.  An 
>>>>>> extremely flexible and powerful language.
>>>>>> 
>>>>>> A tale from the future when Pharo is a mainstream language: Business 
>>>>>> customers benefit from end users using applications that are written by 
>>>>>> Pharo programmers who built on the Pharo language and environment that 
>>>>>> had been developed by the Pharo community. One day there is a happy 
>>>>>> announcement: A new version of Pharo will be launched tomorrow. It is 
>>>>>> truly cool and includes any number of improvements, some of them 
>>>>>> documented. And, by the way, applications written in the current Pharo 
>>>>>> will no longer work. So please inform your customers that you will not 
>>>>>> be able to serve them for a while. We are confident that all your 
>>>>>> application programmers will be happy to drop whatever they are doing in 
>>>>>> order to adapt their applications to the new Pharo so that you can start 
>>>>>> serving your customers again.
>>>>>> 
>>>>>> Cheers
>>>>>> --Trygve
>>>>>>  
>>>>>> 
>>>>>> 
>>>>>> On 06.05.2018 13:00, Norbert Hartl wrote:
>>>>>>> Can you elaborate on what you consider as a kernel? There are always 
>>>>>>> things moving in the pharo world. The last years the virtual machine 
>>>>>>> got some iterations and it is still not fully stable. For pharo it is 
>>>>>>> hard to have it stable because we feel the need that a lot of the 
>>>>>>> existing parts need to be replaced to be useful in these times. 
>>>>>>> Furthermore pharo is also prototyping platform for programming language 
>>>>>>> features. All of these are counter-stability measures. So if you need a 
>>>>>>> stable kernel from native ground up to UI pharo won‘t be that thing you 
>>>>>>> are looking for the coming years (if at all). You always need to adopt 
>>>>>>> to change so you need to define your required scope better in order to 
>>>>>>> get an estimate.
>>>>>>> 
>>>>>>> Norbert
>>>>>>> 
>>>>>>> Am 06.05.2018 um 11:31 schrieb Trygve Reenskaug <tryg...@ifi.uio.no>:
>>>>>>> 
>>>>>>>> I'm working on a programing paradigm and IDE for the personal 
>>>>>>>> programmer who wants to control his or her IoT. The size of the target 
>>>>>>>> audience I have in mind is >100 million. I gave up Squeak long ago as 
>>>>>>>> a platform because they obsolete my code faster than I can write it.  
>>>>>>>> I have now frozen Squeak 3.10.2 and hope its runtime will survive 
>>>>>>>> until I find a better foundation. My hope is that Pharo has a stable 
>>>>>>>> kernel that I can build on.  According to Stephan, this is not so. Is 
>>>>>>>> there any plan for creating a stable Pharo kernel that people can use 
>>>>>>>> for building software of lasting value for millions of non-expert 
>>>>>>>> users? 
>>>>>>>> --Thanks, Trygve
>>>>>>>> 
>>>>>>>> On 05.05.2018 13:53, Stephan Eggermont wrote:
>>>>>>>>> I’ve taken a look at what would be needed to
>>>>>>>>> support magma on pharo a few years ago. Chris always told us he uses 
>>>>>>>>> it
>>>>>>>>> professionally on squeak and 
>>>>>>>>> has not enough capacity to keep up with
>>>>>>>>> changes in pharo without having a customer/maintainer for it.
>>>>>>>>>  Twice a year
>>>>>>>>> or so someone asks about magma on pharo and takes a look. AFAIK there 
>>>>>>>>> are
>>>>>>>>> no real obstacles to a port, but magma uses a lot of deep 
>>>>>>>>> implementation
>>>>>>>>> specifics that will take an experienced smalltalker to deal with, and 
>>>>>>>>> a lot
>>>>>>>>> of mailing list archeology as pharo changed a lot since magma worked 
>>>>>>>>> on
>>>>>>>>> pharo last
>>>>>>>>> 
>>>>>>>>> Stephan
>>>>>>>>> 
>>>>>>>> 
>>>>>>>> --
>> -- 
>> The essence of object orientation is that objects collaborate  to achieve a 
>> goal. 
>> Trygve Reenskaug      mailto: tryg...@ifi.uio.no
>> Morgedalsvn. 5A       http://folk.uio.no/trygver/
>> N-0378 Oslo             http://fullOO.info
>> Norway                     Tel: (+47) 22 49 57 27 
> 

--
www.tudorgirba.com
www.feenk.com

"Obvious things are difficult to teach."





Reply via email to