Python is my No2 does not have to be yours, obviously. I prefer it because
of its minimalistic ideology and huge third party library ecosystem that
makes it dead easy to code in. But in the end I use it because that's what
Blender uses for scripting.

Of course Pharo remains my No1 ;)

I hate web development for the usual reasons hence I try to stay as far
away from it as possible. Pearl syntax looks too ugly to me.

I also use C++ because that's what Unreal uses. My post was not an
advertisement for those two languages , just to mention that live coding is
possible. I actually hate C++. But it's a necessary evil in my case.

On the subject of C macros , there is scons which is a Python library and I
suspect there are a ton more out there. Blender which is more than one
million lines of C code used it but I think now the rely more on CMake.You
could probably build one in Pharo too easily for personal usage. I do not
rely on C macros or scons because Unreal has its own build system which
handles many common issues with the compiler for me.

There is a ton of technology for any kind of problem, just a google away.
On Fri, 17 Mar 2017 at 12:37, Dima Makhnin <dimamakh...@gmail.com> wrote:

> Why all the hype about python? why not more flexible languages like
> JavaScript ES6, or Perl5 that are capable of preserving string to object
> literal isomorphism out of the box?
>
> Of course Dynamic Languages are fine for this, that's essentially what
> Objective C is; C + FakeTalk.
>
> I dream of a future where we can throw out the silly C processor macros
> and replace them with a real script engine; eg write c in a php file and
> have it generate code at preprocessor time, and if you need help at
> runtime, load the php runtime, and interact with it.
>
> This can be done in any language, For SmallTalk it's something like
> objective c but objective c is halfway there, it didn't replace c
> preprocessor with inline smalltalk.
>
> But yeah, hopefully we see more elegant compiletime-runtime interop in the
> future.
>
> On Mar 17, 2017 6:21 AM, "Dimitris Chloupis" <kilon.al...@gmail.com>
> wrote:
>
>
> With any tech, there is always this hype cycle with the disullusionment
> after the "peak of excitement" and that is needed to reach the
> productivity.
>
> I would urge all Pharo users to keep pushing and not let go of the vision,
> because there is really nothing like Pharo around.
>
>
> The one things I love about Pharo is Live Coding. The ability to change
> the code while it executes without all this recompile-restart nonsense.
>
> I also was under the assumption you were when it came to live coding that
> none is doing better than Smalltalk and Lisp. So just for fun I went on to
> experiment how easy it would be to re implement live coding in C++ and
> Python. I was not expecting much if anything.
>
> With Python it was super easy, I only need a main loop, wrap the loop
> inside an exception that in case of an error would catch the error , not
> stop the execution but rather using the import tools that come with Python
> will import the module. Worked like a charm.
>
> I use this to develop a blender addon.
>
> But the really shock was how easy it was to do this with C++. I thought
> that memory leaks would make live coding with C++ impossible , I was dead
> wrong. Apparently OS exceptions can capture even crashes, they wont allow
> the executable to crash. Instead of python modules I use DLLs on windows ,
> .dylibs on MacOS and .so on Ubuntu. Executable is a tiny loop reloading the
> dlls and providing to them a pointer to a very large array that contains
> the entire memory of the app, DLLs handle the memory to share it between
> objects etc.
>
> https://github.com/kilon/LiveCPP
>
> Next step is integrating iPython and also python debugger and testing unit
> testing with live coding.
>
> So yes definetly learn Pharo because it has many hidden gems , if you are
> newcomer. But if you miss Pharo , like me, when you code in other language,
> despair not, its very easy to recreate at least live coding.
>
>

Reply via email to