difference between double dispatch and the method explains here

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

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

Esteban A. Maringolo
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.

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

Reply | Threaded
Open this post in threaded view
|

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

jtuchel
+1 on the long term support and stability topic.

... and if I remember correctly, either Stephane or Marcus once talked about plans for some kind of LTS version at ESUG two or three years ago...?


Am 11.04.19 um 15:29 schrieb 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


-- 
-----------------------------------------------------------------------
Objektfabrik Joachim Tuchel          [hidden email]
Fliederweg 1                         http://www.objektfabrik.de
D-71640 Ludwigsburg                  http://joachimtuchel.wordpress.com
Telefon: +49 7141 56 10 86 0         Fax: +49 7141 56 10 86 1


Reply | Threaded
Open this post in threaded view
|

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

philippeback
I second that.

A locked up Pharo IDE is infuriating. A dead/broken keyboard is proof of this.

I have been using Jetbrains IDEA for a while now and love the embedded terminal, the Ctrl-Tab for tools and Ctrl-f12 for jumping to a method + the shift shift global search (kind of spotter) that matches on like WCH which could find WebComponentHandler for example.

And refactorings that cover a ton of situations neatly.

Cool feature is also restart of a test when in the middle of debugging.

Phil


On Thu, Apr 11, 2019, 15:33 [hidden email] <[hidden email]> wrote:
+1 on the long term support and stability topic.

... and if I remember correctly, either Stephane or Marcus once talked about plans for some kind of LTS version at ESUG two or three years ago...?


Am 11.04.19 um 15:29 schrieb 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


-- 
-----------------------------------------------------------------------
Objektfabrik Joachim Tuchel          [hidden email]
Fliederweg 1                         http://www.objektfabrik.de
D-71640 Ludwigsburg                  http://joachimtuchel.wordpress.com
Telefon: +49 7141 56 10 86 0         Fax: +49 7141 56 10 86 1


Reply | Threaded
Open this post in threaded view
|

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

John Pfersich
In reply to this post by jtuchel
+1 on the long term support idea. Changing an application every year to support a new version of Pharo is a nonstarter for most of my clients.

/*—————————————————-*/
Sent from my iPhone
https://boincstats.com/signature/-1/user/51616339056/sig.png
See https://objectnets.net and https://objectnets.org

> On Apr 11, 2019, at 06:33, "[hidden email]" <[hidden email]> wrote:
>
> +1 on the long term support and stability topic.

Reply | Threaded
Open this post in threaded view
|

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

ducasse
How much are you ready to pay for LTS?

BTW Pharo on knowroaming servers is super super super stable. This is the guy in charge of pharo there that told us this during Pharodays.

Stef

> On 12 Apr 2019, at 03:06, john pfersich <[hidden email]> wrote:
>
> +1 on the long term support idea. Changing an application every year to support a new version of Pharo is a nonstarter for most of my clients.
>
> /*—————————————————-*/
> Sent from my iPhone
> https://boincstats.com/signature/-1/user/51616339056/sig.png
> See https://objectnets.net and https://objectnets.org
>
>> On Apr 11, 2019, at 06:33, "[hidden email]" <[hidden email]> wrote:
>>
>> +1 on the long term support and stability topic.
>



Reply | Threaded
Open this post in threaded view
|

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

NorbertHartl
In reply to this post by John Pfersich
So you earn money with pharo? Isn’t that a bit risky if you don’t have someone to ask if you have a critical problem? That is what you get when you pay into the consortium. Is it that you demand that from the mailing list and the people that work in their free time?

Norbert

> Am 12.04.2019 um 03:06 schrieb john pfersich <[hidden email]>:
>
> +1 on the long term support idea. Changing an application every year to support a new version of Pharo is a nonstarter for most of my clients.
>
> /*—————————————————-*/
> Sent from my iPhone
> https://boincstats.com/signature/-1/user/51616339056/sig.png
> See https://objectnets.net and https://objectnets.org
>
>> On Apr 11, 2019, at 06:33, "[hidden email]" <[hidden email]> wrote:
>>
>> +1 on the long term support and stability topic.
>


Reply | Threaded
Open this post in threaded view
|

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

otto
Hi,

We use Pharo as a development environment and we run a business. So, for us stability and an LTS version makes sense.

I think there should be a compromise. The Ubuntu LTS model is a compromise in a sense because the releases between the LTS versions include the newer / more experimental stuff.

From what I understand, the fork of Pharo from Squeak was intended to provide more stability and make Pharo an environment that businesses like us could use. This means that there must be a reasonable degree of stability in Pharo. I also understand that the goal was to get to a minimal Pharo and build up by loading what you need on top of that. And other reasons.

Our experience was that Pharo 2 was quite stable, Pharo 3 was even better. We lived on Pharo 3 for a very long time. Pharo 4 broke, 5 was better and we're now on 6.1. None of these are as good as Pharo 3 was from a stability point of view.

I understand the innovation dilemma and wish there was a clean answer, but believe we need both.

I wish I could get a tiny gap to work on Pharo itself and not have this relentless focus on survival in the business. I thank you all for your hard work on Pharo.

Cheers

Otto Behrens

+27 82 802 2375

FINWorks
FINWorkswww.finworks.biz


On Fri, Apr 12, 2019 at 10:26 AM Norbert Hartl <[hidden email]> wrote:
So you earn money with pharo? Isn’t that a bit risky if you don’t have someone to ask if you have a critical problem? That is what you get when you pay into the consortium. Is it that you demand that from the mailing list and the people that work in their free time?

Norbert

> Am 12.04.2019 um 03:06 schrieb john pfersich <[hidden email]>:
>
> +1 on the long term support idea. Changing an application every year to support a new version of Pharo is a nonstarter for most of my clients.
>
> /*—————————————————-*/
> Sent from my iPhone
> https://boincstats.com/signature/-1/user/51616339056/sig.png
> See https://objectnets.net and https://objectnets.org
>
>> On Apr 11, 2019, at 06:33, "[hidden email]" <[hidden email]> wrote:
>>
>> +1 on the long term support and stability topic.
>


Reply | Threaded
Open this post in threaded view
|

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

EstebanLM
In reply to this post by John Pfersich
In the pharo board we have discussed several times the LTS thingy.
As others said, problem with this is it costs time, and time is money (that we do not have for the moment).

It is certainly something in our horizon, but for now is just not possible.

I don’t know which kind of applications are in play here, but I find hard to believe the effort of migrating from Pharo 6 to Pharo 7 (to put an example) is so big since I migrated all my projects in no-time.
Of course migrating from Pharo 2 to Pharo 7 will take more effort than just catch up the last version.
But to improve migration recently we introduce auto rewrite tools. This works fine up to a point.

Stability in other terms… what does it means? Stability in the API? Stability in the execution?
While the 2nd is a must, the 1st is complicated because you have to have a compromise with the need of evolution. Nevertheless, I would say that the core of Pharo is very stable and what is not so much is the tooling. This is because we are still looking for the right tooling (and because needs change, 10 years ago IoT was not a thing nor we should be prepared to it, and now is “the new kid in the block” and we need to answer to it.
Lot of other things accumulate what this days is called “technical debt” and we need to answer to that.
That breaks “stability”, but breaks it in a positive way.

So… I have my doubts about what stability means.
If it means no change. It is a no go (but users can always stick with older versions, is not that we are hiding them).
If it means eternal backward compatibility. It is too expensive (and also an eventual stagnation)
So we choose to be “stable in our goals” : to provide each version an improved version of Pharo that users can enjoy (that the origin of this thread that has been suddenly highjacked for just one of the topics), while trying to be as effortless as possible to catch up (but of course, “as effortless as possible” does not means zero effort).

Esteban


> On 12 Apr 2019, at 03:06, john pfersich <[hidden email]> wrote:
>
> +1 on the long term support idea. Changing an application every year to support a new version of Pharo is a nonstarter for most of my clients.
>  
> /*—————————————————-*/
> Sent from my iPhone
> https://boincstats.com/signature/-1/user/51616339056/sig.png
> See https://objectnets.net and https://objectnets.org
>
>> On Apr 11, 2019, at 06:33, "[hidden email]" <[hidden email]> wrote:
>>
>> +1 on the long term support and stability topic.
>


Reply | Threaded
Open this post in threaded view
|

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

John Pfersich
In reply to this post by NorbertHartl
Well, I run a consulting firm and if I could make money from developing software on Pharo, I’d be willing to join the Consortium as a Gold member. I’d love to develop using Smalltalk. I do proof of concepts in Smalltalk frequently and deploy in other languages.

I would think that a company using Smalltalk would be willing to pay thousands or ten thousands for long term support, depending on the application. I mean one seat of Jetbrains’ development tools is $600-700 a year, and enterprise development isn’t cheap. A reasonable sized MongoDB Atlas database cluster is, according to the website, somewhere in the area of $2500-3000 a month.

The average job I do saves the company I work for hundreds of thousands of dollars. I was doing jobs 30 years ago that we’re doing that. Maybe it’s more like millions.

/*—————————————————-*/
Sent from my iPhone
https://boincstats.com/signature/-1/user/51616339056/sig.png
See https://objectnets.net and https://objectnets.org

> On Apr 12, 2019, at 01:25, Norbert Hartl <[hidden email]> wrote:
>
> So you earn money with pharo? Isn’t that a bit risky if you don’t have someone to ask if you have a critical problem? That is what you get when you pay into the consortium. Is it that you demand that from the mailing list and the people that work in their free time?
>
> Norbert
>
>> Am 12.04.2019 um 03:06 schrieb john pfersich <[hidden email]>:
>>
>> +1 on the long term support idea. Changing an application every year to support a new version of Pharo is a nonstarter for most of my clients.
>>
>> /*—————————————————-*/
>> Sent from my iPhone
>> https://boincstats.com/signature/-1/user/51616339056/sig.png
>> See https://objectnets.net and https://objectnets.org
>>
>>> On Apr 11, 2019, at 06:33, "[hidden email]" <[hidden email]> wrote:
>>>
>>> +1 on the long term support and stability topic.
>>
>
>

12