On Tue, 2 Jun 2020 at 19:01, gustav_m <gustavmo...@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. >
This is the place, and also Discord that others have linked to. > 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. > Your biggest disillusionment going to be less about Pharo versus any other language, and more about big ambitions exceed your (currently) small programming skills. I would encourage you to a step back from wanting to rush into using Pharo (or any language) for your work tools, and learn to program for its own sake. This will have a big impact on your level of frustration. First... - Do the MOOC... http://mooc.pharo.org/ - Read the Pharo By Example 5 and Learning Object Oriented Programming books... https://books.pharo.org/ These will give you a baseline programming skill transferable to any other programming language yo find interestin. And along the way, ask lots of questions on Discord. Then try Roassal. Pharo is a really great environment to learn to program in. At a minimum, learning "just a bit of Pharo" will give you an edge communicating with the programmers. We sometimes see refugees from other languages start using Pharo and exclaim "wow! programming is fun again!" 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 That video was a specific demo years ago that can't be done directly done in Pharo (or I expect any modern Smalltalk), but Pharo is still as close as you'll compared to language alternatives. While it can't be done exactly graphically, similar connections between objects are made in code one level lower. > I might be better of learning, for instance Dart+Flutter. > I don't know Dart, but hazard to say that Pharo is a better environment to "learn to program", and a lot of those skills will be transferable to Dart later anyhow, especially the software architectural skills you learn - which might be the hardest part of making a working system. > 1. As a designer I'm an aesthete. Is it possible to change the look of the > windows and the environment to ones liking? Or redesign the whole system to > not use windows at all? How moldable the environment is? > Mold-ability is where Pharo really excels compare to other languages. Most languages you have an Integrated Development Environment, that is separate from the application code you write, that is separate from the software you compile and distribute. With Pharo, the development environment, your application code, and your running application are all siblings occurring within the same environment. > 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? > > Also, as a hobby I'd like to try some (3.) generative art Look at Roassal. > Some people cry about Smalltalk being slow. 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. > "Slow" is very relative and application specific. The run-speed of an application needs to be balanced against the speed-to-create the application. If one language you could create a tool in a month, and another language you could create a tool twice as fast but it takes six months - which language is better? Original Smalltalk was "interpreted" only. Pharo has a "Just In Time Compiler". For most applications it will be fast enough. Any application that is not true, probably only a small part of you program is the bottle neck, and you redo that small part in a faster language and call it from Pharo. > 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 able to do anything interesting and non-trivial) will take > ages. > Any language's library ecosystem can feel huge. Pharo just happens to build in a lot of things into the Image. For example the "code" for every GUI element you are looking at is included int he Image (so you can modify it) which is missing from most other languages. It will take time, but so will getting proficiency in any other language. > So, what do you think? Should I invest my time here? Or is there a > different > technology that I should consider? > For trivial things, the only other thing I can think of that would suit your needs is Scratch (which was originally written in Smalltalk). But you may find in confining once you want to get more advanced. Overall it might be less effort sticking with Pharo. cheers -ben