On 5/5/2011 12:21 PM, Igor Stasenko wrote:
On 5 May 2011 18:57, Jimmie Houchin<[email protected]> wrote:
[Big Snip]
Well said.
Except that i'm not sharing your view that its hard to interface with
foreign libraries.
Its not hard at all. Of course to connect two different worlds, you
need to have knowledge
in both of them. But this requirement not a bit different when you
take any other pair of languages and try to
connect them.
Thanks,
I have no knowledge of either the knowledge or the challenges involved
in using external libraries in Pharo or Squeak. I have no knowledge of
FFI/Alien or using C/C++/C# or compilers.
However, this is my experience in Python.
Navigate to the directory containing the script makepy.py or if it is a
part of your Python's sys.path, execute the script. It generates a
Python module which is on
It pops up a dialogue which prompts you to select the library you wish
to interface.
Then to use in a script simply
import Dispatch
self.mylib = Dispatch("MyLibrary")
This will expose all the functionality of the library.
All provided by the python win32 extensions. It was very successful for
my needs. I do not know what limitations it may or may not have.
Very easy for non-expert programmers. I would love this level of ability
to interface outside libraries in Squeak. But I have no idea the effort
required to automate the generation of a class or classes which
interface the external library.
In my particular instance this is obviously for a Windows library. I
don't know if Python has anything comparable for Linux or OSX.
In this particular instance, Python was enabling for me, for which I am
grateful. Otherwise I might be stuck writing my app in VisualBasic. But
despite my gratefulness, I spend as little time in Python as possible.
Despite Python not requiring a compiler, I really hate going to an
editor and writing code. Then to an interpreter to run code. Hit my
stacktrace. Go back to the editor. Reload the module in the interpreter
and run again, and if that doesn't succeed due to the reload not really
reloading the new code, open in a new interpreter. Ugh!!! Where's my
Smalltalk. Give my live object system. :)
Jimmie