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 <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 <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 <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 <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 <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/ima... https://github.com/BotsIncLearners/botsincLearners.github.io/tree/source/ima...
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 <http://mooc.pharo.org/> to use the version 80 - you have dub version and version with subtitles) https://www.fun-mooc.fr <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 http://stephane.ducasse.free.fr / http://www.pharo.org 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