Sometimes I really don't understand what you see in Pharo ...
> On 26 Jan 2016, at 17:53, Dimitris Chloupis <kilon.al...@gmail.com> wrote:
>
> "If git compares two versions, it does not understand what is in it."
>
> why it should ? its a version control system, not a refactoring tool.
>
> "
> When Monticello compares versions, it knows about classes, methods,
> inheritance,
> it can explain diffs in the same structured (browsable) form that you wrote
> them."
>
> is that Monticello or is that refactoring classes and methods of pharo ?
> Because the way I see it is like this if you have a refactoring language, a
> language that can refactor its own code , that language should be able to
> take two diffirent pieces of code and not only show you a diff but also show
> you how your inheritance is affected, your classes even your live state.
>
> The big question here, from my side is why a version control system should do
> that ? Refactoring and version controlling for me at least is two very
> different tasks. I dont also see how a version control system that is self
> aware refactoring wise when already have refactoring tools in my IDE, is
> giving me any advantage me as a user. Most IDEs come with them anyway.
>
> Its not as if you will use a python IDE, or whatever language you use and the
> IDE will go "sorry dude I cannot tell you what git did there because it has
> no refactoring and I am too stupid to use my own refactoring tools". That IDE
> would belong to the bin. This is why we use specialized Git gui tools, they
> are not there just to make our screens pretty.
>
> "Putting Smalltalk in plain text files can be done, has been done, and was
> not successful, because you lose something essential by leaving the
> environment."
>
> What you lose is the live state which monticello does not store anyway, how
> could it ? it only stores text files, its actually far more anti-Smalltalk
> than git is. Because with git you can version control your pharo images or
> your fuel files than contain the live state or you could export the live
> state and live code to a binary file. Now try that with monticello. The
> irony is very large, Git is far more Smalltalk friendly, than Monticello is.
>
> "The island argument is also a bit too easy: any platform can be seen as an
> island that needs to integrate with others, there are degrees of openness.
> Your Blender or Python are islands too, just like SAP, Microsoft and Oracle.
> Some connections/interfaces are easy, some are hard(er). It all depends on
> your position."
>
> I completely agree in the end every API ever programm is to a degree an
> island. No code ever shakes in terror saying "oh my god I need to make my
> code 100% compatible with whatever is out there" . Its not possible. But the
> culture of those other languages is "lets keep things close" , "lets make
> coder's life" easier , "lets keep compatibility and standard/common
> practices" .
>
> Smalltalk does not do that because it loves experimentation, the whole
> smalltalk enviroment is experimentation heaven playground. Thats great
> because without it we dont have smalltalk but its also bad.
>
> "When have you last looked at the source code of git ?"
>
> Never ? Why should I, I dont even take a look at monticello source code. I
> tried to improve auto completion and my head kept spinning around and around,
> 10s of hours still could not figure out the code. I am not smart or
> knowledgable to judge Monticello on a source code basis. Maybe source code
> wise, core wise, Monticello is 1000 times better than Git, but my complains
> with Monticello is on the user level. As a smalltalker I just dont see the
> point of prefering Monticello over Git , or screw Git, you want mercurial ?
> thats fine too.
>
> I just dont see it whats the big deal with Monticello.
>
> "And be honest, do you find git always easy to use ?"
>
> I have been honest from the very start when I started pushing for git and
> Github. I have been crystal clear. My usage of git is super simple.
>
> I dont work in teams, I work alone, I dont even use branches, I do git pull,
> git add, git commit and git push. I have reverted commits a couple of times,
> I have reset to head sometimes because of some nasty merges and that was it.
> I am almost never have merge conflicts.
>
> You want me to compare my experience with monticello and StHub VS git and
> Github using Pharo ? Nope you dont.
>
> Do I find git always easy to use ? You know what , I am a python coder and I
> definetly appreciate ease of use and simplicity but lets be frank here Git
> was made by the same guy that made the freaking Linux kernel. He made Git not
> to be easy but able to manage an enormous amount of code the easy way the
> fastest possible way and he accomplished that goal.
>
> So do I find git easy to use ? Nope
>
> Do I care ? Nope, because I rather use something that is difficult to use but
> powerful and with good performance than something that is very easy to use ,
> limited and slow. Hell , I dont even find Pharo easy to use , its power and
> flexibility that made me love it.
>
>
> On Tue, Jan 26, 2016 at 6:23 PM Sven Van Caekenberghe <s...@stfx.eu> wrote:
>
> > On 26 Jan 2016, at 16:49, Dimitris Chloupis <kilon.al...@gmail.com> wrote:
> >
> > Obviously it will better fit Pharo since its made to work with smalltalk
> > code, but that does not make it any less terrible. Just because you have
> > one implementation of something that does not mean its good. Its just means
> > its there and it works.
> >
> > I dont know the internal, they are not documented anyway, there are some
> > class comments here and there but thats pretty much it. I dont even
> > remember when was the last time monticello got an updated, I mean a serious
> > update not just a couple of bug fixes the 2 years I have been around.
> >
> > Secondly GUI is just plain awful, Smalltalk maybe be the first or one of
> > the first to implement guis, but those implementations never ended up to
> > something that would be approachable and easy to use on a day to day basis,
> > some tools suffer more from this some less, Monticello is up there with the
> > worse design.
> >
> > Thirdly the inability of the system to version control images , audio files
> > and other assets it defeats the central purpose of smalltalk of everything
> > being objects with a loud "Nope !" from Monticello "Only source code is".
> >
> > So its awesome that Smalltalk , and Squeak got its own version control
> > system, that is easy to use and Pharo inherited it. Congratulations to
> > people behind it. But the GUI needs to go, its a bad advertisement to
> > Pharo, and we need something that is not stuck to dark ages as you
> > correctly pointed but for the opposite reason. Because any way you try to
> > turn Monticello you wont find a label written "modern" on it. The label you
> > may find on it is more like "abandonware".
> >
> > Also there like a ton of OOP languages out there using git with no major
> > problems, the problem with smalltalk is that smalltalk is an island.
> >
> > And the problem with islands is when you end having fun with them you feel
> > stuck since they dont provide an easy access to the outside world.
> >
> > "Git just manages blobs, text files at best. Dead text"
> >
> > Last time I checked Monticello used a format called mcz which is nothing
> > more than a zip file containing st files, which are as you call it "dead
> > text" files. Also I would like to remind you that git is used by the CUIS
> > smalltalk to version control their images, I thought images are live code.
> >
> > Personally I dont see the diffirence between live and dead text. Its just
> > text to me. The VM is the one that makes it live anyway.
>
> Yes and no.
>
> If git compares two versions, it does not understand what is in it.
>
> When Monticello compares versions, it knows about classes, methods,
> inheritance,
> it can explain diffs in the same structured (browsable) form that you wrote
> them.
>
> Putting Smalltalk in plain text files can be done, has been done, and was not
> successful, because you lose something essential by leaving the environment.
>
> The island argument is also a bit too easy: any platform can be seen as an
> island that needs to integrate with others, there are degrees of openness.
> Your Blender or Python are islands too, just like SAP, Microsoft and Oracle.
> Some connections/interfaces are easy, some are hard(er). It all depends on
> your position.
>
> When have you last looked at the source code of git ?
>
> And be honest, do you find git always easy to use ?
>
> > On Tue, Jan 26, 2016 at 5:09 PM Sven Van Caekenberghe <s...@stfx.eu> wrote:
> >
> > > On 26 Jan 2016, at 15:59, Dimitris Chloupis <kilon.al...@gmail.com> wrote:
> > >
> > > To be fair my experience with pharo and git have been not always smooth
> > > either. I have the VM crashing again and again completely randomly when
> > > it was trying to pull SmaCC as dependency for my project Ephestos, had to
> > > drop SmaCC and moving my python type parsing at python side.
> > >
> > > But I find it ironic someone using Monticello, trying to equate git with
> > > dark ages, you cant get more dark ages than monticello, frankly. No
> > > offense to people who made it , its great that is in there but its full
> > > of problems and bad designs and cant even begin to be compared with
> > > Github and GIT GUI clients. Monticello is according to my personal
> > > opinion by far the worst tool of Pharo.
> >
> > No it is not. It is a version management system that understands our object
> > and code model, a system that we control. Git just manages blobs, text
> > files at best. Dead text.
> >
> > (This does not mean it is perfect, nor that it cannot improve, nor that we
> > should not improve our git integration.)
> >
> > > On Tue, Jan 26, 2016 at 4:51 PM Thierry Goubier
> > > <thierry.goub...@gmail.com> wrote:
> > > 2016-01-26 15:11 GMT+01:00 Sean P. DeNigris <s...@clipperadams.com>:
> > > NorbertHartl wrote
> > > > - I need to use BaselineOf instead of ConfigurationOf. Thus you cannot
> > > > use
> > > > Versionner anymore
> > >
> > > Unfortunately. This is the biggest drag for me after switching all my
> > > personal projects to git (GitHub for public and BitBucket for private). I
> > > had gotten spoiled by Versionner and hand-editing MetaC artifacts feels
> > > like
> > > going back to the dark ages :/
> > >
> > > Well, I guess copying the baselines generated by Versionner into a
> > > BaselineOf is probably a way to do it.
> > >
> > > Thierry
> > >
> > >
> > >
> > >
> > > -----
> > > Cheers,
> > > Sean
> > > --
> > > View this message in context:
> > > http://forum.world.st/Pharo-git-workflow-tp4874067p4874221.html
> > > Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com.
> > >
> >
> >
>
>