Why Aren't People Using Smalltalk?

257 views
Skip to first unread message

Richard Eng

unread,
Aug 17, 2015, 8:12:40 AM8/17/15
to amber-lang

Guido Stepken

unread,
Aug 17, 2015, 9:27:58 AM8/17/15
to amber...@googlegroups.com

Should give you to think, that, for the Pharo team, it almost took them 8 years now (beginning may 2008) to clean up all that mess, squeak hackers produced over time. And they aren't even finished yet.

Running stable? No.

Smalltalk definitly is not suited for being processed in enterprise environment with changing personal. No clean, "named" interfaces that can be communicated and trained.

Instead, it's Smalltalk code mostly a complete mess of objective neurons, sending, exchanging messages between each other. Amorphic strucures. Not communicable. That's the main problem.

Have fun!

Am 17.08.2015 14:12 schrieb "Richard Eng" <horrido...@gmail.com>:

--
You received this message because you are subscribed to the Google Groups "amber-lang" group.
To unsubscribe from this group and stop receiving emails from it, send an email to amber-lang+...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

ph...@highoctane.be

unread,
Aug 17, 2015, 9:56:48 AM8/17/15
to amber...@googlegroups.com

As if Java was....

Martin Bähr

unread,
Aug 17, 2015, 10:18:05 AM8/17/15
to Guido Stepken, amber...@googlegroups.com
Excerpts from Guido Stepken's message of 2015-08-17 15:27:55 +0200:
> Smalltalk definitly is not suited for being processed in enterprise
> environment with changing personal. No clean, "named" interfaces that can
> be communicated and trained.
>
> Instead, it's Smalltalk code mostly a complete mess of objective neurons,
> sending, exchanging messages between each other.

and that is different from any other object oriented language how?

you can create clean structures or messy systems in any language.

what do you mean by "no clean, named interfaces"?
are you talking about java interfaces?
i doubt it because that would mean that java is pretty much the only usable
language out there, and python, ruby, php and many others should suffer the
same fate as smalltalk.

that can't be it.

do you mean that none of the current interfaces in smalltalk are clean enough to be
communicated and learned? ever looked at php? now that's messy. didn't stop it
from becoming the most popular web development language for more than a decade.

> Amorphic strucures. Not communicable. That's the main problem.

i have used object oriented programming languages for more than 20 years now. i
only used smalltalk for a few months. all i can say is: same old, same old.

there are classes, methods, arguments, data structures, just like any other language.
the syntax is different, and control structures are a bit odd, and then there
is the builtin IDE, the ability to introspect and analyse code at runtime.

but other than that, i can't tell the difference between writing code in
smalltalk, or lisp, python, ruby, java. it's all the same. you have your logic,
process data, use and build modules, load them, call them, etc.

it's all one and the same.

greetings, martin.

--
eKita - the online platform for your entire academic life
--
chief engineer eKita.co
pike programmer pike.lysator.liu.se caudium.net societyserver.org
secretary beijinglug.org
mentor fossasia.org
foresight developer foresightlinux.org realss.com
unix sysadmin
Martin Bähr working in china http://societyserver.org/mbaehr/

blake watson

unread,
Aug 17, 2015, 11:24:40 AM8/17/15
to amber...@googlegroups.com, Guido Stepken
>>it's all one and the same.

So then why would anyone use Smalltalk? 

Martin Bähr

unread,
Aug 17, 2015, 12:05:53 PM8/17/15
to blake watson, amber...@googlegroups.com
Excerpts from blake watson's message of 2015-08-17 17:24:38 +0200:
> > >>it's all one and the same.
> > So then why would anyone use Smalltalk?

because of the IDE, introspection capabilities, live coding.
in other words better tooling around the language.

because i like the syntax, it's elegant, minimalistic.

because smalltalk came first. (why would i use any other language that doesn't
add anything to what smalltalk already has)

because i like the image concept. (it's a matter of taste though, if you don't
like it, maybe smalltalk is not for you (or use gnu-smalltalk))

these are all subjective reasons though. i do not believe that there are any
objective reasons for choosing any language. only sometimes language-choice is
restricted by outside requirements.

ph...@highoctane.be

unread,
Aug 17, 2015, 2:03:47 PM8/17/15
to amber...@googlegroups.com
Because it is not the same.

And you can't know it unless you use it for real on something complicated where it all makes sense.

And as Pharo is not Smalltalk but Smalltalk inspired, Why aren't people using Pharo?

BTW a smaller community has advantages, among which people sticking to it are quite a fine bunch and are inspiring.
It kind of beats a lot of other aspects of some communities where StackOverflow Q&A is now the Tao of Programming.

Phil

On Mon, Aug 17, 2015 at 5:24 PM, blake watson <dsblak...@gmail.com> wrote:
>>it's all one and the same.

So then why would anyone use Smalltalk? 

Dimitris Chloupis

unread,
Aug 17, 2015, 3:04:47 PM8/17/15
to amber...@googlegroups.com
Smalltalk is both a lovely environment and a set of very successful ideas.  I am using it and I invest my precious time in it while I could have used pretty much any other things out there. Squeak is great and I am very happy to see Pharo continue the path and keep pushing Smalltalk forward. Of course its great seeing project like Amber push things forward.

For me Smalltalk is what I was looking all my life in terms of coding, and there is nothing like it out there. On the how to make Smalltalk more popular, I think the secret is to make it better and better. Create a bigger more powerful library, support modern technologies, great documentation, a more modern IDE, native GUI look, GUI designers etc. Of course all these things take a lot of work and effort.

But even if Smalltalk never becomes very popular, if we keep pushing it forward is more than enough at least for me.

Herby Vojčík

unread,
Aug 17, 2015, 3:09:13 PM8/17/15
to amber...@googlegroups.com, Dimitris Chloupis


Dňa 17. augusta 2015 21:04:36 CEST používateľ Dimitris Chloupis <kilon...@gmail.com> napísal:
> there is nothing like it out there. On the how to make Smalltalk more
> popular, I think the secret is to make it better and better. Create a
> bigger more powerful library, support modern technologies, great
> documentation, a more modern IDE, native GUI look, GUI designers etc.

Yeah, documentation :-/

Jeremy Shute

unread,
Aug 17, 2015, 3:12:44 PM8/17/15
to amber...@googlegroups.com, Dimitris Chloupis
(Why Aren't People Using Smalltalk?)

...because people aren't using Smalltalk.

Google+ was an arguably better product than Facebook.  Doesn't mean it wasn't a ghost town.

Jeremy

Joachim Tuchel

unread,
Aug 18, 2015, 4:15:37 AM8/18/15
to amber-lang
Guido,

your comment is unfair. Pharo has completely different goals than Squeak has - and the code quality in Pharo is also not always excellent. But hey, who writes perfect ode, anyways? Do you think code quality in Ruby or C# projects is much better? I doubt it. Objective-C is a mess. Ruby even more.
Even more important: Smalltalk is so much more than just Squeak and Pharo. So I am not sure your comment really qualifies as an answer to the (stupid) question.

Joachim

Dimitris Chloupis

unread,
Aug 18, 2015, 6:41:20 AM8/18/15
to amber-lang
Pharo is for a fork of Squeak. Pharo are far more similar than they are different . Pharo may have a goal to be a smalltalk inspired language / environment but still a very long road ahead to severe its deep ties with Squeak and Smalltalk. At this time is a modern smalltalk and a Squeak fork with a ton of legacy code.

Personally I find this whole obsession about popularity , kinda pointless. It does not matter how much popular something is , but it a matter a lot more how much useful can be for a user.

Joachim Tuchel

unread,
Aug 18, 2015, 7:54:31 AM8/18/15
to amber-lang
Pharo is evolving into its own direction, as it is intended to start from a Smalltalk basis and become something even more powerful than Smalltalk. So Pharo is increasingly isolating itself from Smalltalk. Whether that is a good or a bad thing is to be judged in the future. Pharo has started as a fork of Squeak and cut the rope. If Pharo were as similar to Squeak as you say, maintainers of projects that are primarily written on Squeak wouldn't have much trouble keeping their code current on Pharo. But they do. In Pharo, you don't currently realize much of it because the community keeps coming up with new alternatives. There is some really great stuff coming out of the Pharo world, and so far, most of it is portable to other dialects, but we will see the day when this is not true any more. Progress sometimes hurts, either the progressors or the ones left behind. We'll see.

Are you saying most of the bad code in Pharo is old Squeak code? Dream on. A community can be as small as it wants, it will produce great code, mediocre code and rubbish code. Pharo is no exception. I write far more bad code than I like to admit. So do most of us, right?

But this has little to do with the inital question that is implying the wrong thing anyways. Is there much point in whining about nobody using Smalltalk? I don't think so. It has its value and we happily use it for our product (www.kontolino.de), because it is the most productive language WE could find for ourselves. Did we test all other languages? No, we didn't, we just chose between a hand full of alternatives, and none came close (Java, Ruby, JS and ST as a backend, Objective-C for an Apple island, NodeJS and EnyoJS).

We are in the middle of a complicated operation on our object model. We need to heal a wrong design decision in a very central part of the system without hurting our customers. I cannot imagine doing what we are doing without Smalltalk's excellent dynamic introspection support. The Debugger and Inspectors of Smalltalk are what make this possible without risking our business completely. We could probably achieve the same with an army of really clever developers and a few weeks or months of downtime in which nothing else happens. But we can't afford either.

So why don't people use Smalltalk? I don't know. I do. For a good reason.

Joachim

Sean P. DeNigris

unread,
Aug 18, 2015, 10:25:04 AM8/18/15
to amber...@googlegroups.com
philippeback wrote
> people sticking to it
> are quite a fine bunch and are inspiring.

+1. Becoming a fad language like Ruby overwhelms a community with hordes of
Pink Plane thinkers, whereas our group is mostly self-screened for people
who "get it". This colors everything we do. GT, which has rocked our
developing world, appeared overnight in Pharo core. I can't imagine that
happening in an ecosystem where millions of instrumental thinkers dominate.
Imagine the uproar! "Invent the future? We need to deliver XyzWidget
today!!" Obviously, I have nothing against being practical and delivering
products, but our core values are only possible /because/ we are not
"popular". As Alan Kay frequently mentions, ~85% of people are driven by
their own personal goals, not beautiful ideas.



-----
Cheers,
Sean
--
View this message in context: http://forum.world.st/Why-Aren-t-People-Using-Smalltalk-tp4843473p4843782.html
Sent from the Amber Smalltalk mailing list archive at Nabble.com.

Markus Gälli

unread,
Aug 18, 2015, 4:55:18 PM8/18/15
to amber...@googlegroups.com
Nice summary, thanks Joachim!

Markus


Richard Eng

unread,
Sep 4, 2015, 7:28:25 PM9/4/15
to amber-lang
From a technical position, this doesn't make much sense. There is no one "Smalltalk," but rather a variety of dialects where :each "Smalltalk" chose to extend itself and make improvements to the language and the tools. So how is Pharo's evolution different from the splintering of Smalltalk into VisualWorks, VA Smalltalk, GemStone/S, Dolphin, etc.? Perhaps in the more distant future, Pharo's improvements will be so far ahead of the field that it might as well be a new language. Perhaps. But for now and the foreseeable future, Pharo looks to all the world like just another dialect.

From a PR standpoint, however, I think Pharo is trying to separate itself from Smalltalk. It's not working, because you can't fool the public. If the fundamental language syntax is the same (and it is), and if the live coding & debugging environment is largely the same (and it is), then people will recognize it as (a dialect of) Smalltalk. Period. End of story.

Richard Eng

unread,
Sep 4, 2015, 7:39:32 PM9/4/15
to amber-lang
The most critical thing is probably the dearth of Smalltalk "libraries." Time and again, developers complain about the lack of libraries and frameworks. Unfortunately, this is difficult to remedy because there is no one "Smalltalk" to which you can develop supporting libraries. (There is one Java; there is one C++; there is one Python – at least, if you work your way around the different versions.)

If Pharo can become the "hero" Smalltalk dialect that surpasses all others in terms of popularity, then there is hope here. A de facto standard would allow libraries to be written and easily ported, perhaps gently "coercing" other Smalltalks to "fall in line." However, I am not sanguine.

Martin Bähr

unread,
Sep 4, 2015, 9:17:18 PM9/4/15
to Richard Eng, amber...@googlegroups.com
Excerpts from Richard Eng's message of 2015-09-05 01:28:25 +0200:
> >From a technical position, this doesn't make much sense. There is no one
> "Smalltalk," but rather a variety of dialects where :each "Smalltalk" chose
> to extend itself and make improvements to the language *and the tools*. So
> how is Pharo's evolution different from the splintering of Smalltalk into
> VisualWorks, VA Smalltalk, GemStone/S, Dolphin, etc.? Perhaps in the more
> distant future, Pharo's improvements will be so far ahead of the field that
> it might as well be a new language. Perhaps. But for now and the
> foreseeable future, Pharo looks to all the world like just another dialect.

that is true, but Pharo (and Squeak) are the only dialects available as Free
Software and Open Source. if there is a smalltalk dialect that is poised for
popularity, then it is one of those two, and none of the non-free ones.

> >From a PR standpoint, however, I think Pharo is trying to separate itself
> from Smalltalk. It's not working, because you can't fool the public. If the
> fundamental language syntax is the same (and it is), and if the live coding
> & debugging environment is *largely* the same (and it is), then people will
> recognize it as (a dialect of) Smalltalk. Period. End of story.

i believe Pharo is trying to separate itself from pressure to remain compatible
to smalltalk-80 standards. if you want to innovate, sometimes you need to break
the rules. whether doing so is a good idea or not, can only be found after
trying it.

Richard Eng

unread,
Sep 4, 2015, 11:30:55 PM9/4/15
to amber-lang, horrido...@gmail.com, mba...@email.archlab.tuwien.ac.at
If you think of "Smalltalk" as Smalltalk-80, then breaking away from Smalltalk-80 can legitimately mean that you are no longer Smalltalk, yes. I'm not sure that matters, though. Does anyone really care??? What's the ultimate objective? To be not Smalltalk? To become more popular?

Manfred Kröhnert

unread,
Sep 5, 2015, 12:46:31 AM9/5/15
to amber...@googlegroups.com

Hi Richard,

I am just wondering why you are discussing the philosophy of Pharo on the Amber mailing list?

Best Manfred

--

Richard Eng

unread,
Sep 6, 2015, 11:55:56 AM9/6/15
to amber-lang
I've found the Pharo forum to be somewhat unwelcoming.

Sean DeNigris

unread,
Sep 6, 2015, 4:08:47 PM9/6/15
to amber-lang
I've found the Pharo forum to be somewhat unwelcoming.
FWIW, I enjoy your enthusiasm and fresh perspective, but trying to be
objective, my experience was that you came out of nowhere with an agenda
that had little support in the community and was not seen as aligned with
its immediate goals, and then quickly got frustrated when everyone didn't
instantly sign up. When behavior is that uncalibrated to the flow of an
established group, feeling unwelcome seems assured.

My 2c.
Sean

H. Hirzel

unread,
Sep 8, 2015, 6:54:31 AM9/8/15
to amber...@googlegroups.com
Hello

As this thread is digressing a bit I think it is worth looking at

https://mysmalltalkblog.wordpress.com/2015/05/30/the-potential-for-smalltalk-on-the-web/

Dolphin, Squeak and Pharo are mentioned as 'bright spots' in the
'Smalltalk dark ages'

<citation>
Then the Smalltalk “dark ages” started around 1995/96.

There are lots of reasons, of course, but one of the main causes that
I saw was that companies exchanged their expensive Unix machines for
increasingly capable (and much cheaper) Windows NT machines and/or
Apple Macintosh after Steve Jobs converted it to Unix.

The new cross-platform wonder-kid was Java which was free. And
Smalltalk pretty much went into free-fall after that with a few bright
spots like Dolphin, Squeak and Pharo.

So, what about today.
</citation>

This leads to another attempt at a web based Smalltalk implementation

http://mysmalltalk.com/

It uses the http://qooxdoo.org/ library which might be an interesting
thing as well for Amber.

What do you think?

--Hannes

ph...@highoctane.be

unread,
Sep 8, 2015, 9:17:23 AM9/8/15
to amber...@googlegroups.com
Looks nice.

Richard Eng

unread,
Sep 9, 2015, 8:21:48 AM9/9/15
to amber-lang
This is very cool!

Euan M.

unread,
Nov 18, 2015, 6:14:51 PM11/18/15
to amber-lang
This point, over everything else
"there is no one "Smalltalk" to which you can develop supporting libraries. (There is one Java; there is one C++; there is one Python" 

Development language platforms are hugely affected to the network effect. The more other people who use it, the more useful and valuable it becomes, to existing users and potential users. So more people use it.

Ruby has *one* large community.  Java another. Python another.    This means that developers target "Ruby" or "Python" or "Java".  As opposed to targetting "Joe Bloggs's fork of Python of 1997", or "Emily Watkins's fork of Ruby of 2003", etc.

This gives higher confidence that other libraries and frameworks will work for your project
   - because they are targetted at the same language framework that you are targetting.
   - because with a larger community comes a larger pool of contributors to any particular library or framework, which means the libraries and frameworks have a better chance of being feature-complete or near feature complete, tested and quality assured, and documented
   - because with a larger community, it becomes more worthwhile for third parties (in the widest sense) to target helpful additions, like tutorial guides, and books, and even more libraries.
   - because with a larger community there are more people available and willing to give help and advice, at more times of day and night, and in more geographic locations and in more natural languages.

And here are some graphs so show the state of play -
http://smalltalkinsmallsteps.blogspot.co.uk/2015/11/mindshare-of-smalltalk-in-development.html
The graphs compare all Smalltalks combined, with Ruby.  And all-Smalltalks-combined and Ruby. against JavaScript

I'm not sanguine about our chances because we seem to be in denial about three things: 
that the size of the community matters to how useful Smalltalk is over time;
that the size of the community matters to how fast Smalltalk improves;
and that the size of the community matters to how feature-complete Smalltalk becomes or manages to remain, over time.

Cheers, 
    EuanM

ph...@highoctane.be

unread,
Nov 19, 2015, 4:54:21 AM11/19/15
to amber...@googlegroups.com
Depends on the use case as always.

JS is nice, Angular is nice, Python is nice.

Then your work with these things on a business problem and it takes a lot of time to get things done.
Well, for Angular of course, this is great for frontend.

But for backend logic etc, mmmh, not quite.

But I do not care about popularity, I care about being a better programmer and getting things done.

So, using the other tech is fine. And I just notice that I am better at using it just because I am using Pharo as well.

Being at the right place at the right time with a network. Indeed.

And also, being busy with technology that matters to you because it is just so nice and sweet.

My view is that there is this nebula of technologies and my own need of a pivot point.
This pivot/reference point is Pharo since a couple years and for years to come.

This is not exclusive vs other tech. And why chase for popularity/mindshare? As long as the game can continue on the Pharo front, and business can happen using it, all is good.

Markus pointed me to an awesome book that really is key to understanding the Pharo trajectory, seeing Pharo as of the infinite game kind:


Finite games have a definite beginning and ending. They are played with the goal of winning. A finite game is resolved within the context of its rules, with a winner of the contest being declared and receiving a victory. The rules exist to ensure the game is finite. Examples are debates, sports, receiving a degree from an educational institution, belonging to a society, or engaging in war. Beginning to participate in a finite game requires conscious thought, and is voluntary; continued participation in a round of the game is involuntary. Even exiting the game early must be provided for by the rules. This may be likened to a zero-sum game (though not all finite games are literally zero sum, in that the sum of positive outcomes can vary).

Infinite games, on the other hand, do not have a knowable beginning or ending. They are played with the goal of continuing play and sometimes with a purpose of bringing more players into the game. An infinite game continues play, for the sake of play. If the game is approaching resolution because of the rules of play, the rules must be changed to allow continued play. The rules exist to ensure the game is infinite. The only known example is life. Beginning to participate in an infinite game may be involuntary, in that it doesn't require conscious thought. Continuing participation in the current round of game-play is voluntary. "It is an invariable principle of all play, finite and infinite, that whoever plays, plays freely" 


Phil

--

Herby Vojčík

unread,
Nov 20, 2015, 4:29:34 PM11/20/15
to amber...@googlegroups.com


Euan M. wrote:
> This point, over everything else
> "there is no one "Smalltalk" to which you can develop supporting
> libraries. (There is one Java; there is one C++; there is one Python"

You know, there is not one browser, but JS works (yes, it has a
standard; but Smalltalk also has one).

If you want to test your libs cross-browser / cross-device, there is
SauceLabs / BrowserStack / TestingBot.

There should definitely be similar thing for all possible Smalltalk
dialects. Including showing banners on github / SmalltalkHub similar to
those of SauveLabs, showing how the project fared on all the tested
platforms.

I even think Smalltalk-supporting foundations all over should fund
creation and maintenance of something like this. Plus creating some e2e
helper similar to WebDriver protocol for browsers, allowing to save
image / load image / restart VM / execute code remotely, similarly to
what WebDriver allows to drive web pages.
> others in terms of popularity, then there is hope here. A /de facto/
> standard would allow libraries to be written and easily ported,
> perhaps gently "coercing" other Smalltalks to "fall in line."
> However, I am not sanguine.
>
> --
> You received this message because you are subscribed to the Google
> Groups "amber-lang" group.
> To unsubscribe from this group and stop receiving emails from it, send
> an email to amber-lang+...@googlegroups.com
> <mailto:amber-lang+...@googlegroups.com>.

Euan M.

unread,
Nov 20, 2015, 6:44:29 PM11/20/15
to amber-lang
I agree - a cross[-Smalltalk]-platform community repository with auto-tested badge of compatibility.  An auto-test harness that runs across Smalltalks.  All of these things would help ensure that there is a unifying Smalltalk brand that can provide a single point of entry to the Smalltalk experience.  Whichever Smalltalk experience that is.

( Of course, a single central Smalltalk repo would be good  - why do we feel the need to have squeaksource *and* smalltalkhub *and *squeaksource 3 *and* whatever-else-I'm-not-aware of?  One repo would take a third the admin effort, a third the dev effort, a third of the maintenance effort, etc etc. But I digress.)

Jose Comesaña

unread,
Dec 2, 2015, 11:07:05 AM12/2/15
to amber-lang


Well, I cannot answer the question "Why are not people using smalltalk", but could tell you "Why    I    am not using smalltalk".
 
I find Smalltalk in general and Pharo in particular a very smart and interesting language and environment. I like it VERY MUCH. But to use for a "semi-production" system I need more. I started developing a medium size project to test the system capabilities. I've had problems due to the fact that I write in Spanish, and Pharo has problems from time to time with unicode characters. You cannot file-out a class if its name or a method has an accent somewhere. I cannot search for past changes for the same reason. It's annoying for me and a real problem sometimes.

And, on the other side, I'm very constrained to the Pharo ecosystem. There is no library (serious library, I mean) to create PDF files or to create barcodes, just to mention a couple of important points. If you move to the Java world, you have libraries for everything. I don't like Java at all, but that makes a difference....

And don't forget the documentation. It's old and incomplete. You have to google all the time or use the bright Visualworks user manuals (thanks Cincom!) just to find basic methods to use on collections. And nothing about the new developments (Slots, for instance). Or maybe it's me, that don't know how to find it. In the end it's the same: if the documentation is too hard to find for me, it's useless.
 

Richard Eng

unread,
Dec 3, 2015, 9:10:10 AM12/3/15
to amber-lang
Definitely, common libraries (and their associated documentation) are the major impediment to Pharo/Amber/Smalltalk adoption. This is the key strength of languages such as Java, JavaScript, Python, etc. To ignore this fact is to condemn Smalltalk to its permanent niche.

Richard Eng

unread,
Dec 3, 2015, 9:24:39 AM12/3/15
to amber-lang, ph...@highoctane.be
I think, perhaps, you are overlooking the overarching goal of language "popularity." It's not about winning a language pageant. It's about growing the user community; it's about growing the ecosystem, namely, common libraries.

The fact is, without a larger community, there will be little incentive to consolidate the Smalltalk ecosystem and, in particular, produce the vast array of common libraries that is most coveted in other languages such as Java, JavaScript, Python, etc.

I agree 100 per cent with you about "getting things done." However, with the lack of common libraries in Smalltalk, you are at the mercy of whatever built-in class library you have in Pharo, Cincom, Dolphin, etc. This limits the extent to which you can get things done. There are many problem domains denied to Smalltalk that are well-served by the above-mentioned languages.

I'm sorry to say, but right now, Pharo and Smalltalk are little more than "boutique" languages. I appreciate the sentiment about making the platform better and better, but that, by itself, will not necessarily grow our community. "Build it and they will come" is a falsehood.

Richard Eng

unread,
Dec 3, 2015, 9:37:19 AM12/3/15
to amber-lang
Well said! I could not be more eloquent.

We must convince more people to use Pharo/Smalltalk. "Build it and they will come" simply does not work.

Martin Bähr

unread,
Dec 3, 2015, 12:37:15 PM12/3/15
to Euan M., amber...@googlegroups.com
Excerpts from Euan M.'s message of 2015-11-19 00:14:51 +0100:
> This point, over everything else
> "there is no one "Smalltalk" to which you can develop supporting libraries.
> (There is one Java; there is one C++; there is one Python"
>
> Development language platforms are hugely affected to the network effect.
> The more other people who use it, the more useful and valuable it becomes,
> to existing users and potential users. So more people use it.
>
> Ruby has *one* large community. Java another. Python another. This
> means that developers target "Ruby" or "Python" or "Java". As opposed to
> targetting "Joe Bloggs's fork of Python of 1997", or "Emily Watkins's fork
> of Ruby of 2003", etc.

just as an anecdotal observation, i didn't feel this so much with smalltalk,
but i did feel it with common lisp more than a decade ago. one of the things i
am most interested in in any language is its networking stack. back then, each
common lisp implementation had its own incompatible networking stack. i looked
at that and just said, no way! this is not going to do it for me. and it took
another decade when quicklisp made it possible to offer a more unified set of
libraries across all common lisp implementation before i looked at it again.

now why i didn't feel that with smalltalk is mostly because i really wanted to
learn smalltalk, no matter what. but also because of the IDE aspect of
smalltalk, i didn't expect all smalltalk implementations to be the same. (but
also maybe i wasn't aware that there were so many different smalltalk
implementations still around. i thought except for squeak (and pharo being a
fork of squeak), they were all dead and no longer relevant)

i can very well see that others won't be driven by the same motivation and
won't ignore other smalltalk implementations as i did.

common lisp was the result of a huge effort of lisp standardization, i think
while lisp was very popular, something that i believe smalltalk never
experienced. i don't know what drove lisp standardization, but i doubt
smalltalk standardization will happen until smalltalk gets more popular again.
and it definitely won't happen as long as people believe that smalltalk-80 is
the standard we must follow. i think if we want a standard it needs to be a
new standard that is driven by modern smalltalk implementations such as amber
and pharo and includes a set of libraries that is commonly expected from
languages today.

EuanM

unread,
Dec 4, 2015, 12:23:35 AM12/4/15
to Martin Bähr, amber...@googlegroups.com
Hi Martin,

It's not the people who arrive that this matters for. It's the people
who *don't* show up that this matters for.

I would contend that while you, or I, might not feel this is an issue
- it is a big issue for many.

And we in the Smalltalk communities are not being flooded with so many
newcomers that we can afford to put them off before they even get
here.

We need more people. (Lots of people say that we do not need any
more people, or any more mindshare, or any more popularity. Saying it
does not make it true.)

So we need to look for the little efficiencies that do not cost us
much, that help us:
- capture the interest of people in Smalltalk, when there are so many
languages vying for their interest
- help them act upon that interest, by making finding, downloading,
and installing a Smalltalk easy.
and help them overcome both choice paralysis, and the fact that
choice itself is viewed as a hassle in these situations.
- make them feel welcome in our forums, mailing lists, and chat
channels. We especially need to be wary of the twin issues of "Just
RTFM!" and mistaking inexperience and lack of knowledge for stupidity
- help them navigate any unspoken social norms.
- help them to begin to code and develop with Smalltalk
- help make it easy for them to contribute to community-building
tasks, such as documentation, blogging their experiences, etc
- help them travel up the ladder of skill

I've attached a slide that I think helps show the plethora of choices
even in zero-cost Smalltalks. (And I have not (yet) even got all the
zero-cost Smalltalks onto the slide).

On 3 December 2015 at 17:37, Martin Bähr
smalltalkingForRubyists.png

Martin Bähr

unread,
Dec 4, 2015, 1:24:16 AM12/4/15
to EuanM, amber...@googlegroups.com
Excerpts from EuanM's message of 2015-12-04 06:23:34 +0100:
> It's not the people who arrive that this matters for. It's the people
> who *don't* show up that this matters for.

exactly that!

> I would contend that while you, or I, might not feel this is an issue
> - it is a big issue for many.

of course, we would not be here if it mattered.

> And we in the Smalltalk communities are not being flooded with so many
> newcomers that we can afford to put them off before they even get
> here.
> - make them feel welcome in our forums, mailing lists, and chat
> channels. We especially need to be wary of the twin issues of "Just
> RTFM!" and mistaking inexperience and lack of knowledge for stupidity

i don't think we have a problem here, at least so far everything that i have
seen on pharo and squeak forums is doing this right. especially on the pharo
list, many people carry a reminder that any question us allowed, and answers
tend to be friendly.

smalltalk has so far been the most welcoming community i came across.

> I've attached a slide that I think helps show the plethora of choices
> even in zero-cost Smalltalks. (And I have not (yet) even got all the
> zero-cost Smalltalks onto the slide).

i don't recognize many of those logos except aida, seaside, pharo and amber. if
your point is that there are may application running on smalltalk, then i don't
really see that as a problem. ruby has more than just rails too. same for other
languages. that is just a sign of maturity. anyone taken aback by that can't
really be helped as they would have the same problem in any language.

ph...@highoctane.be

unread,
Dec 4, 2015, 3:48:18 AM12/4/15
to amber...@googlegroups.com, EuanM
As I am working on the following non-Pharo tech:

Hadoop 2.x --> lots of Java, Python, Ruby, even C
ZendFramework2 --> PHP5.6 (has closures, array.map, filter, ... yay!), Swagger (API desc/gen)
CSS --> Bootstrap 3 + themes like Metronic or SmartAdmin, SASS
AngularJS 1.4.x --> JavaScript all over, promises, Restangular, templates
JavaScript --> Grunt, Browsersync, some Amber, minification, concat...
Ionic --> lots of custom directives for mobile + Android SDK and Studio
Angular-Material --> Material Design stuff
MongoDB --> gridFS
Data science --> R, RStudio, Shiny, Python, Pandas, Numpy, Scipy, Lapack, Jupyter notebook, ...

Do I want any of these communities go to Pharo? Why?

Heh, I don't.

They are fine in their own right. Pharo is not the Borg.

What we need is easy integration. Read: bridges. 

Make Pharo more of a command line citizen.

The best would be to be able to mount an image like a filesystem.
And expose all of Pharo as a REST API.
And have a super duper command line tooling.
And have ability to call external code in, like, one liners (e.g. popen...)
And being integratable in other C programs, à la Python, TCL, ... (this one harder atm due to the interpreter loop implementation, but that's not a core issue, just a manpower/brainpower challenge)

This may take years, but we'll get there.

If anyone knows of a person with deep pockets and a wish to make a mark on the world, just tell that person to cut us a fat check (or two).

Popularity? Heck, I don't care. 

1/ I care about a platform that is free, portable and understandable/hackable from top to bottom.

2/ I care about a platform that doesn't get into the flow of my thinking. 

3/ I care about a platform that let me navigate around my codebase like it would be an extension of my brain.

4/ I care about a platform that let me write DSLs and parsers at the speed of thought so that I can generate a ton of what is needed by the above mentioned technology stacks.

That's what I get with Pharo and its VM.

What I am frustrated with is that I cannot use Pharo only for making the whole solution.

But let's make it nice for the backend and integration and we'll be fine.

FWIW, I am a Pharo consortium member and have made a commitment to stick with Pharo for as long as I'll be in business. One needs to see the long play. Hopefully, I'll be able to cut the above mentioned check on of these days. 

Phil



Dimitris Chloupis

unread,
Dec 4, 2015, 3:54:39 AM12/4/15
to amber...@googlegroups.com, EuanM
Bravo Phil , +1 million, I cannot upvote this enough.

Seriously there is absolutely nothing wrong with Smalltall being unpopular, 99.9999% of languages out there are 1000 times more unpopular than smalltalk and they are still being used some of them even on a daily basis. Languages are tools, not instruments of world domination.

We are lucky enough to live in the age of tons of programming tool and approaches. Amber and Pharo have their own place in this Universe of tools.

And as you said, embrace what we have , be glad for the effort of people like Herby's that he invests hard work to make tools like Amber relevant and useful and from there on its just a matter of making interfacing with other tools easier and simpler.

ph...@highoctane.be

unread,
Dec 4, 2015, 4:01:12 AM12/4/15
to amber...@googlegroups.com
Ah, thx :-)

Yeah, thanks HerbySk!

Learned a lot from your code and toolchain Herby. 
Heck, even made me want to dig deeper into JS. Hah, another rabbit hole I am down into.

Yes, it is like 1980 (8-bit era) all over again, with variety, and mind blowing new stuff.

I kind of like that. This has renewed my sense of wonder! No need to feel overwhelmed. I am just feeling grateful and happy with all of that great stuff popping up all over.

Just look at the Pi Zero... That's a nice home for a Pharo image or two :-)

Phil

Martin Bähr

unread,
Dec 4, 2015, 5:09:52 AM12/4/15
to Dimitris Chloupis, amber...@googlegroups.com
Excerpts from Dimitris Chloupis's message of 2015-12-04 09:54:29 +0100:
> Seriously there is absolutely nothing wrong with Smalltall being unpopular,
> 99.9999% of languages out there are 1000 times more unpopular than
> smalltalk and they are still being used some of them even on a daily basis.
> Languages are tools, not instruments of world domination.

there are two orthogonal goals. world domination is one, and making smalltalk
approachable is another. the latter is a requirement of the former, but the
former is not the only reason to do the latter.

not sure about others, but for me all the things so far about making smalltalk
more popular are not about world domination, but more about making smalltalk
an acceptable choice, so that i am not looked at like a fool for suggesting
smalltalk as a solution. (i am exaggerating here, but you get my point)

i don't mind smalltalk remaining obscure or even completely unknown, but i want
it to shine when taken under scrutiny. and when i do introduce it to my team,
then i don't want them to balk because it is to hard to learn or use.

> We are lucky enough to live in the age of tons of programming tool and
> approaches. Amber and Pharo have their own place in this Universe of tools.
>
> And as you said, embrace what we have , be glad for the effort of people
> like Herby's that he invests hard work to make tools like Amber relevant
> and useful and from there on its just a matter of making interfacing with
> other tools easier and simpler.

agreed!

Richard Eng

unread,
Dec 4, 2015, 5:50:43 PM12/4/15
to amber-lang, kilon...@gmail.com, mba...@email.archlab.tuwien.ac.at
not sure about others, but for me all the things so far about making smalltalk 
more popular are not about world domination, but more about making smalltalk 
an acceptable choice, so that i am not looked at like a fool for suggesting 
smalltalk as a solution
.

Exactly!!!!! Absolutely!!!!!

What makes Smalltalk "an acceptable choice?"

1) A large ecosystem, esp. of common libraries. Java/JS/Python developers are always beating me over the head with this! And it hurts!

2) A large enough pool of Smalltalk talent so that companies are not struggling to find hires. Getting Smalltalk into university programs (or high schools!) would be a great start (isn't this how Linux became all the rage?). Phil mentioned Pi Zero...this would be a great way to get kids interested in Smalltalk. (I'm thinking about getting one myself and playing with Raspbian and Squeak. Is Pharo suitable, too, in terms of support?)

Richard Eng

unread,
Dec 7, 2015, 10:07:01 PM12/7/15
to amber-lang, eua...@gmail.com
There is at least one thing wrong with Smalltalk being unpopular:  the user community has not reached critical mass in order to spur the growth of a rich ecosystem of libraries and frameworks. Smalltalk could be used in vastly more problem domains if supporting libraries were available. You cannot deny that Smalltalk is inapplicable in many business scenarios where Java, C#, and C++ would shine.

Every technologist wants a good, general-purpose programming language to be used as widely as possible, irrespective of popularity. Why would you want to limit a programming language's applicability?
Reply all
Reply to author
Forward
0 new messages