On 2 Jun 2020, at 13:00, gustav_m <gustavmoist@gmail.com> wrote:

Hello! I don't know if this is a good place to ask this kind of questions,
but I haven't found other places where Smalltalk/Pharo experts hang out.

You can join the discord channel and talk with people. 
https://discord.gg/QewZMZa


I'm a designer and unfortunately I know nothing about programming and
computation. I'm trying to change this right now. I'm looking for suitable
technology to learn and so far Pharo/Smalltalk looks very promising. To be
honest, it looks way too good to be true. And that's why I'm here, asking
you guys to disillusion me.

What is really interesting with Pharo is that you have less qwirk than in other languages to learn.
It is uniform so once you get it you get all the stack. Now this uniformity can be also difficult 
to grasp. But there are some aspects you can ignore when you start.  

What I really love is that you can touch everything (nearly) you can go super super deep
and change the compiler or the graphics. And this different parts are still following the same 
small model and use the same tiny syntax. 


I work in a small department of a large company (unfortunately I can't give
you too much details). Part of my job is to design tools that are used by
our team. Every time I come up with an idea, we need to get a programmer
from other department and we work together to bring my idea to life. So it
would be perfect if I could do the programming on my own.
We are lucky that we are not tied to any particular technology (at least in
our department, for now). Some of our tools were written in Java, some in
Python.

Sometimes what is frustrating for me is that the widgets are not good enough. 
But for example a group a thales is designing super specific UI for the army
and they do all the requirement engineering and design super ad-hoc User interfaces.
What they particularly love (I can put you in contact with them) is that they can fully 
change Pharo. You would not recognise it when you see their system.
They built a platform for building specific UI and now they are rebuilding it in Pharo. 
I���m about to send a new success story with a visual 
They cannot show the software that they build for the army but did ���strange��� UI for the submarine
or also tatical system. Here is a sample of the public image that they can send. 

You can also look at Feenk.com because all their stack is based on an alternate graphical layer
that they developed. It is gorgeous. 



After watching this video [https://youtu.be/AnrlSqtpOkw?t=550] my
imagination just went crazy. It looks like the Smalltalk system would be
also a perfect tool to give presentations to my superiors.
So to me Smalltalk looks like a holy grail. But again, my perception of it
is probably wrong and I might be better of learning, for instance,
Dart+Flutter.


Well the problem is really that you should go slowly and learn step by step. 
Because programming is a skill that should be practiced. 
Now what is important to consider is that Pharo is not a black box. 
Once you understand the principle you can morph the complete environment. 
And when you program it you do not program a mere file, you are editing a life environment (which 
can blow on your face if you kill it) but this is super powerful.

So here is a bunch of questions, I hope someone will find time to answer
(and I do apologize in advance, as I'm sure you may find this questions
infantile and annoying):
1. As a designer I'm an aesthete. Is it possible to change the look of the
windows and the environment to ones liking?

Yes 
The super basic is the change the color (I was fed up by the greish and 
in our team people hacking different coloring scheme) but you can also change
the rest.  People in the past did skins and the windows were really different. 

Or redesign the whole system to
not use windows at all?

Yes

How moldable the environment is?

I would say that the limits are your skills. 
For exampel once we wanted to see if we can introduce our own gesture recognition
and we ask a third year student (a good one) to do it. We will now be able to use what he did (you can find this on youtube
https://www.youtube.com/watch?v=t_6xbAVIlH0

have a look at what tomohiro did for fun
https://www.youtube.com/watch?v=eYuhlixBaPI

look for pharo honeyginger youtube tomohiro

https://www.youtube.com/watch?v=Wq6APgF1ZHc


2. How well is Smalltalk/Pharo suited to handle different graphic animation
effects? As a designer I like to use animations to cue users. What about
sound effects?

Have a look the roassal 30 twitter account it is full of animation. 
https://twitter.com/brackendev/status/1206776380844838914/photo/1
Milton is posting them regularly and really nice person
https://twitter.com/akevalion


Also, as a hobby I'd like to try some (3.) generative art

Look at roassal 30 :)


and (4.) agent
based modeling. Is Pharo suitable for this kind of things?

Yes

https://github.com/tomooda/ReMobidyc

From what I saw and read it may be good choice for ABM, but some people cry
about Smalltalk being slow.

Slow compare to what?
Pharo is faster than may be modern language. 

So maybe I'd be wiser to learn Processing (for
3) and NetLogo (for 4) instead. This would be unfortunate as these are two
another technologies to learn.

You should try and be in contact with people and measure. 


5. And the last question- as I skimmed through "Blue Book" I found so called
"Pen" class. However, it looks like it's missing in Pharo. Was it removed?
And if so, why?

The blue book is nearly thirty year old and we removed it. because it was writing in plain 
memory and not of real use. 

To teach programming I wrote a turtle like system 
https://botsinclearners.github.io

And I should finish to migrate the site���
but you can check the videos and the graphic art that an old art retired teacher did with it. 
https://github.com/BotsIncLearners/botsincLearners.github.io/blob/source/images/Guyader-carreColorBsmall.jpg

https://github.com/BotsIncLearners/botsincLearners.github.io/tree/source/images


I find the language itself, and especialy its minimalism/simplicity, so
elegant, that I'm thinking of printing the famous "postcard example" and
hanging it on a wall. The whole system, however, is humongous! It looks like
learning (to be albe to do anything interesting and non-trivial) will take
ages.

The point is that you do not have to learn everything.
You have to know the basic and learn how to find your way. 

There is a mooc 
we are about to release new videos for the version 80 but you can take the current version of the mooc on 
(I think that luc changed mooc.pharo.org to use the version 80 - you have dub version and version with subtitles)
https://www.fun-mooc.fr

What I can tell you is that we are not teaching Pharo and it takes in general 2 weeks to a third year students to get 
up to speed. 

You also have the book "Learning Oop ��� and "Pharo by example��� to start with. 
I���m porting the book to Pharo80

But what I can tell is that you do not have to understand everything. Luckily. 

So, what do you think? Should I invest my time here? Or is there a different
technology that I should consider?

My gut feeling is that playing with Pharo will fundamentally change your perception. 
I often say to people that visit us that even if after they will never program anymore in Pharo, 
they usually will not program the same after. 

So my suggestions
- check the mooc
- be connected on discord and ask questions
- we can also help with some share screen session if necessary (I do that from time to time with students). 
- and evaluate what you will learn
- pick small challenges 
- check roassal30

Pharo is a mid term play. 
in the sense that it requires some investisemnt


Gustav



--
Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html


--------------------------------------------
St��phane Ducasse
03 59 35 87 52
Assistant: Aurore Dalle 
FAX 03 59 57 78 50
TEL 03 59 35 86 16
S. Ducasse - Inria
40, avenue Halley, 
Parc Scientifique de la Haute Borne, B��t.A, Park Plaza
Villeneuve d'Ascq 59650
France