Nautilus roadmap / icons

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

Nautilus roadmap / icons

philippeback

In https://github.com/pharo-project/pharo-workingRoadmaps/blob/master/CleaningNautilusRoadmap.md

I see that you want to remove history, text/bytecode icons

Why ?

I am using those.

Phil

Reply | Threaded
Open this post in threaded view
|

Re: Nautilus roadmap / icons

Nicolai Hess


2014-09-24 18:14 GMT+02:00 [hidden email] <[hidden email]>:

In https://github.com/pharo-project/pharo-workingRoadmaps/blob/master/CleaningNautilusRoadmap.md

I see that you want to remove history, text/bytecode icons

Why ?

I am using those.

Phil


My main concern is, cleaning up the code.
I don't want to change the functionality or appearance. But some users suggest
to remove  the icons and history. I would, if possible change this to a plugin.
But if that does not work (history panel). I would keep it.





Reply | Threaded
Open this post in threaded view
|

Re: Nautilus roadmap / icons

stepharo
In reply to this post by philippeback

On 24/9/14 18:14, [hidden email] wrote:

>
> In
> https://github.com/pharo-project/pharo-workingRoadmaps/blob/master/CleaningNautilusRoadmap.md
>
> I see that you want to remove history, text/bytecode icons
>
> Why ?
>
> I am using those.
>
I propose that.
I would prefer that people use the plugins that they want and that the
default is lighter.

Simplifying
     - the history to me is really limited.
     - for the buttons
         one button is to switch mode
         other button (the I) with the same symbolic feel are queries (ugly)
     - I do not see why we need button to switch more for something that
really few people use (it could be a menu)
     or at least a checkbox and not a button.


> Phil
>


Reply | Threaded
Open this post in threaded view
|

Re: Nautilus roadmap / icons

philippeback
Well, the full story is that the decompiler is now gone with Opal.

So, there were 3 in the beginning. So, of course with 2, this becomes a switch.

Why no decompiler anymore, for the layman I am?

Phil


On Thu, Sep 25, 2014 at 10:26 PM, stepharo <[hidden email]> wrote:

On 24/9/14 18:14, [hidden email] wrote:

In https://github.com/pharo-project/pharo-workingRoadmaps/blob/master/CleaningNautilusRoadmap.md

I see that you want to remove history, text/bytecode icons

Why ?

I am using those.

I propose that.
I would prefer that people use the plugins that they want and that the default is lighter.

Simplifying
    - the history to me is really limited.
    - for the buttons
        one button is to switch mode
        other button (the I) with the same symbolic feel are queries (ugly)
    - I do not see why we need button to switch more for something that really few people use (it could be a menu)
    or at least a checkbox and not a button.


Phil




Reply | Threaded
Open this post in threaded view
|

Re: Nautilus roadmap / icons

EstebanLM
afaik, we have a new decompiler, to correct that absence (which was just temporal). 
check at Opal-Decompiler package. 

Esteban

On 25 Sep 2014, at 23:02, [hidden email] wrote:

Well, the full story is that the decompiler is now gone with Opal.

So, there were 3 in the beginning. So, of course with 2, this becomes a switch.

Why no decompiler anymore, for the layman I am?

Phil


On Thu, Sep 25, 2014 at 10:26 PM, stepharo <[hidden email]> wrote:

On 24/9/14 18:14, [hidden email] wrote:

In https://github.com/pharo-project/pharo-workingRoadmaps/blob/master/CleaningNautilusRoadmap.md

I see that you want to remove history, text/bytecode icons

Why ?

I am using those.

I propose that.
I would prefer that people use the plugins that they want and that the default is lighter.

Simplifying
    - the history to me is really limited.
    - for the buttons
        one button is to switch mode
        other button (the I) with the same symbolic feel are queries (ugly)
    - I do not see why we need button to switch more for something that really few people use (it could be a menu)
    or at least a checkbox and not a button.


Phil





Reply | Threaded
Open this post in threaded view
|

Re: Nautilus roadmap / icons

Marcus Denker-4
In reply to this post by philippeback

On 25 Sep 2014, at 23:02, [hidden email] wrote:

> Well, the full story is that the decompiler is now gone with Opal.
>
There is a decompiler again in Pharo4

> So, there were 3 in the beginning. So, of course with 2, this becomes a switch.
>
> Why no decompiler anymore, for the layman I am?
>
The *option* of showing decompiled code in the browser: Honestly, I do not get
why this was useful, ever.

        Marcus

signature.asc (210 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

showing decompiled code in the browser (was "Nautilus roadmap / icons")

ccrraaiigg

Hi Marcus--

> Honestly, I do not get why [showing decompiled code in the browser]
> was useful, ever.

     Some of my debugging sessions require using the virtual machine
simulator. I find browser-presented decompilation useful for finding my
place in a method I'm running that way. It's also useful for learning
about how the compiler and virtual machine work.


-C

--
Craig Latta
netjam.org
+31   6 2757 7177 (SMS ok)
+ 1 415  287 3547 (no SMS)


Reply | Threaded
Open this post in threaded view
|

Re: showing decompiled code in the browser (was "Nautilus roadmap / icons")

EstebanLM

On 26 Sep 2014, at 09:04, Craig Latta <[hidden email]> wrote:

>
> Hi Marcus--
>
>> Honestly, I do not get why [showing decompiled code in the browser]
>> was useful, ever.
>
>     Some of my debugging sessions require using the virtual machine
> simulator. I find browser-presented decompilation useful for finding my
> place in a method I'm running that way. It's also useful for learning
> about how the compiler and virtual machine work.

so is a good functionality for putting in plugin, not a standard feature of nautilus: if working with vm simulator, if debugging it, if…

Esteban

>
>
> -C
>
> --
> Craig Latta
> netjam.org
> +31   6 2757 7177 (SMS ok)
> + 1 415  287 3547 (no SMS)
>
>


Reply | Threaded
Open this post in threaded view
|

Re: showing decompiled code in the browser (was "Nautilus roadmap / icons")

Henrik Sperre Johansen

On 26 Sep 2014, at 9:08 , Esteban Lorenzano <[hidden email]> wrote:

>
> On 26 Sep 2014, at 09:04, Craig Latta <[hidden email]> wrote:
>
>>
>> Hi Marcus--
>>
>>> Honestly, I do not get why [showing decompiled code in the browser]
>>> was useful, ever.
>>
>>    Some of my debugging sessions require using the virtual machine
>> simulator. I find browser-presented decompilation useful for finding my
>> place in a method I'm running that way. It's also useful for learning
>> about how the compiler and virtual machine work.
>
> so is a good functionality for putting in plugin, not a standard feature of nautilus: if working with vm simulator, if debugging it, if…
>
> Esteban

I've also found it useful when doing optimization work on normal code.
If you're not entirely certain what the compiler is capable of, it helps you determine things like wether temps are automatically moved to the smallest enclosing scope, whether a certain function gets inlined, etc.
I imagine with Sista, it becomes an even more essential tool for checking what the compiler actually produces. Building and debugging something like that without a decompiler also seems like a whole lot of pain...

Cheers,
Henry

signature.asc (859 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: showing decompiled code in the browser (was "Nautilus roadmap / icons")

Stephan Eggermont-3
In reply to this post by ccrraaiigg
Nicolai wrote:

>My main concern is, cleaning up the code.
>I don't want to change the functionality or appearance. But some users suggest
>to remove  the icons and history. I would, if possible change this to a plugin.
>But if that does not work (history panel). I would keep it.

Changing the appearance is essential.
We need real improvements in usability and learnability.

Nautilus has done a number of experiments. Some worked well,
others didn't. We shouldn't be afraid to remove the ones that
don't work well, and try different ones.

There is code available to make the icons a plugin that was
never integrated. (Issue 13167)

What is the idea behind the lock icon?

Stephan
Reply | Threaded
Open this post in threaded view
|

Re: showing decompiled code in the browser (was "Nautilus roadmap / icons")

Clément Béra
In reply to this post by Henrik Sperre Johansen


2014-09-26 13:58 GMT+02:00 Henrik Johansen <[hidden email]>:

On 26 Sep 2014, at 9:08 , Esteban Lorenzano <[hidden email]> wrote:

>
> On 26 Sep 2014, at 09:04, Craig Latta <[hidden email]> wrote:
>
>>
>> Hi Marcus--
>>
>>> Honestly, I do not get why [showing decompiled code in the browser]
>>> was useful, ever.
>>
>>    Some of my debugging sessions require using the virtual machine
>> simulator. I find browser-presented decompilation useful for finding my
>> place in a method I'm running that way. It's also useful for learning
>> about how the compiler and virtual machine work.
>
> so is a good functionality for putting in plugin, not a standard feature of nautilus: if working with vm simulator, if debugging it, if…
>
> Esteban


I've also found it useful when doing optimization work on normal code.
If you're not entirely certain what the compiler is capable of, it helps you determine things like wether temps are automatically moved to the smallest enclosing scope, whether a certain function gets inlined, etc.
I imagine with Sista, it becomes an even more essential tool for checking what the compiler actually produces. Building and debugging something like that without a decompiler also seems like a whole lot of pain...

Hello,

Two decompilers are available in Pharo 3, one for each compiler. They both can decompile 99% of Pharo methods.

I enhanced one of them to decompile simple sista methods. However, the optimizer may generate code that cannot be expressed at source level, so some method cannot be decompiled.

I am not sure the right place for decompiled sista method is in nautilus. In nautilus the user now sees the source code of the non optimized method, and if he edits it and compiles it, the optimized method is removed from method dictionary. It would be strange to have decompiled code not matching the source code. However, I have my own tools using the decompiler to debug sista.

Cheers,
Henry

Reply | Threaded
Open this post in threaded view
|

Re: Nautilus roadmap / icons

Eliot Miranda-2
In reply to this post by Marcus Denker-4
Hi Marcus,

On Thu, Sep 25, 2014 at 11:29 PM, Marcus Denker <[hidden email]> wrote:

On 25 Sep 2014, at 23:02, [hidden email] wrote:

> Well, the full story is that the decompiler is now gone with Opal.
>
There is a decompiler again in Pharo4

> So, there were 3 in the beginning. So, of course with 2, this becomes a switch.
>
> Why no decompiler anymore, for the layman I am?
>
The *option* of showing decompiled code in the browser: Honestly, I do not get
why this was useful, ever.

I can think of three reasons.  

1. mutable literals.  using the decompiler is a quick way to check if a literal has been corrupted/modified

2. if you're working on the decompiler this is convenient

3. when Dan's encode temp names in trailer and decompile scheme was being developed/used there would be no need to display sources


        Marcus



--
best,
Eliot
Reply | Threaded
Open this post in threaded view
|

Re: Nautilus roadmap / icons

Marcus Denker-4

On 26 Sep 2014, at 20:44, Eliot Miranda <[hidden email]> wrote:

Hi Marcus,

On Thu, Sep 25, 2014 at 11:29 PM, Marcus Denker <[hidden email]> wrote:

On 25 Sep 2014, at 23:02, [hidden email] wrote:

> Well, the full story is that the decompiler is now gone with Opal.
>
There is a decompiler again in Pharo4

> So, there were 3 in the beginning. So, of course with 2, this becomes a switch.
>
> Why no decompiler anymore, for the layman I am?
>
The *option* of showing decompiled code in the browser: Honestly, I do not get
why this was useful, ever.

I can think of three reasons.  

1. mutable literals.  using the decompiler is a quick way to check if a literal has been corrupted/modified

2. if you're working on the decompiler this is convenient


Yes, but all this does not mean that there need to be a button always visible for it…
(and maybe GTInspector already provides the perfect tool for it? I guess it does: Decompiler
can define a view for CompiledMethod, it is added as a tab, the tabs let you switch easily between code, AST, IR, CM Header and everyone
else who defines an inspector view for the method)

3. when Dan's encode temp names in trailer and decompile scheme was being developed/used there would be no need to display sources

We removed that… 

Marcus

signature.asc (210 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Nautilus roadmap / icons

Marcus Denker-4

On 27 Sep 2014, at 09:25, Marcus Denker <[hidden email]> wrote:


On 26 Sep 2014, at 20:44, Eliot Miranda <[hidden email]> wrote:

Hi Marcus,

On Thu, Sep 25, 2014 at 11:29 PM, Marcus Denker <[hidden email]> wrote:

On 25 Sep 2014, at 23:02, [hidden email] wrote:

> Well, the full story is that the decompiler is now gone with Opal.
>
There is a decompiler again in Pharo4

> So, there were 3 in the beginning. So, of course with 2, this becomes a switch.
>
> Why no decompiler anymore, for the layman I am?
>
The *option* of showing decompiled code in the browser: Honestly, I do not get
why this was useful, ever.

I can think of three reasons.  

1. mutable literals.  using the decompiler is a quick way to check if a literal has been corrupted/modified

2. if you're working on the decompiler this is convenient


Yes, but all this does not mean that there need to be a button always visible for it…
(and maybe GTInspector already provides the perfect tool for it? I guess it does: Decompiler
can define a view for CompiledMethod, it is added as a tab, the tabs let you switch easily between code, AST, IR, CM Header and everyone
else who defines an inspector view for the method)

In 4.0 #272:

-> add

gtInspectorDecompilerIn: composite
<gtInspectorPresentationOrder: 40> 
^ composite smalltalkCode 
title: 'Decompiled';
smalltalkClass: [ self methodClass ];
display: [ self codeForNoSource ].

to CompiledMethod.

Result: instant browser for comparing source vs. decompiled vs. AST vs Bytecode.
(I inspect “Object methods”).




signature.asc (210 bytes) Download Attachment