+1000 Sent from my iPhone
On Nov 22, 2017, at 23:57, Dimitris Chloupis <kilon.al...@gmail.com> wrote: >> - Deployment: it should be possible to deploy a „single click“ application, >> independet if native GUI or Web App or Shiny like >> - More standard solutions: many libraries have examples, but they are >> sometimes to trivial or just irrelevant for daily practice >> - More product oriented: libraries should have more wizzards or application >> pattern. Imaginary example: for Teapot or Seaside would it be fine if there >> were some code generator for a 4 Tile dashboard app, or a data viz app, >> themes like in hugo or bootstrap. I may be wrong, but the nature of many >> libraries or tools is „make anything possible“ instread of „I help you to >> write your product“. Do you understand what I want to say ? >> >> Anyway. I can state: Phare IS on the right way. It is. Much much progress >> the last years. Thank you all ! And if it becomes more and more a product >> for professionals (in industry), the future will be top ! And this doesnet >> mean to give up the computer science part. Pharo is cool to try concepts and >> ideas. So Pharo has BOTH sides, which does it make great. >> >> Cheers >> >> Hans > > if by single click you mean you press a button and an application is created > , technically with pharo you dont even need to push a button, as pharo is > already an application. > > Pharo is not an IDE, is not a language, is not a virtual os , or a live > coding enviroment. Its simply an application that fullfils all these > roles.You may say "so what, everything is an application" , well not quite > because Pharo is an application practically written in itself offering you > direct access to all its internal making it completely customisable. Even its > VM can be customised from inside Pharo which if you think about it, other > languages would consider this a form of insanity and to a point they are > correct to do so. > > Thus there is no point of creating standalone applications with Pharo because > this goes against its very ideology of IDE, most IDEs nowdays miss the I, > standing for Integration which means that you integrate development tools, > plus language plus your code in one thing. These things are not used merely > to create the application they are meant to be included with the application > you create. I usually say to people that they have no clue what integration > means until they coded in Smalltalk. Smalltalk is just light years ahead in > that departmen and so is Pharo. > > A standalone application rips these things apart , its the seperation between > development builds and release builds that are far less meaningful for Pharo > and you will rarely read about them in this mailing list. > > The actual problem of Pharo is the sever lack of documentation. Its much > better nowdays than it used to but the fact remains that biggest weakness of > Pharo is that it moves about 1000 times faster than its documentation. This > is one huge disadvantage of a very productive/ succesful development > enviroment. > > Python which is a language I also regularly use on daily basise, its a > language that barely changes wtih each version. The only singificant change > for Python was Python 3 and even that pales in comparison to the massive > changes we see in each Pharo version. The next version of Pharo for example > may have a completely new GUI API , that is something you rarely see > happening to a language. This is ok because Pharo obviously is not a > programming language and neither is Smalltalk. > > On the matter of standalone applications , Pharo offers a masive degree of > customisation that is unknown even amongst its most experienced users. Pretty > much anything you see and dont see is customisable. So ironically Pharo > offers a much larger degree of efficiency for generating standalone > applications than any IDE or language out there , or even third party tool. > By standalone in this case I mean application that execute by themselves > without even a need to be installed. > > The reason for this, is the same reason Pharo is so extremely productive. Its > not the live enviroment, its not the pure OOP, its not the IDE, or the > simplicity of the language. > > Its the I, Integration. > > No language or IDE , however much more powerful it may seem can ever come > close to competing with Pharo. That does not make Pharo the best choice, just > the most flexible. > > In the end the fact that Pharo evolution is thousands times faster than its > documentaiton is a very solid reason not to use Pharo and not to recommend to > others. Because in the end documentation is extremely important. > > But this is one of those scenarios of not having your cake and eating too. > With Pharo you choose to sacrifice documentation for high coding > productivity. Of course lack of documentation hinders productivity but that > is only temporarily until you learn what you want to learn. But then > learning what you want make take years if not decades. > > To explain how one can create a standalone application with Pharo in full > detail is to explain the entire Pharo in full detail. This is why articles > that have been written in the past just barely scratch the surface and tend > to give the opposite impression. > > Bottom line if you come to Pharo for wizards, documentation and generally > hand holding attitude , go back to Python. Python is excellent at this role > and is practically untouchable by its competition which is why it is > considered the king of "ease of use". Pharo is the exact opposite, its > difficult , frustration, annoying, messy and extremely manual. > > But if you search for most the powerful and flexible development enviroment > in the world. Nothing comes remotely close to Pharo. Pharo is the undisputed > king of Integration. It will blow your mind like a nuclear explosion of how > extremely customisable it is. > > Which lead to the inate question what makes one more productive the Python or > the Pharo ideology ? > > My answer is that Python offers more productivity in the short run (which is > why is No 1 if not the only recommended language for beginners to coding) but > in the long run after extensive study of the Pharo enviroment , which means > reading tons upon tons of code (it sucks I know, especially when you realise > that not even classes have comments), Pharo is the clear winner. As soon as > you eliminate the need for documentation and wizard like attitude Pharo moves > at the speed of light. > > There is an effort to make Pharo more Pythonic, but to be sincere, Pharo will > always be Pharo and personally I do not like to hide Pharo shortcoming as I > do not like to to hide its strenghts. > > Pharo essentially does not care about other languages, because its not a > language. > Pharo essentially does not care about IDEs, because its not an IDE. > Pharo essentially does not care about wizards, because its not wzard. > > Pharo's charm is that it has the courage to say "I do not care , I will do > things my way" and just push forward. > > So you could say Pharo is the very definition of acquired taste. Its not so > much about being better and more about being diffirent. Which is a breath of > fresh air in the world that everybody copies everybody else. > > So my advince to all newcomers is that if you are here for the right reasons > and ready to commit to the Pharo ideology, arm yourself with massive amount > of patience and march on. It will be a bumpy but extremely rewarding ride and > completly change the way you think about coding and especially about OOP.