Hi Eliot I would like to make some clarifications.
Preamble: -------------- I was thinking that I should not reply but I think that I have the right to clarify a bit because I do not like several points. I reply as Stef "the guy that had the vision of Pharo and that spent 10 years pushing and building Pharo.” So I think that it makes me credible enough. My points: ------------- - With you this is always the same: I’m too emotional and it ends everything. Stephane is emotional so we cannot communicate with him. You often place yourself as a professional and that I’m emotional. Could you stop this little game because to me it starts to be a bit boring? Or I will just put a filter and trash systematically your emails. - Last week you told us that time bombing our process was a bad idea in an answer about settings keeping references instead of releasing them. First this had nothing to do with the problem. You see P7 was delayed because we considered that the system was not ready but P7 should be released. May I make the remark that the world is using time-based delivery? - About CMake, you may be right that makefile is better than CMake but a part of the world is using CMake and the net result is that we lost our effort and infrastructure just to follow you. Ronie uses CMake. Igor which I consider as a talented developer used CMake because he thought it was the best tool he should use. - About infrastructure and process. I wanted to check the REplugin this week end because we should use it since the world is using Perl reg-expression and I could not find the code of the plugin on github. I saw that some plugin code is not even versioned and only available on a strange ftp and it was surprising to me. I’m still surprised that after 3 years (when esteban requested that all plugin code are grouped together in a single place, this is still not the case). - Did it not look strange to you that Esteban left the VM list in the past? Esteban looks like a reasonable and stable person to me. - You are systematically telling to me that I’m offended when people criticized us. I’m not offended by critics. We are not offended by critics. We have internal emails that are much more violent about our own process. We are not blind and we reflect on our own process and we invite people to REPORT problems. Now we ask people to be credible when they do it because we are busy - report situation - step by step reproducibility - proportionality of the voice versus the problem - and not been offensive We did not see any official reports about problems that we may have introduced. - You are vocal about “instability". And you report that one method changed. Seriously? Are you not exagerating a bit? Let us talk about instability: - When we talk about instability we talk about the fact that we cannot use for real ephemerons because they corrupt the memory and that we get random crash. - We had instability when we have memory leaks that randomly slows down Pharo. - We had instability which delays our release with a bug in FFI that made cairo crash on windows 64 bits. If you want to interact with us (and not only me, because I’m the tip of the iceberg and many people are frustrated by your attitude), let us start with positive communication and attitude: - You express your problems and we see how we (together) can fix them. - You can contribute by writing tests and by entering bug entries in the bug tracker. About Pharo: ———————— We understand that some people do not like it but we do not force anybody use and make business with it. Now I want to make something super clear: Pharo will not sacrifice agility and improvements on the altar of compatibility with Squeak. Pharo will change because Pharo is agile and because many things should be improved. We pay real attention about backwards compatibility. Much more than people think. Because we have many external projects and libraries that we support. Now if Pharo is used to build the VM then we will have to find a way to pay attention. And we will reinvest in building a process that checks this. Our problem is that integration time cannot take hours and right now validating Pharo is a bit too long. We will work on it. We strongly advocate to invest in tests. Tests are a good mechanisms to support evolution. If you have tests we can automatically rewrite deprecated methods and we will use this more often. We finally start to have: - a better compiler and not an ancient one which reported error as Morph. - a better architecture, more modular - a real bootstrap (we should improve it and build tools to support it - we are working on it) - strong libraries (File, Stream, HTTP) more documented and tested - better tools (Iceberg and Calypso are definitively steps in the right direction) And we will continue to improve. We will iterate on all these to make Pharo even better. We are writing more tests to support those changes. I repeat it: I think that we are doing a pretty good job about the quality that we deliver. Stef > On 11 Jan 2019, at 18:54, Eliot Miranda <eliot.mira...@gmail.com> wrote: > > Hi Stef, > >> On Jan 10, 2019, at 7:59 AM, ducasse <steph...@netcourrier.com> wrote: >> >> Eliot I would like also two points to this. >> >> - First we asked thomas to write tests about the debugger model and you see >> if they would be tests about methods we could understand >> that they are used and control what they do. So we should all thank thomas >> for his energy in this not so easy task. >> >> - Second it would be nice if you could refrain to be systematically negative >> about what we are doing. I think that our development process >> is much better than many others :) It is not perfect because this does not >> exist. >> I think that we are doing a great job make Smalltalk cool. And yes it may >> happen that one untested, undocumented method >> get lost. I think that we are doing pretty good given the resources we have. > > Even more serious an issue for the Pharo community than a development process > which fails to support the Ned’s of users is a defensive attitude that does > not want to discuss serious issues maturely. I bring up the stability and > backward-portability issue because it is *important*; it has affected > Clément’s ability to deliver Sista and my and feenk’s efforts to support VM > development on Pharo. If your response to my trying to discuss seriously and > objectively a problem that needs discussion is always to say “please don’t be > negative” I have even less confidence that Pharo can be a realistic platform > for my work and the work of others. > > >> Stef >> >>> On 10 Jan 2019, at 15:11, Eliot Miranda <eliot.mira...@gmail.com> wrote: >>> >>> Hi Thomas, >>> >>>> On Jan 10, 2019, at 2:24 AM, Thomas Dupriez via Pharo-dev >>>> <pharo-dev@lists.pharo.org> wrote: >>>> >>>> <mime-attachment> >>> >>> in a stack of contexts the active pc is different for the top context. For >>> other than the top context, a context’s pc will be pointing after the send >>> that created the context above it, so to find the pc of the send one finds >>> the previous pc. For the top context its pc is the active pc. >>> >>> Typically the debugger is invoked in two different modes, interruption or >>> exception. When interrupted, a process is stopped at the next suspension >>> point (method entry or backward branch) and the top context in the process >>> is the context to be displayed in the debugger. When an exception occurs >>> the exception search machinery will find the signaling context, the context >>> that raised the exception, which will be below the search machinery and the >>> debugger invocation above that. The active pc of the signaling context will >>> be the of for the send of digbsl et al. >>> >>> So the distinction is important and the utility method is probably useful. >>> >>> Do you want to remove the method simply because there are no senders in the >>> image? >>> >>> If so, this is indicative of a serious problem with the Pharo development >>> process. In the summer I ported VMMaker.oscog to Pharo 6. Now as feenk >>> try and build a VMMaker.oscog image on Pharo 7, the system is broken, in >>> part because of depreciations and in part because useful methods >>> (isOptimisedBlock (isOptimizedBlock?) in the Opal compiler) have been >>> removed. >>> >>> Just because a method is not in the image does not imply it is not in use. >>> It simply means that it is not in use in the base image. As the system >>> gets modularised this issue will only increase. There are lots of >>> collection methods that exist as a library that are not used in the base >>> image and removing them would clearly damage the library for users. This >>> is the case for lots of so-called system code. There are users out there, >>> like those of us in the vm team, who rely on such system code, and it is >>> extremely unsettling and frustrating to have that system code change all >>> the time. If Pharo is to be a useful platform to the vm team it has to be >>> more stable. >> >> >>