Re: [Pharo-users] Why Smalltalk is so easy to evangelize
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
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
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
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
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
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
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
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
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
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
https://itnext.io/why-smalltalk-is-so-easy-to-evangelize-2b88b4d4605c