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. >