A day with Dolphin X6

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

A day with Dolphin X6

Ted
Some general remarks after a day with D6. I built a fairly simple app
from the ground up on a 'virgin' image, mostly using test-first and
here's my findings (other than the stuff that I reported during the day).

* Intellisense - I totally agree that it's the right thing to do for
Smalltalk newbies coming from Visual-whatever as they are used to it and
think they can't live without it. However, once you know your classes
and methods reasonably, it would be nice to be able to switch it off, as
the cursor was forever in the wrong place and the selection frequently
deleted what I intended to keep. In very few cases it helped me, in the
majority of cases I found it a hindrance. Maybe it is a matter of
getting used to but if I could switch it off I would. Very impressive
feature and it does the right thing, but not for me.

* Text Styles - I like the fact that you seem to be able to fine-tune
the style in a more interactive way and in finer granularity. I did try
to switch off italics for temporary variables and the assignment
character (as I find readability of italics hopeless) but found that you
have to close down the Idea Space (or system browser/CHB) to make the
style changes have effect.

* Idea Space - Fantastic! Despite (or maybe because of) using two
monitors, I'm always rummaging around for the right browser where I have
a certain class open. The Idea Space really has solved the multi-window
clutter. In the app that I built I didn't have too many classes so so I
might end up having too many windows in an idea space in more serious
development, but I'm sure it will be a massive improvement for me. Just
one *but*, and I can see that this is a difficult one, following the
test-first practise, I write a test, run it, let the debugger tell me
what's not working, but oops, the debugger isn't part of the Idea Space.
So I still end up developing in separate windows. I can understand that
this comes from the fact that the debugger is opened from the stack
trace dialog, but could there be a way to get the debugger in the IS?
For example skipping the stack trace dialog when debugging/stepping from
the SUnit Browser? As an aside, I noticed that the SUnit Browser still
has the problem that it doesn't get updated with new/modified test
methods in the way the CHB does. Probably one for Odellsoft?

* Resource Browser - High time (not changed since version 2.0 or maybe
even longer?) but very neatly done.

All in all very impressed.

Ted


Reply | Threaded
Open this post in threaded view
|

Re: A day with Dolphin X6

Sean Malloy-11
> * Intellisense - I totally agree that it's the right thing to do for
> Smalltalk newbies coming from Visual-whatever as they are used to it and
> think they can't live without it. However, once you know your classes and
> methods reasonably, it would be nice to be able to switch it off, as the
> cursor was forever in the wrong place and the selection frequently deleted
> what I intended to keep. In very few cases it helped me, in the majority
> of cases I found it a hindrance. Maybe it is a matter of getting used to
> but if I could switch it off I would. Very impressive feature and it does
> the right thing, but not for me.

It was the surprising thing for me as well. I really missed intellisense
when I first started developing in Dolphin (Coming from VS .NET land), but
after a few months, I didn't really miss it. In VS you use intellisense as a
way to explore. In Dolphin you just use the CHB

As for D6 IntelliSense, at times it's nice, but I found I didn't miss it
when going back to D5.

I think that's the benchmark; Do you miss a feature when working in 5?

Resource Browser, yes.
New View Composer, yes.
Pinnable menus, yes.
ScintillaView/New Styles, yes.
IntelliSense, not really.

I won't turn it off though. I haven't found it annoying, yet


Reply | Threaded
Open this post in threaded view
|

Re: A day with Dolphin X6

Andy Bower-3
Ted,

> > * Intellisense - I totally agree that it's the right thing to do
> > for Smalltalk newbies coming from Visual-whatever as they are used
> > to it and think they can't live without it. However, once you know
> > your classes and methods reasonably, it would be nice to be able to
> > switch it off, as the cursor was forever in the wrong place and the
> > selection frequently deleted what I intended to keep. In very few
> > cases it helped me, in the majority of cases I found it a
> > hindrance. Maybe it is a matter of getting used to but if I could
> > switch it off I would. Very impressive feature and it does the
> > right thing, but not for me.

You can turn it off for the whole system by evaluating:

SmalltalkWorkspace isAutoCompletionEnabled: false.

This will probably be a user preference.

--
Andy Bower
Dolphin Support
www.object-arts.com


Reply | Threaded
Open this post in threaded view
|

Re: A day with Dolphin X6

Blair McGlashan
In reply to this post by Ted
"Ted" <[hidden email]> wrote in message
news:[hidden email]...

> Some general remarks after a day with D6. I built a fairly simple app from
> the ground up on a 'virgin' image, mostly using test-first and here's my
> findings (other than the stuff that I reported during the day).
>
> * Intellisense - I totally agree that it's the right thing to do for
> Smalltalk newbies coming from Visual-whatever as they are used to it and
> think they can't live without it. However, once you know your classes and
> methods reasonably, it would be nice to be able to switch it off, as the
> cursor was forever in the wrong place and the selection frequently deleted
> what I intended to keep. In very few cases it helped me, in the majority
> of cases I found it a hindrance. Maybe it is a matter of getting used to
> but if I could switch it off I would. Very impressive feature and it does
> the right thing, but not for me.

Ted, I'll just comment that you should try to use it for a bit longer before
deciding. You probably haven't noticed all the subtlety's yet, nor got used
to the new way of working it engenders. Certainly it helps to be a touch
typist so that you can look at the screen as you are typing. For my own part
I find it more useful for writing new code than I do for modifying old code,
and there are some ways in which it could be improved, some of which are
minor (e.g. it should cancel when you evaluate an expression or some other
command, and the addition of images to assist with visual differentiation
between the entries) and others more major (like the unification with the
abbreviations mechanism, and potential addition of templates/macro
expansions). Also I don't understand your comment about it deleting text; by
default it is configured not to delete the rest of the word when a
completion is accepted mid-word.

Anyway, there is an option to turn it off, and you can then request it on
demand when you want it. See the key bindings for the shortcut, as I can't
remember it now.

>
> * Text Styles - I like the fact that you seem to be able to fine-tune the
> style in a more interactive way and in finer granularity. I did try to
> switch off italics for temporary variables and the assignment character
> (as I find readability of italics hopeless) but found that you have to
> close down the Idea Space (or system browser/CHB) to make the style
> changes have effect.

That's true. It may or may not get fixed for the final release, as the
configuration is fairly static once set up.

>
> * Idea Space - Fantastic! Despite (or maybe because of) using two
> monitors, I'm always rummaging around for the right browser where I have a
> certain class open. The Idea Space really has solved the multi-window
> clutter. In the app that I built I didn't have too many classes so so I
> might end up having too many windows in an idea space in more serious
> development, but I'm sure it will be a massive improvement for me. Just
> one *but*, and I can see that this is a difficult one, following the
> test-first practise, I write a test, run it, let the debugger tell me
> what's not working, but oops, the debugger isn't part of the Idea Space.
> So I still end up developing in separate windows. I can understand that
> this comes from the fact that the debugger is opened from the stack trace
> dialog, but could there be a way to get the debugger in the IS? For
> example skipping the stack trace dialog when debugging/stepping from the
> SUnit Browser? As an aside, I noticed that the SUnit Browser still has the
> problem that it doesn't get updated with new/modified test methods in the
> way the CHB does. Probably one for Odellsoft?

A deliberate decision was taken not to include the Debugger in the
IdeaSpace. Again though this should be configurable. Take a look at the
published aspects.

>
> * Resource Browser - High time (not changed since version 2.0 or maybe
> even longer?) but very neatly done.
>

Some of Andy's best work :-).

> All in all very impressed.

Thanks

Blair


Ted
Reply | Threaded
Open this post in threaded view
|

Re: A day with Dolphin X6

Ted
Blair McGlashan wrote:

> "Ted" <[hidden email]> wrote in message
> news:[hidden email]...
>
>>Some general remarks after a day with D6. I built a fairly simple app from
>>the ground up on a 'virgin' image, mostly using test-first and here's my
>>findings (other than the stuff that I reported during the day).
>>
>>* Intellisense - I totally agree that it's the right thing to do for
>>Smalltalk newbies coming from Visual-whatever as they are used to it and
>>think they can't live without it. However, once you know your classes and
>>methods reasonably, it would be nice to be able to switch it off, as the
>>cursor was forever in the wrong place and the selection frequently deleted
>>what I intended to keep. In very few cases it helped me, in the majority
>>of cases I found it a hindrance. Maybe it is a matter of getting used to
>>but if I could switch it off I would. Very impressive feature and it does
>>the right thing, but not for me.
>
>
> Ted, I'll just comment that you should try to use it for a bit longer before
> deciding. You probably haven't noticed all the subtlety's yet, nor got used
> to the new way of working it engenders. Certainly it helps to be a touch
> typist so that you can look at the screen as you are typing. For my own part
> I find it more useful for writing new code than I do for modifying old code,
> and there are some ways in which it could be improved, some of which are
> minor (e.g. it should cancel when you evaluate an expression or some other
> command, and the addition of images to assist with visual differentiation
> between the entries) and others more major (like the unification with the
> abbreviations mechanism, and potential addition of templates/macro
> expansions).

Yes, during the beta I am persevering with it, giving it a serious
chance as that's the point of the beta isn't it.

Also I don't understand your comment about it deleting text; by
> default it is configured not to delete the rest of the word when a
> completion is accepted mid-word.

Probably not the intellisense but the code mentor? Try to write a nice
complicated line of code in between some other lines of code. However,
forget the full stop at the end. Then try to accept the method. Of
course the compiler complains and the code mentor highlights the line
that should have the full stop. Now enter the full stop - oh *@! the
whole line is replaced by the single full stop. Sorry, escape or undo
don't know anything of what has been dropped either, so you'll just have
to enter it again (and don't forget the full stop, or move the cursor
when the code mentor interferes!)

Ted


Reply | Threaded
Open this post in threaded view
|

Re: A day with Dolphin X6

Blair McGlashan
"Ted" <[hidden email]> wrote in message
news:[hidden email]...

> Blair McGlashan wrote:
>
> ...I don't understand your comment about it deleting text; by
>> default it is configured not to delete the rest of the word when a
>> completion is accepted mid-word.
>
> Probably not the intellisense but the code mentor? Try to write a nice
> complicated line of code in between some other lines of code. However,
> forget the full stop at the end. Then try to accept the method. Of course
> the compiler complains and the code mentor highlights the line that should
> have the full stop. Now enter the full stop - oh *@! the whole line is
> replaced by the single full stop.

That's not related to either intellisense or the code mentor, but rather its
the normal behaviour of the workspace in highlighting the first compilation
error in a method by selecting it. Normal selection behaviour of text
controls is to replace the selected range of text when you press a key when
there is a selection. It's no different in D5, except of course in D5
highlighting by selection was the only way in which compilation errors could
be shown. In D6 errors are also highlighted by squiggly underlines, but the
selection behaviour is still useful because it moves the insertion point to
the location of the problem.

>....Sorry, escape or undo don't know anything of what has been dropped
>either, so you'll just have to enter it again (and don't forget the full
>stop, or move the cursor when the code mentor interferes!)

Undo works for me, although you do need to press it twice, which does differ
from D5. The first time the full stop you just entered gets removed. The
second time the previous text is restored. I'm not quite sure why you should
need to undo twice here (I'll record that as a cosmetic bug), but remember
there is now multi-level undo (and redo) so you can just keep bashing away
at Ctrl+Z to undo all the changes you have made back to the last checkpoint
(the initial text of the method when you first visited it, or the last time
it was saved). Also unlike D5 if you undo right back to that point, then the
method text will no longer be marked as modified, and you'll be able to move
away without a prompt to save changes.

I think its worth mentioning that the Code Mentor never actively interferes
with code without explicit request. Indeed it normally isn't even running
unless you are on its tab. Even if it is running there are only a few cases
where it provides automatic transformations that you can choose, and when
you do you get a chance to review and selectively apply any changes it
suggests.

Regards

Blair


Ted
Reply | Threaded
Open this post in threaded view
|

Re: A day with Dolphin X6

Ted
Blair McGlashan wrote:

> "Ted" <[hidden email]> wrote in message
> news:[hidden email]...
>
>>Blair McGlashan wrote:
>>
>>...I don't understand your comment about it deleting text; by
>>
>>>default it is configured not to delete the rest of the word when a
>>>completion is accepted mid-word.
>>
>>Probably not the intellisense but the code mentor? Try to write a nice
>>complicated line of code in between some other lines of code. However,
>>forget the full stop at the end. Then try to accept the method. Of course
>>the compiler complains and the code mentor highlights the line that should
>>have the full stop. Now enter the full stop - oh *@! the whole line is
>>replaced by the single full stop.
>
>
> That's not related to either intellisense or the code mentor, but rather its
> the normal behaviour of the workspace in highlighting the first compilation
> error in a method by selecting it. Normal selection behaviour of text
> controls is to replace the selected range of text when you press a key when
> there is a selection. It's no different in D5, except of course in D5
> highlighting by selection was the only way in which compilation errors could
> be shown. In D6 errors are also highlighted by squiggly underlines, but the
> selection behaviour is still useful because it moves the insertion point to
> the location of the problem.
>

The difference is that compilation warnings are selected now (they
didn't used to be). In my 'test - debug - develop' way of working I
always have not yet implemented methods so a significant number of
methods complain during 'accept'. A nice option would be to allow the
creation of the 'stub-method' as in the debugger.

BTW, back in the D5.1 environment, I'm actually missing code completion
now :-)


Ted