Smalltalk and the list of popular programming languages

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
7 messages Options
Reply | Threaded
Open this post in threaded view
|

Smalltalk and the list of popular programming languages

Dave Mason
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

_______________________________________________
Esug-list mailing list
[hidden email]
http://lists.esug.org/mailman/listinfo/esug-list_lists.esug.org
Reply | Threaded
Open this post in threaded view
|

Re: Smalltalk and the list of popular programming languages

Alexandre Bergel-5
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 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.


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: 


This Python Bridge can be specialized for particular Python libraries, in particular all the AI libraries. We did this for the Keras library:


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
[hidden email]
http://lists.esug.org/mailman/listinfo/esug-list_lists.esug.org
Reply | Threaded
Open this post in threaded view
|

PythonBridge (was: Smalltalk and the list of popular programming languages)

Boris Shingarov

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
[hidden email]
http://lists.esug.org/mailman/listinfo/esug-list_lists.esug.org
Reply | Threaded
Open this post in threaded view
|

Re: PythonBridge (was: Smalltalk and the list of popular programming languages)

SergeStinckwich


On Wed, Sep 11, 2019 at 10:41 AM Boris Shingarov <[hidden email]> 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

_______________________________________________
Esug-list mailing list
[hidden email]
http://lists.esug.org/mailman/listinfo/esug-list_lists.esug.org
Reply | Threaded
Open this post in threaded view
|

Re: PythonBridge (was: Smalltalk and the list of popular programming languages)

Alejandro Infante
In reply to this post by Boris Shingarov
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 <[hidden email]> 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: '<a href="github://ObjectProfile/PythonBridge/src" class="">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
[hidden email]
http://lists.esug.org/mailman/listinfo/esug-list_lists.esug.org


_______________________________________________
Esug-list mailing list
[hidden email]
http://lists.esug.org/mailman/listinfo/esug-list_lists.esug.org
Reply | Threaded
Open this post in threaded view
|

Re: Smalltalk and the list of popular programming languages

Stéphane Ducasse
In reply to this post by Alexandre Bergel-5
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 <[hidden email]> 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 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.


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: 


This Python Bridge can be specialized for particular Python libraries, in particular all the AI libraries. We did this for the Keras library:


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
[hidden email]
http://lists.esug.org/mailman/listinfo/esug-list_lists.esug.org

--------------------------------------------
Stéphane Ducasse
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


_______________________________________________
Esug-list mailing list
[hidden email]
http://lists.esug.org/mailman/listinfo/esug-list_lists.esug.org
Reply | Threaded
Open this post in threaded view
|

Re: Smalltalk and the list of popular programming languages

Stéphane Ducasse
In reply to this post by Dave Mason
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




_______________________________________________
Esug-list mailing list
[hidden email]
http://lists.esug.org/mailman/listinfo/esug-list_lists.esug.org