Smalltalk for small projects only?

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

Smalltalk for small projects only?

Janko Mivšek
Hi guys,

Ralph Johnson in his InfoQ interview made an interesting observation:

2:55 minute: "Smalltalk made an fundamental error ... image ... you can
build something with 4-5 people what 50 people can build in Java, but if
you take 200 people in Java ... it is really designed for small systems
...  "

Are we because of the image really destined for relatively small
projects and small systems (of Java 50 people project size)?

Are we really not able to scale to bigger projects/systems because of that?

Ok, there are few exceptions of course (JPMorgan, OOCL, ..), but still...

[1] http://www.infoq.com/interviews/johnson-armstrong-oop

Best regards
Janko


--
Janko Mivšek
Aida/Web
Smalltalk Web Application Server
http://www.aidaweb.si
_______________________________________________
vwnc mailing list
[hidden email]
http://lists.cs.uiuc.edu/mailman/listinfo/vwnc
Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] Smalltalk for small projects only?

jarober
I'd say that the biggest driver is process, not language.  Using version control tools and sane build process, the image is utterly irrelevant

On Jan 28, 2012, at 10:46 AM, Janko Mivšek wrote:

> Hi guys,
>
> Ralph Johnson in his InfoQ interview made an interesting observation:
>
> 2:55 minute: "Smalltalk made an fundamental error ... image ... you can
> build something with 4-5 people what 50 people can build in Java, but if
> you take 200 people in Java ... it is really designed for small systems
> ...  "
>
> Are we because of the image really destined for relatively small
> projects and small systems (of Java 50 people project size)?
>
> Are we really not able to scale to bigger projects/systems because of that?
>
> Ok, there are few exceptions of course (JPMorgan, OOCL, ..), but still...
>
> [1] http://www.infoq.com/interviews/johnson-armstrong-oop
>
> Best regards
> Janko
>
>
> --
> Janko Mivšek
> Aida/Web
> Smalltalk Web Application Server
> http://www.aidaweb.si
>

James Robertson
http://www.jarober.com
[hidden email]




_______________________________________________
vwnc mailing list
[hidden email]
http://lists.cs.uiuc.edu/mailman/listinfo/vwnc
Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] Smalltalk for small projects only?

Colin Putney-3
In reply to this post by Janko Mivšek
- Colin


On 2012-01-28, at 7:46 AM, "Janko Mivšek" <[hidden email]> wrote:

> Are we because of the image really destined for relatively small
> projects and small systems (of Java 50 people project size)?
>
> Are we really not able to scale to bigger projects/systems because of that?

No. There a limit to how big an image can get, but that just means you
have to use multiple images. I've worked on several systems that
involved many images working together.

That's no different from any other language—eg. web servers written in
C start spawning worker process as soon as they need to scale.

Colin

_______________________________________________
vwnc mailing list
[hidden email]
http://lists.cs.uiuc.edu/mailman/listinfo/vwnc
Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] Smalltalk for small projects only?

Dale Henrichs
In reply to this post by Janko Mivšek
Janko,

I think the limitation for Smalltalk lies in source code management tools/styles ...

With a file-based language 200 engineers can contribute to the project ...  each engineer can checkout a version of the system work in isolation then commit his or her work to the shared repository resolve conflicts and move on .... other engineers can easily integrate the work and so on ... the source code management tools scale ...

In the mid nineties at ParcPlace systems the image was passed around from engineer to engineer so that he or she could integrate their work into the production image... this doesn't scale...

There have been proprietary source code management tools that have been created over the years. You can bet that the large companies that are invested in Smalltalk are using systems that are based on these proprietary systems, but you can also bet that they've had to customize those systems for their needs...

The file-based SCM systems work out of the box and don't care what language or even development process that is being used ... they are managing files ...

There is no standard SCM for Smalltalk and none of the file-based SCMs really fit Smalltalk. When we are arguing about whether git or mercurial is better on the Pharo list, I will retract that statement:).

Without a standard SCM, the first thing that a 200 person engineering groups needs to do to start using Smalltalk is figure out (for themselves) how to share their work and keep 200 individual images in synch ... I'm not necessarily convinced that anyone has really solved this one.

Personally I believe that the problem is surmountable, but for whatever reason the Smalltalk community hasn't focussed on seriously addressing the SCM issue .... in the last 30 years or so:)

Being able to repeatably build images based on a minimal core image is certainly headed in the right direction, but we still have a ways to go on the tools front ...

Dale



----- Original Message -----
| From: "Janko Mivšek" <[hidden email]>
| To: [hidden email], "Squeak" <[hidden email]>, "VWNC" <[hidden email]>
| Sent: Saturday, January 28, 2012 7:46:32 AM
| Subject: [squeak-dev] Smalltalk for small projects only?
|
| Hi guys,
|
| Ralph Johnson in his InfoQ interview made an interesting observation:
|
| 2:55 minute: "Smalltalk made an fundamental error ... image ... you
| can
| build something with 4-5 people what 50 people can build in Java, but
| if
| you take 200 people in Java ... it is really designed for small
| systems
| ...  "
|
| Are we because of the image really destined for relatively small
| projects and small systems (of Java 50 people project size)?
|
| Are we really not able to scale to bigger projects/systems because of
| that?
|
| Ok, there are few exceptions of course (JPMorgan, OOCL, ..), but
| still...
|
| [1] http://www.infoq.com/interviews/johnson-armstrong-oop
|
| Best regards
| Janko
|
|
| --
| Janko Mivšek
| Aida/Web
| Smalltalk Web Application Server
| http://www.aidaweb.si
|
|

_______________________________________________
vwnc mailing list
[hidden email]
http://lists.cs.uiuc.edu/mailman/listinfo/vwnc
Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] Smalltalk for small projects only?

Sven Van Caekenberghe
Dale,

On 28 Jan 2012, at 19:07, Dale Henrichs wrote:

> Janko,
>
> I think the limitation for Smalltalk lies in source code management tools/styles ...
>
> With a file-based language 200 engineers can contribute to the project ...  each engineer can checkout a version of the system work in isolation then commit his or her work to the shared repository resolve conflicts and move on .... other engineers can easily integrate the work and so on ... the source code management tools scale ...
>
> In the mid nineties at ParcPlace systems the image was passed around from engineer to engineer so that he or she could integrate their work into the production image... this doesn't scale...
>
> There have been proprietary source code management tools that have been created over the years. You can bet that the large companies that are invested in Smalltalk are using systems that are based on these proprietary systems, but you can also bet that they've had to customize those systems for their needs...
>
> The file-based SCM systems work out of the box and don't care what language or even development process that is being used ... they are managing files ...
>
> There is no standard SCM for Smalltalk and none of the file-based SCMs really fit Smalltalk. When we are arguing about whether git or mercurial is better on the Pharo list, I will retract that statement:).
>
> Without a standard SCM, the first thing that a 200 person engineering groups needs to do to start using Smalltalk is figure out (for themselves) how to share their work and keep 200 individual images in synch ... I'm not necessarily convinced that anyone has really solved this one.
>
> Personally I believe that the problem is surmountable, but for whatever reason the Smalltalk community hasn't focussed on seriously addressing the SCM issue .... in the last 30 years or so:)
>
> Being able to repeatably build images based on a minimal core image is certainly headed in the right direction, but we still have a ways to go on the tools front ...
>
> Dale

I want to respectfully disagree (and I even don't understand some of your remarks, or the underlying implications, given your excellent work on Metacello and some much other contributions to Smalltalk).

Yes, the very old way of passing images around was arcane and did not scale (I did this too in the 80'ies early 90'ies).

But today, with Monticello and Metacello things are quite different, not perfect but totally acceptable.

When building Smalltalk applications I am using code written by hundreds of people during tens of years, this works out very well.

In traditional file bases language like Java or C using a traditional SCM, you will immediately hit problems when even a couple of people work on parts of code that are closely related. Merging, branching, solving conflicts there is no different than with Monticello, IMHO.

Organizing big teams is plain hard, in any language. Clear separations/responsabilities/interfaces are the only answer.

Sven



_______________________________________________
vwnc mailing list
[hidden email]
http://lists.cs.uiuc.edu/mailman/listinfo/vwnc
Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] Smalltalk for small projects only?

stephane ducasse-2
In reply to this post by jarober
+ 1

Managing 200 people is not equal to 20 times a team of 10.
You have to split in teams and each one will work on its own project, synchronized…..
I think that this has nothing to do with language. May be if you have interfaces and component like structure
it may help you.

Stef


On Jan 28, 2012, at 5:12 PM, James Robertson wrote:

> I'd say that the biggest driver is process, not language.  Using version control tools and sane build process, the image is utterly irrelevant
>
> On Jan 28, 2012, at 10:46 AM, Janko Mivšek wrote:
>
>> Hi guys,
>>
>> Ralph Johnson in his InfoQ interview made an interesting observation:
>>
>> 2:55 minute: "Smalltalk made an fundamental error ... image ... you can
>> build something with 4-5 people what 50 people can build in Java, but if
>> you take 200 people in Java ... it is really designed for small systems
>> ...  "
>>
>> Are we because of the image really destined for relatively small
>> projects and small systems (of Java 50 people project size)?
>>
>> Are we really not able to scale to bigger projects/systems because of that?
>>
>> Ok, there are few exceptions of course (JPMorgan, OOCL, ..), but still...
>>
>> [1] http://www.infoq.com/interviews/johnson-armstrong-oop
>>
>> Best regards
>> Janko
>>
>>
>> --
>> Janko Mivšek
>> Aida/Web
>> Smalltalk Web Application Server
>> http://www.aidaweb.si
>>
>
> James Robertson
> http://www.jarober.com
> [hidden email]
>
>
>
>


_______________________________________________
vwnc mailing list
[hidden email]
http://lists.cs.uiuc.edu/mailman/listinfo/vwnc
Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] Smalltalk for small projects only?

Karl Ramberg
In reply to this post by Dale Henrichs


On Sat, Jan 28, 2012 at 7:07 PM, Dale Henrichs <[hidden email]> wrote:
Janko,

I think the limitation for Smalltalk lies in source code management tools/styles ...

With a file-based language 200 engineers can contribute to the project ...  each engineer can checkout a version of the system work in isolation then commit his or her work to the shared repository resolve conflicts and move on .... other engineers can easily integrate the work and so on ... the source code management tools scale ...

In the mid nineties at ParcPlace systems the image was passed around from engineer to engineer so that he or she could integrate their work into the production image... this doesn't scale...

There have been proprietary source code management tools that have been created over the years. You can bet that the large companies that are invested in Smalltalk are using systems that are based on these proprietary systems, but you can also bet that they've had to customize those systems for their needs...

The file-based SCM systems work out of the box and don't care what language or even development process that is being used ... they are managing files ...

There is no standard SCM for Smalltalk and none of the file-based SCMs really fit Smalltalk. When we are arguing about whether git or mercurial is better on the Pharo list, I will retract that statement:).

Without a standard SCM, the first thing that a 200 person engineering groups needs to do to start using Smalltalk is figure out (for themselves) how to share their work and keep 200 individual images in synch ... I'm not necessarily convinced that anyone has really solved this one.

Personally I believe that the problem is surmountable, but for whatever reason the Smalltalk community hasn't focussed on seriously addressing the SCM issue .... in the last 30 years or so:)

Being able to repeatably build images based on a minimal core image is certainly headed in the right direction, but we still have a ways to go on the tools front ...

Dale

You are talking about dealing with source code, but what about the live objects in the image? Is there any work done on managing live images with several developers ? This is where Smalltalk excels and would be very interesting instead of falling back to the rebuild from source strategy.

Karl


----- Original Message -----
| From: "Janko Mivšek" <[hidden email]>
| To: [hidden email], "Squeak" <[hidden email]>, "VWNC" <[hidden email]>
| Sent: Saturday, January 28, 2012 7:46:32 AM
| Subject: [squeak-dev] Smalltalk for small projects only?
|
| Hi guys,
|
| Ralph Johnson in his InfoQ interview made an interesting observation:
|
| 2:55 minute: "Smalltalk made an fundamental error ... image ... you
| can
| build something with 4-5 people what 50 people can build in Java, but
| if
| you take 200 people in Java ... it is really designed for small
| systems
| ...  "
|
| Are we because of the image really destined for relatively small
| projects and small systems (of Java 50 people project size)?
|
| Are we really not able to scale to bigger projects/systems because of
| that?
|
| Ok, there are few exceptions of course (JPMorgan, OOCL, ..), but
| still...
|
| [1] http://www.infoq.com/interviews/johnson-armstrong-oop
|
| Best regards
| Janko
|
|
| --
| Janko Mivšek
| Aida/Web
| Smalltalk Web Application Server
| http://www.aidaweb.si
|
|



_______________________________________________
vwnc mailing list
[hidden email]
http://lists.cs.uiuc.edu/mailman/listinfo/vwnc
Reply | Threaded
Open this post in threaded view
|

Re: [Smalltalk for small projects only?

Janko Mivšek
In reply to this post by Dale Henrichs
Dale,

I agree with you that source code management is where we are weak. A
process therefore, as James already said.

In SCM  VisualWorks is ahead in my opinion, even that Store is also not
perfect yet. But it would be useful to reuse some of ideas in Monticello
based SCM tools too. With Metacello we got a good packaging tool, so,
where to go to be even better? I think SCM tool integration into code
browser can be next and relatively easy step. As Store is integrated
into VW code browser.

Janko

S, Dale Henrichs piše:

> Janko,
>
> I think the limitation for Smalltalk lies in source code management tools/styles ...
>
> With a file-based language 200 engineers can contribute to the project ...  each engineer can checkout a version of the system work in isolation then commit his or her work to the shared repository resolve conflicts and move on .... other engineers can easily integrate the work and so on ... the source code management tools scale ...
>
> In the mid nineties at ParcPlace systems the image was passed around from engineer to engineer so that he or she could integrate their work into the production image... this doesn't scale...
>
> There have been proprietary source code management tools that have been created over the years. You can bet that the large companies that are invested in Smalltalk are using systems that are based on these proprietary systems, but you can also bet that they've had to customize those systems for their needs...
>
> The file-based SCM systems work out of the box and don't care what language or even development process that is being used ... they are managing files ...
>
> There is no standard SCM for Smalltalk and none of the file-based SCMs really fit Smalltalk. When we are arguing about whether git or mercurial is better on the Pharo list, I will retract that statement:).
>
> Without a standard SCM, the first thing that a 200 person engineering groups needs to do to start using Smalltalk is figure out (for themselves) how to share their work and keep 200 individual images in synch ... I'm not necessarily convinced that anyone has really solved this one.
>
> Personally I believe that the problem is surmountable, but for whatever reason the Smalltalk community hasn't focussed on seriously addressing the SCM issue .... in the last 30 years or so:)
>
> Being able to repeatably build images based on a minimal core image is certainly headed in the right direction, but we still have a ways to go on the tools front ...
>
> Dale
>
>
>
> ----- Original Message -----
> | From: "Janko Mivšek" <[hidden email]>
> | To: [hidden email], "Squeak" <[hidden email]>, "VWNC" <[hidden email]>
> | Sent: Saturday, January 28, 2012 7:46:32 AM
> | Subject: [squeak-dev] Smalltalk for small projects only?
> |
> | Hi guys,
> |
> | Ralph Johnson in his InfoQ interview made an interesting observation:
> |
> | 2:55 minute: "Smalltalk made an fundamental error ... image ... you
> | can
> | build something with 4-5 people what 50 people can build in Java, but
> | if
> | you take 200 people in Java ... it is really designed for small
> | systems
> | ...  "
> |
> | Are we because of the image really destined for relatively small
> | projects and small systems (of Java 50 people project size)?
> |
> | Are we really not able to scale to bigger projects/systems because of
> | that?
> |
> | Ok, there are few exceptions of course (JPMorgan, OOCL, ..), but
> | still...
> |
> | [1] http://www.infoq.com/interviews/johnson-armstrong-oop
> |
> | Best regards
> | Janko
> |
> |
> | --
> | Janko Mivšek
> | Aida/Web
> | Smalltalk Web Application Server
> | http://www.aidaweb.si
> |
> |
>
>

--
Janko Mivšek
Svetovalec za informatiko
Eranova d.o.o.
Ljubljana, Slovenija
www.eranova.si
tel:  01 514 22 55
faks: 01 514 22 56
gsm: 031 674 565
_______________________________________________
vwnc mailing list
[hidden email]
http://lists.cs.uiuc.edu/mailman/listinfo/vwnc
Reply | Threaded
Open this post in threaded view
|

Re: [Smalltalk for small projects only?

Dale Henrichs
Janko,

Metacello itself needs work to make it usable by groups of developers ... the lack of merge capability is a real hindrance to being able to have multiple folks work on the same project and use Metacello ...

I imagine that a Metacello configuration is the moral equivalent of a git repository. It should be possible to find "moral equivalents" of the various git operations: clone, push, pull, branch, checkout, merge, commit. It is something that I will be looking into in the not too distant future, since I want to improve the usability of Metacello for groups of developers.

I agree that integrated tools is another area that needs attention.... when it is time to commit your work there are just too many different windows and browsers that you have to monkey with to save your work ...

Another area that shouldn't be neglected is the notion of basing things on a minimal core image and automated builds for individuals ... We've got folks doing good things with Jenkins but I sense that with each installation there are things that still need to be customized in the build process itself. It should be dead simple, like compiling a c file when you know the path to an image...

I think we may focus too much on the in-image tools and not enough on the external tools that are just as important.

We need to make it easy for a developer (in a team of developers) to check out a version of a minimal1 image, do a reproducible build of the correct version of the project, then fire up the image and do his or her development thang, commit/push/pull/merge/bang and then the next developer does  pull/merge/build/boom to pick up the changes for her image and so on ... This involves more than just in-image tooling.

Dale

----- Original Message -----
| From: "Janko Mivšek" <[hidden email]>
| To: [hidden email]
| Cc: "Dale Henrichs" <[hidden email]>, "The general-purpose Squeak developers list"
| <[hidden email]>, "VWNC" <[hidden email]>
| Sent: Saturday, January 28, 2012 12:16:55 PM
| Subject: Re: [Smalltalk for small projects only?
|
| Dale,
|
| I agree with you that source code management is where we are weak. A
| process therefore, as James already said.
|
| In SCM  VisualWorks is ahead in my opinion, even that Store is also
| not
| perfect yet. But it would be useful to reuse some of ideas in
| Monticello
| based SCM tools too. With Metacello we got a good packaging tool, so,
| where to go to be even better? I think SCM tool integration into code
| browser can be next and relatively easy step. As Store is integrated
| into VW code browser.
|
| Janko
|
| S, Dale Henrichs piše:
| > Janko,
| >
| > I think the limitation for Smalltalk lies in source code management
| > tools/styles ...
| >
| > With a file-based language 200 engineers can contribute to the
| > project ...  each engineer can checkout a version of the system
| > work in isolation then commit his or her work to the shared
| > repository resolve conflicts and move on .... other engineers can
| > easily integrate the work and so on ... the source code management
| > tools scale ...
| >
| > In the mid nineties at ParcPlace systems the image was passed
| > around from engineer to engineer so that he or she could integrate
| > their work into the production image... this doesn't scale...
| >
| > There have been proprietary source code management tools that have
| > been created over the years. You can bet that the large companies
| > that are invested in Smalltalk are using systems that are based on
| > these proprietary systems, but you can also bet that they've had
| > to customize those systems for their needs...
| >
| > The file-based SCM systems work out of the box and don't care what
| > language or even development process that is being used ... they
| > are managing files ...
| >
| > There is no standard SCM for Smalltalk and none of the file-based
| > SCMs really fit Smalltalk. When we are arguing about whether git
| > or mercurial is better on the Pharo list, I will retract that
| > statement:).
| >
| > Without a standard SCM, the first thing that a 200 person
| > engineering groups needs to do to start using Smalltalk is figure
| > out (for themselves) how to share their work and keep 200
| > individual images in synch ... I'm not necessarily convinced that
| > anyone has really solved this one.
| >
| > Personally I believe that the problem is surmountable, but for
| > whatever reason the Smalltalk community hasn't focussed on
| > seriously addressing the SCM issue .... in the last 30 years or
| > so:)
| >
| > Being able to repeatably build images based on a minimal core image
| > is certainly headed in the right direction, but we still have a
| > ways to go on the tools front ...
| >
| > Dale
| >
| >
| >
| > ----- Original Message -----
| > | From: "Janko Mivšek" <[hidden email]>
| > | To: [hidden email], "Squeak"
| > | <[hidden email]>, "VWNC"
| > | <[hidden email]>
| > | Sent: Saturday, January 28, 2012 7:46:32 AM
| > | Subject: [squeak-dev] Smalltalk for small projects only?
| > |
| > | Hi guys,
| > |
| > | Ralph Johnson in his InfoQ interview made an interesting
| > | observation:
| > |
| > | 2:55 minute: "Smalltalk made an fundamental error ... image ...
| > | you
| > | can
| > | build something with 4-5 people what 50 people can build in Java,
| > | but
| > | if
| > | you take 200 people in Java ... it is really designed for small
| > | systems
| > | ...  "
| > |
| > | Are we because of the image really destined for relatively small
| > | projects and small systems (of Java 50 people project size)?
| > |
| > | Are we really not able to scale to bigger projects/systems
| > | because of
| > | that?
| > |
| > | Ok, there are few exceptions of course (JPMorgan, OOCL, ..), but
| > | still...
| > |
| > | [1] http://www.infoq.com/interviews/johnson-armstrong-oop
| > |
| > | Best regards
| > | Janko
| > |
| > |
| > | --
| > | Janko Mivšek
| > | Aida/Web
| > | Smalltalk Web Application Server
| > | http://www.aidaweb.si
| > |
| > |
| >
| >
|
| --
| Janko Mivšek
| Svetovalec za informatiko
| Eranova d.o.o.
| Ljubljana, Slovenija
| www.eranova.si
| tel:  01 514 22 55
| faks: 01 514 22 56
| gsm: 031 674 565
|

_______________________________________________
vwnc mailing list
[hidden email]
http://lists.cs.uiuc.edu/mailman/listinfo/vwnc
Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] Smalltalk for small projects only?

Michael Haupt-3
In reply to this post by Karl Ramberg
Karl,

Am 28.01.2012 um 20:39 schrieb karl ramberg <[hidden email]>:
> Is there any work done on managing live images with several developers ?

I'm not all sure I understand your question, but: http://www.hpi.uni-potsdam.de/hirschfeld/misc/etc/index.html

Best,

Michael
_______________________________________________
vwnc mailing list
[hidden email]
http://lists.cs.uiuc.edu/mailman/listinfo/vwnc
Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] Re: [Smalltalk for small projects only?

Frank Shearar-3
In reply to this post by Dale Henrichs
2012/1/28 Dale Henrichs <[hidden email]>:
> Janko,
>
> Metacello itself needs work to make it usable by groups of developers ... the lack of merge capability is a real hindrance to being able to have multiple folks work on the same project and use Metacello ...
>
> I imagine that a Metacello configuration is the moral equivalent of a git repository. It should be possible to find "moral equivalents" of the various git operations: clone, push, pull, branch, checkout, merge, commit. It is something that I will be looking into in the not too distant future, since I want to improve the usability of Metacello for groups of developers.

Um, do you mean Metacello or Monticello? Metacello seems like the
maven of Java world: "Here's what this artifact contains, its
dependencies, where you can find them, etc. etc."

> I agree that integrated tools is another area that needs attention.... when it is time to commit your work there are just too many different windows and browsers that you have to monkey with to save your work ...
>
> Another area that shouldn't be neglected is the notion of basing things on a minimal core image and automated builds for individuals ... We've got folks doing good things with Jenkins but I sense that with each installation there are things that still need to be customized in the build process itself. It should be dead simple, like compiling a c file when you know the path to an image...

A build should be a single command, with no customisation required at
all. This is especially important in large projects. Being able to
customise/parameterise a build means having an artifact but not
knowing what went into building it.

Otherwise, I agree. Luckily, more and more folks are starting to use
Metacello, and building images up from some small base.

frank

> I think we may focus too much on the in-image tools and not enough on the external tools that are just as important.
>
> We need to make it easy for a developer (in a team of developers) to check out a version of a minimal1 image, do a reproducible build of the correct version of the project, then fire up the image and do his or her development thang, commit/push/pull/merge/bang and then the next developer does  pull/merge/build/boom to pick up the changes for her image and so on ... This involves more than just in-image tooling.
>
> Dale
>
> ----- Original Message -----
> | From: "Janko Mivšek" <[hidden email]>
> | To: [hidden email]
> | Cc: "Dale Henrichs" <[hidden email]>, "The general-purpose Squeak developers list"
> | <[hidden email]>, "VWNC" <[hidden email]>
> | Sent: Saturday, January 28, 2012 12:16:55 PM
> | Subject: Re: [Smalltalk for small projects only?
> |
> | Dale,
> |
> | I agree with you that source code management is where we are weak. A
> | process therefore, as James already said.
> |
> | In SCM  VisualWorks is ahead in my opinion, even that Store is also
> | not
> | perfect yet. But it would be useful to reuse some of ideas in
> | Monticello
> | based SCM tools too. With Metacello we got a good packaging tool, so,
> | where to go to be even better? I think SCM tool integration into code
> | browser can be next and relatively easy step. As Store is integrated
> | into VW code browser.
> |
> | Janko
> |
> | S, Dale Henrichs piše:
> | > Janko,
> | >
> | > I think the limitation for Smalltalk lies in source code management
> | > tools/styles ...
> | >
> | > With a file-based language 200 engineers can contribute to the
> | > project ...  each engineer can checkout a version of the system
> | > work in isolation then commit his or her work to the shared
> | > repository resolve conflicts and move on .... other engineers can
> | > easily integrate the work and so on ... the source code management
> | > tools scale ...
> | >
> | > In the mid nineties at ParcPlace systems the image was passed
> | > around from engineer to engineer so that he or she could integrate
> | > their work into the production image... this doesn't scale...
> | >
> | > There have been proprietary source code management tools that have
> | > been created over the years. You can bet that the large companies
> | > that are invested in Smalltalk are using systems that are based on
> | > these proprietary systems, but you can also bet that they've had
> | > to customize those systems for their needs...
> | >
> | > The file-based SCM systems work out of the box and don't care what
> | > language or even development process that is being used ... they
> | > are managing files ...
> | >
> | > There is no standard SCM for Smalltalk and none of the file-based
> | > SCMs really fit Smalltalk. When we are arguing about whether git
> | > or mercurial is better on the Pharo list, I will retract that
> | > statement:).
> | >
> | > Without a standard SCM, the first thing that a 200 person
> | > engineering groups needs to do to start using Smalltalk is figure
> | > out (for themselves) how to share their work and keep 200
> | > individual images in synch ... I'm not necessarily convinced that
> | > anyone has really solved this one.
> | >
> | > Personally I believe that the problem is surmountable, but for
> | > whatever reason the Smalltalk community hasn't focussed on
> | > seriously addressing the SCM issue .... in the last 30 years or
> | > so:)
> | >
> | > Being able to repeatably build images based on a minimal core image
> | > is certainly headed in the right direction, but we still have a
> | > ways to go on the tools front ...
> | >
> | > Dale
> | >
> | >
> | >
> | > ----- Original Message -----
> | > | From: "Janko Mivšek" <[hidden email]>
> | > | To: [hidden email], "Squeak"
> | > | <[hidden email]>, "VWNC"
> | > | <[hidden email]>
> | > | Sent: Saturday, January 28, 2012 7:46:32 AM
> | > | Subject: [squeak-dev] Smalltalk for small projects only?
> | > |
> | > | Hi guys,
> | > |
> | > | Ralph Johnson in his InfoQ interview made an interesting
> | > | observation:
> | > |
> | > | 2:55 minute: "Smalltalk made an fundamental error ... image ...
> | > | you
> | > | can
> | > | build something with 4-5 people what 50 people can build in Java,
> | > | but
> | > | if
> | > | you take 200 people in Java ... it is really designed for small
> | > | systems
> | > | ...  "
> | > |
> | > | Are we because of the image really destined for relatively small
> | > | projects and small systems (of Java 50 people project size)?
> | > |
> | > | Are we really not able to scale to bigger projects/systems
> | > | because of
> | > | that?
> | > |
> | > | Ok, there are few exceptions of course (JPMorgan, OOCL, ..), but
> | > | still...
> | > |
> | > | [1] http://www.infoq.com/interviews/johnson-armstrong-oop
> | > |
> | > | Best regards
> | > | Janko
> | > |
> | > |
> | > | --
> | > | Janko Mivšek
> | > | Aida/Web
> | > | Smalltalk Web Application Server
> | > | http://www.aidaweb.si
> | > |
> | > |
> | >
> | >
> |
> | --
> | Janko Mivšek
> | Svetovalec za informatiko
> | Eranova d.o.o.
> | Ljubljana, Slovenija
> | www.eranova.si
> | tel:  01 514 22 55
> | faks: 01 514 22 56
> | gsm: 031 674 565
> |
>

_______________________________________________
vwnc mailing list
[hidden email]
http://lists.cs.uiuc.edu/mailman/listinfo/vwnc
Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] Smalltalk for small projects only?

Karl Ramberg
In reply to this post by Michael Haupt-3


On Sat, Jan 28, 2012 at 10:34 PM, Michael Haupt <[hidden email]> wrote:
Karl,

Am 28.01.2012 um 20:39 schrieb karl ramberg <[hidden email]>:
> Is there any work done on managing live images with several developers ?

I'm not all sure I understand your question, but: http://www.hpi.uni-potsdam.de/hirschfeld/misc/etc/index.html

 
I was thinking about versioning and merging of live objects in the image instead of saving source code for versioning.
I guess Spoon is doing what I was talking about.

Do you have any documentation of the multi user RBS extension ?

Karl

_______________________________________________
vwnc mailing list
[hidden email]
http://lists.cs.uiuc.edu/mailman/listinfo/vwnc
Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] Re: [Smalltalk for small projects only?

Dale Henrichs
In reply to this post by Frank Shearar-3
Frank,

No I meant what I said .... I'm not talking in a literal sense, but a functional sense ....

With Metacello I can 'clone' version 3.0.6 of Seaside30, i.e., make a local copy of all of mcz files that make up version 3.0.6 in local directory. If I load the files into an image I can edit the files including add new files, etc. and then 'commit' version 3.0.7 to my local directory, which includes new versions of files and a new version of the configuration. I can 'push' my local files (mcz and config) to the common repository and even 'pull', but when it comes to 'merge' it all falls apart, because 'merge' is not supported at the Metacello level. Monticello does a great job with merging and Metacello needs to step up to the plate on merge:)

Totally agree with you about builds...if customization is required, then each person around the world that does "a build" is not guaranteed to et exactly the same results...

Dale

----- Original Message -----
| From: "Frank Shearar" <[hidden email]>
| To: "The general-purpose Squeak developers list" <[hidden email]>
| Cc: "VWNC" <[hidden email]>, "Janko Mivšek" <[hidden email]>, [hidden email]
| Sent: Saturday, January 28, 2012 1:45:04 PM
| Subject: Re: [squeak-dev] Re: [Smalltalk for small projects only?
|
| 2012/1/28 Dale Henrichs <[hidden email]>:
| > Janko,
| >
| > Metacello itself needs work to make it usable by groups of
| > developers ... the lack of merge capability is a real hindrance to
| > being able to have multiple folks work on the same project and use
| > Metacello ...
| >
| > I imagine that a Metacello configuration is the moral equivalent of
| > a git repository. It should be possible to find "moral
| > equivalents" of the various git operations: clone, push, pull,
| > branch, checkout, merge, commit. It is something that I will be
| > looking into in the not too distant future, since I want to
| > improve the usability of Metacello for groups of developers.
|
| Um, do you mean Metacello or Monticello? Metacello seems like the
| maven of Java world: "Here's what this artifact contains, its
| dependencies, where you can find them, etc. etc."
|
| > I agree that integrated tools is another area that needs
| > attention.... when it is time to commit your work there are just
| > too many different windows and browsers that you have to monkey
| > with to save your work ...
| >
| > Another area that shouldn't be neglected is the notion of basing
| > things on a minimal core image and automated builds for
| > individuals ... We've got folks doing good things with Jenkins but
| > I sense that with each installation there are things that still
| > need to be customized in the build process itself. It should be
| > dead simple, like compiling a c file when you know the path to an
| > image...
|
| A build should be a single command, with no customisation required at
| all. This is especially important in large projects. Being able to
| customise/parameterise a build means having an artifact but not
| knowing what went into building it.
|
| Otherwise, I agree. Luckily, more and more folks are starting to use
| Metacello, and building images up from some small base.
|
| frank
|
| > I think we may focus too much on the in-image tools and not enough
| > on the external tools that are just as important.
| >
| > We need to make it easy for a developer (in a team of developers)
| > to check out a version of a minimal1 image, do a reproducible
| > build of the correct version of the project, then fire up the
| > image and do his or her development thang,
| > commit/push/pull/merge/bang and then the next developer does
| >  pull/merge/build/boom to pick up the changes for her image and so
| > on ... This involves more than just in-image tooling.
| >
| > Dale
| >
| > ----- Original Message -----
| > | From: "Janko Mivšek" <[hidden email]>
| > | To: [hidden email]
| > | Cc: "Dale Henrichs" <[hidden email]>, "The general-purpose
| > | Squeak developers list"
| > | <[hidden email]>, "VWNC"
| > | <[hidden email]>
| > | Sent: Saturday, January 28, 2012 12:16:55 PM
| > | Subject: Re: [Smalltalk for small projects only?
| > |
| > | Dale,
| > |
| > | I agree with you that source code management is where we are
| > | weak. A
| > | process therefore, as James already said.
| > |
| > | In SCM  VisualWorks is ahead in my opinion, even that Store is
| > | also
| > | not
| > | perfect yet. But it would be useful to reuse some of ideas in
| > | Monticello
| > | based SCM tools too. With Metacello we got a good packaging tool,
| > | so,
| > | where to go to be even better? I think SCM tool integration into
| > | code
| > | browser can be next and relatively easy step. As Store is
| > | integrated
| > | into VW code browser.
| > |
| > | Janko
| > |
| > | S, Dale Henrichs piše:
| > | > Janko,
| > | >
| > | > I think the limitation for Smalltalk lies in source code
| > | > management
| > | > tools/styles ...
| > | >
| > | > With a file-based language 200 engineers can contribute to the
| > | > project ...  each engineer can checkout a version of the system
| > | > work in isolation then commit his or her work to the shared
| > | > repository resolve conflicts and move on .... other engineers
| > | > can
| > | > easily integrate the work and so on ... the source code
| > | > management
| > | > tools scale ...
| > | >
| > | > In the mid nineties at ParcPlace systems the image was passed
| > | > around from engineer to engineer so that he or she could
| > | > integrate
| > | > their work into the production image... this doesn't scale...
| > | >
| > | > There have been proprietary source code management tools that
| > | > have
| > | > been created over the years. You can bet that the large
| > | > companies
| > | > that are invested in Smalltalk are using systems that are based
| > | > on
| > | > these proprietary systems, but you can also bet that they've
| > | > had
| > | > to customize those systems for their needs...
| > | >
| > | > The file-based SCM systems work out of the box and don't care
| > | > what
| > | > language or even development process that is being used ...
| > | > they
| > | > are managing files ...
| > | >
| > | > There is no standard SCM for Smalltalk and none of the
| > | > file-based
| > | > SCMs really fit Smalltalk. When we are arguing about whether
| > | > git
| > | > or mercurial is better on the Pharo list, I will retract that
| > | > statement:).
| > | >
| > | > Without a standard SCM, the first thing that a 200 person
| > | > engineering groups needs to do to start using Smalltalk is
| > | > figure
| > | > out (for themselves) how to share their work and keep 200
| > | > individual images in synch ... I'm not necessarily convinced
| > | > that
| > | > anyone has really solved this one.
| > | >
| > | > Personally I believe that the problem is surmountable, but for
| > | > whatever reason the Smalltalk community hasn't focussed on
| > | > seriously addressing the SCM issue .... in the last 30 years or
| > | > so:)
| > | >
| > | > Being able to repeatably build images based on a minimal core
| > | > image
| > | > is certainly headed in the right direction, but we still have a
| > | > ways to go on the tools front ...
| > | >
| > | > Dale
| > | >
| > | >
| > | >
| > | > ----- Original Message -----
| > | > | From: "Janko Mivšek" <[hidden email]>
| > | > | To: [hidden email], "Squeak"
| > | > | <[hidden email]>, "VWNC"
| > | > | <[hidden email]>
| > | > | Sent: Saturday, January 28, 2012 7:46:32 AM
| > | > | Subject: [squeak-dev] Smalltalk for small projects only?
| > | > |
| > | > | Hi guys,
| > | > |
| > | > | Ralph Johnson in his InfoQ interview made an interesting
| > | > | observation:
| > | > |
| > | > | 2:55 minute: "Smalltalk made an fundamental error ... image
| > | > | ...
| > | > | you
| > | > | can
| > | > | build something with 4-5 people what 50 people can build in
| > | > | Java,
| > | > | but
| > | > | if
| > | > | you take 200 people in Java ... it is really designed for
| > | > | small
| > | > | systems
| > | > | ...  "
| > | > |
| > | > | Are we because of the image really destined for relatively
| > | > | small
| > | > | projects and small systems (of Java 50 people project size)?
| > | > |
| > | > | Are we really not able to scale to bigger projects/systems
| > | > | because of
| > | > | that?
| > | > |
| > | > | Ok, there are few exceptions of course (JPMorgan, OOCL, ..),
| > | > | but
| > | > | still...
| > | > |
| > | > | [1] http://www.infoq.com/interviews/johnson-armstrong-oop
| > | > |
| > | > | Best regards
| > | > | Janko
| > | > |
| > | > |
| > | > | --
| > | > | Janko Mivšek
| > | > | Aida/Web
| > | > | Smalltalk Web Application Server
| > | > | http://www.aidaweb.si
| > | > |
| > | > |
| > | >
| > | >
| > |
| > | --
| > | Janko Mivšek
| > | Svetovalec za informatiko
| > | Eranova d.o.o.
| > | Ljubljana, Slovenija
| > | www.eranova.si
| > | tel:  01 514 22 55
| > | faks: 01 514 22 56
| > | gsm: 031 674 565
| > |
| >
|
|

_______________________________________________
vwnc mailing list
[hidden email]
http://lists.cs.uiuc.edu/mailman/listinfo/vwnc
Reply | Threaded
Open this post in threaded view
|

Re: Smalltalk for small projects only?

Janko Mivšek
In reply to this post by Janko Mivšek
Hi Michael,

S, Michael Haupt piše:

>>> I think this is a post that clearly illustrates the big problem with
>>> smalltalk. The very fact that is compared with Java and Java survives.

>> Yes, that 4-5 people can do what 50 Java people are needed is both a
>> blessing and a curse :)
>
> I wanted to ask this earlier: is there actual evidence for this, or is it just boasting?

I think we need to ask Ralph to clarify that. But IMHO his main point is
scaling from 50 to 200 ...

>> Blessing because of productivity, curse because
>> we are not able to scale beyond one highly connected development group.
>> We don't have project management practices and tools, while Java guys
>> have because they need them from the start.
>
> I'm not so sure the people at those Smalltalk firms building software for banks et al. have no project management. Boasting? ;-)

As I said in first post, there are few exceptions. But they all have
their dev. process developed internally, while there are no common
agreed and used development processes in Smalltalk as there are in
enterprise Java development. Even more funny is that many (like
Agile/Extreme programming) actually comes from that Smalltalk project
"exceptions"...

Best regards
Janko
_______________________________________________
vwnc mailing list
[hidden email]
http://lists.cs.uiuc.edu/mailman/listinfo/vwnc
Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] Smalltalk for small projects only?

Dale Henrichs
In reply to this post by Sven Van Caekenberghe
Sven,

Keep in mind that I'm talking about making it possible for teams of 200 to use Smalltalk (or 20 teams of 10, or 20 teams of 4) ...

How many Smalltalk developers rebuild their image from scratch multiple times per hour (day/month/year) during a development cycle ... If Smalltalk developers had to build their images over and over again on a daily basis, we would have had good tools for building images a long time ago:)

Because Smalltalk is am image it isn't necessary to build from scratch very often, but because we as a group haven't focussed on making it easy it is unnecessarily hard ... and building from scratch is a prerequisite to being used in large projects ...

As I said, I don't think the problem is insurmountable...and I do think we are getting better.

It's just that if tomorrow a team of 200 walked up to my door and said they wanted my help in setting up their Smalltalk development environment, I'd gulp and say "give me a couple of months (at least)"...

Dale

----- Original Message -----
| From: "Sven Van Caekenberghe" <[hidden email]>
| To: "The general-purpose Squeak developers list" <[hidden email]>
| Cc: "VWNC" <[hidden email]>, [hidden email]
| Sent: Saturday, January 28, 2012 11:08:08 AM
| Subject: Re: [squeak-dev] Smalltalk for small projects only?
|
| Dale,
|
| On 28 Jan 2012, at 19:07, Dale Henrichs wrote:
|
| > Janko,
| >
| > I think the limitation for Smalltalk lies in source code management
| > tools/styles ...
| >
| > With a file-based language 200 engineers can contribute to the
| > project ...  each engineer can checkout a version of the system
| > work in isolation then commit his or her work to the shared
| > repository resolve conflicts and move on .... other engineers can
| > easily integrate the work and so on ... the source code management
| > tools scale ...
| >
| > In the mid nineties at ParcPlace systems the image was passed
| > around from engineer to engineer so that he or she could integrate
| > their work into the production image... this doesn't scale...
| >
| > There have been proprietary source code management tools that have
| > been created over the years. You can bet that the large companies
| > that are invested in Smalltalk are using systems that are based on
| > these proprietary systems, but you can also bet that they've had
| > to customize those systems for their needs...
| >
| > The file-based SCM systems work out of the box and don't care what
| > language or even development process that is being used ... they
| > are managing files ...
| >
| > There is no standard SCM for Smalltalk and none of the file-based
| > SCMs really fit Smalltalk. When we are arguing about whether git
| > or mercurial is better on the Pharo list, I will retract that
| > statement:).
| >
| > Without a standard SCM, the first thing that a 200 person
| > engineering groups needs to do to start using Smalltalk is figure
| > out (for themselves) how to share their work and keep 200
| > individual images in synch ... I'm not necessarily convinced that
| > anyone has really solved this one.
| >
| > Personally I believe that the problem is surmountable, but for
| > whatever reason the Smalltalk community hasn't focussed on
| > seriously addressing the SCM issue .... in the last 30 years or
| > so:)
| >
| > Being able to repeatably build images based on a minimal core image
| > is certainly headed in the right direction, but we still have a
| > ways to go on the tools front ...
| >
| > Dale
|
| I want to respectfully disagree (and I even don't understand some of
| your remarks, or the underlying implications, given your excellent
| work on Metacello and some much other contributions to Smalltalk).
|
| Yes, the very old way of passing images around was arcane and did not
| scale (I did this too in the 80'ies early 90'ies).
|
| But today, with Monticello and Metacello things are quite different,
| not perfect but totally acceptable.
|
| When building Smalltalk applications I am using code written by
| hundreds of people during tens of years, this works out very well.
|
| In traditional file bases language like Java or C using a traditional
| SCM, you will immediately hit problems when even a couple of people
| work on parts of code that are closely related. Merging, branching,
| solving conflicts there is no different than with Monticello, IMHO.
|
| Organizing big teams is plain hard, in any language. Clear
| separations/responsabilities/interfaces are the only answer.
|
| Sven
|
|
|
|
_______________________________________________
vwnc mailing list
[hidden email]
http://lists.cs.uiuc.edu/mailman/listinfo/vwnc
Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] Smalltalk for small projects only?

Dale Henrichs
In reply to this post by Karl Ramberg
Karl,

For the types of project that would employ a team of 200, you need to be able to reliably reproduce the state of an image, from scratch, 5 years after development has completed ...

I invite you to read Allen Wirfs-Brock's paper on "Declarative Smalltalk"[1]. Here are some excerpts:

  Smalltalk does not include the concept of a program as a distinct entity. In practice,
  a Smalltalk program is the state of a virtual image when work is declared completed.

  Lack of a program definition in traditional Smalltalk environments leads to an undue
  reliance on the virtual image. Images can become obsolete or broken. Because the program
  is encoded in the image, the program is in danger of becoming inaccessible if the image
  becomes outmoded or corrupt.

  The manual and unreliable nature of the initialization of Smalltalk programs leads to a
  number of program errors. Especially prevalent after reconstruction of a program in a new
  image are errors where program elements have an initial value of nil instead of some other
  value as originally intended by the programmer.

  The use of a declarative specification model has little direct impact upon Smalltalk programmers.
  Even though Smalltalk has traditionally been implemented using an imperative program description
  model, the perception of most Smalltalk programmers is of a declarative model. This is because
  Smalltalk programmers typically create and edit programs using a browser that presents the classes
  that make up the program in a declarative style.

Disclaimer: I worked with Allen Wirfs-Brock in the nineties (engineer on the Team/V team) while he was developing his ideas for Declarative Smalltalk, so I am somewhat biased in my thinking:)

My opinion that being able to build images from scratch (easily and reproducibly) is a "requirement" to get in the door  for mainstream projects... giving mainstream developers the opportunity to work in a image-based environment will set them free:)

Dale

[1] http://www.smalltalksystems.com/publications/_awss97/SSDCL1.HTM

----- Original Message -----
| From: "karl ramberg" <[hidden email]>
| To: "The general-purpose Squeak developers list" <[hidden email]>
| Cc: "VWNC" <[hidden email]>, [hidden email]
| Sent: Saturday, January 28, 2012 11:39:22 AM
| Subject: Re: [squeak-dev] Smalltalk for small projects only?
|
| On Sat, Jan 28, 2012 at 7:07 PM, Dale Henrichs < [hidden email]
| > wrote:
|
| You are talking about dealing with source code, but what about the
| live objects in the image? Is there any work done on managing live
| images with several developers ? This is where Smalltalk excels and
| would be very interesting instead of falling back to the rebuild
| from source strategy.
|
| Karl
_______________________________________________
vwnc mailing list
[hidden email]
http://lists.cs.uiuc.edu/mailman/listinfo/vwnc
Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] Smalltalk for small projects only?

jarober
In reply to this post by Karl Ramberg
In my experience - using the project I'm on as an example - a fresh build takes on the order of 20 minutes (using a remote Store repository across a slow link.  Using SQLlite from local disk, it's closer to 5-7 minutes).  

That's for building up, from a base visual.im (this is VisualWorks)

-- a development image
-- a runtime
-- a change report
-- the SUnit run results

If you need synching more often than that, I'd say that you have a problem that is not solvable by tools.


This project involves around 5500 classes across nearly 200 packages (Store packages)

If you automate that (which is pretty easy), then you can have a server do builds as often as you need them, and toss the results out onto a share drive.


On Jan 28, 2012, at 2:39 PM, karl ramberg wrote:



On Sat, Jan 28, 2012 at 7:07 PM, Dale Henrichs <[hidden email]> wrote:
Janko,

I think the limitation for Smalltalk lies in source code management tools/styles ...

With a file-based language 200 engineers can contribute to the project ...  each engineer can checkout a version of the system work in isolation then commit his or her work to the shared repository resolve conflicts and move on .... other engineers can easily integrate the work and so on ... the source code management tools scale ...

In the mid nineties at ParcPlace systems the image was passed around from engineer to engineer so that he or she could integrate their work into the production image... this doesn't scale...

There have been proprietary source code management tools that have been created over the years. You can bet that the large companies that are invested in Smalltalk are using systems that are based on these proprietary systems, but you can also bet that they've had to customize those systems for their needs...

The file-based SCM systems work out of the box and don't care what language or even development process that is being used ... they are managing files ...

There is no standard SCM for Smalltalk and none of the file-based SCMs really fit Smalltalk. When we are arguing about whether git or mercurial is better on the Pharo list, I will retract that statement:).

Without a standard SCM, the first thing that a 200 person engineering groups needs to do to start using Smalltalk is figure out (for themselves) how to share their work and keep 200 individual images in synch ... I'm not necessarily convinced that anyone has really solved this one.

Personally I believe that the problem is surmountable, but for whatever reason the Smalltalk community hasn't focussed on seriously addressing the SCM issue .... in the last 30 years or so:)

Being able to repeatably build images based on a minimal core image is certainly headed in the right direction, but we still have a ways to go on the tools front ...

Dale

You are talking about dealing with source code, but what about the live objects in the image? Is there any work done on managing live images with several developers ? This is where Smalltalk excels and would be very interesting instead of falling back to the rebuild from source strategy.

Karl


----- Original Message -----
| From: "Janko Mivšek" <[hidden email]>
| To: [hidden email], "Squeak" <[hidden email]>, "VWNC" <[hidden email]>
| Sent: Saturday, January 28, 2012 7:46:32 AM
| Subject: [squeak-dev] Smalltalk for small projects only?
|
| Hi guys,
|
| Ralph Johnson in his InfoQ interview made an interesting observation:
|
| 2:55 minute: "Smalltalk made an fundamental error ... image ... you
| can
| build something with 4-5 people what 50 people can build in Java, but
| if
| you take 200 people in Java ... it is really designed for small
| systems
| ...  "
|
| Are we because of the image really destined for relatively small
| projects and small systems (of Java 50 people project size)?
|
| Are we really not able to scale to bigger projects/systems because of
| that?
|
| Ok, there are few exceptions of course (JPMorgan, OOCL, ..), but
| still...
|
| [1] http://www.infoq.com/interviews/johnson-armstrong-oop
|
| Best regards
| Janko
|
|
| --
| Janko Mivšek
| Aida/Web
| Smalltalk Web Application Server
| http://www.aidaweb.si
|
|






_______________________________________________
vwnc mailing list
[hidden email]
http://lists.cs.uiuc.edu/mailman/listinfo/vwnc
Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] Smalltalk for small projects only?

jarober
In reply to this post by Dale Henrichs
IMNSHO, if you have a team of 200 doing <any> software development in any language, then you have a big IT shop.  That also means you have a pretty onerous process in place that will bring all forward motion to a halt.  I'd go so far as to say that if you think you need 200 people for your project, go outside and light $100 bills on fire instead.  It will burn less money, and annoy fewer people.

On Jan 28, 2012, at 5:57 PM, Dale Henrichs wrote:

> Sven,
>
> Keep in mind that I'm talking about making it possible for teams of 200 to use Smalltalk (or 20 teams of 10, or 20 teams of 4) ...
>
> How many Smalltalk developers rebuild their image from scratch multiple times per hour (day/month/year) during a development cycle ... If Smalltalk developers had to build their images over and over again on a daily basis, we would have had good tools for building images a long time ago:)
>
> Because Smalltalk is am image it isn't necessary to build from scratch very often, but because we as a group haven't focussed on making it easy it is unnecessarily hard ... and building from scratch is a prerequisite to being used in large projects ...
>
> As I said, I don't think the problem is insurmountable...and I do think we are getting better.
>
> It's just that if tomorrow a team of 200 walked up to my door and said they wanted my help in setting up their Smalltalk development environment, I'd gulp and say "give me a couple of months (at least)"...
>
> Dale
>
> ----- Original Message -----
> | From: "Sven Van Caekenberghe" <[hidden email]>
> | To: "The general-purpose Squeak developers list" <[hidden email]>
> | Cc: "VWNC" <[hidden email]>, [hidden email]
> | Sent: Saturday, January 28, 2012 11:08:08 AM
> | Subject: Re: [squeak-dev] Smalltalk for small projects only?
> |
> | Dale,
> |
> | On 28 Jan 2012, at 19:07, Dale Henrichs wrote:
> |
> | > Janko,
> | >
> | > I think the limitation for Smalltalk lies in source code management
> | > tools/styles ...
> | >
> | > With a file-based language 200 engineers can contribute to the
> | > project ...  each engineer can checkout a version of the system
> | > work in isolation then commit his or her work to the shared
> | > repository resolve conflicts and move on .... other engineers can
> | > easily integrate the work and so on ... the source code management
> | > tools scale ...
> | >
> | > In the mid nineties at ParcPlace systems the image was passed
> | > around from engineer to engineer so that he or she could integrate
> | > their work into the production image... this doesn't scale...
> | >
> | > There have been proprietary source code management tools that have
> | > been created over the years. You can bet that the large companies
> | > that are invested in Smalltalk are using systems that are based on
> | > these proprietary systems, but you can also bet that they've had
> | > to customize those systems for their needs...
> | >
> | > The file-based SCM systems work out of the box and don't care what
> | > language or even development process that is being used ... they
> | > are managing files ...
> | >
> | > There is no standard SCM for Smalltalk and none of the file-based
> | > SCMs really fit Smalltalk. When we are arguing about whether git
> | > or mercurial is better on the Pharo list, I will retract that
> | > statement:).
> | >
> | > Without a standard SCM, the first thing that a 200 person
> | > engineering groups needs to do to start using Smalltalk is figure
> | > out (for themselves) how to share their work and keep 200
> | > individual images in synch ... I'm not necessarily convinced that
> | > anyone has really solved this one.
> | >
> | > Personally I believe that the problem is surmountable, but for
> | > whatever reason the Smalltalk community hasn't focussed on
> | > seriously addressing the SCM issue .... in the last 30 years or
> | > so:)
> | >
> | > Being able to repeatably build images based on a minimal core image
> | > is certainly headed in the right direction, but we still have a
> | > ways to go on the tools front ...
> | >
> | > Dale
> |
> | I want to respectfully disagree (and I even don't understand some of
> | your remarks, or the underlying implications, given your excellent
> | work on Metacello and some much other contributions to Smalltalk).
> |
> | Yes, the very old way of passing images around was arcane and did not
> | scale (I did this too in the 80'ies early 90'ies).
> |
> | But today, with Monticello and Metacello things are quite different,
> | not perfect but totally acceptable.
> |
> | When building Smalltalk applications I am using code written by
> | hundreds of people during tens of years, this works out very well.
> |
> | In traditional file bases language like Java or C using a traditional
> | SCM, you will immediately hit problems when even a couple of people
> | work on parts of code that are closely related. Merging, branching,
> | solving conflicts there is no different than with Monticello, IMHO.
> |
> | Organizing big teams is plain hard, in any language. Clear
> | separations/responsabilities/interfaces are the only answer.
> |
> | Sven
> |
> |
> |
> |
>

James Robertson
http://www.jarober.com
[hidden email]




_______________________________________________
vwnc mailing list
[hidden email]
http://lists.cs.uiuc.edu/mailman/listinfo/vwnc
Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] Smalltalk for small projects only?

Dennis smith-4
Back to the original statement ...
     takes 4-5 Smalltalkers to do a 20 Java team development
then
     a 200 Java team project would be difficult in ST

That would be a 40 to 50 Smalltalk team -- not 200 which we seem to have
been talking about ??

So the question then is can 40 or so developers work on an ST project??

On 2012-01-28 18:37, James Robertson wrote:

> IMNSHO, if you have a team of 200 doing<any>  software development in any language, then you have a big IT shop.  That also means you have a pretty onerous process in place that will bring all forward motion to a halt.  I'd go so far as to say that if you think you need 200 people for your project, go outside and light $100 bills on fire instead.  It will burn less money, and annoy fewer people.
>
> On Jan 28, 2012, at 5:57 PM, Dale Henrichs wrote:
>
>> Sven,
>>
>> Keep in mind that I'm talking about making it possible for teams of 200 to use Smalltalk (or 20 teams of 10, or 20 teams of 4) ...
>>
>> How many Smalltalk developers rebuild their image from scratch multiple times per hour (day/month/year) during a development cycle ... If Smalltalk developers had to build their images over and over again on a daily basis, we would have had good tools for building images a long time ago:)
>>
>> Because Smalltalk is am image it isn't necessary to build from scratch very often, but because we as a group haven't focussed on making it easy it is unnecessarily hard ... and building from scratch is a prerequisite to being used in large projects ...
>>
>> As I said, I don't think the problem is insurmountable...and I do think we are getting better.
>>
>> It's just that if tomorrow a team of 200 walked up to my door and said they wanted my help in setting up their Smalltalk development environment, I'd gulp and say "give me a couple of months (at least)"...
>>
>> Dale
>>
>> ----- Original Message -----
>> | From: "Sven Van Caekenberghe"<[hidden email]>
>> | To: "The general-purpose Squeak developers list"<[hidden email]>
>> | Cc: "VWNC"<[hidden email]>, [hidden email]
>> | Sent: Saturday, January 28, 2012 11:08:08 AM
>> | Subject: Re: [squeak-dev] Smalltalk for small projects only?
>> |
>> | Dale,
>> |
>> | On 28 Jan 2012, at 19:07, Dale Henrichs wrote:
>> |
>> |>  Janko,
>> |>
>> |>  I think the limitation for Smalltalk lies in source code management
>> |>  tools/styles ...
>> |>
>> |>  With a file-based language 200 engineers can contribute to the
>> |>  project ...  each engineer can checkout a version of the system
>> |>  work in isolation then commit his or her work to the shared
>> |>  repository resolve conflicts and move on .... other engineers can
>> |>  easily integrate the work and so on ... the source code management
>> |>  tools scale ...
>> |>
>> |>  In the mid nineties at ParcPlace systems the image was passed
>> |>  around from engineer to engineer so that he or she could integrate
>> |>  their work into the production image... this doesn't scale...
>> |>
>> |>  There have been proprietary source code management tools that have
>> |>  been created over the years. You can bet that the large companies
>> |>  that are invested in Smalltalk are using systems that are based on
>> |>  these proprietary systems, but you can also bet that they've had
>> |>  to customize those systems for their needs...
>> |>
>> |>  The file-based SCM systems work out of the box and don't care what
>> |>  language or even development process that is being used ... they
>> |>  are managing files ...
>> |>
>> |>  There is no standard SCM for Smalltalk and none of the file-based
>> |>  SCMs really fit Smalltalk. When we are arguing about whether git
>> |>  or mercurial is better on the Pharo list, I will retract that
>> |>  statement:).
>> |>
>> |>  Without a standard SCM, the first thing that a 200 person
>> |>  engineering groups needs to do to start using Smalltalk is figure
>> |>  out (for themselves) how to share their work and keep 200
>> |>  individual images in synch ... I'm not necessarily convinced that
>> |>  anyone has really solved this one.
>> |>
>> |>  Personally I believe that the problem is surmountable, but for
>> |>  whatever reason the Smalltalk community hasn't focussed on
>> |>  seriously addressing the SCM issue .... in the last 30 years or
>> |>  so:)
>> |>
>> |>  Being able to repeatably build images based on a minimal core image
>> |>  is certainly headed in the right direction, but we still have a
>> |>  ways to go on the tools front ...
>> |>
>> |>  Dale
>> |
>> | I want to respectfully disagree (and I even don't understand some of
>> | your remarks, or the underlying implications, given your excellent
>> | work on Metacello and some much other contributions to Smalltalk).
>> |
>> | Yes, the very old way of passing images around was arcane and did not
>> | scale (I did this too in the 80'ies early 90'ies).
>> |
>> | But today, with Monticello and Metacello things are quite different,
>> | not perfect but totally acceptable.
>> |
>> | When building Smalltalk applications I am using code written by
>> | hundreds of people during tens of years, this works out very well.
>> |
>> | In traditional file bases language like Java or C using a traditional
>> | SCM, you will immediately hit problems when even a couple of people
>> | work on parts of code that are closely related. Merging, branching,
>> | solving conflicts there is no different than with Monticello, IMHO.
>> |
>> | Organizing big teams is plain hard, in any language. Clear
>> | separations/responsabilities/interfaces are the only answer.
>> |
>> | Sven
>> |
>> |
>> |
>> |
>>
> James Robertson
> http://www.jarober.com
> [hidden email]
>
>
>
>
> _______________________________________________
> vwnc mailing list
> [hidden email]
> http://lists.cs.uiuc.edu/mailman/listinfo/vwnc

--
Dennis Smith                                  +1 416.798.7948
Cherniak Software Development Corporation   Fax: +1 416.798.0948
509-2001 Sheppard Avenue East        [hidden email]
Toronto, ON M2J 4Z8              sip:[hidden email]
Canada                     http://www.CherniakSoftware.com
Entrance off Yorkland Blvd south of Sheppard Ave east of the DVP

_______________________________________________
vwnc mailing list
[hidden email]
http://lists.cs.uiuc.edu/mailman/listinfo/vwnc
Reply | Threaded
Open this post in threaded view
|

Re: Smalltalk for small projects only?

Ralph Johnson
In reply to this post by Janko Mivšek
This thread started with a reference to a comment I made some time
ago.  What I meant was that Smalltalk has no special advantages for
large projects.   It does have special advantages for small projects.
But on large projects, the important problems are political, not
technical.

Smalltalk tends to have political problems; it is not one of the
"standard" languages that you can easily justify to the board of
directors, it can be hard to get good Smalltalkers in large numbers.
So, it is not likely to be used on large projects.  I don't think
Smalltalk is necessarily any harder to use on a project with a lot of
people, but projects with a lot of people are always dangerous and
likely to fail.  So, it is better to try to keep projects small,
whether you are using Smalltalk or not.  Smalltalk can help you keep
it small.

One thing that hasn't been discussed much is how to break a project
into pieces.   How often are project divided into a group of images
instead of one giant image?  I tend to see one giant image, and more
and more I am thinking that is a mistake.

-Ralph
_______________________________________________
vwnc mailing list
[hidden email]
http://lists.cs.uiuc.edu/mailman/listinfo/vwnc
123