Re: [Pharo-users] [OT] (slightly) What makes other dialects "enjoyable" for you? (WAS: difference between double dispatch...)

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
8 messages Options
Reply | Threaded
Open this post in threaded view
|

Re: [Pharo-users] [OT] (slightly) What makes other dialects "enjoyable" for you? (WAS: difference between double dispatch...)

Stéphane Ducasse


On 10 Apr 2019, at 15:19, Esteban Maringolo <[hidden email]> wrote:

I love this attitude coming from the very core of the Pharo dev-team,
which felt to me as being blind to what other dialects were doing or
did in the past, and these is days seems to be catching up quite
quickly.

this was never the case.
Now we could also spend our time in python and you will see how the smalltalk world would feel. 
Some time you need to be concentrated. 


Dolphin Smalltalk:
Practically all "widgets" (aka "views") are the native ones, and they
behave as expected by a Windows user, both in terms of shortcuts,
styling, etc. It feels like a Smalltalk built by Microsoft itself.

The MVP approach to build GUIs is, in my experience, the best of all
available options, and the way the Presenters and Views are factored
is great, for what I could see, Spec 2.0 is going in that direction
and I like. Some could say this would restrict you from building
"different" apps, but IMO that is another layer that must be built on
top of the basic building blocks.

It doesn't use pragmas (I particularly don't like them much), but
there are "hooks" everywhere to add items to tooling menus, etc.

The consistency and coherence of the whole system is outstanding, not
only in terms of UI, and I think it is the result of two great
developers (and I would argue only one in terms of UI), working for
over a decade in refining, trimming and polishing every corner of the
app while also using it for their own personal and business
developments.

Dolphin had both a commercial purpose and a utility purpose, the first
as a vendor to fulfill developer needs, but the others for them as a
business to develop their own applications. So in the end they were
profiting from scratching their own itch.

So what I would love to have in Pharo from Dolphin?
The UX consistency that a workspace context menu is as similar as the
one in the browser code or the one in the Debugger (e.g. Why I can't
do an "extract method" refactoring within the debugger?).

The concept of a SessionManager is great also, you could "deploy" your
image to have a session manager that will handle headless command line
application, a full blown UI or even be used an out of process COM
server.

There are many cons, but we're focusing only in what I'd like.
I developed with Dolphin for more than +10 years , building business
critical application with it.


VisualWorks
I use it every day and don't miss much from it, except that the UI is
snappier than the current in Pharo. There is no lag the interaction
with most widgets. Certain things such as breakpoints and bread and
butter things "just work".

What I would like in Pharo from VW?:
Multiple windows, robust tooling and snappier UI.

I don't miss the namespacing, because I understand there are better
things in the makings for Pharo :)

VisualAge/VAST:
I have only used it up to v5.5, but the "Interrupt" button it has
worked, I never understood how it was implemented, but no matter how
tight the recursion loop was, you hit that "stop everything" button,
and everything stopped.

For those that don't know, the VAST IDE had an external small window
that just had a button, that worked as a panic button to halt the
execution of the image. Very much like the [Alt]+[.] of Pharo, but,
again, it worked magically.

What I would like in Pharo from VAST?: THAT BUTTON. :D

Smalltalk/X
It always feelt alien to me and it is more an "utility" dialect for
themselves that they happened to make public.
The nicest thing I found is that it had multiple windows where each
window has it's own process!

This is very much like Chromium/Chrome works, where you can kill a
single tab and keep the other tabs working.

What I would like: That capability, although I think this would
require an overhaul of the current VM.


Cuis Smalltalk:
It is the most "approachable" of the Squeak spin-offs, it feels like
the most "Dolphin like" of the them as in it is the only that can be
understood as a whole by a single person and whose tools can be learnt
by inference.

They recently added LiveTyping and other "live info" capabilities
<https://twitter.com/HernanWilkinson/status/1087325709289357312> than,
AFAIU, can be easily added to Pharo as well as long as they add a few
extensions to the VM.

What I would like: LiveTyping and friends.



Summarizing:
There are many things out there, but even so, I find Pharo the most
enjoyable of all existing dialects, and everyday when I come back to
it to work on some personal project I notice how far it has gone from
most of the above.

But sometimes I enjoy it as I enjoy working out or playing golf: I
enjoy it but not without effort and some pain from my side, maybe I
finish the day saying I need to find an alternative and then the next
day I'm there wanting to use it again. :)

Regards,


Esteban A. Maringolo

El mié., 10 abr. 2019 a las 3:26, Esteban Lorenzano
(<[hidden email]>) escribió:

Hi,

Time to time I hear people like Richard saying “Dolphin is the dialect most beautiful Smalltalk he used” and others praising it in different levels.
As Pharo “architect” (or whatever I am, but at least I’m sure I have to pay attention to the IDE :P), I’m interested to know what elements of Dolphin dialect you find “beautiful”, “enjoyable” and productive.
What it is?

- the MVP?
- integration with Windows? The way this integration is done? (If so… how is it done?)


I am very interested on knowing this with some detail level. That doesn’t mean I will react and do something, but I want to have a better understanding and put it in my radar to take inspiration to enhance the Pharo experience :P


--------------------------------------------
Stéphane Ducasse
03 59 35 87 52
Assistant: Julie Jonas 
FAX 03 59 57 78 50
TEL 03 59 35 86 16
S. Ducasse - Inria
40, avenue Halley, 
Parc Scientifique de la Haute Borne, Bât.A, Park Plaza
Villeneuve d'Ascq 59650
France

Reply | Threaded
Open this post in threaded view
|

Re: [Pharo-users] [OT] (slightly) What makes other dialects "enjoyable" for you? (WAS: difference between double dispatch...)

Mariano Martinez Peck
Hi Esteban,

We talk this privately a couple of weeks ago, but I thought it was worth writing again here. As for other IDE's being enjoyable, I can only talk about VASmalltalk. If there is ONE thing I enjoy from it, is the stability. May be ugly, may be too-windows, may be full of menus you don't understand what they do, but it's really rock solid. 
Pharo has been doing a LOT of progress on so many areas and its expected to decrease a bit on stability. Unless you are Oracle and can hire 100 engineers. 
So, my small recommendation to you back then was to make at least ONE release (called LTS or whatever) were you just focus on stability and bugs. No new features. No new framework. Just stability. Make it rock solid. Then after that release, you can keep moving forward, but that would give companies and really really stable Pharo to rely on. 

Best, 
 
--
Mariano Martinez Peck
Reply | Threaded
Open this post in threaded view
|

Re: [Pharo-users] [OT] (slightly) What makes other dialects "enjoyable" for you? (WAS: difference between double dispatch...)

NorbertHartl


Am 11.04.2019 um 15:29 schrieb Mariano Martinez Peck <[hidden email]>:

Hi Esteban,

We talk this privately a couple of weeks ago, but I thought it was worth writing again here. As for other IDE's being enjoyable, I can only talk about VASmalltalk. If there is ONE thing I enjoy from it, is the stability. May be ugly, may be too-windows, may be full of menus you don't understand what they do, but it's really rock solid. 
Pharo has been doing a LOT of progress on so many areas and its expected to decrease a bit on stability. Unless you are Oracle and can hire 100 engineers. 
So, my small recommendation to you back then was to make at least ONE release (called LTS or whatever) were you just focus on stability and bugs. No new features. No new framework. Just stability. Make it rock solid. Then after that release, you can keep moving forward, but that would give companies and really really stable Pharo to rely on. 

For the provision of an LTS version we need more engineers. If there are enough companies that need a rock solid stable version then the consortium will have enough money to hire engineers for that. 
I would put a virtual machine that we can control much higher on the list of things we should have.

Norbert

Best, 
 
--
Mariano Martinez Peck
Reply | Threaded
Open this post in threaded view
|

Re: [Pharo-users] [OT] (slightly) What makes other dialects "enjoyable" for you? (WAS: difference between double dispatch...)

Mariano Martinez Peck


On Thu, Apr 11, 2019 at 10:54 AM Norbert Hartl <[hidden email]> wrote:


Am 11.04.2019 um 15:29 schrieb Mariano Martinez Peck <[hidden email]>:

Hi Esteban,

We talk this privately a couple of weeks ago, but I thought it was worth writing again here. As for other IDE's being enjoyable, I can only talk about VASmalltalk. If there is ONE thing I enjoy from it, is the stability. May be ugly, may be too-windows, may be full of menus you don't understand what they do, but it's really rock solid. 
Pharo has been doing a LOT of progress on so many areas and its expected to decrease a bit on stability. Unless you are Oracle and can hire 100 engineers. 
So, my small recommendation to you back then was to make at least ONE release (called LTS or whatever) were you just focus on stability and bugs. No new features. No new framework. Just stability. Make it rock solid. Then after that release, you can keep moving forward, but that would give companies and really really stable Pharo to rely on. 

For the provision of an LTS version we need more engineers. If there are enough companies that need a rock solid stable version then the consortium will have enough money to hire engineers for that. 

Well, either that or convince the community that that is a good thing. Obviously, when you don't pay for that and things come for free it's understandable you can't decide on what type of effort/results you get. And for almost all of us, is much way more cool to provide a new framework, a new tool, etc than bug fixing and testing. 

 
I would put a virtual machine that we can control much higher on the list of things we should have.

Norbert

Best, 
 
--
Mariano Martinez Peck


--
Mariano Martinez Peck
Reply | Threaded
Open this post in threaded view
|

Re: [Pharo-users] [OT] (slightly) What makes other dialects "enjoyable" for you? (WAS: difference between double dispatch...)

ducasse
I agree with Norbert and I would love that the consortium is able to do it.
Now the communittee should realize that we are in a much better position to support older release with Git.
It is now easier for us to backport important bug fixes. For example there will be a new release of P7 monday or tuesday to
handle the font bug.

Stef

Reply | Threaded
Open this post in threaded view
|

Re: [Pharo-users] [OT] (slightly) What makes other dialects "enjoyable" for you? (WAS: difference between double dispatch...)

NorbertHartl
In reply to this post by Mariano Martinez Peck


Am 11.04.2019 um 21:35 schrieb Mariano Martinez Peck <[hidden email]>:



On Thu, Apr 11, 2019 at 10:54 AM Norbert Hartl <[hidden email]> wrote:


Am 11.04.2019 um 15:29 schrieb Mariano Martinez Peck <[hidden email]>:

Hi Esteban,

We talk this privately a couple of weeks ago, but I thought it was worth writing again here. As for other IDE's being enjoyable, I can only talk about VASmalltalk. If there is ONE thing I enjoy from it, is the stability. May be ugly, may be too-windows, may be full of menus you don't understand what they do, but it's really rock solid. 
Pharo has been doing a LOT of progress on so many areas and its expected to decrease a bit on stability. Unless you are Oracle and can hire 100 engineers. 
So, my small recommendation to you back then was to make at least ONE release (called LTS or whatever) were you just focus on stability and bugs. No new features. No new framework. Just stability. Make it rock solid. Then after that release, you can keep moving forward, but that would give companies and really really stable Pharo to rely on. 

For the provision of an LTS version we need more engineers. If there are enough companies that need a rock solid stable version then the consortium will have enough money to hire engineers for that. 

Well, either that or convince the community that that is a good thing. Obviously, when you don't pay for that and things come for free it's understandable you can't decide on what type of effort/results you get. And for almost all of us, is much way more cool to provide a new framework, a new tool, etc than bug fixing and testing. 

Yes and it is ok it is that way. Peope spend their time and want to do something fun not the boring part. There might be projects which developed a culture of providing that as a value. But a general rule for open source work is „Either it is fun or it needs to be paid“. I cannot see anything wrong with that. And I if try to think about an LTS version that is not backed up by a company I cannot come up with one quickly.
And when we discuss this topic I want to have a clearer definition of terms. To me there are „stability“ and „stand-still“ mixed in the readings. Pharo provides quite a good stability while its moving. And that is IMHO the only way  it can work.
And yet there is a place for an LTS. But who uses the new version then? How can you ever move because people just using the „stagnated“ version? 

Norbert
 
I would put a virtual machine that we can control much higher on the list of things we should have.

Norbert

Best, 
 
--
Mariano Martinez Peck


--
Mariano Martinez Peck
Reply | Threaded
Open this post in threaded view
|

Re: [Pharo-users] [OT] (slightly) What makes other dialects "enjoyable" for you? (WAS: difference between double dispatch...)

ducasse
I think that everybody should read the innovator dilemna because large industry got just destroyed because they followed what their customers wanted.
They customers said we want A and never B and suddenly B was cool enough and they did not want A anymore.



Stef

Reply | Threaded
Open this post in threaded view
|

Re: [Pharo-users] [OT] (slightly) What makes other dialects "enjoyable" for you? (WAS: difference between double dispatch...)

Sven Van Caekenberghe-2
In reply to this post by NorbertHartl
I agree with Norbert: the problem lies in the definition of LTS.

Right now, Pharo 8 is the moving thing, Pharo 7 is stable and receives back ports of selected fixes.

Each older Pharo version is also stable: what worked years ago, still works today. I have many Pharo 4 images running in production, they even get new application code that was developed in Pharo 7 images.

LTS is also a bit of a trap: Ubuntu has it for Linux, but after 5 or 10 years you still have to move, and then it will be quite hard because you never did any small steps. We had similar problems in the Java and Javascript worlds (to name two much larger communities): one day some critical part that you depend on becomes obsolete, and then you have a problem.

> On 11 Apr 2019, at 23:34, Norbert Hartl <[hidden email]> wrote:
>
>
>
> Am 11.04.2019 um 21:35 schrieb Mariano Martinez Peck <[hidden email]>:
>
>>
>>
>> On Thu, Apr 11, 2019 at 10:54 AM Norbert Hartl <[hidden email]> wrote:
>>
>>
>> Am 11.04.2019 um 15:29 schrieb Mariano Martinez Peck <[hidden email]>:
>>
>>> Hi Esteban,
>>>
>>> We talk this privately a couple of weeks ago, but I thought it was worth writing again here. As for other IDE's being enjoyable, I can only talk about VASmalltalk. If there is ONE thing I enjoy from it, is the stability. May be ugly, may be too-windows, may be full of menus you don't understand what they do, but it's really rock solid.
>>> Pharo has been doing a LOT of progress on so many areas and its expected to decrease a bit on stability. Unless you are Oracle and can hire 100 engineers.
>>> So, my small recommendation to you back then was to make at least ONE release (called LTS or whatever) were you just focus on stability and bugs. No new features. No new framework. Just stability. Make it rock solid. Then after that release, you can keep moving forward, but that would give companies and really really stable Pharo to rely on.
>>>
>> For the provision of an LTS version we need more engineers. If there are enough companies that need a rock solid stable version then the consortium will have enough money to hire engineers for that.
>>
>> Well, either that or convince the community that that is a good thing. Obviously, when you don't pay for that and things come for free it's understandable you can't decide on what type of effort/results you get. And for almost all of us, is much way more cool to provide a new framework, a new tool, etc than bug fixing and testing.
>>
> Yes and it is ok it is that way. Peope spend their time and want to do something fun not the boring part. There might be projects which developed a culture of providing that as a value. But a general rule for open source work is „Either it is fun or it needs to be paid“. I cannot see anything wrong with that. And I if try to think about an LTS version that is not backed up by a company I cannot come up with one quickly.
> And when we discuss this topic I want to have a clearer definition of terms. To me there are „stability“ and „stand-still“ mixed in the readings. Pharo provides quite a good stability while its moving. And that is IMHO the only way  it can work.
> And yet there is a place for an LTS. But who uses the new version then? How can you ever move because people just using the „stagnated“ version?
>
> Norbert
>>  
>> I would put a virtual machine that we can control much higher on the list of things we should have.
>>
>> Norbert
>>
>>> Best,
>>>  
>>> --
>>> Mariano Martinez Peck
>>> Email: [hidden email]
>>> Twitter: @MartinezPeck
>>> LinkedIn: https://www.linkedin.com/in/mariano-mart%C3%ADnez-peck/
>>
>>
>> --
>> Mariano Martinez Peck
>> Email: [hidden email]
>> Twitter: @MartinezPeck
>> LinkedIn: https://www.linkedin.com/in/mariano-mart%C3%ADnez-peck/