Discussion:
[Pharo-dev] Smalltalk in a C World
askoh
2013-12-07 03:24:50 UTC
Permalink
http://www.cl.cam.ac.uk/~dc552/papers/SmalltalkInACWorld.pdf

The paper talks about Smalltalk and Objective C coexisting equally in a
software development environment. And by virtual of ObjC compatibility with
C/C++, the whole C world is open to Smalltalk. Isn't this very exciting?
Anyone else noticing this? Can Pragmatic Smalltalk be used to develop a CAD
system using the OpenCascade and Visualization Toolkit (VTK) open source
libraries?

Can this work help us enter the Apple ecosystem?

All the best,
Aik-Siong Koh



--
View this message in context: http://forum.world.st/Smalltalk-in-a-C-World-tp4728217.html
Sent from the Pharo Smalltalk Developers mailing list archive at Nabble.com.
kilon alios
2013-12-07 08:52:05 UTC
Permalink
Pharo can already communicate natively with objective C and all its
libraries via Nativeboost. An example is Mars on Pharo.

http://marsonpharo.wordpress.com/

Nativeboost of course can communicate with C and it even offers an inline
Assembler so you can go down to bare metal having all the speed and
performance you want.
Nativeboost cannot communicate with C++ currently , so it cant use C++
libraries like VTK , however there is a workaround.

It is possible to wrap a C++ to a C DLL (or the equivelant of other OS) ,
thus indirectly Nativeboost can use even C++ libraries. Here is how ->
http://stackoverflow.com/questions/199418/using-c-library-in-c-code

Overall when dealing with C/C++ you have to deal with all sort of
technically issues that you don't have in pharo. The problem also becomes
even worse because C/C++ libraries usually are not made with simplicity in
mind. In the case for example of CAD software with pharo this is of course
doable but you will need to have a very deep understanding how 3d graphics
works which is a highly technically area by itself. So as you can see there
are loads of technically problems to overcome even before worrying about
Pharo.

But none the less its doable.


On Sat, Dec 7, 2013 at 5:24 AM, askoh <askoh at askoh.com> wrote:

> http://www.cl.cam.ac.uk/~dc552/papers/SmalltalkInACWorld.pdf
>
> The paper talks about Smalltalk and Objective C coexisting equally in a
> software development environment. And by virtual of ObjC compatibility with
> C/C++, the whole C world is open to Smalltalk. Isn't this very exciting?
> Anyone else noticing this? Can Pragmatic Smalltalk be used to develop a CAD
> system using the OpenCascade and Visualization Toolkit (VTK) open source
> libraries?
>
> Can this work help us enter the Apple ecosystem?
>
> All the best,
> Aik-Siong Koh
>
>
>
> --
> View this message in context:
> http://forum.world.st/Smalltalk-in-a-C-World-tp4728217.html
> Sent from the Pharo Smalltalk Developers mailing list archive at
> Nabble.com.
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.pharo.org/pipermail/pharo-dev_lists.pharo.org/attachments/20131207/3884dddc/attachment.html>
askoh
2013-12-08 18:20:53 UTC
Permalink
Good that NativeBoost can do what the paper says. How does one debug Pharo
and NativeBoost working together? Can one step in Pharo, encounter
NativeBoost code, the step in C and return to Pharo?

I would like to create addins for CAD programs (Windows for now). The CAD
program starts and calls the addin to be part of the CAD program. User
interactions within the CAD are passed to the addin which then drives the
data or display in the CAD. The addin is a separate DLL or EXE but the user
sees only the CAD with extra capabilities - not as distinct programs. Can
Pharo make such an addin?

Thanks,
Aik-Siong Koh



--
View this message in context: http://forum.world.st/Smalltalk-in-a-C-World-tp4728217p4728573.html
Sent from the Pharo Smalltalk Developers mailing list archive at Nabble.com.
kilon alios
2013-12-08 18:52:47 UTC
Permalink
Sort answer is no , Pharo does not try to replace C/C++. CAD plugins are
indeed dlls and you will need C/C++ for that. I only Know Free Pascal as
another language to generate DLLs but even in that case its extra work.

So if you look for the most direct solution then Pharo wont cut it and
probably most other programming languages.

Theoretically of course its possible , but someone would need to implement
this to make it easy to do and currently AFAIK none has.

Bare in mind that DLLs are strictly a C/C++ invention and definitely not
how highly dynamic languages like Pharo work so there is no direct need for
Pharo to do such thing cause it would complicate the workflow. For instance
you would not want to create a dll for pharo code when you can have an
image and live object that offer far more flexibility of code that can
modify itself even on runtime. People choose dynamic languages for the very
reason that want to avoid such complications and limitations.

If you dont mind workarounds the then answer changes from "no" to "yes".

You could of course create a CAD plugin that triggers pharo and pass
information to it through sockets , pipes or other ways of application
communication. Its a workaround but it works and I have seen it used in 3d
apps. For example in blender that support mainly python addons , I know of
a python addon (city generator addon) that uses Java libraries. In this
case you create a "bridge" between your CAD application and Pharo and you
make the two work together. The good news is that if Pharo crashes , it
wont crash your CAD app so that a good thing about this workaround. The bad
news is that you would be responsible to expose the CAD functionality to
Pharo meaning you will have to create a bridge between pharo and CAD. Of
course you will need to expose only the functionality that your plugin uses
to Pharo so its not as hard as it may sound.


To paraphrase a favorite quote "good coders invent , great coders cheat " ;)

So yes there definetly many roads that lead to Rome. If you are determined
to use Pharo nothing will stop you.

About debugging nativeboost of course you can use the pharo debugger
because nativeboost commands are fully pharo compliant , meaning they are
like everything else, messages and objects. For the machine code generated
by nativeboost you can use a C debugger like gdb that could let you
disassemble the code to see whats wrong with it. Though usually you will
just ask here and Igor that is the expert and creator of nativeboost will
reply back. He is very helpful and never turns down a question ;)



On Sun, Dec 8, 2013 at 8:20 PM, askoh <askoh at askoh.com> wrote:

> Good that NativeBoost can do what the paper says. How does one debug Pharo
> and NativeBoost working together? Can one step in Pharo, encounter
> NativeBoost code, the step in C and return to Pharo?
>
> I would like to create addins for CAD programs (Windows for now). The CAD
> program starts and calls the addin to be part of the CAD program. User
> interactions within the CAD are passed to the addin which then drives the
> data or display in the CAD. The addin is a separate DLL or EXE but the user
> sees only the CAD with extra capabilities - not as distinct programs. Can
> Pharo make such an addin?
>
> Thanks,
> Aik-Siong Koh
>
>
>
> --
> View this message in context:
> http://forum.world.st/Smalltalk-in-a-C-World-tp4728217p4728573.html
> Sent from the Pharo Smalltalk Developers mailing list archive at
> Nabble.com.
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.pharo.org/pipermail/pharo-dev_lists.pharo.org/attachments/20131208/6cffe5bb/attachment-0001.html>
Friedrich Dominicus
2013-12-09 10:09:32 UTC
Permalink
kilon alios <kilon.alios at gmail.com> writes:

> Sort answer is no , Pharo does not try to replace C/C++. CAD plugins
> are indeed dlls and you will need C/C++ for that. I only Know Free
> Pascal as another language to generate DLLs but even in that case its
> extra work.
>
> So if you look for the most direct solution then Pharo wont cut it and
> probably most other programming languages.
>
> Theoretically of course its possible , but someone would need to
> implement this to make it easy to do and currently AFAIK none has.
>
> Bare in mind that DLLs are strictly a C/C++ invention and definitely
> not how highly dynamic languages like Pharo work so there is no direct
> need for Pharo to do such thing cause it would complicate the
> workflow.
I don't this is entirely true. AFAIKT Except Smalltalk can be used for
generateing DLLs. However they are "compiling" to C AFAIKT. I'm quite
sure that one can use ObjectArts Smalltalk also to generate niche Active
X and I bet also shared libraries.

Regards
Friedrich
kilon alios
2013-12-09 10:38:07 UTC
Permalink
this is why i said " Theoretically of course its possible , but someone
would need to implement this to make it easy to do and currently AFAIK
none has.".

Please note I was talking about Pharo.

Even if you take into account Slang , pharo is not compiling to C, it has
actually a completely different ideology to C. C/C++ does what it does
because it favors raw performance, Pharo does what it does because its
favors ease of use , simplicity and flexibility. So its definitely doable
technically but the questions is "do you REALLY want to do this". The sort
answer NO with the exceptions depending on the situation. Because
you don't want to further complicate your life.

On the issue of embedding I think its a good option to have but something I
rather avoid. If you want to know why , then read this very well written
article for python http://twistedmatrix.com/users/glyph/rant/extendit.html.
To sum up extending is just better than embedding because it allow you to
put focus on your language of choice and take full advantage of its merits.

Blender the 3d app , written in C/C++ , embeds python for its addon
architecture. Python makes the addons and also manages the GUI. I can tell
you there are clear advantages to have blender as python library instead
of embedding python inside blender. It would offer a lot
easier customization of blender. But since all developers of Blender are
C/C++ developers , embedding seemed like an "obvious" solution to them.
Mostly because they saw python as a third class citizent in their app. But
with blender addons popping up like mushrooms , python has played such a
central role to Blender that now it compromises 12% of the 1 million lines
of code , blender's code base. 12% might not seem much but once you figure
out that python is generally 2-5 times less verbose than C/C++ it become a
huge number.

Take also to account the world in general move towards dynamic languages
mainly because they make life easier and more manageable. For me its far
more important to improve Nativeboost and create high quality documentation
for it even before considering embedding pharo.


On Mon, Dec 9, 2013 at 12:09 PM, Friedrich Dominicus <
frido at q-software-solutions.de> wrote:

> kilon alios <kilon.alios at gmail.com> writes:
>
> > Sort answer is no , Pharo does not try to replace C/C++. CAD plugins
> > are indeed dlls and you will need C/C++ for that. I only Know Free
> > Pascal as another language to generate DLLs but even in that case its
> > extra work.
> >
> > So if you look for the most direct solution then Pharo wont cut it and
> > probably most other programming languages.
> >
> > Theoretically of course its possible , but someone would need to
> > implement this to make it easy to do and currently AFAIK none has.
> >
> > Bare in mind that DLLs are strictly a C/C++ invention and definitely
> > not how highly dynamic languages like Pharo work so there is no direct
> > need for Pharo to do such thing cause it would complicate the
> > workflow.
> I don't this is entirely true. AFAIKT Except Smalltalk can be used for
> generateing DLLs. However they are "compiling" to C AFAIKT. I'm quite
> sure that one can use ObjectArts Smalltalk also to generate niche Active
> X and I bet also shared libraries.
>
> Regards
> Friedrich
>
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.pharo.org/pipermail/pharo-dev_lists.pharo.org/attachments/20131209/b2c9976e/attachment.html>
btc
2013-12-09 15:40:15 UTC
Permalink
An HTML attachment was scrubbed...
URL: <http://lists.pharo.org/pipermail/pharo-dev_lists.pharo.org/attachments/20131209/a2c1ad16/attachment-0001.html>
kilon alios
2013-12-09 19:48:30 UTC
Permalink
very interesting I wonder whether is pharo related or how easily can be
ported to Pharo.

The funny thing about nativeboost is that because it has its own inline
assembler it is possible to use nativeboost to debug the machine code
generated by nativeboost or to be more precise AsmJit. Of course thats a
manual way of doing this and less ideal than using a dedicated debugging
tool but its definitely an interesting concept. I am also wondering and
imagining things about Shared memory concept , where 2 apps can shared the
same memory addresses and so share data and wonder how nativeboost could
help there since it offer complete access to memory. But of course that are
low level concept I am not familiar at all, but I would not mind messing
with them at least once. It could even eliminate the need to embed pharo
inside a C app.

Definetly loads of ideas to explore here if one is willing to invest the
time.


On Mon, Dec 9, 2013 at 5:40 PM, <btc at openinworld.com> wrote:

> kilon alios wrote:
>
> Sort answer is no , Pharo does not try to replace C/C++. CAD plugins are
> indeed dlls and you will need C/C++ for that. I only Know Free Pascal as
> another language to generate DLLs but even in that case its extra work.
>
> So if you look for the most direct solution then Pharo wont cut it and
> probably most other programming languages.
>
> Theoretically of course its possible , but someone would need to
> implement this to make it easy to do and currently AFAIK none has.
>
> Bare in mind that DLLs are strictly a C/C++ invention and definitely not
> how highly dynamic languages like Pharo work so there is no direct need for
> Pharo to do such thing cause it would complicate the workflow. For instance
> you would not want to create a dll for pharo code when you can have an
> image and live object that offer far more flexibility of code that can
> modify itself even on runtime. People choose dynamic languages for the very
> reason that want to avoid such complications and limitations.
>
> If you dont mind workarounds the then answer changes from "no" to "yes".
>
> You could of course create a CAD plugin that triggers pharo and pass
> information to it through sockets , pipes or other ways of application
> communication. Its a workaround but it works and I have seen it used in 3d
> apps. For example in blender that support mainly python addons , I know of
> a python addon (city generator addon) that uses Java libraries. In this
> case you create a "bridge" between your CAD application and Pharo and you
> make the two work together. The good news is that if Pharo crashes , it
> wont crash your CAD app so that a good thing about this workaround. The bad
> news is that you would be responsible to expose the CAD functionality to
> Pharo meaning you will have to create a bridge between pharo and CAD. Of
> course you will need to expose only the functionality that your plugin uses
> to Pharo so its not as hard as it may sound.
>
>
> To paraphrase a favorite quote "good coders invent , great coders cheat "
> ;)
>
> So yes there definetly many roads that lead to Rome. If you are
> determined to use Pharo nothing will stop you.
>
> About debugging nativeboost of course you can use the pharo debugger
> because nativeboost commands are fully pharo compliant , meaning they are
> like everything else, messages and objects. For the machine code generated
> by nativeboost you can use a C debugger like gdb that could let you
> disassemble the code to see whats wrong with it.
>
> I guess that "Native Debugger" [1] project proposed for Google Summer of
> Code would have potential for seamless debugging through NativeBoost and C
> library.
>
> [1] http://gsoc2013.esug.org/projects/native-code-debugger
>
> cheers -ben
>
>
> Though usually you will just ask here and Igor that is the expert and
> creator of nativeboost will reply back. He is very helpful and never turns
> down a question ;)
>
>
>
> On Sun, Dec 8, 2013 at 8:20 PM, askoh <askoh at askoh.com> wrote:
>
>> Good that NativeBoost can do what the paper says. How does one debug Pharo
>> and NativeBoost working together? Can one step in Pharo, encounter
>> NativeBoost code, the step in C and return to Pharo?
>>
>> I would like to create addins for CAD programs (Windows for now). The CAD
>> program starts and calls the addin to be part of the CAD program. User
>> interactions within the CAD are passed to the addin which then drives the
>> data or display in the CAD. The addin is a separate DLL or EXE but the
>> user
>> sees only the CAD with extra capabilities - not as distinct programs. Can
>> Pharo make such an addin?
>>
>> Thanks,
>> Aik-Siong Koh
>>
>>
>>
>> --
>> View this message in context:
>> http://forum.world.st/Smalltalk-in-a-C-World-tp4728217p4728573.html
>> Sent from the Pharo Smalltalk Developers mailing list archive at
>> Nabble.com.
>>
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.pharo.org/pipermail/pharo-dev_lists.pharo.org/attachments/20131209/414db464/attachment-0001.html>
Torsten Bergmann
2013-12-08 19:15:06 UTC
Permalink
Usually plugins for CAD programs have to be running in-process.
Pharo is not (at least not without further work) running in a DLL
as by default it runs as an own OS process.

There once was a plugin for Netscape and one for IE running
Squeak VM as a in-process plugin in the browser - so its technically possible
but not out of the box.

If you want to use Smalltalk for extending CAD programs with
a DLL then you should give "Smalltalk/MT" from ObjectConnect a try
as it is able to build DLL's and OCX/ActiveX components and
already provides the native support (Graphics, Debugging, ...)

Have fun
Torsten

> Gesendet: Sonntag, 08. Dezember 2013 um 19:20 Uhr
> Von: askoh <askoh at askoh.com>
> An: pharo-dev at lists.pharo.org
> Betreff: Re: [Pharo-dev] Smalltalk in a C World
>
> Good that NativeBoost can do what the paper says. How does one debug Pharo
> and NativeBoost working together? Can one step in Pharo, encounter
> NativeBoost code, the step in C and return to Pharo?
>
> I would like to create addins for CAD programs (Windows for now). The CAD
> program starts and calls the addin to be part of the CAD program. User
> interactions within the CAD are passed to the addin which then drives the
> data or display in the CAD. The addin is a separate DLL or EXE but the user
> sees only the CAD with extra capabilities - not as distinct programs. Can
> Pharo make such an addin?
>
> Thanks,
> Aik-Siong Koh
>
>
>
> --
> View this message in context: http://forum.world.st/Smalltalk-in-a-C-World-tp4728217p4728573.html
> Sent from the Pharo Smalltalk Developers mailing list archive at Nabble.com.
>
>
Esteban A. Maringolo
2013-12-08 19:59:10 UTC
Permalink
Is Smalltalk/MT still "alive"?
I remember them as the only Smalltalk dialect having in-process COM
servers, whilst Dolphin only had out of process.

I think they also had realtime and threading features no other
Smalltalk, at that time, had.

Regards,
Esteban A. Maringolo


2013/12/8 Torsten Bergmann <astares at gmx.de>:
> Usually plugins for CAD programs have to be running in-process.
> Pharo is not (at least not without further work) running in a DLL
> as by default it runs as an own OS process.
>
> There once was a plugin for Netscape and one for IE running
> Squeak VM as a in-process plugin in the browser - so its technically possible
> but not out of the box.
>
> If you want to use Smalltalk for extending CAD programs with
> a DLL then you should give "Smalltalk/MT" from ObjectConnect a try
> as it is able to build DLL's and OCX/ActiveX components and
> already provides the native support (Graphics, Debugging, ...)
>
> Have fun
> Torsten
>
>> Gesendet: Sonntag, 08. Dezember 2013 um 19:20 Uhr
>> Von: askoh <askoh at askoh.com>
>> An: pharo-dev at lists.pharo.org
>> Betreff: Re: [Pharo-dev] Smalltalk in a C World
>>
>> Good that NativeBoost can do what the paper says. How does one debug Pharo
>> and NativeBoost working together? Can one step in Pharo, encounter
>> NativeBoost code, the step in C and return to Pharo?
>>
>> I would like to create addins for CAD programs (Windows for now). The CAD
>> program starts and calls the addin to be part of the CAD program. User
>> interactions within the CAD are passed to the addin which then drives the
>> data or display in the CAD. The addin is a separate DLL or EXE but the user
>> sees only the CAD with extra capabilities - not as distinct programs. Can
>> Pharo make such an addin?
>>
>> Thanks,
>> Aik-Siong Koh
>>
>>
>>
>> --
>> View this message in context: http://forum.world.st/Smalltalk-in-a-C-World-tp4728217p4728573.html
>> Sent from the Pharo Smalltalk Developers mailing list archive at Nabble.com.
>>
>>
>
Torsten Bergmann
2013-12-08 20:43:41 UTC
Permalink
> Is Smalltalk/MT still "alive"?

Yes - still alive and kicking. But I'm sure you did not notice since there
are no "big" announcements or advertising for it.
ObjectConnect follows the "time is better invested into technology" strategy.
It is one of the most interesting Smalltalks ever implemented.

The newest ST/MT 6.3 version (now 64 bit) is from end of November 2013

Bye
T.
Marcus Denker
2013-12-08 20:47:41 UTC
Permalink
On 08 Dec 2013, at 21:44, Torsten Bergmann <astares at gmx.de> wrote:

>> Is Smalltalk/MT still "alive"?
>
> Yes - still alive and kicking. But I'm sure you did not notice since there
> are no "big" announcements or advertising for it.

For me this is a nice way of saying ?its dead?.

> ObjectConnect follows the "time is better invested into technology" strategy.
> It is one of the most interesting Smalltalks ever implemented.
>
> The newest ST/MT 6.3 version (now 64 bit) is from end of November 2013
>
and nobody thinks that this needs to be announced?

I really do not understand.

Marcus
Marcus Denker
2013-12-08 20:54:32 UTC
Permalink
On 08 Dec 2013, at 21:47, Marcus Denker <marcus.denker at inria.fr> wrote:

>
> On 08 Dec 2013, at 21:44, Torsten Bergmann <astares at gmx.de> wrote:
>
>>> Is Smalltalk/MT still "alive"?
>>
>> Yes - still alive and kicking. But I'm sure you did not notice since there
>> are no "big" announcements or advertising for it.
>
> For me this is a nice way of saying ?its dead?.

I am sure I will not put a link to this at esug.org:

http://www.objectconnect.com

Webrings? I mean seriously: What does this website communicate?
?We are irrelevant and old?.

Marcus
Stéphane Ducasse
2013-12-08 21:30:35 UTC
Permalink
> Yes - still alive and kicking. But I'm sure you did not notice since there
> are no "big" announcements or advertising for it.
> ObjectConnect follows the "time is better invested into technology" strategy.
> It is one of the most interesting Smalltalks ever implemented.

http://www.objectconnect.com/stmt_overview.htm
I like the idea that you can get 50kb applications.
Now since this is a closed system and windows-centric.
But I like that it shows that Smalltalk does not have to be the image centric way.

>
> The newest ST/MT 6.3 version (now 64 bit) is from end of November 2013

Now it is not a community thing. :)
And the web site stop and 5.6 in 2009.

Last time I talk to tarrick he told me that he could control the "no gc in the next 250 frames on PS2"
but it was in 1998 :)


Stef
Clément Bera
2013-12-09 08:21:26 UTC
Permalink
How can people even know Smalltalk MT still exist with their website and
their communication ?

I looked at other Smalltalks a while ago, for Smalltalk MT I clicked on
"what's new" on their website and I got that:

[image: Images int?gr?es 1]

Then I thought this Smalltalk was dead (nothing new in the past 4 years)
and I didn't look any further.


2013/12/8 St?phane Ducasse <stephane.ducasse at inria.fr>

>
> > Yes - still alive and kicking. But I'm sure you did not notice since
> there
> > are no "big" announcements or advertising for it.
> > ObjectConnect follows the "time is better invested into technology"
> strategy.
> > It is one of the most interesting Smalltalks ever implemented.
>
> http://www.objectconnect.com/stmt_overview.htm
> I like the idea that you can get 50kb applications.
> Now since this is a closed system and windows-centric.
> But I like that it shows that Smalltalk does not have to be the image
> centric way.
>
> >
> > The newest ST/MT 6.3 version (now 64 bit) is from end of November 2013
>
> Now it is not a community thing. :)
> And the web site stop and 5.6 in 2009.
>
> Last time I talk to tarrick he told me that he could control the "no gc in
> the next 250 frames on PS2"
> but it was in 1998 :)
>
>
> Stef
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.pharo.org/pipermail/pharo-dev_lists.pharo.org/attachments/20131209/b40f5c6a/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Screen Shot 2013-12-09 at 9.18.11 AM.png
Type: image/png
Size: 20591 bytes
Desc: not available
URL: <http://lists.pharo.org/pipermail/pharo-dev_lists.pharo.org/attachments/20131209/b40f5c6a/attachment-0001.png>
Stéphane Ducasse
2013-12-09 08:28:33 UTC
Permalink
You should think that they use their smalltalk for their projects.

Stef

On Dec 9, 2013, at 9:21 AM, Cl?ment Bera <bera.clement at gmail.com> wrote:

> How can people even know Smalltalk MT still exist with their website and their communication ?
>
> I looked at other Smalltalks a while ago, for Smalltalk MT I clicked on "what's new" on their website and I got that:
>
> <Screen Shot 2013-12-09 at 9.18.11 AM.png>
>
> Then I thought this Smalltalk was dead (nothing new in the past 4 years) and I didn't look any further.
>
>
> 2013/12/8 St?phane Ducasse <stephane.ducasse at inria.fr>
>
> > Yes - still alive and kicking. But I'm sure you did not notice since there
> > are no "big" announcements or advertising for it.
> > ObjectConnect follows the "time is better invested into technology" strategy.
> > It is one of the most interesting Smalltalks ever implemented.
>
> http://www.objectconnect.com/stmt_overview.htm
> I like the idea that you can get 50kb applications.
> Now since this is a closed system and windows-centric.
> But I like that it shows that Smalltalk does not have to be the image centric way.
>
> >
> > The newest ST/MT 6.3 version (now 64 bit) is from end of November 2013
>
> Now it is not a community thing. :)
> And the web site stop and 5.6 in 2009.
>
> Last time I talk to tarrick he told me that he could control the "no gc in the next 250 frames on PS2"
> but it was in 1998 :)
>
>
> Stef
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.pharo.org/pipermail/pharo-dev_lists.pharo.org/attachments/20131209/e4a866dc/attachment.html>
kilon alios
2013-12-09 08:48:00 UTC
Permalink
please note that generating dlls alone wont be enough , plugins are
compiled against a runtime or specific libraries (a Plugin SDK) and
Smalltalk MT would have to be able to do that in order to be a viable
solution.


On Mon, Dec 9, 2013 at 10:28 AM, St?phane Ducasse <stephane.ducasse at inria.fr
> wrote:

> You should think that they use their smalltalk for their projects.
>
> Stef
>
> On Dec 9, 2013, at 9:21 AM, Cl?ment Bera <bera.clement at gmail.com> wrote:
>
> How can people even know Smalltalk MT still exist with their website and
> their communication ?
>
> I looked at other Smalltalks a while ago, for Smalltalk MT I clicked on
> "what's new" on their website and I got that:
>
> <Screen Shot 2013-12-09 at 9.18.11 AM.png>
>
> Then I thought this Smalltalk was dead (nothing new in the past 4 years)
> and I didn't look any further.
>
>
> 2013/12/8 St?phane Ducasse <stephane.ducasse at inria.fr>
>
>>
>> > Yes - still alive and kicking. But I'm sure you did not notice since
>> there
>> > are no "big" announcements or advertising for it.
>> > ObjectConnect follows the "time is better invested into technology"
>> strategy.
>> > It is one of the most interesting Smalltalks ever implemented.
>>
>> http://www.objectconnect.com/stmt_overview.htm
>> I like the idea that you can get 50kb applications.
>> Now since this is a closed system and windows-centric.
>> But I like that it shows that Smalltalk does not have to be the image
>> centric way.
>>
>> >
>> > The newest ST/MT 6.3 version (now 64 bit) is from end of November 2013
>>
>> Now it is not a community thing. :)
>> And the web site stop and 5.6 in 2009.
>>
>> Last time I talk to tarrick he told me that he could control the "no gc
>> in the next 250 frames on PS2"
>> but it was in 1998 :)
>>
>>
>> Stef
>>
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.pharo.org/pipermail/pharo-dev_lists.pharo.org/attachments/20131209/85196bfd/attachment.html>
phil
2013-12-09 10:01:35 UTC
Permalink
The main issue is that it is complicated to embed the VM in C code.
That's due to how the VM is done.

Compared to TCL, where you can easily embed the interpreter in a C program,
this is a problem. http://wiki.tcl.tk/3474

Where you can embed the interpreter in a C program, you can do whatever
integration you want.

Now, with NativeBoost, we can call C. The next challenge would be to be
able to call Pharo from C by embedding the interpreter.

I am curious to see what you guys think about this.

I would love to see things like mod_pharo (as there is mod_php, mod_perl,
mod_tcl...) in Apache.





---
Philippe Back
Dramatic Performance Improvements
Mob: +32(0) 478 650 140 | Fax: +32 (0) 70 408 027
Mail:phil at highoctane.be | Web: http://philippeback.eu
Blog: http://philippeback.be | Twitter: @philippeback
Youtube: http://www.youtube.com/user/philippeback/videos

High Octane SPRL
rue cour Boisacq 101 | 1301 Bierges | Belgium

Pharo Consortium Member - http://consortium.pharo.org/
Featured on the Software Process and Measurement Cast -
http://spamcast.libsyn.com
Sparx Systems Enterprise Architect and Ability Engineering EADocX Value
Added Reseller




On Mon, Dec 9, 2013 at 9:48 AM, kilon alios <kilon.alios at gmail.com> wrote:

> please note that generating dlls alone wont be enough , plugins are
> compiled against a runtime or specific libraries (a Plugin SDK) and
> Smalltalk MT would have to be able to do that in order to be a viable
> solution.
>
>
> On Mon, Dec 9, 2013 at 10:28 AM, St?phane Ducasse <
> stephane.ducasse at inria.fr> wrote:
>
>> You should think that they use their smalltalk for their projects.
>>
>> Stef
>>
>> On Dec 9, 2013, at 9:21 AM, Cl?ment Bera <bera.clement at gmail.com> wrote:
>>
>> How can people even know Smalltalk MT still exist with their website and
>> their communication ?
>>
>> I looked at other Smalltalks a while ago, for Smalltalk MT I clicked on
>> "what's new" on their website and I got that:
>>
>> <Screen Shot 2013-12-09 at 9.18.11 AM.png>
>>
>> Then I thought this Smalltalk was dead (nothing new in the past 4 years)
>> and I didn't look any further.
>>
>>
>> 2013/12/8 St?phane Ducasse <stephane.ducasse at inria.fr>
>>
>>>
>>> > Yes - still alive and kicking. But I'm sure you did not notice since
>>> there
>>> > are no "big" announcements or advertising for it.
>>> > ObjectConnect follows the "time is better invested into technology"
>>> strategy.
>>> > It is one of the most interesting Smalltalks ever implemented.
>>>
>>> http://www.objectconnect.com/stmt_overview.htm
>>> I like the idea that you can get 50kb applications.
>>> Now since this is a closed system and windows-centric.
>>> But I like that it shows that Smalltalk does not have to be the image
>>> centric way.
>>>
>>> >
>>> > The newest ST/MT 6.3 version (now 64 bit) is from end of November 2013
>>>
>>> Now it is not a community thing. :)
>>> And the web site stop and 5.6 in 2009.
>>>
>>> Last time I talk to tarrick he told me that he could control the "no gc
>>> in the next 250 frames on PS2"
>>> but it was in 1998 :)
>>>
>>>
>>> Stef
>>>
>>
>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.pharo.org/pipermail/pharo-dev_lists.pharo.org/attachments/20131209/94d4401e/attachment-0001.html>
Eliot Miranda
2013-12-09 18:32:49 UTC
Permalink
On Mon, Dec 9, 2013 at 2:01 AM, phil at highoctane.be <phil at highoctane.be>wrote:

> The main issue is that it is complicated to embed the VM in C code.
> That's due to how the VM is done.
>
> Compared to TCL, where you can easily embed the interpreter in a C
> program, this is a problem. http://wiki.tcl.tk/3474
>
> Where you can embed the interpreter in a C program, you can do whatever
> integration you want.
>
> Now, with NativeBoost, we can call C. The next challenge would be to be
> able to call Pharo from C by embedding the interpreter.
>
> I am curious to see what you guys think about this.
>

It is non-trivial, but possible (I've done it twice with VisualWorks).
Spur should help (pinning is important). Callbacks r essential (Cog
provides them).

1. the VM is restructured as a launch .exe and a dll.
2. the VM is restructured so that one can include an image as a resource
(windows exe's) or static data (e.g. unix); one can use an image file but
if one really wants a library it must exist just as a library
3. one needs an API to the VM, and essentially that requires an object
request broker (ORB) between the API and callbacks into the image, so that
one can query for objects (including selectors) to be able to send messages
to them

Note that step 3. can be implemented as a small stand-alone library that
talks to the VM running in a separate process, and on multi-core machines
this can be a more robust architecture; there's no protection against a
program corrupting the Smalltalk heap if the heap is in that program's
address space. But if the requirement is really a linkable library (that
does not spawn processes) then that's what one builds.


> I would love to see things like mod_pharo (as there is mod_php, mod_perl,
> mod_tcl...) in Apache.
>

I embedded VW in a web browser as a Netscape plugin using both variants of
3. above back in the 90's. It is very possible. The limiting factors are
time and money as usual.


I would love for VM discussions to be carried out on vm-dev ;-)


---
> Philippe Back
> Dramatic Performance Improvements
> Mob: +32(0) 478 650 140 | Fax: +32 (0) 70 408 027
> Mail:phil at highoctane.be | Web: http://philippeback.eu
> Blog: http://philippeback.be | Twitter: @philippeback
> Youtube: http://www.youtube.com/user/philippeback/videos
>
> High Octane SPRL
> rue cour Boisacq 101 | 1301 Bierges | Belgium
>
> Pharo Consortium Member - http://consortium.pharo.org/
> Featured on the Software Process and Measurement Cast -
> http://spamcast.libsyn.com
> Sparx Systems Enterprise Architect and Ability Engineering EADocX Value
> Added Reseller
>
>
>
>
> On Mon, Dec 9, 2013 at 9:48 AM, kilon alios <kilon.alios at gmail.com> wrote:
>
>> please note that generating dlls alone wont be enough , plugins are
>> compiled against a runtime or specific libraries (a Plugin SDK) and
>> Smalltalk MT would have to be able to do that in order to be a viable
>> solution.
>>
>>
>> On Mon, Dec 9, 2013 at 10:28 AM, St?phane Ducasse <
>> stephane.ducasse at inria.fr> wrote:
>>
>>> You should think that they use their smalltalk for their projects.
>>>
>>> Stef
>>>
>>> On Dec 9, 2013, at 9:21 AM, Cl?ment Bera <bera.clement at gmail.com> wrote:
>>>
>>> How can people even know Smalltalk MT still exist with their website and
>>> their communication ?
>>>
>>> I looked at other Smalltalks a while ago, for Smalltalk MT I clicked on
>>> "what's new" on their website and I got that:
>>>
>>> <Screen Shot 2013-12-09 at 9.18.11 AM.png>
>>>
>>> Then I thought this Smalltalk was dead (nothing new in the past 4 years)
>>> and I didn't look any further.
>>>
>>>
>>> 2013/12/8 St?phane Ducasse <stephane.ducasse at inria.fr>
>>>
>>>>
>>>> > Yes - still alive and kicking. But I'm sure you did not notice since
>>>> there
>>>> > are no "big" announcements or advertising for it.
>>>> > ObjectConnect follows the "time is better invested into technology"
>>>> strategy.
>>>> > It is one of the most interesting Smalltalks ever implemented.
>>>>
>>>> http://www.objectconnect.com/stmt_overview.htm
>>>> I like the idea that you can get 50kb applications.
>>>> Now since this is a closed system and windows-centric.
>>>> But I like that it shows that Smalltalk does not have to be the image
>>>> centric way.
>>>>
>>>> >
>>>> > The newest ST/MT 6.3 version (now 64 bit) is from end of November 2013
>>>>
>>>> Now it is not a community thing. :)
>>>> And the web site stop and 5.6 in 2009.
>>>>
>>>> Last time I talk to tarrick he told me that he could control the "no gc
>>>> in the next 250 frames on PS2"
>>>> but it was in 1998 :)
>>>>
>>>>
>>>> Stef
>>>>
>>>
>>>
>>>
>>
>


--
best,
Eliot
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.pharo.org/pipermail/pharo-dev_lists.pharo.org/attachments/20131209/d995371a/attachment.html>
Eliot Miranda
2013-12-09 18:33:12 UTC
Permalink
On Mon, Dec 9, 2013 at 10:32 AM, Eliot Miranda <eliot.miranda at gmail.com>wrote:

>
>
>
> On Mon, Dec 9, 2013 at 2:01 AM, phil at highoctane.be <phil at highoctane.be>wrote:
>
>> The main issue is that it is complicated to embed the VM in C code.
>> That's due to how the VM is done.
>>
>> Compared to TCL, where you can easily embed the interpreter in a C
>> program, this is a problem. http://wiki.tcl.tk/3474
>>
>> Where you can embed the interpreter in a C program, you can do whatever
>> integration you want.
>>
>> Now, with NativeBoost, we can call C. The next challenge would be to be
>> able to call Pharo from C by embedding the interpreter.
>>
>> I am curious to see what you guys think about this.
>>
>
> It is non-trivial, but possible (I've done it twice with VisualWorks).
> Spur should help (pinning is important). Callbacks r essential (Cog
> provides them).
>
> 1. the VM is restructured as a launch .exe and a dll.
> 2. the VM is restructured so that one can include an image as a resource
> (windows exe's) or static data (e.g. unix); one can use an image file but
> if one really wants a library it must exist just as a library
> 3. one needs an API to the VM, and essentially that requires an object
> request broker (ORB) between the API and callbacks into the image, so that
> one can query for objects (including selectors) to be able to send messages
> to them
>
> Note that step 3. can be implemented as a small stand-alone library that
> talks to the VM running in a separate process, and on multi-core machines
> this can be a more robust architecture; there's no protection against a
> program corrupting the Smalltalk heap if the heap is in that program's
> address space. But if the requirement is really a linkable library (that
> does not spawn processes) then that's what one builds.
>
>
>> I would love to see things like mod_pharo (as there is mod_php, mod_perl,
>> mod_tcl...) in Apache.
>>
>
> I embedded VW in a web browser as a Netscape plugin using both variants of
> 3. above back in the 90's. It is very possible. The limiting factors are
> time and money as usual.
>
>
> I would love for VM discussions to be carried out on vm-dev ;-)
>

or at least cc'ed there...


>
>
> ---
>> Philippe Back
>> Dramatic Performance Improvements
>> Mob: +32(0) 478 650 140 | Fax: +32 (0) 70 408 027
>> Mail:phil at highoctane.be | Web: http://philippeback.eu
>> Blog: http://philippeback.be | Twitter: @philippeback
>> Youtube: http://www.youtube.com/user/philippeback/videos
>>
>> High Octane SPRL
>> rue cour Boisacq 101 | 1301 Bierges | Belgium
>>
>> Pharo Consortium Member - http://consortium.pharo.org/
>> Featured on the Software Process and Measurement Cast -
>> http://spamcast.libsyn.com
>> Sparx Systems Enterprise Architect and Ability Engineering EADocX Value
>> Added Reseller
>>
>>
>>
>>
>> On Mon, Dec 9, 2013 at 9:48 AM, kilon alios <kilon.alios at gmail.com>wrote:
>>
>>> please note that generating dlls alone wont be enough , plugins are
>>> compiled against a runtime or specific libraries (a Plugin SDK) and
>>> Smalltalk MT would have to be able to do that in order to be a viable
>>> solution.
>>>
>>>
>>> On Mon, Dec 9, 2013 at 10:28 AM, St?phane Ducasse <
>>> stephane.ducasse at inria.fr> wrote:
>>>
>>>> You should think that they use their smalltalk for their projects.
>>>>
>>>> Stef
>>>>
>>>> On Dec 9, 2013, at 9:21 AM, Cl?ment Bera <bera.clement at gmail.com>
>>>> wrote:
>>>>
>>>> How can people even know Smalltalk MT still exist with their website
>>>> and their communication ?
>>>>
>>>> I looked at other Smalltalks a while ago, for Smalltalk MT I clicked on
>>>> "what's new" on their website and I got that:
>>>>
>>>> <Screen Shot 2013-12-09 at 9.18.11 AM.png>
>>>>
>>>> Then I thought this Smalltalk was dead (nothing new in the past 4
>>>> years) and I didn't look any further.
>>>>
>>>>
>>>> 2013/12/8 St?phane Ducasse <stephane.ducasse at inria.fr>
>>>>
>>>>>
>>>>> > Yes - still alive and kicking. But I'm sure you did not notice since
>>>>> there
>>>>> > are no "big" announcements or advertising for it.
>>>>> > ObjectConnect follows the "time is better invested into technology"
>>>>> strategy.
>>>>> > It is one of the most interesting Smalltalks ever implemented.
>>>>>
>>>>> http://www.objectconnect.com/stmt_overview.htm
>>>>> I like the idea that you can get 50kb applications.
>>>>> Now since this is a closed system and windows-centric.
>>>>> But I like that it shows that Smalltalk does not have to be the image
>>>>> centric way.
>>>>>
>>>>> >
>>>>> > The newest ST/MT 6.3 version (now 64 bit) is from end of November
>>>>> 2013
>>>>>
>>>>> Now it is not a community thing. :)
>>>>> And the web site stop and 5.6 in 2009.
>>>>>
>>>>> Last time I talk to tarrick he told me that he could control the "no
>>>>> gc in the next 250 frames on PS2"
>>>>> but it was in 1998 :)
>>>>>
>>>>>
>>>>> Stef
>>>>>
>>>>
>>>>
>>>>
>>>
>>
>
>
> --
> best,
> Eliot
>



--
best,
Eliot
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.pharo.org/pipermail/pharo-dev_lists.pharo.org/attachments/20131209/85350e94/attachment-0001.html>
Stéphane Ducasse
2013-12-09 20:07:14 UTC
Permalink
> The main issue is that it is complicated to embed the VM in C code.
> That's due to how the VM is done.
>
> Compared to TCL, where you can easily embed the interpreter in a C program, this is a problem. http://wiki.tcl.tk/3474
>
> Where you can embed the interpreter in a C program, you can do whatever integration you want.
>
> Now, with NativeBoost, we can call C. The next challenge would be to be able to call Pharo from C by embedding the interpreter.
>
> I am curious to see what you guys think about this.

It is one of my dream!
Now I'm too bad in C to make this dream comes true. Sadly. But I would love to have Pharo being able to
be embedded in C.


> I would love to see things like mod_pharo (as there is mod_php, mod_perl, mod_tcl...) in Apache.
>
>
>
>
>
> ---
> Philippe Back
> Dramatic Performance Improvements
> Mob: +32(0) 478 650 140 | Fax: +32 (0) 70 408 027
> Mail:phil at highoctane.be | Web: http://philippeback.eu
> Blog: http://philippeback.be | Twitter: @philippeback
> Youtube: http://www.youtube.com/user/philippeback/videos
>
> High Octane SPRL
> rue cour Boisacq 101 | 1301 Bierges | Belgium
>
> Pharo Consortium Member - http://consortium.pharo.org/
> Featured on the Software Process and Measurement Cast - http://spamcast.libsyn.com
> Sparx Systems Enterprise Architect and Ability Engineering EADocX Value Added Reseller
>
>
>
>
> On Mon, Dec 9, 2013 at 9:48 AM, kilon alios <kilon.alios at gmail.com> wrote:
> please note that generating dlls alone wont be enough , plugins are compiled against a runtime or specific libraries (a Plugin SDK) and Smalltalk MT would have to be able to do that in order to be a viable solution.
>
>
> On Mon, Dec 9, 2013 at 10:28 AM, St?phane Ducasse <stephane.ducasse at inria.fr> wrote:
> You should think that they use their smalltalk for their projects.
>
> Stef
>
> On Dec 9, 2013, at 9:21 AM, Cl?ment Bera <bera.clement at gmail.com> wrote:
>
>> How can people even know Smalltalk MT still exist with their website and their communication ?
>>
>> I looked at other Smalltalks a while ago, for Smalltalk MT I clicked on "what's new" on their website and I got that:
>>
>> <Screen Shot 2013-12-09 at 9.18.11 AM.png>
>>
>> Then I thought this Smalltalk was dead (nothing new in the past 4 years) and I didn't look any further.
>>
>>
>> 2013/12/8 St?phane Ducasse <stephane.ducasse at inria.fr>
>>
>> > Yes - still alive and kicking. But I'm sure you did not notice since there
>> > are no "big" announcements or advertising for it.
>> > ObjectConnect follows the "time is better invested into technology" strategy.
>> > It is one of the most interesting Smalltalks ever implemented.
>>
>> http://www.objectconnect.com/stmt_overview.htm
>> I like the idea that you can get 50kb applications.
>> Now since this is a closed system and windows-centric.
>> But I like that it shows that Smalltalk does not have to be the image centric way.
>>
>> >
>> > The newest ST/MT 6.3 version (now 64 bit) is from end of November 2013
>>
>> Now it is not a community thing. :)
>> And the web site stop and 5.6 in 2009.
>>
>> Last time I talk to tarrick he told me that he could control the "no gc in the next 250 frames on PS2"
>> but it was in 1998 :)
>>
>>
>> Stef
>>
>
>
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.pharo.org/pipermail/pharo-dev_lists.pharo.org/attachments/20131209/10dd2607/attachment.html>
phil
2013-12-09 21:45:29 UTC
Permalink
Now, moving forward, what would be required to have an interpreter embedded
in C, even if this means having another image with a special API and the
whole enchilada?

At least a working prototype.

I have looked at the "Porting the VM" document and the part about headless
(which is now done differently).

What comes to my mind is to define a specific neutral C platform that would
be able to execute basic bytecode.

>From videos of Ben, I saw SystemTracer (or SystemTracer2) recreating a very
tiny image making some noise to prove it was working.

Could it be possible to target this kind of tiny image running inside a C
program through a base interpreter? This would avoid having to deal with
the whole primitives and plugins at the beginning.

Phil

On Mon, Dec 9, 2013 at 9:07 PM, St?phane Ducasse
<stephane.ducasse at inria.fr>wrote:

>
>
> The main issue is that it is complicated to embed the VM in C code.
> That's due to how the VM is done.
>
> Compared to TCL, where you can easily embed the interpreter in a C
> program, this is a problem. http://wiki.tcl.tk/3474
>
> Where you can embed the interpreter in a C program, you can do whatever
> integration you want.
>
> Now, with NativeBoost, we can call C. The next challenge would be to be
> able to call Pharo from C by embedding the interpreter.
>
> I am curious to see what you guys think about this.
>
>
> It is one of my dream!
> Now I'm too bad in C to make this dream comes true. Sadly. But I would
> love to have Pharo being able to
> be embedded in C.
>
>
> I would love to see things like mod_pharo (as there is mod_php, mod_perl,
> mod_tcl...) in Apache.
>
>
>
>
>
> ---
> Philippe Back
> Dramatic Performance Improvements
> Mob: +32(0) 478 650 140 | Fax: +32 (0) 70 408 027
> Mail:phil at highoctane.be | Web: http://philippeback.eu
> Blog: http://philippeback.be | Twitter: @philippeback
> Youtube: http://www.youtube.com/user/philippeback/videos
>
> High Octane SPRL
> rue cour Boisacq 101 | 1301 Bierges | Belgium
>
> Pharo Consortium Member - http://consortium.pharo.org/
> Featured on the Software Process and Measurement Cast -
> http://spamcast.libsyn.com
> Sparx Systems Enterprise Architect and Ability Engineering EADocX Value
> Added Reseller
>
>
>
>
> On Mon, Dec 9, 2013 at 9:48 AM, kilon alios <kilon.alios at gmail.com> wrote:
>
>> please note that generating dlls alone wont be enough , plugins are
>> compiled against a runtime or specific libraries (a Plugin SDK) and
>> Smalltalk MT would have to be able to do that in order to be a viable
>> solution.
>>
>>
>> On Mon, Dec 9, 2013 at 10:28 AM, St?phane Ducasse <
>> stephane.ducasse at inria.fr> wrote:
>>
>>> You should think that they use their smalltalk for their projects.
>>>
>>> Stef
>>>
>>> On Dec 9, 2013, at 9:21 AM, Cl?ment Bera <bera.clement at gmail.com> wrote:
>>>
>>> How can people even know Smalltalk MT still exist with their website and
>>> their communication ?
>>>
>>> I looked at other Smalltalks a while ago, for Smalltalk MT I clicked on
>>> "what's new" on their website and I got that:
>>>
>>> <Screen Shot 2013-12-09 at 9.18.11 AM.png>
>>>
>>> Then I thought this Smalltalk was dead (nothing new in the past 4 years)
>>> and I didn't look any further.
>>>
>>>
>>> 2013/12/8 St?phane Ducasse <stephane.ducasse at inria.fr>
>>>
>>>>
>>>> > Yes - still alive and kicking. But I'm sure you did not notice since
>>>> there
>>>> > are no "big" announcements or advertising for it.
>>>> > ObjectConnect follows the "time is better invested into technology"
>>>> strategy.
>>>> > It is one of the most interesting Smalltalks ever implemented.
>>>>
>>>> http://www.objectconnect.com/stmt_overview.htm
>>>> I like the idea that you can get 50kb applications.
>>>> Now since this is a closed system and windows-centric.
>>>> But I like that it shows that Smalltalk does not have to be the image
>>>> centric way.
>>>>
>>>> >
>>>> > The newest ST/MT 6.3 version (now 64 bit) is from end of November 2013
>>>>
>>>> Now it is not a community thing. :)
>>>> And the web site stop and 5.6 in 2009.
>>>>
>>>> Last time I talk to tarrick he told me that he could control the "no gc
>>>> in the next 250 frames on PS2"
>>>> but it was in 1998 :)
>>>>
>>>>
>>>> Stef
>>>>
>>>
>>>
>>>
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.pharo.org/pipermail/pharo-dev_lists.pharo.org/attachments/20131209/0b7f099b/attachment.html>
Stéphane Ducasse
2013-12-10 08:50:07 UTC
Permalink
On Dec 9, 2013, at 10:45 PM, phil at highoctane.be wrote:

> Now, moving forward, what would be required to have an interpreter embedded in C, even if this means having another image with a special API and the whole enchilada?
>
> At least a working prototype.
>
> I have looked at the "Porting the VM" document and the part about headless (which is now done differently).
>
> What comes to my mind is to define a specific neutral C platform that would be able to execute basic bytecode.
>
> From videos of Ben, I saw SystemTracer (or SystemTracer2) recreating a very tiny image making some noise to prove it was working.
>
> Could it be possible to target this kind of tiny image running inside a C program through a base interpreter? This would avoid having to deal with the whole primitives and plugins at the beginning.

Guille continued and we are working to use his bootstrap as a basis for 4.0.
Now you will need the key primitives such as become: at: at:put: and other.

Stef
phil
2013-12-10 08:56:49 UTC
Permalink
I was more about primitives doing things with I/O.




On Tue, Dec 10, 2013 at 9:50 AM, St?phane Ducasse <stephane.ducasse at inria.fr
> wrote:

>
> On Dec 9, 2013, at 10:45 PM, phil at highoctane.be wrote:
>
> > Now, moving forward, what would be required to have an interpreter
> embedded in C, even if this means having another image with a special API
> and the whole enchilada?
> >
> > At least a working prototype.
> >
> > I have looked at the "Porting the VM" document and the part about
> headless (which is now done differently).
> >
> > What comes to my mind is to define a specific neutral C platform that
> would be able to execute basic bytecode.
> >
> > From videos of Ben, I saw SystemTracer (or SystemTracer2) recreating a
> very tiny image making some noise to prove it was working.
> >
> > Could it be possible to target this kind of tiny image running inside a
> C program through a base interpreter? This would avoid having to deal with
> the whole primitives and plugins at the beginning.
>
> Guille continued and we are working to use his bootstrap as a basis for
> 4.0.
> Now you will need the key primitives such as become: at: at:put: and other.
>
> Stef
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.pharo.org/pipermail/pharo-dev_lists.pharo.org/attachments/20131210/3069457a/attachment-0001.html>
Torsten Bergmann
2013-12-09 10:37:19 UTC
Permalink
Kilon wrote:
>dlls?alone wont be enough , plugins are compiled against a runtime or specific libraries (a Plugin SDK) and Smalltalk MT
>would have to be able to do that in order to be a viable solution.?

You can be sure it can :)

Clement wrote:
>How can people even know Smalltalk MT still exist with their website and
>their communication ?

If you follow the hype and advertising you go to Java - if you search
for something more powerful you search for it and will find Smalltalk.

Same for ST/MT - if you need something more specific (like building DLLs, COM
components, access DirectX/OpenGL, ... and stay with Smalltalk you may
end up at their system.

I know several projects using MT, it is also used for games (like Aura - Fate of the Ages).

Note that also other Smalltalks are able to build DLLs like Dolphin, ST/X and SmallScript.

Bye
T.
Marcus Denker
2013-12-09 11:46:57 UTC
Permalink
On 09 Dec 2013, at 11:37, Torsten Bergmann <astares at gmx.de> wrote:

> Kilon wrote:
>> dlls alone wont be enough , plugins are compiled against a runtime or specific libraries (a Plugin SDK) and Smalltalk MT
>> would have to be able to do that in order to be a viable solution.
>
> You can be sure it can :)
>
> Clement wrote:
>> How can people even know Smalltalk MT still exist with their website and
>> their communication ?
>
> If you follow the hype and advertising you go to Java - if you search
> for something more powerful you search for it and will find Smalltalk.
>
You search and you find a website that convinces you that Smalltalk it indeed
dead.

Marcus
Esteban A. Maringolo
2013-12-09 14:23:02 UTC
Permalink
2013/12/9 Marcus Denker <marcus.denker at inria.fr>:
>> Clement wrote:
>>> How can people even know Smalltalk MT still exist with their website and
>>> their communication ?
>>
>> If you follow the hype and advertising you go to Java - if you search
>> for something more powerful you search for it and will find Smalltalk.

> You search and you find a website that convinces you that Smalltalk it indeed
> dead.

+1

I'd prefer ObjectConnect shutdown their website rather than having that.
And, at certain degree the same applies to my beloved ObjectArts and
its Dolphin masterpiece.

Regards,

ps: Java is no Hype. You might like the language or not, but it has
established throughout the last decade, and is the language/platform
that runs on almost all devices. Only C can beat that.
Torsten Bergmann
2013-12-09 18:57:21 UTC
Permalink
Esteban wrote:
> I'd prefer ObjectConnect shutdown their website rather than having that.
> And, at certain degree the same applies to my beloved ObjectArts and
> its Dolphin masterpiece.

What a nonsense - why should they shutdown their site if it is valuable
to provide infos and new downloads to their customers?

If you want to shut down any page that is not up-to date you may have
to shut down a big part of the internet.

> ps: Java is no Hype. You might like the language or not, but it has
> established throughout the last decade, and is the language/platform
> that runs on almost all devices. Only C can beat that.

I think mainstream is the better word here. I like Java and use
it a lot. Some days I dislike it when I see how complicated things
can get although there are better easier alternatives. Others feel the same
which is the reason for Groovy, Scala, ...
And there is no doubt about Javas and especially the JVMs place in the
IT universe.

But Smalltalk is (at least to me) not interesting because it is a
programming language - it is interesting because it is a dynamic object
system that is easily changeable (including metamodel and language itself).

And Pharo should not stop changing this object system until something new
and better comes out of it...

Bye
T.
Esteban A. Maringolo
2013-12-09 19:35:21 UTC
Permalink
2013/12/9 Torsten Bergmann <astares at gmx.de>:
> Esteban wrote:
>> I'd prefer ObjectConnect shutdown their website rather than having that.
>> And, at certain degree the same applies to my beloved ObjectArts and
>> its Dolphin masterpiece.
> What a nonsense - why should they shutdown their site if it is valuable
> to provide infos and new downloads to their customers?

I can't shutdown anything that's not mine. And that's perfectly fine.
The point is that, IMHO, for the Smalltalk community it's counterproductive.

It's my opinion, I don't want you to share it :)


> If you want to shut down any page that is not up-to date you may have
> to shut down a big part of the internet.

Nothing sells less and causes more rejection than an outdated site.
Particularly if it is about programming.


> But Smalltalk is (at least to me) not interesting because it is a
> programming language - it is interesting because it is a dynamic object
> system that is easily changeable (including metamodel and language itself).

We agree on this. And that's why we're here.

> And Pharo should not stop changing this object system until something new
> and better comes out of it...

If you want to reach broader audiences I'm 100% confident that you
need not only a good product, but also good marketing assets.

Though I never used it, I know the benefits of S/MT because I'm a long
time smalltalker, but what about somebody who's evaluating other
alternatives? Will a Company invest a million dollar (or a hundred at
least) in a product built with a technology whose website is like
ObjectConnect's one?

I know this business runs on hype for a good part, but some things are
just unavoidable.

Regards,


pd: I rather don't continue this here, it's hardly Pharo related.
Pharo is doing a good job in this aspect, or at least much better than
many predecessors.
kilon alios
2013-12-10 06:51:18 UTC
Permalink
I agree 100% with you, it takes like no effort to fine one of the millions
of online sexy looking template and there like tons of apps out there that
can autogenerate good looking websites.

But then I find this much , much worse -> http://java.com/en/ . Sure it
looks more current but really ? Is that the best mega-company like Oracle
can do. No because as it seems this is the same site they inherited from
Sun. Actually as far I remember Java from back into 2000 that I was aware
of its existence , the website has only slightly changed.

Actually I know of no language that has a very well designed web site.
Taking full advantage of HMTL5 and the current technology. But I like Pharo
website none the less.

Java Hyped !!! What ? Are you serious ? Java - C++ - Javascript is the
triangle of hate. Back in 2000 + was an army of blog posts of how dead Java
is and still you can see articles of how much people dont like these
languages. Not that I blame them , but I always kinda liked Java.

Hype is not the same thing as popular. I think the most Hyped language by
far is Lisp , nothing can touch its hype. You could even believe that Lisp
can cure cancer. I really like Lisp, but its over-hyped none the less. I
had to try lisp because of how much overwhelmed I was by people saying how
much of a great language it is. Learning Java was curiosity on the ground
how popular it became and how fast. I never heard anyone describe Java as
Lisp.

Actually the most hyped thing about Java is Clojure, guess what Clojure is
, yeap Lisp :D

"But Smalltalk is (at least to me) not interesting because it is a
programming language - it is interesting because it is a dynamic object
system that is easily changeable (including metamodel and language itself)."

I could not agree more. I came for the IDE, I feel in love with live
coding. Beatiful, makes coding 10 times more fun and very productive.

But I have to say Smalltalk really does justice to its name. Its a Small
language but also everything feels like you Talk-ing to objects, I really
like this conversation with my computer , If I could remove case sensitive
it would be 100% natural for me. So yes definetly there is not much in the
language to be surprised about but in the end that element of least
surprise is what make Smalltalk a great choice for me.


On Mon, Dec 9, 2013 at 1:46 PM, Marcus Denker <marcus.denker at inria.fr>wrote:

>
> On 09 Dec 2013, at 11:37, Torsten Bergmann <astares at gmx.de> wrote:
>
> > Kilon wrote:
> >> dlls alone wont be enough , plugins are compiled against a runtime or
> specific libraries (a Plugin SDK) and Smalltalk MT
> >> would have to be able to do that in order to be a viable solution.
> >
> > You can be sure it can :)
> >
> > Clement wrote:
> >> How can people even know Smalltalk MT still exist with their website and
> >> their communication ?
> >
> > If you follow the hype and advertising you go to Java - if you search
> > for something more powerful you search for it and will find Smalltalk.
> >
> You search and you find a website that convinces you that Smalltalk it
> indeed
> dead.
>
> Marcus
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.pharo.org/pipermail/pharo-dev_lists.pharo.org/attachments/20131210/c0f89715/attachment.html>
phil
2013-12-10 08:26:52 UTC
Permalink
I did a ton of Java (coding, training people, large scale deployments) and
Java has enterprise grade features. For large apps/clients, not much can
beat it these days.

If you need to staff a team for a sizeable project, not much choice either.

Things like this:
http://ec.europa.eu/dgs/informatics/procurement/calls_running/index_en.htm
where you see things like in this page (
http://ted.europa.eu/udl?uri=TED:NOTICE:380314-2013:TEXT:EN:HTML) :

II.2.1)
Total quantity or scope:
9 600 person-years (indicative, non-binding) for all lots for the maximum
possible duration of the framework contracts.

I guess there are not enough Pharo-aware people on the planet to fit this
:-)
There, the choice is going to be Java.

Now, except when working with decent tools like Jetbrains' IntelliJ (don't
get me started with Eclipse), it is really annoying to type. I am even a
reseller of these products FWIW.

Other than that it is a fine language. And cool people do cool things with
it, like AOT (Ahead of Time) compilers.
http://www.excelsior-usa.com/jet.html or the JRockitVM (from the ashes of
BEA)
http://www.oracle.com/technetwork/middleware/jrockit/overview/index.html

If we could get an instrumented VM like that, well...

For manifesting ideas out of my head, I do prefer Pharo. As a self-employed
individual, more power to me. As a startup junkie, more power to me. If I
need a Java or .NET guy, I've plenty of contacts in cheap countries who do
work very very well.
And f*ck Ruby on Rails. Now, I said it.

As I am currently reading Andres Valloud books, and trying out the
exercises, man, what do I know about how to make decent enough code. Close
to nothing it seems. That is what is great in Pharo, a community of great
minds. That you do not find often in a huge crowd as the chatter is too
loud.

</rant>

Phil
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.pharo.org/pipermail/pharo-dev_lists.pharo.org/attachments/20131210/399b1525/attachment.html>
Sven Van Caekenberghe
2013-12-10 08:59:47 UTC
Permalink
On 10 Dec 2013, at 09:26, phil at highoctane.be wrote:

> As I am currently reading Andres Valloud books, and trying out the exercises, man, what do I know about how to make decent enough code. Close to nothing it seems.

Yes, it is a mind blowing book, one of the best books, if not the best, about programming I ever read.

Sven
Stephen Taylor
2013-12-09 21:52:05 UTC
Permalink
On Mon, 2013-12-09 at 11:37 +0100, Torsten Bergmann wrote:

> If you follow the hype and advertising you go to Java - if you search
> for something more powerful you search for it and will find Smalltalk.

That's no way to think! Smalltalk is wonderful, but it gains nothing by
being obscure and largely forgotten.

Whenever people are fans of something arcane there's a temptation for
them to wear that obscurity like a medal. And it does no good. No good
at all.




Steve
Torsten Bergmann
2013-12-09 19:20:31 UTC
Permalink
Stef wrote:
> I like the idea that you can get 50kb applications.
> Now since this is a closed system and windows-centric.
> But I like that it shows that Smalltalk does not have to be the image centric way.

You have to additionally count the runtime DLL also which is also a few KB.
But even when storage is cheap size matters.

Same for Smallscript which was/is also very outstanding. Write a small ST script, run it
from the console or IDE. Package a few classes into a shared library and compose the
image from loadable binary components in a few seconds.

> > The newest ST/MT 6.3 version (now 64 bit) is from end of November 2013
>
> Now it is not a community thing. :)

Yes its not.

> And the web site stop and 5.6 in 2009.

No, thats just a bug on the "news" page.

Look at http://www.objectconnect.com/release_downloads.htm which is the one that
gets updated from time to time and as I said latest release was November 2013 there.

> Last time I talk to tarrick he told me that he could control the "no gc in the next 250 frames on PS2"
> but it was in 1998 :)

His name is Tarik

Bye
T.
askoh
2013-12-10 09:21:07 UTC
Permalink
Has anyone tried Pragmatic Smalltalk?
Is what he says about the VM being a relic of the past true?

Can someone get David Chisnall to join the discussions?

All the best,
Aik-Siong Koh



--
View this message in context: http://forum.world.st/Smalltalk-in-a-C-World-tp4728217p4728931.html
Sent from the Pharo Smalltalk Developers mailing list archive at Nabble.com.
Loading...