Hi Ted,

On 17/05/19 6:38 p. m., Brainstorms wrote:
> Hi Offray,
>
> Yes, I definitely agree with you that Lua does not have the nice development
> environment of Pharo (what other language does?), and is very bare-bones, as
> it was originally intended for embedded applications.  


Yep, Pharo and other Smalltalk based IDEs are unbeatable as programming
experiences. What they have changed in my, is my look for other similar
experiences. In fact was going from an interactive first computing
experience that I explored things like Squeak, Etoys, Bots Inc,
IPython/Jupyter and Pharo. Trying to get something similar in Lua has
point me towards Zero Brane Studio (ZBS), which is (like Pharo) a Lua
IDE made on Lua itself.


> I've gone through
> nearly all of the online version of the Pharo MOOC now, and the ease of
> building a web app with Pharo+Seaside is /amazing/.  (That's reason enough
> to adopt Pharo!)  I'm now looking at Spec and how to work with that to make
> GUI apps.  I can't do web apps in Lua, nor is there a GUI in Lua.

Spec and making GUI was the way I started my exploration with Pharo.
Particularly using the Spec-GT bridge to create interactive notebooks in
Grafoscopio. In my case, works better when you have a "real world"
example to learn/solve in your programming environment. ZBS is made on
Lua using Wx Widgets for Lua, but as you point after, it is an extra
library. On the web front I saw some Seaside and Aida Web, but now I'm
more into and even more minimalist approach using Teapot. Even I have a
pretty alpha stuff combining Teapot with Material Design Light and
Fossil at:

https://mutabit.com/repos.fossil/brea/

>
> For that matter, with Lua there is no interaction with the OS, no sockets,
> and very minimal file system interaction (that's actually built into Lua --
> it doesn't even know what a directory is).  All of these capabilities can be
> had in Lua, but they must be provided by external libraries -- even the
> ability to interact via a terminal command line is typically done via a
> small C app that wraps a Lua "state".  Lua is tiny.  Tiny, but powerful.
Yes I like this pretty minimal setup for Lua. In fact I found it (again)
while working on reproducible research and publishing, as the extension
language for Pandoc and LaTeX (via LuaTeX).
>
> So I see that as an advantage, and a compliment to Pharo.  Seaside may be an
> external library to Pharo, but much of "the rest" is built-in, and comes
> with a nice OS/IDE to wrap it all up and keep things together.  Did not
> Smalltalk-80 invent the concept of a container, which is becoming all the
> rage in IT today?  Yet another first for ST..?
I remember some talk in Twitter with the Docker people about how
Smalltalk was an inspiration of the containers idea, but I can't locate
it again.
>
> So I guess that's my beginner impression of Pharo: a great environment that
> lives in a container.  (I'm learning how to implement containers and
> implement /in/ containers now, too.)  How easy is it to cross that boundary
> and interact with the rest of the world?  Maybe another way Lua and Pharo
> are dissimilar?
In my case, I interact with the external world via formats and DOMs
using parsers for JSON, HTML, CVS and so on and some times callings to
the OS. No obstacles there. Pharo is a pretty well suited environment to
interact with the external world on data visualization/processing issues
for reproducible research and publishing, while it helps me in keep
incidental complexity away, being a pretty self contained environment.
>
> Example: I automate hardware... Can I use Pharo to interact with
> instrumentation over USB?

Yes. There is a Pharo things project and Phratch (Arduido + Pharo +
Scratch) which use Pharo to interact with hardware.

Cheers,

Offray




Reply via email to