[Pharo-project] Popularity of Smalltalk in Software Industry

laurent laffont laurent.laffont at gmail.com
Fri May 6 01:11:08 EDT 2011


On Fri, May 6, 2011 at 3:19 AM, Igor Stasenko <siguctua at gmail.com> wrote:

> On 6 May 2011 01:03, Jimmie Houchin <jlhouchin at gmail.com> wrote:
> > On 5/5/2011 4:25 PM, Igor Stasenko wrote:
> >
> > 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.
> >
>
> So, read about it. It doesn't bites. :)
>
> > As I said, I am totally unaware of the limitations of the system, but
> that
> > it did what I need, and would have liked to do that from Pharo/Squeak. I
> > know Dolphin has/had certain capabilities. But I don't prefer to use
> > non-open source software if at all possible for development. I also am
> very
> > preferential towards cross-platform software. Dolphin fails on all
> accounts.
> > I would choose my Python/Pharo blend over Dolphin any day. I know it
> > introduces some pain, but I am willing to accept the pain. I like tools
> that
> > allow me to use them where ever I am and whatever I am doing.
> >
> > However, that said, when I look at the facilities Python offers for such
> > capabilities it on appearances looks quite impressive.
> >
> > http://docs.python.org/library/ctypes.html
> >
> > """
> > ctypes is a foreign function library for Python. It provides C compatible
> > data types, and allows calling functions in DLLs or shared libraries. It
> can
> > be used to wrap these libraries in pure Python.
> >
> > 15.18.1.1. Loading dynamic link libraries
> >
> > ctypes exports the cdll, and on Windows windll and oledll objects, for
> > loading dynamic link libraries.
> >
> > You load libraries by accessing them as attributes of these objects. cdll
> > loads libraries which export functions using the standard cdecl calling
> > convention, while windll libraries call functions using the stdcall
> calling
> > convention. oledll also uses the stdcall calling convention, and assumes
> the
> > functions return a Windows HRESULT error code. The error code is used to
> > automatically raise a WindowsError exception when the function call
> fails.
> >
> > Here are some examples for Windows. Note that msvcrt is the MS standard C
> > library containing most standard C functions, and uses the cdecl calling
> > convention:
> >
> >>>> from ctypes import *
> >>>> print windll.kernel32 # doctest: +WINDOWS
> > <WinDLL 'kernel32', handle ... at ...>
> >>>> print cdll.msvcrt # doctest: +WINDOWS
> > <CDLL 'msvcrt', handle ... at ...>
> >>>> libc = cdll.msvcrt # doctest: +WINDOWS
> >>>
> >
>
> So? Why do you think that you cannot do the same in Pharo?
> Have you digested what is available before doing it in Python?
>
>
> > """
> >
> > It has examples for windows and linux.
> >
>
> I feel that you are seriously under-informed.
> Just try googling for:
>
> Squeak + FFI
> Alien
>
> NativeBoost
>
> and just check what you can do using it:
>
> http://www.squeaksource.com/NBOpenGL/
>
> also check mail archives.
>
> Forgive me, but i really can't understand , why you can't just look
> for what you need by yourself?
> Are google.com banned by your ISP?
>
> For me this subject is interested in aspect, why this information
> (while being available openly) didn't catch your
> attention , so you using python instead.
> (Okay, you might miss some functionality like being able to
> automatically generate bindings to COM interfaces).
> But again, i am sure that if you surf the net or ask right questions
> on mailing list, you will probably discover that
> there is already work being done in that direction.
>


Indeed, one thing FFI / Alien / NB don't have is a documentation as nice as
http://docs.python.org/library/ctypes.html  in
http://book.pharo-project.org/

FFI / Alien / NB may be powerful, it seems I've never managed to do what I
want, even with all mailing lists support (search mails on yaz / z3950 or
id3taglib). In Python it works on OSX out of the box (I've just tried :)


But when I was working with Python and Ruby several years ago things was
easy (for my needs), I think because of documentation.

Laurent


And at last, if you feel that there is missing some key functionality
> which you want, and you expect that it is also
> could be useful to community, you can always implement it and share
> with people (instead of using Python ;).
> So, next who will come after you won't find himself in a desert with
> couple of oasises few hundred miles away.
>
> > I didn't read it all as I am unqualified to assess its capabilities or
> > limitations, nor do I presently need it as the win32 extensions do easily
> > and well what I presently need to do.
> >
> > Hopefully it can inform us as to what is expected and doable in
> alternative
> > languages which are dynamic like Smalltalk.
> >
> > Jimmie
> >
>
>
>
> --
> Best regards,
> Igor Stasenko AKA sig.
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.pharo.org/pipermail/pharo-dev_lists.pharo.org/attachments/20110506/415be375/attachment.html>


More information about the Pharo-dev mailing list