MVC programs don't work in Squeak 4.1

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

MVC programs don't work in Squeak 4.1

Dave Burton
First, please forgive me if this is a F.A.Q., but I can't seem to find any search
facility for this email list.  (Is there one?  Where??)

I last used Smalltalk about 20 years ago, and now I'm trying to port that old MVC
program to Squeak 4.1 under Windows Vista 32-bit (though "Display version information"
in VM Preferences says it is 4.0.2 rather than 4.1).

I've run into lots of frustrations with the Squeak user interface, documentation, etc.,
but I've muddled through.  After fixing various obsolete methods, my program seemed
to run right up to the point where it sent the open message to the controller.  Then it
died on the last line of the open method for StandardSystemController.

That method is very short:

open
    "Create an area on the screen in which the receiver's scheduled view can
    be displayed. Make it the active view."

    view resizeInitially.
    status := #open.
    ScheduledControllers scheduleActive: self

It dies sending the scheduleActive: message to class ScheduledControllers.
When I try to step "Into" the method using the debugger, it goes directly to
UndefinedObject(Object)>>doesNotUnderstand: #scheduleActive:

self  is a StandardSystemController.

The class ScheduledControllers isn't even visible in the Browser.

What on earth is going on?  How can the StandardSystemController's open method
be sending a message to an undefined class?!?

I found a discussion of this problem on the web at
http://objectmix.com/smalltalk/16883-mvc-example-squeak.html
and it seems that Squeak doesn't work with MVC programs unless you explicitly
open an MVC project.

Well, okay, but how hard would it have been to just put a proper error check and
helpful message into the open method of StandardSystemController?

So I did Projects -> New Project -> New MVCroject, and I got a blank screen,
with nothing on it at all.  Any of the 3 mouse buttons brings up the same
very short menu.

Since the 3 mouse buttons all do the same thing, I wondered if the Mouse
preferences might be wrong, but I've verified that "3 button mouse" is
selected in VM Preferences.  (I experimentally tried setting it to "1 button
mouse" or both or neither, but nothing made any difference.)

That menu was pretty opaque, but finally I managed to Open Browser.  But
the System Browser looks bad (it's missing the "class" button, for instance).

When I tried to open file list, the whole Squeak system froze.  (Well, the
mouse cursor moves, but none of the mouse buttons do anything; I had to kill
it with Process Explorer.)

I restarted and tried Open -> file...

This was a little better -- it tried to paint a file browser, but failed
for the most part.  Rolling the mouse wheel up and down revealed some file
names, but nothing would make it do anything with those files.
It painted a big red ugly "accept" button, which I tried clicking, but the
whole Squeak system just froze again.

So... is Squeak unusable for MVC programs?  Or is there some trick that
I don't know?

Dave


_______________________________________________
Beginners mailing list
[hidden email]
http://lists.squeakfoundation.org/mailman/listinfo/beginners
Reply | Threaded
Open this post in threaded view
|

Re: MVC programs don't work in Squeak 4.1

John McKeon


On Sun, Jun 13, 2010 at 9:34 AM, David Burton <[hidden email]> wrote:
First, please forgive me if this is a F.A.Q., but I can't seem to find any search
facility for this email list.  (Is there one?  Where??)

Try http://forum.world.st Scroll down to Squeak to see a link to the beginners list. Quite searchable.



_______________________________________________
Beginners mailing list
[hidden email]
http://lists.squeakfoundation.org/mailman/listinfo/beginners




--
http://john-mckeon.us/seaside

_______________________________________________
Beginners mailing list
[hidden email]
http://lists.squeakfoundation.org/mailman/listinfo/beginners
Reply | Threaded
Open this post in threaded view
|

Re: MVC programs don't work in Squeak 4.1

John McKeon
In reply to this post by Dave Burton

Dave,
Did you try running your code in the MVCProject?
ScheduledControllers isn't a class but a Smalltalk "global" variable. In the normal squeak world its value is nil, but when you enter an MVCProject it gets populated with a ControlManager object which does respond to scheduleActive: so it just might work!

HTH
John


On Sun, Jun 13, 2010 at 9:34 AM, David Burton <[hidden email]> wrote:
First, please forgive me if this is a F.A.Q., but I can't seem to find any search
facility for this email list.  (Is there one?  Where??)

I last used Smalltalk about 20 years ago, and now I'm trying to port that old MVC
program to Squeak 4.1 under Windows Vista 32-bit (though "Display version information"
in VM Preferences says it is 4.0.2 rather than 4.1).

I've run into lots of frustrations with the Squeak user interface, documentation, etc.,
but I've muddled through.  After fixing various obsolete methods, my program seemed
to run right up to the point where it sent the open message to the controller.  Then it
died on the last line of the open method for StandardSystemController.

That method is very short:

open
    "Create an area on the screen in which the receiver's scheduled view can
    be displayed. Make it the active view."

    view resizeInitially.
    status := #open.
    ScheduledControllers scheduleActive: self

It dies sending the scheduleActive: message to class ScheduledControllers.
When I try to step "Into" the method using the debugger, it goes directly to
UndefinedObject(Object)>>doesNotUnderstand: #scheduleActive:

self  is a StandardSystemController.

The class ScheduledControllers isn't even visible in the Browser.

What on earth is going on?  How can the StandardSystemController's open method
be sending a message to an undefined class?!?

I found a discussion of this problem on the web at
http://objectmix.com/smalltalk/16883-mvc-example-squeak.html
and it seems that Squeak doesn't work with MVC programs unless you explicitly
open an MVC project.

Well, okay, but how hard would it have been to just put a proper error check and
helpful message into the open method of StandardSystemController?

So I did Projects -> New Project -> New MVCroject, and I got a blank screen,
with nothing on it at all.  Any of the 3 mouse buttons brings up the same
very short menu.

Since the 3 mouse buttons all do the same thing, I wondered if the Mouse
preferences might be wrong, but I've verified that "3 button mouse" is
selected in VM Preferences.  (I experimentally tried setting it to "1 button
mouse" or both or neither, but nothing made any difference.)

That menu was pretty opaque, but finally I managed to Open Browser.  But
the System Browser looks bad (it's missing the "class" button, for instance).

When I tried to open file list, the whole Squeak system froze.  (Well, the
mouse cursor moves, but none of the mouse buttons do anything; I had to kill
it with Process Explorer.)

I restarted and tried Open -> file...

This was a little better -- it tried to paint a file browser, but failed
for the most part.  Rolling the mouse wheel up and down revealed some file
names, but nothing would make it do anything with those files.
It painted a big red ugly "accept" button, which I tried clicking, but the
whole Squeak system just froze again.

So... is Squeak unusable for MVC programs?  Or is there some trick that
I don't know?

Dave


_______________________________________________
Beginners mailing list
[hidden email]
http://lists.squeakfoundation.org/mailman/listinfo/beginners




--
http://john-mckeon.us/seaside

_______________________________________________
Beginners mailing list
[hidden email]
http://lists.squeakfoundation.org/mailman/listinfo/beginners
Reply | Threaded
Open this post in threaded view
|

Re: MVC programs don't work in Squeak 4.1

David T. Lewis
In reply to this post by Dave Burton
On Sun, Jun 13, 2010 at 09:34:59AM -0400, David Burton wrote:

> First, please forgive me if this is a F.A.Q., but I can't seem to find any
> search
> facility for this email list.  (Is there one?  Where??)
>
> I last used Smalltalk about 20 years ago, and now I'm trying to port that
> old MVC
> program to Squeak 4.1 under Windows Vista 32-bit (though "Display version
> information"
> in VM Preferences says it is 4.0.2 rather than 4.1).
>
> I've run into lots of frustrations with the Squeak user interface,
> documentation, etc.,
> but I've muddled through.  After fixing various obsolete methods, my program
> seemed
> to run right up to the point where it sent the open message to the
> controller.  Then it
> died on the last line of the open method for StandardSystemController.
>
> That method is very short:
>
> open
>     "Create an area on the screen in which the receiver's scheduled view can
>
>     be displayed. Make it the active view."
>
>     view resizeInitially.
>     status := #open.
>     ScheduledControllers scheduleActive: self
>
> It dies sending the scheduleActive: message to class ScheduledControllers.
> When I try to step "Into" the method using the debugger, it goes directly to
> UndefinedObject(Object)>>doesNotUnderstand: #scheduleActive:
>
> self  is a StandardSystemController.
>
> The class ScheduledControllers isn't even visible in the Browser.
>
> What on earth is going on?  How can the StandardSystemController's open
> method
> be sending a message to an undefined class?!?
>
> I found a discussion of this problem on the web at
> http://objectmix.com/smalltalk/16883-mvc-example-squeak.html
> and it seems that Squeak doesn't work with MVC programs unless you
> explicitly
> open an MVC project.
>
> Well, okay, but how hard would it have been to just put a proper error check
> and
> helpful message into the open method of StandardSystemController?
>
> So I did Projects -> New Project -> New MVCroject, and I got a blank screen,
> with nothing on it at all.  Any of the 3 mouse buttons brings up the same
> very short menu.
>
> Since the 3 mouse buttons all do the same thing, I wondered if the Mouse
> preferences might be wrong, but I've verified that "3 button mouse" is
> selected in VM Preferences.  (I experimentally tried setting it to "1 button
> mouse" or both or neither, but nothing made any difference.)
>
> That menu was pretty opaque, but finally I managed to Open Browser.  But
> the System Browser looks bad (it's missing the "class" button, for
> instance).
>
> When I tried to open file list, the whole Squeak system froze.  (Well, the
> mouse cursor moves, but none of the mouse buttons do anything; I had to kill
> it with Process Explorer.)
>
> I restarted and tried Open -> file...
>
> This was a little better -- it tried to paint a file browser, but failed
> for the most part.  Rolling the mouse wheel up and down revealed some file
> names, but nothing would make it do anything with those files.
> It painted a big red ugly "accept" button, which I tried clicking, but the
> whole Squeak system just froze again.
>
> So... is Squeak unusable for MVC programs?  Or is there some trick that
> I don't know?
>
> Dave

Recent versions of Squeak are unusable for MVC programs. I suggest that
you use Squeak 3.8, which is available here:

  http://ftp.squeak.org/3.8/

All versions of Squeak since 3.8 have problems with MVC to varying degrees,
so 3.8 is really the last useable version. Hopefully these issues will
be addressed, but for now you should just use and older version that works.
BTW, the older versions of Squeak are well worth browsing regardless. I
would particularly suggest taking a look at 3.6 just for fun :)

HTH,
Dave

_______________________________________________
Beginners mailing list
[hidden email]
http://lists.squeakfoundation.org/mailman/listinfo/beginners
Reply | Threaded
Open this post in threaded view
|

Re: MVC programs don't work in Squeak 4.1

Dave Burton
In reply to this post by John McKeon
On Sun, Jun 13, 2010 at 10:36 AM, John McKeon <[hidden email]> wrote:
>
> On Sun, Jun 13, 2010 at 9:34 AM, David Burton <[hidden email]> wrote:
>>
>> First, please forgive me if this is a F.A.Q., but I can't seem to find any search
>> facility for this email list.  (Is there one?  Where??)
>
> Try http://forum.world.st Scroll down to Squeak to see a link to the beginners list. Quite searchable.

Thank you, John!   That's a great resource!!


> Dave,
> Did you try running your code in the MVCProject?
> ScheduledControllers isn't a class but a Smalltalk "global" variable. In the normal squeak world its value is nil,
> but when you enter an MVCProject it gets populated with a ControlManager object which does respond to
> scheduleActive: so it just might work!
>
> HTH
> John

Yes, I tried (after I eventually found out about it, via a Google
search).  Unfortunately, the MVCProject mode
seems massively, hopelessly broken.  Literally NOTHING works in there.
 The screens don't paint right,
and you can't even try to fileIn a program without it freezing.

Thanks again for the forum.world.st link!  Searching there, it appears
that the consensus is that Squeak is
not usable for MVC programs.

This message http://forum.world.st/forum/PostLink.jtp?post=113266 says:

  If you want your user interface to actually look respectable, then
these are your options:
  * Go back to VisualWorks.
  * Try Pharo where a lot of UI work has been done.
  * Try Seaside for web-based applications.
  * Use WxSqueak or GtkSqueak which use native widgets. I've found
WxSqueak to work okay and look
     quite nice, although you'll be working with old and experimental software.

In this thread http://forum.world.st/MVC-freezes-tp109036p109036.html
many people say Squeak 3.9 is
hopelessly buggy for MVC.

>From this 2007 thread
http://forum.world.st/forum/PostLink.jtp?post=110371 it appears that
no Squeak
later than 3.8.1 is suitable for MVC.

So, I guess it's bye-bye Squeak.  Does anyone have any opinions about
the other Smalltalks out there?

I just visited the Cincom web site, and they don't even tell you what
VisualWorks costs.  Usually, that
means "if you have to ask, you can't afford it."  But, in case that
assumption is wrong, I've sent 'em an
email asking for their prices and license terms.

This page http://www.pharo-project.org/pharo-download/release-1-0 says
that Pharo supports only
Morphic, not MVC.

What about GNU Smalltalk?  Is it good for MVC?

Or is there something else I should use?

Dave
_______________________________________________
Beginners mailing list
[hidden email]
http://lists.squeakfoundation.org/mailman/listinfo/beginners
Reply | Threaded
Open this post in threaded view
|

Re: MVC programs don't work in Squeak 4.1

John McKeon


On Sun, Jun 13, 2010 at 2:37 PM, David Burton <[hidden email]> wrote:
On Sun, Jun 13, 2010 at 10:36 AM, John McKeon <[hidden email]> wrote:
>
> On Sun, Jun 13, 2010 at 9:34 AM, David Burton <[hidden email]> wrote:
>>
>> First, please forgive me if this is a F.A.Q., but I can't seem to find any search
>> facility for this email list.  (Is there one?  Where??)
>
> Try http://forum.world.st Scroll down to Squeak to see a link to the beginners list. Quite searchable.

Thank you, John!   That's a great resource!!

My pleasure but the hat tip really goes to Geert Claes It is a great resource.
 
Or is there something else I should use?

I like Tweak It is pretty cool.


Dave
_______________________________________________
Beginners mailing list
[hidden email]
http://lists.squeakfoundation.org/mailman/listinfo/beginners



--
http://john-mckeon.us/seaside

_______________________________________________
Beginners mailing list
[hidden email]
http://lists.squeakfoundation.org/mailman/listinfo/beginners
Reply | Threaded
Open this post in threaded view
|

Re: MVC programs don't work in Squeak 4.1

Dave Burton
In reply to this post by David T. Lewis
Thank you, Dave!

Do you have an opinion about  Squeak 3.8  vs.  GNU  vs.  Dolphin
Community Edition  vs.  ???  for MVC programming?
http://www.smalltalk.org/versions/GNUSmalltalk.html
http://www.object-arts.com/content/navigation/products/dce.html

Dave


On Sun, Jun 13, 2010 at 2:15 PM, David T. Lewis <[hidden email]> wrote:

>
> Recent versions of Squeak are unusable for MVC programs. I suggest that
> you use Squeak 3.8, which is available here:
>
>  http://ftp.squeak.org/3.8/
>
> All versions of Squeak since 3.8 have problems with MVC to varying degrees,
> so 3.8 is really the last useable version. Hopefully these issues will
> be addressed, but for now you should just use and older version that works.
> BTW, the older versions of Squeak are well worth browsing regardless. I
> would particularly suggest taking a look at 3.6 just for fun :)
>
> HTH,
> Dave
_______________________________________________
Beginners mailing list
[hidden email]
http://lists.squeakfoundation.org/mailman/listinfo/beginners
Reply | Threaded
Open this post in threaded view
|

Re: MVC programs don't work in Squeak 4.1

David T. Lewis
On Mon, Jun 14, 2010 at 02:14:23PM -0400, David Burton wrote:

>
> On Sun, Jun 13, 2010 at 2:15 PM, David T. Lewis <[hidden email]> wrote:
> >
> > Recent versions of Squeak are unusable for MVC programs. I suggest that
> > you use Squeak 3.8, which is available here:
> >
> > ?http://ftp.squeak.org/3.8/
> >
> > All versions of Squeak since 3.8 have problems with MVC to varying degrees,
> > so 3.8 is really the last useable version. Hopefully these issues will
> > be addressed, but for now you should just use and older version that works.
> > BTW, the older versions of Squeak are well worth browsing regardless. I
> > would particularly suggest taking a look at 3.6 just for fun :)

> Thank you, Dave!
>
> Do you have an opinion about  Squeak 3.8  vs.  GNU  vs.  Dolphin
> Community Edition  vs.  ???  for MVC programming?
> http://www.smalltalk.org/versions/GNUSmalltalk.html
> http://www.object-arts.com/content/navigation/products/dce.html
>
> Dave
>

I have no experience with GNU or Dolphin, so I cannot really comment.
but I can tell you that the MVC is Squeak is the direct decendent of
the original Smalltalk MVC, so it is as close to the "real thing"
as you can possibly get.

And although the MVC implementations in Squeak 3.9 and later are
currently in bad shape, I see no reason that this cannot be fixed.
We also have the advantage now that the entire MVC environment is
a reloadable package in Squeak, so once the problems are fixed, it
can be maintained and kept healthy as a package that can be loaded
by anyone interested in MVC, or unloaded by those who are not.

In the mean time though, just use an older version of Squeak and
I think you will be happy with the results.

Dave

_______________________________________________
Beginners mailing list
[hidden email]
http://lists.squeakfoundation.org/mailman/listinfo/beginners
Reply | Threaded
Open this post in threaded view
|

Re: MVC programs don't work in Squeak 4.1

Squeak List
In reply to this post by Dave Burton
hello,

just felt like adding this to the mix: for some reason, it seems that is not mentioned very often (or i missed it in the quantity of emails...):

http://www.exept.de/en/products/smalltalk-x/stx-overview

not exactly squeak 3.8, or GNU, or Dolphin... but it has kinda kept up with many flavors of ST: and at no charge... free version of environment also available... check it out: mainly because you did not mention it.

just something that "may" be helpful... or not... just a suggestion...

possibly interesting.... definitely not GNU... or Dolphin.. or VW, or Squeak, or... : but VERY INTERESTING IMO... something to check out possibly...

it seems that no-one (SQUEAKSIDE) ever gives a definitive reply as far as the whole STX "thing"... heck, this is a SQUEAKLIST after all:  which is fine, but there are many interesting things happening there also - at least last i checked...

and i do not work for them, or have any connection to them beyond finding interesting ways they include things in their "VERSION" of ST that include ST ideas from "several" ST dialects...

there are other places to learn/experiment/ask questions... :)

yet, this list, and squeak in general is absolutely awesome.... i get most (ST RELATED) suggestions/direct answers from the folks HERE. this place is incredible!!!

yet, i have found the STX environment and "support" to be very cool also...

just a trivial suggestion :)

keep on  Squeakin!!! (the well is rather deep here...)

ken







----- Original Message ----
From: David Burton <[hidden email]>
To: [hidden email]
Sent: Mon, June 14, 2010 11:14:23 AM
Subject: Re: [Newbies] MVC programs don't work in Squeak 4.1

Thank you, Dave!

Do you have an opinion about  Squeak 3.8  vs.  GNU  vs.  Dolphin
Community Edition  vs.  ???  for MVC programming?
http://www.smalltalk.org/versions/GNUSmalltalk.html
http://www.object-arts.com/content/navigation/products/dce.html

Dave


On Sun, Jun 13, 2010 at 2:15 PM, David T. Lewis <[hidden email]> wrote:

>
> Recent versions of Squeak are unusable for MVC programs. I suggest that
> you use Squeak 3.8, which is available here:
>
>  http://ftp.squeak.org/3.8/
>
> All versions of Squeak since 3.8 have problems with MVC to varying degrees,
> so 3.8 is really the last useable version. Hopefully these issues will
> be addressed, but for now you should just use and older version that works.
> BTW, the older versions of Squeak are well worth browsing regardless. I
> would particularly suggest taking a look at 3.6 just for fun :)
>
> HTH,
> Dave
_______________________________________________
Beginners mailing list
[hidden email]
http://lists.squeakfoundation.org/mailman/listinfo/beginners



     

_______________________________________________
Beginners mailing list
[hidden email]
http://lists.squeakfoundation.org/mailman/listinfo/beginners