Pharo-users
By thread
pharo-users@lists.pharo.org
By month
Messages by month
- ----- 2026 -----
- July
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
January 2023
- 25 participants
- 54 messages
Re: How do I unsubscribe?
by James Foster
Hi Hedley,
If you look at the raw source for the email, it includes the following lines in the header:
Reply-To: Any question about pharo is welcome <pharo-users(a)lists.pharo.org>
Subject: [Pharo-users] How do I unsubscribe?
List-Id: Any question about pharo is welcome <pharo-users.lists.pharo.org>
List-Archive: <https://lists.pharo.org/archives/list/pharo-users@lists.pharo.org/>
List-Help: <mailto:pharo-users-request@lists.pharo.org?subject=help>
List-Owner: <mailto:pharo-users-owner@lists.pharo.org>
List-Post: <mailto:pharo-users@lists.pharo.org>
List-Subscribe: <mailto:pharo-users-join@lists.pharo.org>
List-Unsubscribe: <mailto:pharo-users-leave@lists.pharo.org>
So, it appears that pharo-users-leave(a)lists.pharo.org <mailto:pharo-users-leave@lists.pharo.org> is correct.
James
> On Jan 17, 2023, at 2:18 PM, Hedley Finger <hedley.finger(a)gmail.com> wrote:
>
> I can't find any info at the Affinity list-server about unsubscribing from this list. Presumably there is a special address but I can't think what command to add after pharo-users-???. TIA.
>
> Hedley Finger
> hedley.finger(a)gmail.com <mailto:hedley.finger@gmail.com>
>
Jan. 18, 2023
How do I unsubscribe?
by Hedley Finger
I can't find any info at the Affinity list-server about unsubscribing from
this list. Presumably there is a special address but I can't think what
command to add after pharo-users-???. TIA.
Hedley Finger
hedley.finger(a)gmail.com
Jan. 17, 2023
Re: Sacrilegeous question : what are compelling use cases for Pharo
by Offray Vladimir Luna Cárdenas
Hi Mayuresh,
I think that putting all the weight of a PhD the thesis in a particular
phrase of the abstract, without looking the authors perspective about
why he puts a particular origin on that place, it's not a good reading
practice. So I'm glad that you will give the deep reading that this
particular deep research deserves, particularly in a world where almost
all introductions to computing environments are from the technical
perspective (performance, applications etc), so Maxwell's work is
refreshing and needed.
Cheers,
Offray
On 17/01/23 1:23, mayuresh(a)kathe.in via Pharo-users wrote:
> Hi Offray,
>
> Very kind of you to have shared links to the document: "Tracing the Dynabook".
> That thesis is what I will definitely read through thoroughly, even though it weighs in at 300+ pages.
> But, and a big but, I doubt the validity of the depth of research conducted by John W Maxwell.
> In the opening sentences of his abstract, he errs by stating that:
> The origins of the personal computer are found in an educational vision. Desktop computing
> and multimedia were not first conceived as tools for office workers or media professionalsâ
> they were prototyped as âpersonal dynamic mediaâ for children.
>
> Both of John Maxwell's statements above are "completely" brain-dead.
> To begin with, the origins of the "personal" computer and therefore by extension, "desktop computing" were laid out by the team of Dr Douglas Englebart at SRI and was brilliantly presented in his demonstration in 1968.
> Dr Douglas Englebart conceived of his Online System (NLS) at SRI for the explicit need of "knowledge workers", a term later on stolen by Mr Steve Jobs.
> Also, in case you haven't known, Mr Alan Kay worked as a non-core member of Dr Englebart's team, before being poached by Xerox for PARC.
> If I am not wrong, Mr Alan Kay, back then, was just an intern at SRI.
> Also, I give full credit to Mr Alan Kay for conceiving a message-passing based programming system which morphed into Smalltalk, and even more, I am in awe of Mr Dan Ingalls for having implemented large sections of it, using the crude tools of his day.
>
> I assure you that I will overlook that fundamental flaw in John Maxwell's premise and plow through his entire thesis.
>
> Again, thanks for sharing details regarding John Maxwell's thesis, as well as writing-in your mail outlining the benefits of engaging with Smalltalk/Pharo.
>
> Best regards,
>
> ~Mayuresh
>
>
> On Tuesday, January 17, 2023 06:32 AM IST, Offray Vladimir Luna Cárdenas <offray.luna(a)mutabit.com> wrote:
>
>> Hi Mayuresh,
>>
>> To add a little bit to the excellent answers thread, I would emphasize
>> that the important thing is effectively the how and not the what,
>> despite of some languages excelling at some particular contexts (for
>> example JavaScript being part of the de-facto emergent glued together
>> under pressure "standard"Â for the Web with HTML and CSS being the other
>> two parts of the Manticore) or that, at some point, several of us have
>> listened that all languages being Turing complete are equivalent in such
>> nerdy metric and capable of the same "what", but definitively not of the
>> same how. Even authors like Maxwell in Tracing the Dynabook[1], said
>> that comparing Smalltalk with other computer languages (like Ruby or
>> Python) instead of computer environments misses the point and that a
>> more convenient comparison would be between the Dynabook tradition and
>> the Unix tradition.
>>
>> [1]
>> https://mutabit.com/repos.fossil/grafoscopedia/uv/#Tracing%20the%20Dynabook
>>
>> In the case of Pharo and Smalltalk, I feel them pretty empowering as a
>> way of conceiving computing, where environment, language, tools, apps,
>> conform an explorable/modifiable continuum, instead of all the
>> indirection layers common in the Unix paradigm. This have allow us in
>> the local community to address a set of projects in a pretty different a
>> more agile way to what could be done in languages like Python under Unix
>> (and I tried that combination before confirming my definitive bet for
>> Smalltalk like/inspired metasystems). As a consequence, we have been
>> able to enable grassroots innovation in several topics that fall under
>> the umbrella of civic tech, including: performative writing and
>> (re)publishing, agile data storytelling and visualization, data
>> feminism, civic hacktivism, reproducible research, making "Big Data"
>> approachable, hypertextual resilient community and interpersonal memory
>> and presences, among other topics (see our portfolio at [2]).
>>
>> [2] https://mutabit.com/repos.fossil/offray-blog/uv/bliki/#Portfolio
>>
>> Even when Pharo/Smalltalk are not suited for every context, you can
>> combine them with external tools (for example when some functionality is
>> not implemented in Pharo or for performance reasons). We have being
>> doing that with Nim language, Lua, Pandoc with pretty good results. So
>> you can be as agile as you need and rely on external tools when needed.
>> Pharo is not only a innovative place/tech with a welcoming, vibrant and
>> responding community, but also is becoming a good team player with other
>> tech ecosystems and tools.
>>
>> Hope this helps,
>>
>> Offray
>>
>>
>>
>> On 15/01/23 5:30, Tomaž Turk wrote:
>>> Hi Mayuresh,
>>>
>>> I think that the choice of what programming language one needs to
>>> learn or use depends today from the goals that you have - and these
>>> goals are not only tied to specifiic business projects that you
>>> (might) pursue but also career and self-enrichment missions. Years ago
>>> we had programmers who did their entire career by knowing and using
>>> only one language, however this is nowadays almost impossible, in general.
>>>
>>> As others already nicely put, Pharo and Smalltalk are, also in my own
>>> expeirence, the most beautiful and productive programming languages
>>> and environments. What would be the type of use cases which would be
>>> exemplary for Pharo? Well, I find Pharo to be a general programming
>>> language in its true meaning. You can grasp the diversity of what can
>>> be done by just looking at this list
>>> https://github.com/pharo-open-documentation/awesome-pharo. You can go
>>> close to the machine with uFFI and be very "declarative" with Glorp
>>> and similar packages. You'd like to do the data mining? No problem,
>>> except that everybody talks about Python and R.
>>>
>>> As MIS professor, I'm interested in new technologies, old technolgies
>>> in new settings, always looking for the best ways to do research about
>>> and to teach modern concepts, also challenging myself with real,
>>> "production" cases from the field. Once I learnt the Smalltalk way,
>>> the challenges for me with Pharo were mostly the following:
>>> - For a specific project, you sooner or later bump into a missing
>>> functionality in some package or other. Here, it's true that you can
>>> relatively easy see the inner structures of these packages and add the
>>> functionality that you need. The challenge here is grasping the
>>> architecture model and development patterns that the original
>>> contrubutors and the community already "engraved" into the package,
>>> trying to understand it and to follow the same patterns - i.e. to
>>> participate in a constructive manner. My case: PharoWin32 and PharoCOM
>>> <https://github.com/tesonep/pharo-com>, I had to add the functionality
>>> that I needed to work on PharoADO <https://github.com/eftomi/PharoADO>.
>>> - There is a constant lag of documentation publishing activities which
>>> cannot follow the actual development; typical examples that I stumbled
>>> across are Pharo Spec2 book (but it can be "replaced" by excellent
>>> Spec Handbook
>>> <https://github.com/pharo-spec/Spec/blob/Pharo11/spec2.md#SpStyleClass>),
>>> the second one the deeper settings of Seaside framework that I needed
>>> for production environment.
>>>
>>> For these challenges, you can always count on really helpful
>>> community, however it is time consuming and eats away the positive
>>> side of productivity gains that are brought by the language itself.
>>>
>>> So, if you need some occupation, not necessarily one from which you
>>> would demand financial returns as you put, I suggest that you choose a
>>> couple of small projects just to try it out and see what happens.
>>> Pharo is a heavy addition to one's self-enrichment in the sense of not
>>> learning the tools but learning the concepts and "the big picture".
>>> Nice examples are the book Learning Object-Oriented Programming,
>>> Design and TDD <http://books.pharo.org/> and Pharo MOOC
>>> <https://mooc.pharo.org/>. If you pursue into more serious projects
>>> (research or productionwise), the community would be grateful.
>>>
>>> Best wishes,
>>> Tomaz
Jan. 17, 2023
Re: Sacrilegeous question : what are compelling use cases for Pharo
by Richard O'Keefe
Much sympathy for your life situation.
Most of the Smalltalk code I personally develop is developed using a
classic text
editor, is batch compiled, and runs headless. Smalltalk is *STILL* an
amazing language
without the "addictive" IDE. (In fact the more "conventional" Smalltalk
systems I use
have sufficiently different IDEs that I experience considerable friction
using the IDE.)
I'm on the fringes of the High Performance Computing world. This is quite
dramatically
different from most programming, and in some interesting ways. The
dominant languages
are Fortran, C, and C++ with extensions such as OpenMP and OpenACC and of
course "transport"
layers like MPI. These languages have *serious* optimising compilers
working hard to get
the best out of vectorised instructions, GPUs, even FPGAs, and clusters.
There are also
dialects like SYCL and Cilk. As an example of the kind of application,
consider the
COVID epidemiological model developed by Neil Ferguson's team in the UK,
which was very
influential in setting UK government policy (lockdowns). This is about 10
000 SLOC of
C++ with much use of OpenMP for parallelism. This isn't "bet your
business" software;
this is "bet your whole ECONOMY" software. It is, in the 1970s sense,
"structured". It
is, in the peculiarly C++ sense, "object oriented". And it is very hard
for me to
figure out what is going on (despite having tracked C++ since cfront days).
What does this have to do with Smalltalk?
First, Smalltalk is not an HPC language. If you want to develop
computationally
demanding code, you might prototype it in Smalltalk, but you are not going
to deploy.
Second, that doesn't necessarily preclude the use of Smalltalk in HPC
environments.
People seriously use Python (despite Python's single-thread slowness),
Matlab, and
R for HPC problems. What they do is wrap Fortran/C/C++ data structures and
call
Fortran/C/C++ code to manipulate them, basically using Python or Matlab or
whatever
to direct the low level code.
Third, just imagine the fun of debugging code like this. You don't really
want to
write Fortran (even Fortran'08) or C++ (even C++17) by hand; it's ok as
"portable
parallel assembler".
Fourth, in order to configure and customise software like this, you really
want
a decent interactive modelling language. (For example, the CovidSim
program uses
data loaded *once* from WorldPop. I haven't yet found anything in the
distribution
to update this.)
Fifth, there's the whole "Embedded Domain-Specific Language" thing. There
has been
some impressive work done on generating low level code inside functinoal
programming
languages.
Thus I hypothesise that there is room for Smalltalk as a tool for
*generating* and
configuring HPC code.
My main worry is that when it comes to "bet your whole economy" software and
worse still, "bet the entire global economy and human happiness for
centuries"
software like climate models, it's appropriate to use the very highest
quality
assurance tools practical, including *serious* verification. That's not
common
practice. CovidSim has 'assert' statements in just two files. Generation
via
Smalltalk wouldn't be *worse*. But could it be *better* ?
What is the state of the art in verification tools
- written in Smalltalk?
- available (via FFI or otherwise) *through* Smalltalk?
- available in any form *for* Smalltalk?
(I should probably be looking at MOOSE but am too stupid to know how to
start.)
On Sun, 15 Jan 2023 at 19:11, mayuresh(a)kathe.in via Pharo-users <
pharo-users(a)lists.pharo.org> wrote:
> Hello,
>
> In response to my email below, I received 5 interesting responses. I thank
> those people for writing-in.
>
> Here is my take on what I've understood and why I am still hesitant to go
> along.
> My comments on those responses are further below, but, at the moment, let
> me explain my situation.
>
> I am a 46 year-old who has been programming computers since the age of 16.
> I used to be a highly sought-after programmer till the year 2000, when due
> to circumstances beyond my control, my life and career got destroyed
> completely.
> In fact, I was so highly valued, that in spite of me being from India, I
> was pursued by Verizon US.
> I am now confined to my home (mostly) and I have very little to do, in the
> past 12 years I have not programmed anything beyond a basic prime-number
> tester and a fibonacci-sequence generator in C.
> I am getting my life back in order and I need some occupation, though, not
> necessarily one from which I would demand financial returns.
> I have been dilly-dallying on a decision, primarily because I am unable to
> take a call on whether to pursue my love for the low-level (x64 assembler +
> Forth) or the extremely high-level (work involving reasoning using symbolic
> inference) using a Smalltalk (either Squeak or Pharo).
>
> The above is not meant to elicit sympathy, but has been tacked-in just to
> give potential advisers an idea about my state.
>
> Onward to my take on the responses I received to my first email.
>
> As Noury Bouraqadi and Stephane Ducasse mentioned:
> It's not about what you can do, but it's about how you do it.
> I'd say, that is the basic problem with all Smalltalk aficionados.
> The whole environment is such a joy to work with that it is addictive, to
> the extent that developers forget that it is the "what you can do" which is
> of utmost importance.
>
> Jupiter Jones email provided the most amount of real-world use-cases.
> Though, I am interested in understanding how to use Pharo as the
> development tool to be able to release code via GemStone Smalltalk.
> Is it so that Seaside runs identically on Pharo as well as GemStone
> Smalltalk?
> So, in a sense, Seaside would to Smalltalk, what "Ruby on Rails" is to
> Ruby.
>
> Tim Mackinnon is very correct in observing that relative to C# and Swift,
> Smalltalk (and hence Pharo) is very compact, simple and approachable.
> Though, I did not understand his statement about conditional logic
> becoming easier to understand after working especially with Smalltalk.
> Would he care to elaborate?
> Also, on Tim's allusion to Lisp being a cousin, well, Smalltalkers had
> better acknowledge the fact that most Lispers "look down" upon Smalltalk
> and do not spare any opportunity to berate its users/developers (this is
> from personal experience).
>
> Along those lines, I would also like to get an explanation from Jupiter
> Jones' for "how do you do an if/then?" which as he states leads to a
> "mind-blown" moment.
>
> Thank you,
>
> ~Mayuresh
>
> On Saturday, January 14, 2023 01:31 PM IST, "mayuresh(a)kathe.in via
> Pharo-users" <pharo-users(a)lists.pharo.org> wrote:
>
> > Hello,
> >
> > This isn't a mail intended to troll this community.
> >
> > I am genuinely curious about what would be the type of use cases which
> would be exemplary for Pharo?
> >
> > Now-a-days, anything one could have accomplished solely with Smalltalk
> (and hence Pharo) can be accomplished with a number of modern programming
> languages and their associated frameworks, e.g. Google's Dart with Flutter,
> Apple Swift with SwiftUI, Microsoft's C# with WinUI.
> > And such languages and their associated frameworks are built from the
> ground-up for a particular platform, while Pharo does not have any such
> targets, which usually renders graphical applications built using Pharo to
> "look like" aliens.
> >
> > What does stand-out regarding Smalltalk (and hence Pharo) is the
> superior developer experience furnished as a result of the true object
> system combined with a full graphical environment.
> > In addition to that, Pharo, specifically, provides advanced tools like
> Git integration, etc.
> >
> > But, are these things all that there are to be considered enough for
> highlighting the full inherent power of Pharo?
> >
> > Again, apologies if anyone found the subject line as well as the message
> body to be troll-ish. That has not been the intent.
> >
> > Kind regards,
> >
> > ~Mayuresh
>
Jan. 17, 2023
Re: Sacrilegeous question : what are compelling use cases for Pharo
by Richard O'Keefe
Back when I was a University lecturer, I sometimes amused myself by
rewriting student (or other
staff!) Java code in Smalltalk. I generally got about a factor of 6
smaller. Of course, that
was before Java 8, which copied blocks and higher-order collection methods
from Smalltalk.
On Sat, 14 Jan 2023 at 21:01, mayuresh(a)kathe.in via Pharo-users <
pharo-users(a)lists.pharo.org> wrote:
> Hello,
>
> This isn't a mail intended to troll this community.
>
> I am genuinely curious about what would be the type of use cases which
> would be exemplary for Pharo?
>
> Now-a-days, anything one could have accomplished solely with Smalltalk
> (and hence Pharo) can be accomplished with a number of modern programming
> languages and their associated frameworks, e.g. Google's Dart with Flutter,
> Apple Swift with SwiftUI, Microsoft's C# with WinUI.
> And such languages and their associated frameworks are built from the
> ground-up for a particular platform, while Pharo does not have any such
> targets, which usually renders graphical applications built using Pharo to
> "look like" aliens.
>
> What does stand-out regarding Smalltalk (and hence Pharo) is the superior
> developer experience furnished as a result of the true object system
> combined with a full graphical environment.
> In addition to that, Pharo, specifically, provides advanced tools like Git
> integration, etc.
>
> But, are these things all that there are to be considered enough for
> highlighting the full inherent power of Pharo?
>
> Again, apologies if anyone found the subject line as well as the message
> body to be troll-ish. That has not been the intent.
>
> Kind regards,
>
> ~Mayuresh
>
Jan. 17, 2023
Re: [Pharo-users] Re: Sacrilegeous question : what are compelling use cases for Pharo
by mayuresh@kathe.in
Hi Offray,
Very kind of you to have shared links to the document: "Tracing the Dynabook".
That thesis is what I will definitely read through thoroughly, even though it weighs in at 300+ pages.
But, and a big but, I doubt the validity of the depth of research conducted by John W Maxwell.
In the opening sentences of his abstract, he errs by stating that:
The origins of the personal computer are found in an educational vision. Desktop computing
and multimedia were not first conceived as tools for office workers or media professionalsâ
they were prototyped as âpersonal dynamic mediaâ for children.
Both of John Maxwell's statements above are "completely" brain-dead.
To begin with, the origins of the "personal" computer and therefore by extension, "desktop computing" were laid out by the team of Dr Douglas Englebart at SRI and was brilliantly presented in his demonstration in 1968.
Dr Douglas Englebart conceived of his Online System (NLS) at SRI for the explicit need of "knowledge workers", a term later on stolen by Mr Steve Jobs.
Also, in case you haven't known, Mr Alan Kay worked as a non-core member of Dr Englebart's team, before being poached by Xerox for PARC.
If I am not wrong, Mr Alan Kay, back then, was just an intern at SRI.
Also, I give full credit to Mr Alan Kay for conceiving a message-passing based programming system which morphed into Smalltalk, and even more, I am in awe of Mr Dan Ingalls for having implemented large sections of it, using the crude tools of his day.
I assure you that I will overlook that fundamental flaw in John Maxwell's premise and plow through his entire thesis.
Again, thanks for sharing details regarding John Maxwell's thesis, as well as writing-in your mail outlining the benefits of engaging with Smalltalk/Pharo.
Best regards,
~Mayuresh
On Tuesday, January 17, 2023 06:32 AM IST, Offray Vladimir Luna Cárdenas <offray.luna(a)mutabit.com> wrote:
> Hi Mayuresh,
>
> To add a little bit to the excellent answers thread, I would emphasize
> that the important thing is effectively the how and not the what,
> despite of some languages excelling at some particular contexts (for
> example JavaScript being part of the de-facto emergent glued together
> under pressure "standard"Â for the Web with HTML and CSS being the other
> two parts of the Manticore) or that, at some point, several of us have
> listened that all languages being Turing complete are equivalent in such
> nerdy metric and capable of the same "what", but definitively not of the
> same how. Even authors like Maxwell in Tracing the Dynabook[1], said
> that comparing Smalltalk with other computer languages (like Ruby or
> Python) instead of computer environments misses the point and that a
> more convenient comparison would be between the Dynabook tradition and
> the Unix tradition.
>
> [1]
> https://mutabit.com/repos.fossil/grafoscopedia/uv/#Tracing%20the%20Dynabook
>
> In the case of Pharo and Smalltalk, I feel them pretty empowering as a
> way of conceiving computing, where environment, language, tools, apps,
> conform an explorable/modifiable continuum, instead of all the
> indirection layers common in the Unix paradigm. This have allow us in
> the local community to address a set of projects in a pretty different a
> more agile way to what could be done in languages like Python under Unix
> (and I tried that combination before confirming my definitive bet for
> Smalltalk like/inspired metasystems). As a consequence, we have been
> able to enable grassroots innovation in several topics that fall under
> the umbrella of civic tech, including: performative writing and
> (re)publishing, agile data storytelling and visualization, data
> feminism, civic hacktivism, reproducible research, making "Big Data"
> approachable, hypertextual resilient community and interpersonal memory
> and presences, among other topics (see our portfolio at [2]).
>
> [2] https://mutabit.com/repos.fossil/offray-blog/uv/bliki/#Portfolio
>
> Even when Pharo/Smalltalk are not suited for every context, you can
> combine them with external tools (for example when some functionality is
> not implemented in Pharo or for performance reasons). We have being
> doing that with Nim language, Lua, Pandoc with pretty good results. So
> you can be as agile as you need and rely on external tools when needed.
> Pharo is not only a innovative place/tech with a welcoming, vibrant and
> responding community, but also is becoming a good team player with other
> tech ecosystems and tools.
>
> Hope this helps,
>
> Offray
>
>
>
> On 15/01/23 5:30, Tomaž Turk wrote:
> > Hi Mayuresh,
> >
> > I think that the choice of what programming language one needs to
> > learn or use depends today from the goals that you have - and these
> > goals are not only tied to specifiic business projects that you
> > (might) pursue but also career and self-enrichment missions. Years ago
> > we had programmers who did their entire career by knowing and using
> > only one language, however this is nowadays almost impossible, in general.
> >
> > As others already nicely put, Pharo and Smalltalk are, also in my own
> > expeirence, the most beautiful and productive programming languages
> > and environments. What would be the type of use cases which would be
> > exemplary for Pharo? Well, I find Pharo to be a general programming
> > language in its true meaning. You can grasp the diversity of what can
> > be done by just looking at this list
> > https://github.com/pharo-open-documentation/awesome-pharo. You can go
> > close to the machine with uFFI and be very "declarative" with Glorp
> > and similar packages. You'd like to do the data mining? No problem,
> > except that everybody talks about Python and R.
> >
> > As MIS professor, I'm interested in new technologies, old technolgies
> > in new settings, always looking for the best ways to do research about
> > and to teach modern concepts, also challenging myself with real,
> > "production" cases from the field. Once I learnt the Smalltalk way,
> > the challenges for me with Pharo were mostly the following:
> > - For a specific project, you sooner or later bump into a missing
> > functionality in some package or other. Here, it's true that you can
> > relatively easy see the inner structures of these packages and add the
> > functionality that you need. The challenge here is grasping the
> > architecture model and development patterns that the original
> > contrubutors and the community already "engraved" into the package,
> > trying to understand it and to follow the same patterns - i.e. to
> > participate in a constructive manner. My case: PharoWin32 and PharoCOM
> > <https://github.com/tesonep/pharo-com>, I had to add the functionality
> > that I needed to work on PharoADO <https://github.com/eftomi/PharoADO>.
> > - There is a constant lag of documentation publishing activities which
> > cannot follow the actual development; typical examples that I stumbled
> > across are Pharo Spec2 book (but it can be "replaced" by excellent
> > Spec Handbook
> > <https://github.com/pharo-spec/Spec/blob/Pharo11/spec2.md#SpStyleClass>),
> > the second one the deeper settings of Seaside framework that I needed
> > for production environment.
> >
> > For these challenges, you can always count on really helpful
> > community, however it is time consuming and eats away the positive
> > side of productivity gains that are brought by the language itself.
> >
> > So, if you need some occupation, not necessarily one from which you
> > would demand financial returns as you put, I suggest that you choose a
> > couple of small projects just to try it out and see what happens.
> > Pharo is a heavy addition to one's self-enrichment in the sense of not
> > learning the tools but learning the concepts and "the big picture".
> > Nice examples are the book Learning Object-Oriented Programming,
> > Design and TDD <http://books.pharo.org/> and Pharo MOOC
> > <https://mooc.pharo.org/>. If you pursue into more serious projects
> > (research or productionwise), the community would be grateful.
> >
> > Best wishes,
> > Tomaz
Jan. 17, 2023
Re: Sacrilegeous question : what are compelling use cases for Pharo
by Offray Vladimir Luna Cárdenas
Hi Mayuresh,
To add a little bit to the excellent answers thread, I would emphasize
that the important thing is effectively the how and not the what,
despite of some languages excelling at some particular contexts (for
example JavaScript being part of the de-facto emergent glued together
under pressure "standard"Â for the Web with HTML and CSS being the other
two parts of the Manticore) or that, at some point, several of us have
listened that all languages being Turing complete are equivalent in such
nerdy metric and capable of the same "what", but definitively not of the
same how. Even authors like Maxwell in Tracing the Dynabook[1], said
that comparing Smalltalk with other computer languages (like Ruby or
Python) instead of computer environments misses the point and that a
more convenient comparison would be between the Dynabook tradition and
the Unix tradition.
[1]
https://mutabit.com/repos.fossil/grafoscopedia/uv/#Tracing%20the%20Dynabook
In the case of Pharo and Smalltalk, I feel them pretty empowering as a
way of conceiving computing, where environment, language, tools, apps,
conform an explorable/modifiable continuum, instead of all the
indirection layers common in the Unix paradigm. This have allow us in
the local community to address a set of projects in a pretty different a
more agile way to what could be done in languages like Python under Unix
(and I tried that combination before confirming my definitive bet for
Smalltalk like/inspired metasystems). As a consequence, we have been
able to enable grassroots innovation in several topics that fall under
the umbrella of civic tech, including: performative writing and
(re)publishing, agile data storytelling and visualization, data
feminism, civic hacktivism, reproducible research, making "Big Data"
approachable, hypertextual resilient community and interpersonal memory
and presences, among other topics (see our portfolio at [2]).
[2] https://mutabit.com/repos.fossil/offray-blog/uv/bliki/#Portfolio
Even when Pharo/Smalltalk are not suited for every context, you can
combine them with external tools (for example when some functionality is
not implemented in Pharo or for performance reasons). We have being
doing that with Nim language, Lua, Pandoc with pretty good results. So
you can be as agile as you need and rely on external tools when needed.
Pharo is not only a innovative place/tech with a welcoming, vibrant and
responding community, but also is becoming a good team player with other
tech ecosystems and tools.
Hope this helps,
Offray
On 15/01/23 5:30, Tomaž Turk wrote:
> Hi Mayuresh,
>
> I think that the choice of what programming language one needs to
> learn or use depends today from the goals that you have - and these
> goals are not only tied to specifiic business projects that you
> (might) pursue but also career and self-enrichment missions. Years ago
> we had programmers who did their entire career by knowing and using
> only one language, however this is nowadays almost impossible, in general.
>
> As others already nicely put, Pharo and Smalltalk are, also in my own
> expeirence, the most beautiful and productive programming languages
> and environments. What would be the type of use cases which would be
> exemplary for Pharo? Well, I find Pharo to be a general programming
> language in its true meaning. You can grasp the diversity of what can
> be done by just looking at this list
> https://github.com/pharo-open-documentation/awesome-pharo. You can go
> close to the machine with uFFI and be very "declarative" with Glorp
> and similar packages. You'd like to do the data mining? No problem,
> except that everybody talks about Python and R.
>
> As MIS professor, I'm interested in new technologies, old technolgies
> in new settings, always looking for the best ways to do research about
> and to teach modern concepts, also challenging myself with real,
> "production" cases from the field. Once I learnt the Smalltalk way,
> the challenges for me with Pharo were mostly the following:
> - For a specific project, you sooner or later bump into a missing
> functionality in some package or other. Here, it's true that you can
> relatively easy see the inner structures of these packages and add the
> functionality that you need. The challenge here is grasping the
> architecture model and development patterns that the original
> contrubutors and the community already "engraved" into the package,
> trying to understand it and to follow the same patterns - i.e. to
> participate in a constructive manner. My case: PharoWin32 and PharoCOM
> <https://github.com/tesonep/pharo-com>, I had to add the functionality
> that I needed to work on PharoADO <https://github.com/eftomi/PharoADO>.
> - There is a constant lag of documentation publishing activities which
> cannot follow the actual development; typical examples that I stumbled
> across are Pharo Spec2 book (but it can be "replaced" by excellent
> Spec Handbook
> <https://github.com/pharo-spec/Spec/blob/Pharo11/spec2.md#SpStyleClass>),
> the second one the deeper settings of Seaside framework that I needed
> for production environment.
>
> For these challenges, you can always count on really helpful
> community, however it is time consuming and eats away the positive
> side of productivity gains that are brought by the language itself.
>
> So, if you need some occupation, not necessarily one from which you
> would demand financial returns as you put, I suggest that you choose a
> couple of small projects just to try it out and see what happens.
> Pharo is a heavy addition to one's self-enrichment in the sense of not
> learning the tools but learning the concepts and "the big picture".
> Nice examples are the book Learning Object-Oriented Programming,
> Design and TDD <http://books.pharo.org/> and Pharo MOOC
> <https://mooc.pharo.org/>. If you pursue into more serious projects
> (research or productionwise), the community would be grateful.
>
> Best wishes,
> Tomaz
Jan. 17, 2023
UK Smalltalk User Group Meeting - 25th January 2023
by Giovanni Corriga
For the first UKSTUG online meeting of the year, Stéphane Rollandin will
talk to us about muO: musical objects for Squeak (
http://www.zogotounga.net/comp/squeak/sqgeo.htm ).
The presentation will focus on some of the interactive tools and subsystems
widely used in muO, that are of interest in their own right, and
potentially useful to others.
The main emphasis will be on the large family of zoomable fields, which are
modular plotting editors. Stéphane will demonstrate the workflow they are
designed for, and show in what sense it is a seamless and natural
exploitation of the Morphic framework.
The code for these tools is somewhat entangled with the muO package, so
Stéphane will also provide a Squeak image taylored to help people find
their way there.
Stéphane Rollandin has been doing independent research on software for
musical composition and representation for the last 20 years, during his
whole careeer as a stay-at-home father.
After developing the GeoMaestro system for KeyKit, and the Csound-x package
for Emacs, he was introduced to Smalltalk and never looked back. Besides
muO, he developed for Squeak a modular Lisp interpreter, the
LambdaMessageSend framework and a few games. He is now working on an
experimental game engine with an emphasis on procedural generation and
complex autonomous agents.
He was formally educated in physics, and his other artistic ventures are in
photography and aikido. His music is freely available online (
https://stephanerollandin.bandcamp.com/ ).
Born in Marseille, he currently lives in the southern French Alps.
This will be an online meeting from home.
If you'd like to join us, please sign up in advance on the meeting's Meetup
page ( https://www.meetup.com/ukstug/events/290746320/ ) to receive the
meeting details.
Jan. 16, 2023
Re: Sacrilegeous question : what are compelling use cases for Pharo
by Stewart MacLean
^ThumbsUpEmoji new display
On Sun, Jan 15, 2023 at 11:30 PM Tomaž Turk <tomazz.turk(a)gmail.com> wrote:
> Hi Mayuresh,
>
> I think that the choice of what programming language one needs to learn or
> use depends today from the goals that you have - and these goals are not
> only tied to specifiic business projects that you (might) pursue but also
> career and self-enrichment missions. Years ago we had programmers who did
> their entire career by knowing and using only one language, however this is
> nowadays almost impossible, in general.
>
> As others already nicely put, Pharo and Smalltalk are, also in my own
> expeirence, the most beautiful and productive programming languages and
> environments. What would be the type of use cases which would be exemplary
> for Pharo? Well, I find Pharo to be a general programming language in its
> true meaning. You can grasp the diversity of what can be done by just
> looking at this list
> https://github.com/pharo-open-documentation/awesome-pharo. You can go
> close to the machine with uFFI and be very "declarative" with Glorp and
> similar packages. You'd like to do the data mining? No problem, except that
> everybody talks about Python and R.
>
> As MIS professor, I'm interested in new technologies, old technolgies in
> new settings, always looking for the best ways to do research about and to
> teach modern concepts, also challenging myself with real, "production"
> cases from the field. Once I learnt the Smalltalk way, the challenges for
> me with Pharo were mostly the following:
> - For a specific project, you sooner or later bump into a missing
> functionality in some package or other. Here, it's true that you can
> relatively easy see the inner structures of these packages and add the
> functionality that you need. The challenge here is grasping the
> architecture model and development patterns that the original contrubutors
> and the community already "engraved" into the package, trying to understand
> it and to follow the same patterns - i.e. to participate in a constructive
> manner. My case: PharoWin32 and PharoCOM
> <https://github.com/tesonep/pharo-com>, I had to add the functionality
> that I needed to work on PharoADO <https://github.com/eftomi/PharoADO>.
> - There is a constant lag of documentation publishing activities which
> cannot follow the actual development; typical examples that I stumbled
> across are Pharo Spec2 book (but it can be "replaced" by excellent Spec
> Handbook
> <https://github.com/pharo-spec/Spec/blob/Pharo11/spec2.md#SpStyleClass>),
> the second one the deeper settings of Seaside framework that I needed for
> production environment.
>
> For these challenges, you can always count on really helpful community,
> however it is time consuming and eats away the positive side of
> productivity gains that are brought by the language itself.
>
> So, if you need some occupation, not necessarily one from which you would
> demand financial returns as you put, I suggest that you choose a couple of
> small projects just to try it out and see what happens. Pharo is a heavy
> addition to one's self-enrichment in the sense of not learning the tools
> but learning the concepts and "the big picture". Nice examples are the book Learning
> Object-Oriented Programming, Design and TDD <http://books.pharo.org/> and Pharo
> MOOC <https://mooc.pharo.org/>. If you pursue into more serious projects
> (research or productionwise), the community would be grateful.
>
> Best wishes,
> Tomaz
>
>
Jan. 16, 2023
Re: New to Pharo: Some questions
by Serge Stinckwich
Hi Juan,
you might have a look to PolyMath:
https://github.com/PolyMathOrg/PolyMath
We are trying to build something equivalent to pandas et other scientific
libraries in Python.
Arms to help us are welcome ;-)
Regards,
On Mon, 16 Jan 2023 at 04:10, Juan Cruz <juan.crux(a)outlook.com> wrote:
> Hi,
> Thanks for your response. The size of datasets is not an issue, but my
> intention is not to bridge to Python. The reason behind the question is
> that (and sorry for those who love it) I think Python is an ugly language.
> It's very powerful due to its libraries: Yes. But as a language, I find it
> ugly and not very expressive. Besides, the fact that indentation has syntax
> meaning is really annoying.
> I tried Haskell, beautiful. Also Closure and Ruby. Love those. But
> Smalltalk caught my attention as I read in different sources that it was
> actively used in the financial industry, so I figure out that there were
> some advanced libraries out there...Probably they exist and are proprietary
> or secret haha.
> Thanks so much I will keep toying with Pharo, these days have been really
> fun. It is really fun to code in Pharo...and easy!!
> No need to set up environments, select editors, plugins, or
> debuggers..it´s all there!
> Have a great Sunday
> Juan P. Cruz
>
> ------------------------------
> *From:* Jupiter Jones <jupiter.jones(a)mail.com>
> *Sent:* Sunday, January 15, 2023 3:20 AM
> *To:* Any question about pharo is welcome <pharo-users(a)lists.pharo.org>
> *Subject:* [Pharo-users] Re: New to Pharo: Some questions
>
> This may seem a little over simplistic, but the basics of what NumPy and
> Pandas offer can be achieved with the standard Smalltalk collection
> hierarchy. If your data fits in memory, then Pharo will handle the job. If
> not, then GemStone may do the trick.
>
> That said, thereâs a bunch of quite specialised stuff in those libraries,
> some of which is not trivial to implement. Or you may have gigantic
> existing datasets that you want to leverage. So you can always call the
> python libraries directly from Smalltalk using the PythonBridge [1]. Itâs
> been a long time since Iâve used it, so hopefully someone else can let you
> know if itâs still well maintained.
>
> There are a bunch of options for plotting. Maybe start by checking out
> Roassal [2].
>
> You may even want to check out Glamorous Toolkit [3]. It may change your
> life ;)
>
> [1] https://objectprofile.github.io/PythonBridge/
> [2] http://agilevisualization.com
> [3] https://gtoolkit.com
>
>
> On 15 Jan 2023, at 12:10 pm, Juan Cruz <juan.crux(a)outlook.com> wrote:
>
> Hello,
> I hope everyone is doing well. I am new to Pharo but not to programming. I
> have a background in Python, and Javascript mostly. I mostly use Python due
> to the data, plotting, and math libraries.
> But after toying a little with Pharo, the language I came to appreciate
> its beauty of it and how expressive the language is.
> I was wondering if there are libraries equivalent to Matplotlib, Pandas,
> Numpy, etc. I mostly apply Python to finance -in particular to quantitative
> finance.
> I read somewhere that top investment banks use Smalltalk as their secret
> weapon, so I'm sure that there are some users that have some insights to
> share on this subject.
> Thanks to all and all the best for this 2023.
> Greetings
> Juan P. Cruz
>
>
>
--
Serge Stinckwic
hâ
https://twitter.com/SergeStinckwich
â
Jan. 16, 2023