Editor/Source control in Smalltalk environment 
Author Message
 Editor/Source control in Smalltalk environment

While most of my professional work is C programming for Unix systems,
I've been doing some personal experimentation with Smalltalk and was
wondering what everyone else does in the areas of source editing or,
more importantly, source control?  I'm still sticking with the "free"
domain for the moment, so I've played a bit with Squeak, with VW 3.0
NC and am waiting for my trial IBM VA CD.

First, without trying to start any editor religious wars, let's just
say that I'm a die-hard Emacs user.  For all intents and purposes, I
"touch type" Emacs editing command sequences, and I absolutely loath
using a mouse just to navigate or perform normal editing operations.
Since Smalltalk more or less includes the environment, do systems
typically let you control your own editing control when it comes to
actually coding methods?  I couldn't really see any configurability in
this regard with VW30NC, but I'm still early in the game.  Just having
configurable key bindings that I could map to Emacs sequences would go
a long way.  Or can I get publically available classes that would
augment the environment with such an editor?

I'm also somewhat unclear on how people manage source repositories
during development?  I'm a really big fan of source code systems, but
with the integration of the class construction into the overall
environment and/or the method (at least in VW30) of dumping the entire
environment to an image, or making a parcel, I can't quite figure out
how to rationally track releases of classes or applications.  Of
course, most of my experience is with languages (such as C) where
source is represented textually and can be independently managed in a
source repository using fairly mature tools.  Is there anything
equivalent for the Smalltalk world - is the model completely different
(e.g., is version control implemented at the object level), or is this
something some environments have that others don't?

Thanks for any information.

--
-- David
--
/-----------------------------------------------------------------------\

  |        UUNET Technologies, Inc.         \   Phone: (914) 701-5327 |
 / 100 Manhattanville Rd, Purchase, NY 10577  \   Fax: (914) 701-5310  \
\-----------------------------------------------------------------------/



Wed, 18 Jun 1902 08:00:00 GMT  
 Editor/Source control in Smalltalk environment
[This followup was posted to comp.lang.smalltalk and a copy was sent to
the cited author.]


:While most of my professional work is C programming for Unix systems,
:I've been doing some personal experimentation with Smalltalk and was
:wondering what everyone else does in the areas of source editing or,
:more importantly, source control?  I'm still sticking with the "free"
:domain for the moment, so I've played a bit with Squeak, with VW 3.0
:NC and am waiting for my trial IBM VA CD.
:
:First, without trying to start any editor religious wars, let's just
:say that I'm a die-hard Emacs user.  For all intents and purposes, I
:"touch type" Emacs editing command sequences, and I absolutely loath
:using a mouse just to navigate or perform normal editing operations.
:Since Smalltalk more or less includes the environment, do systems
:typically let you control your own editing control when it comes to
:actually coding methods?  I couldn't really see any configurability in
:this regard with VW30NC, but I'm still early in the game.  Just having
:configurable key bindings that I could map to Emacs sequences would go
:a long way.  Or can I get publically available classes that would
:augment the environment with such an editor?
:
:I'm also somewhat unclear on how people manage source repositories
:during development?  I'm a really big fan of source code systems, but
:with the integration of the class construction into the overall
:environment and/or the method (at least in VW30) of dumping the entire
:environment to an image, or making a parcel, I can't quite figure out
:how to rationally track releases of classes or applications.  Of
:course, most of my experience is with languages (such as C) where
:source is represented textually and can be independently managed in a
:source repository using fairly mature tools.  Is there anything
:equivalent for the Smalltalk world - is the model completely different
:(e.g., is version control implemented at the object level), or is this
:something some environments have that others don't?
:
:Thanks for any information.
:
:--
:-- David
:

All your questions will be answered when you get the VA CD with Envy.  
The Envy source repository is great for versioning.  The versioning is
implemented right down to the method level, all the way up to application
level.  I'm from the world of C, C++, Java, etc.. and the Smalltalk
ENVIRONMENT is second to none.

--
Andy L. Czerwonka
Chief Architect

CORBATECH Inc.
PO Box 63192
Calgary, AB T2N-3T0
Toll Free 1-877-CORBA-4U
http://www.corbatech.com



Wed, 18 Jun 1902 08:00:00 GMT  
 Editor/Source control in Smalltalk environment

Quote:
>While most of my professional work is C programming for Unix systems,
>I've been doing some personal experimentation with Smalltalk and was
>wondering what everyone else does in the areas of source editing or,
>more importantly, source control?  I'm still sticking with the "free"
>domain for the moment, so I've played a bit with Squeak, with VW 3.0
>NC and am waiting for my trial IBM VA CD.

If you're familiar with Unix you might look at the Squeak port for
Linux and the Linux version of VWNC

Quote:

>First, without trying to start any editor religious wars, let's just
>say that I'm a die-hard Emacs user.  For all intents and purposes, I
>"touch type" Emacs editing command sequences, and I absolutely loath
>using a mouse just to navigate or perform normal editing operations.
>Since Smalltalk more or less includes the environment, do systems
>typically let you control your own editing control when it comes to
>actually coding methods?  I couldn't really see any configurability in
>this regard with VW30NC, but I'm still early in the game.  Just having
>configurable key bindings that I could map to Emacs sequences would go
>a long way.  Or can I get publically available classes that would
>augment the environment with such an editor?

Yes, Since the environment is written in Smalltalk and the source code
is available you can rebind the key commands as you wish.

I won't speak to the others but in VisualWorks you can find much of
what you want in ParagraphEditor on the class side.  Look at the
method #initializeDispatchTable.  You can see how the key bindings are
set up.  dispatch table maps from a key to a method on the instance
side of ParagraphEditor.  You can adjust them as you wish or create
your own.. You'll have to initialize the dispatchTable again once
you've edited the method and it will only affect new editors, not
existing instances

Quote:

>I'm also somewhat unclear on how people manage source repositories
>during development?  
...
>(e.g., is version control implemented at the object level), or is this
>something some environments have that others don't?

Too long an answer for this time in the morning.

Short answer is that most Smalltalk environments provide some sort of
source  management varying from the primitive use of a source file
anda changes file up to the very elaborate, multi-developer Envy.

Quote:
>Thanks for any information.

Follow up by email or here if you have more detailed questions as you
keep digging in.

Quote:
>--
>-- David
>--

Take care,

Jay O'Connor

http://www.roadrunner.com/~joconnor
http://www.ezboard.com

"God himself plays on the bass strings first, when he tunes the soul"



Wed, 18 Jun 1902 08:00:00 GMT  
 Editor/Source control in Smalltalk environment
Most commercial Smalltalk environment come with a code management system
build-in. The two I know (Team/V only on VSE and Envy) are the best code
management systems I ever came across.
Didier


Wed, 18 Jun 1902 08:00:00 GMT  
 Editor/Source control in Smalltalk environment
When you code in a Smalltalk enviroment, your coding habits totally change,
the st-browser and de{*filter*} will become
your friends. For a while ago I played a little  with the vi editor on
Linux, you get a lot of (prompt) commands to go easy through a
big amount of code, without it you would scroll yourself crazy. In Smalltalk
you do not write a big amount of code, and you absolutely don't scroll, you
write small methods, ordered by classes. In my first uni year(s) I
programmed big amounts of code in Pascal, I always printed them out on paper
to watch things over. I don't have this habit anymore in Smalltalk, the code
becomes navigatable in the browser and alive in the de{*filter*}.
Have fun smalltalking,
Mathieu van Echtelt.


Wed, 18 Jun 1902 08:00:00 GMT  
 Editor/Source control in Smalltalk environment

Quote:

>Lets just say that I'm a die-hard Emacs user.

See http://st-www.cs.uiuc.edu/ftp/pub/Smalltalk/st80_vw/emacs_keys

The comment says it works for VisualWorks 2.0, but maybe it will
work for 3.0.  It should certainly give you ideas.  If you can't
get it to work and want help, start a project on
http://brain.cs.uiuc.edu:8080/VisualWorks.

Quote:
>I'm also somewhat unclear on how people manage source repositories
>during development?  I'm a really big fan of source code systems, but
>with the integration of the class construction into the overall
>environment and/or the method (at least in VW30) of dumping the entire
>environment to an image, or making a parcel, I can't quite figure out
>how to rationally track releases of classes or applications.

The most powerful solutions are systems like Envy.  However, even
VisualWorks without Envy is pretty good.  The change management system
lets you sort your "changes" into groups, and file them in and out of
your image.  A change is any method or class definition that you modify.
It might not be as powerful as Envy, but it is as useful as most
non-Smalltalk version control systems, in my opinion.

-Ralph Johnson



Wed, 18 Jun 1902 08:00:00 GMT  
 Editor/Source control in Smalltalk environment
In VW NC, look at the FeelPolicy classes.  to add key bindings, you derive a
new subclass and add the bindings you want.  Someone did emacs bindings for
VW 2.5.x awhile back, but I don't know if they ever ported to VW 3.0.

Quote:
>I'm also somewhat unclear on how people manage source repositories
>during development?  I'm a really big fan of source code systems, but
>with the integration of the class construction into the overall
>environment and/or the method (at least in VW30) of dumping the entire

In VW and VA, most large customers use Envy.  With parcels, one could
conceivably use a PVCS style system.  With VW5.0i, we will be shipping stORE
(which we were calling TeamWorks)

Quote:
>--
>-- David
>--
>/-----------------------------------------------------------------------\

>  |        UUNET Technologies, Inc.         \   Phone: (914) 701-5327 |
> / 100 Manhattanville Rd, Purchase, NY 10577  \   Fax: (914) 701-5310  \
>\-----------------------------------------------------------------------/

--
James A. Robertson
Senior Sales Engineer, ObjectShare

<Talk Small and Carry a Big Class Library>



Wed, 18 Jun 1902 08:00:00 GMT  
 Editor/Source control in Smalltalk environment
I second what Mathieu said.

I always use this rule of thumb: if I have to scroll the code of a method,
there is something wrong with it!

... and read the book "Smalltalk best practice patterns" by Kent beck

Didier



Wed, 18 Jun 1902 08:00:00 GMT  
 
 [ 8 post ] 

 Relevant Pages 

1. Source Control for VW, VAST and added environments

2. Source Control - Development Environment with TCL

3. Smalltalk MT version control/team dev environment

4. Controlling Smalltalk Development Environment

5. Source code control for Smalltalk?

6. VRML Editor/Development Environment

7. Announce: Tycho0.1.1 - Itcl Editor and Development Environment

8. Access Control of Applications in a Corporate Environment

9. PL/I control blocks under Language Environment

10. Complete VHDL Source Code Environment

11. UNIX environment variable (putenv) control

12. TCL in process control environments?

 

 
Powered by phpBB® Forum Software