Just to clarify, you will never read from me that Python or Pharo is superior or what else.��
Superior and better is highly subjective and depends obviously on your needs and specific problem you want to solve.����
What I am saying , is yes I am perfectly ok and even encourage Pharo offering similar functionality we come to expect from other IDEs, languages, third party tools etc . There is definetly a lot of value in offering something that is easier to learn and an easier way of doing things. The essense of computers is to automate stuff. But like any other language, IDE, third party tool etc Pharo attracts a specific kind of people.��
Python attracts people that want the easiest learning curve possible
C attracts people who want the highest performance code possible
Pharo attracts people who want a highest productivity workflow with full customisability.��
Which one is best ? Hmm.... highly debatable, which is why language wars end to up nowhere.
Its not that Pharo cannot be fast, or easy to learn, its not that C cannot be easy to learn and fully customisable and highly productive and its not that Python cannot be top performance or highly productive and full customisable. But each one has its own priorities and life is all about priorities.��
On the matter of application deployment to offer you some recommendations
What you can do��
1) Rename the executable, which basically contains the VM��
2) Change the icon of the executable
3) Create a startup script , if you want to have some kind of default behavior when the user first opens Pharo or each time it opens it
4) Use attached morphs to world, these morphs cannot be resized, take the entire space of pharo window and block any interaction with the Pharo ide. When you dont not want your user to access your application internals.
5) Morphic offers themes you can use to add a special touch to your interface even making it look more native
6) There is no need for an installer but if you want to create one because of dependencies that are shared among application you can use any third party tool that can be used for any other language , nothing special here
7) You can offer automatic updates via git, Metacello gives a�� lot of access to git functionality so you can connect to your git repo , check the latest version and redowload the source in the background using a fork process
8) you can use makefiles with Pharo for generating diffirent builds for your application, again you can use pharo startup scripts to automatically install code to a freshly build image.
9) The help tool can be used as internal documentation of your image
10) If you want a cheap way to crate a multi core application, you can trigger multiple instances of pharo and let them talk with each other via sockets. Each istance will be assigned by OS to a separate core
11) If you must absolutely have a native interface run pharo without its ui (this happens with the use of pharo.exe instead of pharo-ui.exe ) and use the UFFI to generate your interface using the the native interface of your OS. This of course will make your application non cross platform but is still a popular choice for mosr desktop applications��
12) Its also possible use HTML/JS as GUI for Pharo, again you can use a web engine, like WebKit and UFFI
13) Ask questions here for anything, never hesitate��
14) If all fails you can always use Pharo together with other languages, again using sockets, or shared memory, or pipes, Pharo gives you full access to your OS and the OS offer many ways for communication between process / applications / executables.��