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