I am not a professional programmer, nor am I young, nor a graybeard. :) I found Smalltalk about 1999 in the form of Squeak. My biggest problems have been not in learning Smalltalk. But rather some of the projects I wanted to do needed to interface without outside libraries. Because I always felt more comfortable and productive in Smalltalk than anything else I have ever used. Even when I could not use Squeak/Pharo for whatever I was doing at the moment. I kept returning. And over time my requirements changed and the requirements Squeak/Pharo are able to fulfill keep improving. I think one thing that we really need to do when talking to people who have tried Smalltalk/Squeak/Pharo and were not able to use it for whatever reason. To periodically keep trying Squeak/Pharo. The magical intersection of experience, knowledge, understanding, project/personal requirements and Squeak/Pharo's abilities might wonderfully meet. Squeak and Pharo are in this for the long game. Keep trying. At some point more and more people will find that where they are in life and where Squeak/Pharo are at that time, things just click. Cog, Spur, Sista, 64bit plus all of the growing projects and libraries make for an ever increasingly attractive and powerful object environment empowering its users to accomplish great things. Jimmie Houchin On 07/23/2015 01:29 PM, Dimitris Chloupis wrote:
for me as a beginner a big turn off was the quality of documentation and my fear that third party libraries will not be that well supported because of the size of the community meaning more bugs less features etc. It was certainly a much bigger struggle learning pharo than learning python.
After 2 years Pharo has gotten much better in both areas.
I can't blame people who try Pharo and are turned off by these things, but I still recommend it for at least giving it a try.
In my case because I have found an easy way to combine python with pharo made it easy to move to pharo. I still love to work with Pharo and its getting better each year because of the passion of people behind this and of course their hard work.
I also like to support a project that follows my taste on how I like to code , even if its not that popular. Actually its easier to feel that you make a difference in a small community.
Something tells me I will be sticking around for a long long time :)
I dont think there is a secret to success or a simple advice.
I once read that "success" is name of the tip of an iceberg called "constant failure". success.jpg
On Thu, Jul 23, 2015 at 8:25 PM stepharo <stepharo@free.fr <mailto:stepharo@free.fr>> wrote:
Hi esteban
we need to be much much better one talking to external libraries. Our esteban is working on it.
Stef
Le 23/7/15 18:52, Esteban A. Maringolo a écrit :
Peter, At your joung age you might have very good reasons to have chosen Pharo over anything else as I did a lot of years ago. I discovered Smaltalk by chance when I was 21 years old and already had my years developing with Perl and was starting to learn Java. Fortunately I started making a living out of it since I was 22 until today.
But if you want to make the community bigger you have to look into why people don't chose it, otherwise we'll be "preaching to the choir" as we many times are.
These days FP is on the bull trend, having been there way before than Smalltalk (Lisp, Haskell, etc. and their reincarnations Clojure, Scala...). What makes them popular most of the times is not the techology per se, but who uses it.
Regards!
Esteban A. Maringolo
2015-07-23 13:06 GMT-03:00 Peter Uhnák <i.uhnak@gmail.com <mailto:i.uhnak@gmail.com>>:
On Thu, Jul 23, 2015 at 4:51 PM, Esteban A. Maringolo <emaringolo@gmail.com <mailto:emaringolo@gmail.com>> wrote:
When I talk to "new programmers" (20-25 years old), almost all of them don't get attracted by it. Why? I couldn't tell. Mainly because they can't use the few tools/patterns they already learnt how to, barely, use.
As someone who (still) falls into this range I see several (unrelated) reasons why they might not like it.
For me personally I encountered Pharo in University in "Conceptual modeling" class, where it was introduced pretty much as "Oh, by the way, here is this completely new environment that you've never seen nor worked with that we will use, but we will not tell you much about it"... so my first experience was quite awful. I mean... I couldn't even write the code in my favorite text editor and I had to use this weird browser where system code and my own code were mangled up. Image crashing meant I lost my work. Now I know I can just replay changes but I didn't know it back then (the focus of the class was modeling, not Pharo). Bugs (this was Pharo 2 (and 3 beta)) were commonplace and since I had no experience I couldn't tell whether it was my fault or the system's fault... it was overall very unpleasant. I later (after the course) basically foced myself to look at Pharo again because I didn't understand why would people bother to use it... so clearly there must have been some value I've missed. And I don't regret that decision a bit, but I had to go look for it. So statistically speaking from the year I did the class only two or three students (to my knowledge) kept their interest out of 119 (so 2-3% maybe). Other years were no different. Next year there will be a dedicated class for Pharo so I'm curious if this will change somehow.
But there may be other reasons why students may not like it... (looking again from my experience) From university experience perspective, the previous year (for us, and from what I talked with people it's not that different also for other universities) was a heavy massage in C and C++ where we were implementing very basic concepts (hashtables, and other data structures). A year where your main concern was to pass a automated checking system... so mostly memory management and creating write-only code. Plus warped concepts of OOP (so to use actual student quotes: "C++ is great for explaining OOP", "You can do OOP in pure C", or "OOP is useless, long confusing code, full of getters and setters, .. and slow. Inline assembler is much faster"). So with such concepts it's hard to give them OOP language, because they already made up their mind.
Yet another reason I can see might be that when you are young you are more inclined to follow what's cool and modern and popular and shit (or has the word "game" in its name). So if today's world revolves around connectivity, internet, JavaScript and whatnot, then giving them a isolated environment with non-mainstream technology and a dead language they've never heard of (I thought that Smalltalk was an obscure language that died in '80s, before I found that actually it's alive and doing quite well) will not be met well with appreciation.
But no reason to stop there... there market for Smalltalk is arguably small, so people will prefer language that is in demand by the market (after all, I pay my bills with JavaScript/PHP/webstuff, and not Pharo; because it's much easier to find a job; with Pharo I would have to basically start my own business to be profitable and then I would be doing business and not programming).
And last (but not least), finding support for it is much harder, since the community is smaller. So it's almost all or nothing scenario.
Also some of the arguments here can be applied also for functional programming (which I haven't (shame on me) even engaged with, besides messing with Haskell in XMonad (and multi-paradigm languages that have some functional concepts).
Finally I don't think that you should expect the same behavior from young people (<26) as from adults. They will have different values, views, and whatnot... I mean that's the point of growing up and acquiring experience. All you can do is offer this alternative option and provide support. Being mainstream or non-mainstream is akin to self-fulfilling prophecy. (Of course exceptions happen, JavaScript was raised to glory because the language happen to be in the right place (browser) at the right time (boom of modern web)).
Hmm... and this post ended up being much chaotic and longer than I intended to... but whatever.
Peter
p.s.: I like the music analogy since I was listening to k-pop while working (webtech), and now I am listening to ambient music when writing about Pharo :p