I don’t want to fall too far down the language popularity rabbit-hole, but I think it is worth seeing if Pharo Smalltalk has a viable story.
I’m most interested in how we compare with Python, in particular:
"Python’s popularity is driven in no small part by the vast number of specialized libraries available for it, particularly in the domain of artificial intelligence, where the Keras library is a heavyweight among deep-learning developers: Keras provides an interface to the TensorFlow, CNTK, and Theano deep-learning frameworks and tool kits.”
and:
"dramatic increase in computing power found in microcontrollers means that embedded versions of Python, such as CircuitPython and MicroPython, are becoming increasingly popular among makers.”
I’d love to be able to say, when people challenge me about Smalltalk, that we have those, or the logical equivalent of this.
../Dave
Hi David,
"Python’s popularity is driven in no small part by the vast number of specialized libraries available for it, particularly in the domain of artificial intelligence, where the Keras library https://keras.io/ is a heavyweight among deep-learning developers: Keras provides an interface to the TensorFlow https://www.tensorflow.org/, CNTK https://docs.microsoft.com/en-us/cognitive-toolkit/, and Theano http://www.deeplearning.net/software/theano/ deep-learning frameworks and tool kits.”
and:
"dramatic increase in computing power https://spectrum.ieee.org/geek-life/hands-on/machine-learning-thats-light-enough-for-an-arduino found in microcontrollers means that embedded versions of Python, such as CircuitPython https://spectrum.ieee.org/at-work/tech-careers/scott-shawcroft-is-squeezing-python-into-microcontrollers and MicroPython https://micropython.org/, are becoming increasingly popular among makers.”
I’d love to be able to say, when people challenge me about Smalltalk, that we have those, or the logical equivalent of this.
The Python library catalog is indeed very appealing. Making Python libraries accessible in Smalltalk is an obvious and significant gain for Smalltalk. This is exactly the problem we worked on. We built the Python Bridge, available here:
https://github.com/ObjectProfile/PythonBridge https://github.com/ObjectProfile/PythonBridge
This Python Bridge can be specialized for particular Python libraries, in particular all the AI libraries. We did this for the Keras library:
https://github.com/ObjectProfile/PythonBridge https://github.com/ObjectProfile/PythonBridge
As benefit, you can use Keras (and therefore Google’s tensorflow) without even knowing that you are talking to a Python libraries.
One of the cool aspect of our work, is that it works for both VisualWorks and Pharo, as it was demonstrated at ESUG a few weeks ago.
Cheers,
Alexandre
Hi Alexandre,
I went to look at PythonBridge and it promises to be massively
interesting! Definitely much more systematic than the crude and
primitive PyStGateway I hacked together for the MachineArithmetic package.
However, I must be doing something stupid. As PythonBridge's "Getting
Started" page tells me, I loaded the metacello:
|Metacello new baseline: 'PythonBridge'; repository:
'github://ObjectProfile/PythonBridge/src'; load.|
so now I have PythonBridge master and Python3Generator v2.0.0 in my
Pharo 7 image. Ok nice.
However, PBApplication class does not implement
#installPipenvEnvironment, so
|(Smalltalk at: #PBApplication) installPipenvEnvironment|
results in MNU. In fact there are no implementors of
#installPipenvEnvironment.
How would you suggest to debug this?
Regards,
Boris
On Wed, Sep 11, 2019 at 10:41 AM Boris Shingarov boris@shingarov.com
wrote:
Hi Alexandre,
I went to look at PythonBridge and it promises to be massively
interesting! Definitely much more systematic than the crude and primitive
PyStGateway I hacked together for the MachineArithmetic package.
However, I must be doing something stupid. As PythonBridge's "Getting
Started" page tells me, I loaded the metacello:
Metacello new
baseline: 'PythonBridge';
repository: 'github://ObjectProfile/PythonBridge/src';
load.
so now I have PythonBridge master and Python3Generator v2.0.0 in my Pharo
7 image. Ok nice.
However, PBApplication class does not implement #installPipenvEnvironment,
so
(Smalltalk at: #PBApplication) installPipenvEnvironment
results in MNU. In fact there are no implementors of
#installPipenvEnvironment.
How would you suggest to debug this?
I already got this problem. Normally you don't have to do anymore:
(Smalltalk at: #PBApplication) installPipenvEnvironment
Just run the tests after your load PythonBridge in your image.
Regards,
--
Serge Stinckwic
h
Int. Research Unit
on Modelling/Simulation of Complex Systems (UMMISCO)
Sorbonne University
(SU)
French National Research Institute for Sustainable Development (IRD)
U
niversity of Yaoundé I, Cameroon
"Programs must be written for people to read, and only incidentally for
machines to execute."
https://twitter.com/SergeStinckwich
Hi Boris,
In the current version of PythonBridge it is not required to execute (Smalltalk at: #PBApplication) installPipenvEnvironment since the piping environment is installed automatically on the first start up of the bridge (which may take a couple minutes depending on you machine and connection).
I will review the GitHub pages website because I changed that last week and the change hasn’t come live…
Feel free to ask any doubts and we expect documentation improvements these weeks :)
Cheers!
Alejandro
On Sep 11, 2019, at 5:40 AM, Boris Shingarov boris@shingarov.com wrote:
Hi Alexandre,
I went to look at PythonBridge and it promises to be massively interesting! Definitely much more systematic than the crude and primitive PyStGateway I hacked together for the MachineArithmetic package.
However, I must be doing something stupid. As PythonBridge's "Getting Started" page tells me, I loaded the metacello:
Metacello new
baseline: 'PythonBridge';
repository: 'github://ObjectProfile/PythonBridge/src';
load.
so now I have PythonBridge master and Python3Generator v2.0.0 in my Pharo 7 image. Ok nice.
However, PBApplication class does not implement #installPipenvEnvironment, so
(Smalltalk at: #PBApplication) installPipenvEnvironment
results in MNU. In fact there are no implementors of #installPipenvEnvironment.
How would you suggest to debug this?
Regards,
Boris
Esug-list mailing list
Esug-list@lists.esug.org
http://lists.esug.org/mailman/listinfo/esug-list_lists.esug.org
you have also the solution of vincent arenaga that smoothly let you manipulate Python object in Pharo and the inverse
a bit like a reflective oriented corba layers…
On 11 Sep 2019, at 01:56, Alexandre Bergel abergel@dcc.uchile.cl wrote:
Hi David,
"Python’s popularity is driven in no small part by the vast number of specialized libraries available for it, particularly in the domain of artificial intelligence, where the Keras library https://keras.io/ is a heavyweight among deep-learning developers: Keras provides an interface to the TensorFlow https://www.tensorflow.org/, CNTK https://docs.microsoft.com/en-us/cognitive-toolkit/, and Theano http://www.deeplearning.net/software/theano/ deep-learning frameworks and tool kits.”
and:
"dramatic increase in computing power https://spectrum.ieee.org/geek-life/hands-on/machine-learning-thats-light-enough-for-an-arduino found in microcontrollers means that embedded versions of Python, such as CircuitPython https://spectrum.ieee.org/at-work/tech-careers/scott-shawcroft-is-squeezing-python-into-microcontrollers and MicroPython https://micropython.org/, are becoming increasingly popular among makers.”
I’d love to be able to say, when people challenge me about Smalltalk, that we have those, or the logical equivalent of this.
The Python library catalog is indeed very appealing. Making Python libraries accessible in Smalltalk is an obvious and significant gain for Smalltalk. This is exactly the problem we worked on. We built the Python Bridge, available here:
https://github.com/ObjectProfile/PythonBridge https://github.com/ObjectProfile/PythonBridge
This Python Bridge can be specialized for particular Python libraries, in particular all the AI libraries. We did this for the Keras library:
https://github.com/ObjectProfile/PythonBridge https://github.com/ObjectProfile/PythonBridge
As benefit, you can use Keras (and therefore Google’s tensorflow) without even knowing that you are talking to a Python libraries.
One of the cool aspect of our work, is that it works for both VisualWorks and Pharo, as it was demonstrated at ESUG a few weeks ago.
Cheers,
Alexandre
Esug-list mailing list
Esug-list@lists.esug.org
http://lists.esug.org/mailman/listinfo/esug-list_lists.esug.org
Stéphane Ducasse
http://stephane.ducasse.free.fr
http://www.synectique.eu / http://www.pharo.org
03 59 35 87 52
Assistant: Julie Jonas
FAX 03 59 57 78 50
TEL 03 59 35 86 16
S. Ducasse - Inria
40, avenue Halley,
Parc Scientifique de la Haute Borne, Bât.A, Park Plaza
Villeneuve d'Ascq 59650
France
I often reply to people by saying that if we all use the same tools then we will invent the same.
So this is important to have different approaches.
Because else we need less researchers because they will all come up with the same ideas :)
I also mention that in biology the wealth of an ecosystem is the number of endemic species.
England: 49
Socrota island: 700
guess which one I would keep if I need to choose.
S.
BTW dave it would be cool to have Ryerson part of the Pharo consortium