Re: [Pharo-users] Why Smalltalk is so easy to evangelize

2020-01-13 Thread Richard O'Keefe
I wonder how many people in this thread have VisualWorks and/or
VisualAge on their machine as well as Pharo?  They haven't pushed the
user interface the way Squeak and Pharo have, and I personally find
the VisualAge interface to be unpleasant.  But they both offer a ton
of support for connecting to other things.
Let's take this list:
 - lots of good communication libraries into it
yes and yes
 - spread it over Windows, Mac and Linux,
yes and yes
 - make it open source
VW and VA are proprietary, but you can get free versions (if you think
I can afford to pay for
stuff you are sadly mistaken) with all the usual access to the sources.
  - put some XML and JSON
yes and yes
 - and solve printing,
not quite clear, but I think the answer is yes and yes
 - multithreading/multiprocessing (framework) runtime AND (!) debugging,
VW has recently made a lot of progress in that area
- scripting
it is not clear what you want here.
- interconnections with other languages.
yes and yes.  C, and VA also talks to COBOL nicely.
- Try adding a modelling and source code generator
VW: very much so.  VA: I have a lot of exploring to do yet, but I think so.
- Build the whole stuff with concurrency in
mind - offer specific data structure to help you here.
Not clear what you want here.  Smalltalk has had threads since at least 1980.
If you built the whole stuff with concurrency in mind, you would not end up
with Smalltalk, you'd get Erlang/Elixir.   My Smalltalk has concurrent stacks,
sets, bags, and dictionaries, and 'aCollection par
collect:/select:/inject:into:/...'
- Look for suitable persistency options.
VW and VA both support serialisation.  Pharo of course has Fuel.

The big thing that VW and VA offer that Pharo does not -- for obvious reasons --
is stability, with the quantity of documentation that stability makes possible.



On Sat, 11 Jan 2020 at 05:15, Marten Feldtmann  wrote:
>
> Am 10.01.20 um 15:42 schrieb horrido:
>
> >
> >> So let's stop trying to convince people with things that mattered some
> >> 20 years ago. Even the function point thingie we keep carrying in front
> >> of our bellies (Capers-Jones was it?) is a lie when you want to build an
> >> application for today's markets.
> >
> > I disagree that it's a lie. The study is based on thousands of projects and
> > millions of lines of code over a period of several decades, including recent
>
> Well, naming it a "lie" is perhaps too strong - but Joachim (did you
> have a bad Smalltalk day ?) statement is from my point of view
> correct - this talking about function point and productivity is an
> academic point.
>
> If I am a Java developer and my productivity is around 10% compared to
> Smalltalk developer it is still useful to use Java - because for my
> problem there might exists already dozen of libraries and solutions.
>
> Using Smalltalk today is matter of personal taste and love - like many
> other developers in other languages.
>
> Joachim mentioned the critical points and for me perhaps the following
> statements are true:
>
> * Smalltalk development over the last decade ran in circles
>
> and due to that
>
> * Smalltalk is not solving the biggest problems any more
>
> So many time has been wasted to make a Smalltalk dialect running in a
> browser.
>
> I would use (my loved) Smalltalk today only, if
>
> * I have an application, which was written in Smalltalk (and I have one)
>
> * Smalltalk is superior to other solutions in a specific topic (and with
> Gemstone I have one topic)
>
> When I would start from scratch ... build a headless Smalltalk, put lots
> of good communication libraries into it, spread it over Windows, Mac and
> Linux, make it open source and put some XML and JSON and solve printing,
> multithreading/multiprocessing (framework) runtime AND (!) debugging,
> scripting, interconnections with other languages. Try adding a modelling
> and source code generator. Build the whole stuff with concurrency in
> mind - offer specific data structure to help you here. Look for suitable
> persistency options.
>
> Go back to the time, where Smalltalk source code was hold in a
> repository to manually work with it and and not getting software via
> Github with some broken relationships between packages and nobody knows why.
>
> Use the browser (with Javascript) as the main UI and build a superior
> interface in Javascript to the backend Smalltalk. Use the Electron
> framework and build some specific support for Smalltalk into that.
>
> But even with that in mind you will not catch the Javascript developers
> (because they are on that way already and they do not need Smalltalk),
> but you may survive as a Smalltalk developer.
>
> Spread the word around, that multi-language development is a MUST and
> one should support it.
>
> So, to summarize - this is my personal view of Smalltalk today - since
> 1986, where I first met Georg Heeg on a Atari fair in Düsseldorf seeing
> the first Smalltalk system in my life.
>
> Marten
>
>
>
>
> --
> Marten Feldtmann
>

Re: [Pharo-users] Why Smalltalk is so easy to evangelize

2020-01-10 Thread Offray Vladimir Luna Cárdenas


On 10/01/20 1:52 p. m., horrido wrote:
> Offray Vladimir Luna Cárdenas-2 wrote
>> But I have not
>> being able to convince any of my coder friends to switch to Pharo
>> instead of C++, Java or Javacript, which by the way, is the language
>> they already know and use to put bread on the table on a daily basis.
>>
>> So I think that we deal with a paradox: while Smalltalk advocacy is
>> better suited for a Blue Ocean Strategy[2], exploring and implementing
>> new/emerging scenarios and markets, money is already mostly invested in
>> Red Oceans of constituted technologies and practices ecosystems.
>> Bridging both is pretty difficult.
> Yes, that is the principal obstacle and challenge. When I'm pushing
> Smalltalk, I mention the language's simplicity and conciseness, I
> mention the purity of the object-oriented model, I mention the
> built-in IDE, and so on. But the key advantage that I emphasize
> is *programmer productivity*.
>
> I realize it's hard to argue with the availability of jobs for Java, Python,
> JavaScript, etc. It's hard to argue with their rich ecosystems. It's
> hard to argue with the status quo of established code bases and
> IT infrastructures. But we have to make them believe that
> Smalltalk can cut their development time in half, if not better.
>
> What is it worth to a company to cut their development time in half?
> It means much lower development cost. It means much shorter
> "time to market."
>
> Is this not worth investing time and energy in Smalltalk? Even if the
> job opportunities aren't there. Even if it means overhauling your
> IT infrastructure.
>
> The investment can lead to more users and more jobs. If they don't
> believe it, then we have failed.
>
I have invested time and energy in Smalltalk. Since 2014 I have
organized 500+ hours of workshops and hackathons which lead us to our
local success story [1].

[1]
https://mutabit.com/repos.fossil/grafoscopio/doc/tip/Docs/En/success-story.md

But, from that experience, I see pretty difficult that coders which are
already using other languages and frameworks for their daily jobs, use
Pharo/Smalltalk when precisely their jobs is to maintain and extend the
stuff that they are already using. I have had better experience with non
coders (i.e: librarians, journalists and so on), presenting such "new"
ideas and practices. Grafoscopio is suited at non-coders that don't mind
to code or are curious about coding, but they need to intertwine code
with prose, data and visualization.

I think that a place where coders and non-coders can meet is at Blue
Ocean places (that's why I'm starting to explore Scuttlebutt protocol).
Can we start to find such blue oceans to explore together in a playful
and practical sense, where we can showcase the advantages of
Pharo/Smalltalk ? That could be a pretty good advocacy.

Cheers,

Offray







Re: [Pharo-users] Why Smalltalk is so easy to evangelize

2020-01-10 Thread horrido
This is exactly why I also push Smalltalk's simplicity. In the 1970s, Per
Brinch Hansen posited that a small, simple language would lead to fewer
programmer errors. The result of his work was the Edison programming
language. It was published in his book, "Programming a Personal Computer,"
which is one of my favourite programming books.

Of course, Per Brinch Hansen wasn't alone in this belief. It was also shared
by Niklaus Wirth who created Pascal and Oberon.

So it's not just Smalltalk's live programming environment that we should
herald. The size and simplicity of the language is a big deal.



Richard Sargent wrote
> On Fri, Jan 10, 2020 at 1:52 PM horrido <

> horrido.hobbies@

> > wrote:
> 
>> Offray Vladimir Luna Cárdenas-2 wrote
>> > But I have not
>> > being able to convince any of my coder friends to switch to Pharo
>> > instead of C++, Java or Javacript, which by the way, is the language
>> > they already know and use to put bread on the table on a daily basis.
>> >
>> > So I think that we deal with a paradox: while Smalltalk advocacy is
>> > better suited for a Blue Ocean Strategy[2], exploring and implementing
>> > new/emerging scenarios and markets, money is already mostly invested in
>> > Red Oceans of constituted technologies and practices ecosystems.
>> > Bridging both is pretty difficult.
>>
>> Yes, that is the principal obstacle and challenge. When I'm pushing
>> Smalltalk, I mention the language's simplicity and conciseness, I
>> mention the purity of the object-oriented model, I mention the
>> built-in IDE, and so on. But the key advantage that I emphasize
>> is *programmer productivity*.
>>
>> I realize it's hard to argue with the availability of jobs for Java,
>> Python,
>> JavaScript, etc. It's hard to argue with their rich ecosystems. It's
>> hard to argue with the status quo of established code bases and
>> IT infrastructures. But we have to make them believe that
>> Smalltalk can cut their development time in half, if not better.
>>
>> What is it worth to a company to cut their development time in half?
>> It means much lower development cost. It means much shorter
>> "time to market."
>>
> 
> It also means much lower error rates. Capers Jones also review errors /
> lines of code and Smalltalk was substantially better than the C derivative
> languages. I don't recall the ration, but I think the Namcook report does
> include it.
> 
> Fewer errors means a higher ratio of time spent delivering functionality
> and a better customer experience. (We can't do anything about bad design
> and UX practices, of course and unfortunately. Although, I suspect without
> evidence that Smalltalkers may do a better job of both.)
> 
> 
>> Is this not worth investing time and energy in Smalltalk? Even if the
>> job opportunities aren't there. Even if it means overhauling your
>> IT infrastructure.
>>
>> The investment can lead to more users and more jobs. If they don't
>> believe it, then we have failed.
>>
>>
>>
>> --
>> Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html
>>
>>





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



Re: [Pharo-users] Why Smalltalk is so easy to evangelize

2020-01-10 Thread Richard Sargent
On Fri, Jan 10, 2020 at 1:52 PM horrido  wrote:

> Offray Vladimir Luna Cárdenas-2 wrote
> > But I have not
> > being able to convince any of my coder friends to switch to Pharo
> > instead of C++, Java or Javacript, which by the way, is the language
> > they already know and use to put bread on the table on a daily basis.
> >
> > So I think that we deal with a paradox: while Smalltalk advocacy is
> > better suited for a Blue Ocean Strategy[2], exploring and implementing
> > new/emerging scenarios and markets, money is already mostly invested in
> > Red Oceans of constituted technologies and practices ecosystems.
> > Bridging both is pretty difficult.
>
> Yes, that is the principal obstacle and challenge. When I'm pushing
> Smalltalk, I mention the language's simplicity and conciseness, I
> mention the purity of the object-oriented model, I mention the
> built-in IDE, and so on. But the key advantage that I emphasize
> is *programmer productivity*.
>
> I realize it's hard to argue with the availability of jobs for Java,
> Python,
> JavaScript, etc. It's hard to argue with their rich ecosystems. It's
> hard to argue with the status quo of established code bases and
> IT infrastructures. But we have to make them believe that
> Smalltalk can cut their development time in half, if not better.
>
> What is it worth to a company to cut their development time in half?
> It means much lower development cost. It means much shorter
> "time to market."
>

It also means much lower error rates. Capers Jones also review errors /
lines of code and Smalltalk was substantially better than the C derivative
languages. I don't recall the ration, but I think the Namcook report does
include it.

Fewer errors means a higher ratio of time spent delivering functionality
and a better customer experience. (We can't do anything about bad design
and UX practices, of course and unfortunately. Although, I suspect without
evidence that Smalltalkers may do a better job of both.)


> Is this not worth investing time and energy in Smalltalk? Even if the
> job opportunities aren't there. Even if it means overhauling your
> IT infrastructure.
>
> The investment can lead to more users and more jobs. If they don't
> believe it, then we have failed.
>
>
>
> --
> Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html
>
>


Re: [Pharo-users] Why Smalltalk is so easy to evangelize

2020-01-10 Thread horrido
Offray Vladimir Luna Cárdenas-2 wrote
> But I have not
> being able to convince any of my coder friends to switch to Pharo
> instead of C++, Java or Javacript, which by the way, is the language
> they already know and use to put bread on the table on a daily basis.
> 
> So I think that we deal with a paradox: while Smalltalk advocacy is
> better suited for a Blue Ocean Strategy[2], exploring and implementing
> new/emerging scenarios and markets, money is already mostly invested in
> Red Oceans of constituted technologies and practices ecosystems.
> Bridging both is pretty difficult.

Yes, that is the principal obstacle and challenge. When I'm pushing
Smalltalk, I mention the language's simplicity and conciseness, I
mention the purity of the object-oriented model, I mention the
built-in IDE, and so on. But the key advantage that I emphasize
is *programmer productivity*.

I realize it's hard to argue with the availability of jobs for Java, Python,
JavaScript, etc. It's hard to argue with their rich ecosystems. It's
hard to argue with the status quo of established code bases and
IT infrastructures. But we have to make them believe that
Smalltalk can cut their development time in half, if not better.

What is it worth to a company to cut their development time in half?
It means much lower development cost. It means much shorter
"time to market."

Is this not worth investing time and energy in Smalltalk? Even if the
job opportunities aren't there. Even if it means overhauling your
IT infrastructure.

The investment can lead to more users and more jobs. If they don't
believe it, then we have failed.



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



Re: [Pharo-users] Why Smalltalk is so easy to evangelize

2020-01-10 Thread Offray Vladimir Luna Cárdenas
Hi,

(I don't know if there is a netiquete rule of _this list_ about
top-posting inter-posting or bottom-posting, so I will start here).

Is good to see a thread like those with different points, so thanks to
all participants. I agree with several of them.

I think that Smalltalk advocacy is important, but it happens in
different ways, some write prose for that, some code, some both.

In my case, Smalltalk has the strongest point by blurring the frontier
between separate concerns: language, IDE, tools, writing/execution time
and is an experience that may other computing environments, frameworks
and languages are trying to bring (see Svelte, DarkLang, Elm, Clojure
and so on). I still think that the way Smalltalk blurs concerns and the
live coding experience it creates by doing so, is unbeatable. But the
way Smalltalk expose its advantages works in particular domains
(research, prototyping) and not so well in others (mobile) where others
are delivering more and faster apps for the developer and user.

In my case, Smalltalk environments, particularly Pharo, work well
because I used it for my PhD research prototyping and is well suited for
my exploration of new domains (for example I'm now exploring the
Scuttlebutt protocol and social network [1] in Pharo). But I have not
being able to convince any of my coder friends to switch to Pharo
instead of C++, Java or Javacript, which by the way, is the language
they already know and use to put bread on the table on a daily basis. I
have been more successful convincing philosophers, librarians,
journalists in using Pharo and they enjoy it, but I have not any Pharo
related local job proposal and I doubt I will have it.

[1] https://scuttlebutt.nz/

So I think that we deal with a paradox: while Smalltalk advocacy is
better suited for a Blue Ocean Strategy[2], exploring and implementing
new/emerging scenarios and markets, money is already mostly invested in
Red Oceans of constituted technologies and practices ecosystems.
Bridging both is pretty difficult. I will share some Blue Ocean
experiments, but still they are, as usual, weekend and holidays projects
without any promise or resources for a sustained rhythm or deliverables.

[2] https://en.wikipedia.org/wiki/Blue_Ocean_Strategy

Also, there is an important consequence of Richard's (and others)
outreach strategies and is the "inner-reach" echoes of them, so we have
this kind of talks that are worthy and not so frequent about the inter
subjectivities in our community and the ways we think and experience
about Smalltalk in the present and in the future.

Thank you all,

Offray

On 10/01/20 10:53 a. m., Marten Feldtmann wrote:
> Am 10.01.20 um 15:42 schrieb horrido:
>
>>> So let's stop trying to convince people with things that mattered some 
>>> 20 years ago. Even the function point thingie we keep carrying in front 
>>> of our bellies (Capers-Jones was it?) is a lie when you want to build an 
>>> application for today's markets.
>> I disagree that it's a lie. The study is based on thousands of projects and
>> millions of lines of code over a period of several decades, including recent
> Well, naming it a "lie" is perhaps too strong - but Joachim (did you
> have a bad Smalltalk day ?) statement is from my point of view
> correct - this talking about function point and productivity is an
> academic point.
>
> If I am a Java developer and my productivity is around 10% compared to
> Smalltalk developer it is still useful to use Java - because for my
> problem there might exists already dozen of libraries and solutions.
>
> Using Smalltalk today is matter of personal taste and love - like many
> other developers in other languages.
>
> Joachim mentioned the critical points and for me perhaps the following
> statements are true:
>
> * Smalltalk development over the last decade ran in circles
>
> and due to that
>
> * Smalltalk is not solving the biggest problems any more
>
> So many time has been wasted to make a Smalltalk dialect running in a
> browser.
>
> I would use (my loved) Smalltalk today only, if
>
> * I have an application, which was written in Smalltalk (and I have one)
>
> * Smalltalk is superior to other solutions in a specific topic (and with
> Gemstone I have one topic)
>
> When I would start from scratch ... build a headless Smalltalk, put lots
> of good communication libraries into it, spread it over Windows, Mac and
> Linux, make it open source and put some XML and JSON and solve printing,
> multithreading/multiprocessing (framework) runtime AND (!) debugging,
> scripting, interconnections with other languages. Try adding a modelling
> and source code generator. Build the whole stuff with concurrency in
> mind - offer specific data structure to help you here. Look for suitable
> persistency options.
>
> Go back to the time, where Smalltalk source code was hold in a
> repository to manually work with it and and not getting software via
> Github with some broken relationships between packages and nobody kn

Re: [Pharo-users] Why Smalltalk is so easy to evangelize

2020-01-10 Thread horrido
itli...@schrievkrom.de wrote
> Am 10.01.20 um 15:42 schrieb horrido:
> 
>> 
>>> So let's stop trying to convince people with things that mattered some 
>>> 20 years ago. Even the function point thingie we keep carrying in front 
>>> of our bellies (Capers-Jones was it?) is a lie when you want to build an 
>>> application for today's markets.
>> 
>> I disagree that it's a lie. The study is based on thousands of projects
>> and
>> millions of lines of code over a period of several decades, including
>> recent
> 
> Well, naming it a "lie" is perhaps too strong - but Joachim (did you
> have a bad Smalltalk day ?) statement is from my point of view
> correct - this talking about function point and productivity is an
> academic point.

Not so academic. After all, the study was based on a huge number of software 
projects for dozens of programming languages over many years. It doesn't get 
any more practical than that.

The analysis was simplified by adopting the "function points" model which 
provides a level playing field for all the languages. It's about the amount
of
time needed to do a certain amount of work, whether that work is specific to
a few domains or to many. Some people may take issue with the analysis, but
it's there for your consideration at any rate.

Since there is no other study of its kind in the world, I choose to use it
in my
advocacy. Readers can make their own judgement.




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



Re: [Pharo-users] Why Smalltalk is so easy to evangelize

2020-01-10 Thread Marten Feldtmann
Am 10.01.20 um 15:42 schrieb horrido:

> 
>> So let's stop trying to convince people with things that mattered some 
>> 20 years ago. Even the function point thingie we keep carrying in front 
>> of our bellies (Capers-Jones was it?) is a lie when you want to build an 
>> application for today's markets.
> 
> I disagree that it's a lie. The study is based on thousands of projects and
> millions of lines of code over a period of several decades, including recent

Well, naming it a "lie" is perhaps too strong - but Joachim (did you
have a bad Smalltalk day ?) statement is from my point of view
correct - this talking about function point and productivity is an
academic point.

If I am a Java developer and my productivity is around 10% compared to
Smalltalk developer it is still useful to use Java - because for my
problem there might exists already dozen of libraries and solutions.

Using Smalltalk today is matter of personal taste and love - like many
other developers in other languages.

Joachim mentioned the critical points and for me perhaps the following
statements are true:

* Smalltalk development over the last decade ran in circles

and due to that

* Smalltalk is not solving the biggest problems any more

So many time has been wasted to make a Smalltalk dialect running in a
browser.

I would use (my loved) Smalltalk today only, if

* I have an application, which was written in Smalltalk (and I have one)

* Smalltalk is superior to other solutions in a specific topic (and with
Gemstone I have one topic)

When I would start from scratch ... build a headless Smalltalk, put lots
of good communication libraries into it, spread it over Windows, Mac and
Linux, make it open source and put some XML and JSON and solve printing,
multithreading/multiprocessing (framework) runtime AND (!) debugging,
scripting, interconnections with other languages. Try adding a modelling
and source code generator. Build the whole stuff with concurrency in
mind - offer specific data structure to help you here. Look for suitable
persistency options.

Go back to the time, where Smalltalk source code was hold in a
repository to manually work with it and and not getting software via
Github with some broken relationships between packages and nobody knows why.

Use the browser (with Javascript) as the main UI and build a superior
interface in Javascript to the backend Smalltalk. Use the Electron
framework and build some specific support for Smalltalk into that.

But even with that in mind you will not catch the Javascript developers
(because they are on that way already and they do not need Smalltalk),
but you may survive as a Smalltalk developer.

Spread the word around, that multi-language development is a MUST and
one should support it.

So, to summarize - this is my personal view of Smalltalk today - since
1986, where I first met Georg Heeg on a Atari fair in Düsseldorf seeing
the first Smalltalk system in my life.

Marten




-- 
Marten Feldtmann



Re: [Pharo-users] Why Smalltalk is so easy to evangelize

2020-01-10 Thread David T. Lewis
On Fri, Jan 10, 2020 at 10:52:51AM +0100, jtuc...@objektfabrik.de wrote:
> 
> I wanted to stay out of this thread, because it leads nowhere. But now 
> that I've typed all this, I will push the send button and regret it in a 
> few minutes...

Joachim,

Thanks for pushing the send button.

Dave




Re: [Pharo-users] Why Smalltalk is so easy to evangelize

2020-01-10 Thread horrido
jtuchel wrote
> Am 10.01.20 um 10:16 schrieb Marten Feldtmann:
>> That happened once in the history of Smalltalk and the big player was
>> IBM ...
> 
> Well, twice actually ;-)
> Many people might not know that HP once was a Smalltalk vendor with 
> their distributed Smalltalk (which was actually a white-label copy of 
> VisualWorks iirc/iiuc)...
> 
> Big corporations do not warrant the success of a technology. We'd still 
> be using OS/2, BS2000, whatever...  today if that was the case.

True, but major tech adoption *can* greatly increase public mindshare. 
C#, TypeScript, Golang, Kotlin, Swift, and Rust are good examples.


> So let's stop trying to convince people with things that mattered some 
> 20 years ago. Even the function point thingie we keep carrying in front 
> of our bellies (Capers-Jones was it?) is a lie when you want to build an 
> application for today's markets.

I disagree that it's a lie. The study is based on thousands of projects and
millions of lines of code over a period of several decades, including recent
years with languages like C#, Ceylon, Dart, Elixir, F#, Golang, Haskell, 
Haxe, Julia, and LiveScript. Some of these are cutting-edge languages
used for modern applications.


> Smalltalk is great. If you don't need a mobile app to accompany your 
> product. It's great if your GUI doesn't have to be sexy as hell or you 
> are happy reinventing wheels. It is great if you only ship to PCs or on 
> the web and don't need a lot of interaction in the browser. Anything 
> else is hard in Smalltalk. If it's not, it is undocumented.

Well, perhaps not for ALL mobile apps, but Cordova is certainly used for
cross-platform mobile development. I've used it with Amber and PharoJS
and the documentation is pretty good.

People also use React Native, so there's no real reason to avoid JS.


> I am not sure if energy spent on these "syntax fits on a postcard and, 
> btw,  we have the balloon" articles could be better spent doing 
> something about the problems I mention here. I was in the same boat in 
> the late 90ies and early 2000's with my blog and articles and stuff. All 
> I found out was that nobody actually cares about these old hat stories. 
> Heck, a lot of people these days don't even care about maintainability. 
> You don't like it any more? No prob, we can redo it in this great new 
> (JS) framework anyways.

It's not an either-or situation. We can market Smalltalk *and* address the
technical weaknesses of Smalltalk. For example, I'm doing the former
and you guys are doing the latter. What's the problem?

It would be nice if more Smalltalkers got involved with Smalltalk marketing.
I can't do this forever.





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



Re: [Pharo-users] Why Smalltalk is so easy to evangelize

2020-01-10 Thread Esteban Maringolo
On Fri, Jan 10, 2020 at 6:53 AM jtuc...@objektfabrik.de
 wrote:

> I wanted to stay out of this thread, because it leads nowhere. But now
> that I've typed all this, I will push the send button and regret it in a
> few minutes...

Don't regret it, I like how you wrote and I agree with most of what
you said, maybe because we deal with similar kind of software
solutions.

It's only when you use something to solve a real problem, usually with
economic constraints, that you find its strengths and limitations. And
Smalltalk has both.

Regards,

Esteban A. Maringolo



Re: [Pharo-users] Why Smalltalk is so easy to evangelize

2020-01-10 Thread Kasper Østerbye
After having read this thread, I would like to add an other comment Richard.

It is really super that you are evangelising smalltalk and pharo. The
technology is truly worth it. And I should not try to take away your
enthusiasm.

Best,

Kasper


On 9 January 2020 at 17.07.25, Richard Kenneth Eng (
horrido.hobb...@gmail.com) wrote:

https://itnext.io/why-smalltalk-is-so-easy-to-evangelize-2b88b4d4605c


Re: [Pharo-users] Why Smalltalk is so easy to evangelize

2020-01-10 Thread horrido
The problem is that IBM and HP adopted Smalltalk at a time when Smalltalk
wasn't ready nor deserving. There was no major open source Smalltalk. There
were several commercial Smalltalk vendors sniping at each other. Smalltalk
was totally unprepared for the nascent web. Smalltalk was too heavy to run
on the hardware of the day. And C++ had a much stronger OOP narrative.

Today, we have many open source Smalltalks. The commercial vendors are more
civil. Smalltalk is most definitely web-ready. Smalltalk runs well on the
Raspberry Pi. And C++ is in decline, according to TIOBE.

Today, we need major tech adoption. Today's generation doesn't care about
who adopted what a quarter century ago. There's no reason IBM and HP
couldn't pick up the Smalltalk mantle again if they wanted to — the
Smalltalk landscape is totally different. The outlook for Smalltalk is a
brand new story.

Major tech companies are just as vulnerable to hype and marketing as human
beings are. They need to be persuaded to adopt Smalltalk. We can do our part
to help Amazon, Apple, HP, IBM, and others to see the light.



itli...@schrievkrom.de wrote
> That happened once in the history of Smalltalk and the big player was
> IBM ... and actually that really showed impact to the Smalltalk market.
> Lots of consultings were running around, get pretty much money to teach
> COBOL programmers how to use Smalltalk (or to be more precise: learn how
> to click programs together).
> 
> That hype perhaps lasted a few years ... and then IBM switched to Java
> ... so they never can go back.
> 
> 
> 
> 
> Marten
> 
> Am 09.01.20 um 23:16 schrieb horrido:
> 
>> 
>> It would be really nice to have some big tech company adopt Smalltalk,
>> like
>> Amazon, Apple, Facebook, Google, Microsoft, Netflix, Uber, etc. That
>> would
>> hit the ball right out of the park. Alas, I don't see that happening. I'm
>> afraid JP Morgan, Siemens, and Thales aren't good enough. 
> 
> 
> -- 
> Marten Feldtmann





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



Re: [Pharo-users] Why Smalltalk is so easy to evangelize

2020-01-10 Thread jtuc...@objektfabrik.de

Am 10.01.20 um 10:16 schrieb Marten Feldtmann:

That happened once in the history of Smalltalk and the big player was
IBM ...


Well, twice actually ;-)
Many people might not know that HP once was a Smalltalk vendor with 
their distributed Smalltalk (which was actually a white-label copy of 
VisualWorks iirc/iiuc)...


Big corporations do not warrant the success of a technology. We'd still 
be using OS/2, BS2000, whatever...  today if that was the case.


The much bigger impact on Smalltalk's demise was that all vendors back 
in the nineties told their customers to switch somewehere else. One of 
them even never delivered what they had suggested as a replacement...



I tried not to jump in here, but I am still a bit surprised how many 
people state that Smalltalk was so superior to (whatever hyped thing of 
the day).


How many of us have built a nice iOS or Android App in Smalltalk? Do we 
even havy anything that might allow to do that in a power efficient way?
How many of us have built a modern-looking SPA web application in 
Smalltalk? Smalltalk-only?


These are areas where Smalltalk is quite weak and may not excel in any 
time soon. Let's be honest about it. None of the commercial vendors have 
announced anything in that direction, and to my knowledge, none of the 
open-source ones have anything more that the usual JS bridging.


Dart/Flutter promises to finally be a platform on which you can write 
apps for both mobile platforms, the web and maybe even native with one 
single code base. Does that sound like a dream to developers who need to 
pick a tool? I guess so.


Is there any point in telling people how great Smalltalk is when writing 
a mobile app or an SPA is hard to almost impossible?
I know there are prototypes and even shipped apps on mobile platforms. 
Some are available and can be used, but are complex and mostly 
undocumented. One is private and doesn't even have a (public) price tag 
(yet?).
Not really comparable to downloading Flutter and starting to write your 
first mobile app on a Saturday afternoon. Not sure the productivity 
advantage we keep praising (be it existent or not) will be noted much by 
somebody who needs to pick a tool now.


So let's stop trying to convince people with things that mattered some 
20 years ago. Even the function point thingie we keep carrying in front 
of our bellies (Capers-Jones was it?) is a lie when you want to build an 
application for today's markets.


Smalltalk is great. If you don't need a mobile app to accompany your 
product. It's great if your GUI doesn't have to be sexy as hell or you 
are happy reinventing wheels. It is great if you only ship to PCs or on 
the web and don't need a lot of interaction in the browser. Anything 
else is hard in Smalltalk. If it's not, it is undocumented.


I am not sure if energy spent on these "syntax fits on a postcard and, 
btw,  we have the balloon" articles could be better spent doing 
something about the problems I mention here. I was in the same boat in 
the late 90ies and early 2000's with my blog and articles and stuff. All 
I found out was that nobody actually cares about these old hat stories. 
Heck, a lot of people these days don't even care about maintainability. 
You don't like it any more? No prob, we can redo it in this great new 
(JS) framework anyways.



I am not saying anything is wrong about the maintainability of Smalltalk 
code or greatness of our IDE support. I like it and use it every day. I 
love programming in Smalltalk and hunting bugs in Smalltalk and fixing 
customers' problems in Smalltalk. I can fix a bug while the user tells 
me about theit problem and I am convinced not many other technologies 
can support me in this as good as Smalltalk does. But, unfortunately, I 
spend way too much time reinventing GUI glue code fo the web. And, 
unfortunately, I need to implement a lot of stuff in Javascript. Oh, and 
unfortunately, there is nothing as good as this if I wanted to ship a 
nice mobile app to augment our service. When it comes to these, I am not 
productive. I am not even close to any bleeding edge, and if I want to 
be, I need to do it on my own. Is it more productive to reinvent a 
Smalltalk version of VueJS just do be able to do the same as VueJS in JS 
than it would be to learn JS and VueJS and do some part of my work in 
those?


I wanted to stay out of this thread, because it leads nowhere. But now 
that I've typed all this, I will push the send button and regret it in a 
few minutes...


Joachim






>and actually that really showed impact to the Smalltalk market.

Lots of consultings were running around, get pretty much money to teach
COBOL programmers how to use Smalltalk (or to be more precise: learn how
to click programs together).

That hype perhaps lasted a few years ... and then IBM switched to Java
... so they never can go back.




Marten

Am 09.01.20 um 23:16 schrieb horrido:


It would be really nice to have some big tech company adopt Smalltalk, like
Ama

Re: [Pharo-users] Why Smalltalk is so easy to evangelize

2020-01-10 Thread Marten Feldtmann
That happened once in the history of Smalltalk and the big player was
IBM ... and actually that really showed impact to the Smalltalk market.
Lots of consultings were running around, get pretty much money to teach
COBOL programmers how to use Smalltalk (or to be more precise: learn how
to click programs together).

That hype perhaps lasted a few years ... and then IBM switched to Java
... so they never can go back.




Marten

Am 09.01.20 um 23:16 schrieb horrido:

> 
> It would be really nice to have some big tech company adopt Smalltalk, like
> Amazon, Apple, Facebook, Google, Microsoft, Netflix, Uber, etc. That would
> hit the ball right out of the park. Alas, I don't see that happening. I'm
> afraid JP Morgan, Siemens, and Thales aren't good enough. 


-- 
Marten Feldtmann



Re: [Pharo-users] Why Smalltalk is so easy to evangelize

2020-01-09 Thread K K Subbu

On 10/01/20 12:25 AM, Kasper Østerbye wrote:
This rant states once again that in Smalltalk everything is an object. 


The word 'object' has been bandied about with multiple meanings, so it 
is understandable that you would challenge this claim. Smalltalk uses 
the term 'object' with a specific meaning - see chapter 30 of bluebook 
(Formal Specification of Object Memory)[1] for a concrete definition.


The image is an object graph. The allocated memory in a heap consists 
entirely of a list objects which can be iterated through first/next 
messages.


You need only two tools - Inspector and Explorer. Inspect to examine a 
single object and the explorer to trace interconnections in the object 
graph.


Implementations like Squeak or Pharo may use strings instead of fully 
reifying programmable entities but that doesn't mean that they cannot. 
Also, some 'objects' may be managed entirely within the VM interpreter 
for pragmatic reasons.


To me, what really is nice about Smalltalk is NOT the language - it is 
the image and live programming. And I can get around all the problems 
with the language because of it. I miss:


Bingo! Smalltalk is best understood as a virtual machine with live 
programming facility. Language is only a small part of it.


[1] http://www.mirandabanda.org/bluebook/bluebook_chapter30.html

Regards .. Subbu



Re: [Pharo-users] Why Smalltalk is so easy to evangelize

2020-01-09 Thread horrido
Oddly enough, I've had better results by appealing to history. I guess it has
more to do with *how* I did it, my style and creativity.

Things like Flutter and Elixir and Kotlin (for Android) are anomalies.
Essentially, they benefitted from luck and word of mouth. You can't rely on
that.

While Smalltalk adoption has grown, if only slightly, it's still so far
behind that much of the public continues to believe Smalltalk is dying. For
me, that simply isn't good enough.

It would be really nice to have some big tech company adopt Smalltalk, like
Amazon, Apple, Facebook, Google, Microsoft, Netflix, Uber, etc. That would
hit the ball right out of the park. Alas, I don't see that happening. I'm
afraid JP Morgan, Siemens, and Thales aren't good enough. 



Esteban A. Maringolo wrote
> Hi Richard,
> 
> I don't find Smalltalk easy to evangelize, and in my experience the
> appeal to history (a variation of the "argumentum ad antiquitatem"
> fallacy) proved ineffective.
> 
> People don't care about who invented MVC, bitblt or JIT, and so make
> decisions looking into the future, they weight in the past of course,
> but looking forward is what matters for any decision you take now.
> 
> That's why things like Flutter or Elixir and other "new" technologies
> get the attention they get these days, even when there are no "huge"
> success cases. I can't judge whether these techs have value, are hyped
> and/or there is a lot of FOMO in the decision making process. And no,
> I don't believe it is because of Google shoving it through people
> throats, it's people finding something valuable and trying to get an
> professional advantage by learning/adopting it early.
> 
> Smalltalk adoption in the last decade has grown by its own merits,
> _despite_ of the efforts to promote it.
> 
> I would bet that any appeal to emotion could be more effective, since
> most developers get frustrated and any modern Smalltalk dialect can
> ease that inherent frustration of software development, or even
> better, turn it into an enjoyable experience (as it's been my case for
> over a decade).
> 
> Have some reasonable big tech/company saying they're going to use X,
> and you'll have flocks of users trying X.
> 
> Esteban A. Maringolo
> 
> On Thu, Jan 9, 2020 at 5:03 PM horrido <

> horrido.hobbies@

> > wrote:
>>
>> Absolutely correct. Each of those languages do have good reasons to
>> choose
>> them. I have never said otherwise.
>>
>> My point is that Smalltalk gives me many more reasons, many more ways to
>> evangelize it. Smalltalk is very easy to evangelize. That's the premise
>> of
>> the entire article, and if it's wrong, then I should delete the entire
>> article.
>>
>> Is it wrong?
>>
>>
>>
>> Esteban A. Maringolo wrote
>> > On Thu, Jan 9, 2020 at 2:23 PM horrido <
>>
>> > horrido.hobbies@
>>
>> > > wrote:
>> >
>> >> I happen to like Dart, Elixir, Golang, Julia, and Rust. But be honest:
>> do
>> >> these languages provide nearly as many reasons to choose them?
>> >> I'm not being deprecatory.
>> >
>> > I don't know about Julia nor Elixir, but Dart has Flutter, Golang
>> > drives a good chunk of the high-availability internet and Rust is
>> > becoming the most secure programming language and several critical
>> > applications are being rewritten in Rust.
>> >
>> > Their user base is huge (and so is their funding), but it's not only
>> > about funding, the reasons to choose them are a lot, there is no
>> > silver bullet.
>> >
>> > Regards,
>> >
>> > Esteban A. Maringolo
>>
>>
>>
>>
>>
>> --
>> Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html
>>





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



Re: [Pharo-users] Why Smalltalk is so easy to evangelize

2020-01-09 Thread Esteban Maringolo
Hi Richard,

I don't find Smalltalk easy to evangelize, and in my experience the
appeal to history (a variation of the "argumentum ad antiquitatem"
fallacy) proved ineffective.

People don't care about who invented MVC, bitblt or JIT, and so make
decisions looking into the future, they weight in the past of course,
but looking forward is what matters for any decision you take now.

That's why things like Flutter or Elixir and other "new" technologies
get the attention they get these days, even when there are no "huge"
success cases. I can't judge whether these techs have value, are hyped
and/or there is a lot of FOMO in the decision making process. And no,
I don't believe it is because of Google shoving it through people
throats, it's people finding something valuable and trying to get an
professional advantage by learning/adopting it early.

Smalltalk adoption in the last decade has grown by its own merits,
_despite_ of the efforts to promote it.

I would bet that any appeal to emotion could be more effective, since
most developers get frustrated and any modern Smalltalk dialect can
ease that inherent frustration of software development, or even
better, turn it into an enjoyable experience (as it's been my case for
over a decade).

Have some reasonable big tech/company saying they're going to use X,
and you'll have flocks of users trying X.

Esteban A. Maringolo

On Thu, Jan 9, 2020 at 5:03 PM horrido  wrote:
>
> Absolutely correct. Each of those languages do have good reasons to choose
> them. I have never said otherwise.
>
> My point is that Smalltalk gives me many more reasons, many more ways to
> evangelize it. Smalltalk is very easy to evangelize. That's the premise of
> the entire article, and if it's wrong, then I should delete the entire
> article.
>
> Is it wrong?
>
>
>
> Esteban A. Maringolo wrote
> > On Thu, Jan 9, 2020 at 2:23 PM horrido <
>
> > horrido.hobbies@
>
> > > wrote:
> >
> >> I happen to like Dart, Elixir, Golang, Julia, and Rust. But be honest: do
> >> these languages provide nearly as many reasons to choose them?
> >> I'm not being deprecatory.
> >
> > I don't know about Julia nor Elixir, but Dart has Flutter, Golang
> > drives a good chunk of the high-availability internet and Rust is
> > becoming the most secure programming language and several critical
> > applications are being rewritten in Rust.
> >
> > Their user base is huge (and so is their funding), but it's not only
> > about funding, the reasons to choose them are a lot, there is no
> > silver bullet.
> >
> > Regards,
> >
> > Esteban A. Maringolo
>
>
>
>
>
> --
> Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html
>



Re: [Pharo-users] Why Smalltalk is so easy to evangelize

2020-01-09 Thread Sean P. DeNigris
Kasper Osterbye wrote
> in Smalltalk everything is [not] an object
> ...
> * Message categories

I agree with the thrust of your post and would like many of the items you
suggest. That said, one semantic nitpick: "everything is an object" means as
opposed to primitive types i.e. Date is an object that receives messages
like any other, unlike in a language where it's a primitive  type with
hidden restrictions on how to interact with it. What you seem to be saying
is that our objects are not always appropriate/optimal reflections of the
domain, which is true but different.



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



Re: [Pharo-users] Why Smalltalk is so easy to evangelize

2020-01-09 Thread horrido
Which rant is that???

To me, what's really nice is the supremely simple language *and* the easily
accessible programming environment *and* live coding *and* metaprogramming
*and* the functional aspect (lambdas). It's not just one thing. It's the
synergy that comes from the totality.

However, there's no question that Smalltalk isn't perfect. There is
certainly room for improvement, as you point out. But if there is a
programming language that can come closer to perfection, I don't know what
it is. And I've used a lot of languages.

Such is the current state of affairs.



Kasper Osterbye wrote
> This rant states once again that in Smalltalk everything is an object.
> Alas, it is not (but should). This is a shortlist of things which is
> currently not objects in smalltalk:
> 
> * Message categories
> * Class categories (there is something called packages, which is rather
> useful as they are actually objects, but they are not really done nicely -
> manifest and RPackage???)
> * The virtual machine (there is only one singleton thingie)
> * The screen (there is only one why can one not instantiate more than one
> world - I guess it is somewhat possible when we get gtk).
> * Projects as (as in collection of objects).
> 
> I happened to learn Simula before Smalltalk (I am Scandinavian after all).
> When I program in Smalltalk I for sure miss nested classes and other
> block-structured things.
> 
> I happened to learn Beta (successor to Simula) before Smalltalk. I miss
> being able to define virtual classes - but it is moot as there is no block
> structure.
> 
> To me, what really is nice about Smalltalk is NOT the language - it is the
> image and live programming. And I can get around all the problems with the
> language because of it. I miss:
> 
> * Nested name spaces - when we finally get around to it, please do not do
> just one level.
> * Singular objects with behaviour I can write in a few lines (a single
> object overriding one or a few methods)
> * A simple switch/case statement
> * …
> 
> But despite all this, I find programming in smalltalk much more fulfilling
> than any other thing I ever touched.
> 
> Best,
> 
> Kasper





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



Re: [Pharo-users] Why Smalltalk is so easy to evangelize

2020-01-09 Thread horrido
Absolutely correct. Each of those languages do have good reasons to choose
them. I have never said otherwise.

My point is that Smalltalk gives me many more reasons, many more ways to
evangelize it. Smalltalk is very easy to evangelize. That's the premise of
the entire article, and if it's wrong, then I should delete the entire
article.

Is it wrong?



Esteban A. Maringolo wrote
> On Thu, Jan 9, 2020 at 2:23 PM horrido <

> horrido.hobbies@

> > wrote:
> 
>> I happen to like Dart, Elixir, Golang, Julia, and Rust. But be honest: do
>> these languages provide nearly as many reasons to choose them?
>> I'm not being deprecatory.
> 
> I don't know about Julia nor Elixir, but Dart has Flutter, Golang
> drives a good chunk of the high-availability internet and Rust is
> becoming the most secure programming language and several critical
> applications are being rewritten in Rust.
> 
> Their user base is huge (and so is their funding), but it's not only
> about funding, the reasons to choose them are a lot, there is no
> silver bullet.
> 
> Regards,
> 
> Esteban A. Maringolo





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



Re: [Pharo-users] Why Smalltalk is so easy to evangelize

2020-01-09 Thread Kasper Østerbye
This rant states once again that in Smalltalk everything is an object.
Alas, it is not (but should). This is a shortlist of things which is
currently not objects in smalltalk:

* Message categories
* Class categories (there is something called packages, which is rather
useful as they are actually objects, but they are not really done nicely -
manifest and RPackage???)
* The virtual machine (there is only one singleton thingie)
* The screen (there is only one why can one not instantiate more than one
world - I guess it is somewhat possible when we get gtk).
* Projects as (as in collection of objects).

I happened to learn Simula before Smalltalk (I am Scandinavian after all).
When I program in Smalltalk I for sure miss nested classes and other
block-structured things.

I happened to learn Beta (successor to Simula) before Smalltalk. I miss
being able to define virtual classes - but it is moot as there is no block
structure.

To me, what really is nice about Smalltalk is NOT the language - it is the
image and live programming. And I can get around all the problems with the
language because of it. I miss:

* Nested name spaces - when we finally get around to it, please do not do
just one level.
* Singular objects with behaviour I can write in a few lines (a single
object overriding one or a few methods)
* A simple switch/case statement
* …

But despite all this, I find programming in smalltalk much more fulfilling
than any other thing I ever touched.

Best,

Kasper


Re: [Pharo-users] Why Smalltalk is so easy to evangelize

2020-01-09 Thread Esteban Maringolo
On Thu, Jan 9, 2020 at 2:23 PM horrido  wrote:

> I happen to like Dart, Elixir, Golang, Julia, and Rust. But be honest: do
> these languages provide nearly as many reasons to choose them?
> I'm not being deprecatory.

I don't know about Julia nor Elixir, but Dart has Flutter, Golang
drives a good chunk of the high-availability internet and Rust is
becoming the most secure programming language and several critical
applications are being rewritten in Rust.

Their user base is huge (and so is their funding), but it's not only
about funding, the reasons to choose them are a lot, there is no
silver bullet.

Regards,

Esteban A. Maringolo



Re: [Pharo-users] Why Smalltalk is so easy to evangelize

2020-01-09 Thread horrido
It depends on how one interprets the last paragraph. Yours is one
interpretation, and one that never occurred to me.

I didn't see it as "demoting" other languages. The paragraph in no way
criticizes other languages. It simply suggests that Smalltalk offers many
more resources for evangelism. It's all relative.

I happen to like Dart, Elixir, Golang, Julia, and Rust. But be honest: do
these languages provide nearly as many reasons to choose them? I'm not being
deprecatory.



Esteban A. Maringolo wrote
> Hi Richard,
> 
> Regardless of the reasoning behind the title of the article, I don't
> like the tone of the last paragraph, it is not necessary, and probably
> not recommended either, to demote other languages in order to promote
> yours. In particular languages that have their own merits and
> capabilities to which Smalltalk/Pharo can't fulfill today, and by
> design won't neither.
> 
> Regards,
> 
> 
> Esteban A. Maringolo
> 
> On Thu, Jan 9, 2020 at 1:07 PM Richard Kenneth Eng
> <

> horrido.hobbies@

> > wrote:
>>
>> https://itnext.io/why-smalltalk-is-so-easy-to-evangelize-2b88b4d4605c
>>
>>





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



Re: [Pharo-users] Why Smalltalk is so easy to evangelize

2020-01-09 Thread Esteban Maringolo
Hi Richard,

Regardless of the reasoning behind the title of the article, I don't
like the tone of the last paragraph, it is not necessary, and probably
not recommended either, to demote other languages in order to promote
yours. In particular languages that have their own merits and
capabilities to which Smalltalk/Pharo can't fulfill today, and by
design won't neither.

Regards,


Esteban A. Maringolo

On Thu, Jan 9, 2020 at 1:07 PM Richard Kenneth Eng
 wrote:
>
> https://itnext.io/why-smalltalk-is-so-easy-to-evangelize-2b88b4d4605c
>
>



[Pharo-users] Why Smalltalk is so easy to evangelize

2020-01-09 Thread Richard Kenneth Eng
https://itnext.io/why-smalltalk-is-so-easy-to-evangelize-2b88b4d4605c