>
> - 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.

Reply via email to