[Pharo-project] Popularity of Smalltalk in Software Industry

Igor Stasenko siguctua at gmail.com
Thu May 5 17:25:15 EDT 2011


On 5 May 2011 21:39, Jimmie Houchin <jlhouchin at gmail.com> wrote:
> On 5/5/2011 12:21 PM, Igor Stasenko wrote:
>>
>> On 5 May 2011 18:57, Jimmie Houchin<jlhouchin at gmail.com>  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. :)
>

Haha.. i have strong suspicion that here you are talking about quite
specific set of libraries,
which using OLE/COM interfaces. Indeed, one could implement an
automatic "import/connect" tool
for it, because a library itself contain enough information reflecting
it interface(s).
You can check Dolphin smalltalk which works only on windows and has
integrated solution for that for years:
In same way like you described, you just pick the library, click "ok"
and its done & ready for use.

But that would be too easy if you could do same with any other library
in your system.
So, if you feel adventurous, try to check what Python can do with
libraries like Kernel32.dll
or User32.dll. I am sure it can do as little as Smalltalk in this
regard, but you are free to check it yourself :)


> Jimmie
>

-- 
Best regards,
Igor Stasenko AKA sig.




More information about the Pharo-dev mailing list