2012/11/25 dimitris chloupis <thekilon@yahoo.co.uk>:
240 commits later we had a morphic interface for blender written in python and ported to bgl so it could run from inside the blender window.
I'm trying to understand... was it an alternative interface for Blender, or an interface toolkit just happening to sit on top of Blender? (or both?)
Suprisingly we did not have so much problem with out own bugs but bgl proven too slow , buggy and unreliable so I had to abandon because I could only solve that problem with hacking blender source which is written in C and is almost not commented at all. Lets say here I am no big fan of C language of Blender source.
I begin to understand what you meant with "only thing it worries me is the type of technical blocks / obstacles I may come across".
Here you can find if you are interested the final blender python code ---> https://github.com/kilon/EphestosOld
What really would interest me is your personal opinion on Smalltalk as somebody coming from a Python background. That is, once you have more experience with it (Smalltalk). I don't know much Python, but considered it more than once because of something I didn't find in other mainstream languages that I would miss from Smalltalk: named parameters. Of course in Smalltalk you don't have that, since the method signatures give you that for free ;-)
From there on I was just searching for a home for Ephestos. I has quite reluctant to join pharo because of the lack of developers and because I am not that familiar with smalltalk as much I am with python. To be frank I am not that motivated to join a language that is has a very small community because of bug fixes and library support.
I understand you completely and it is good to read this loud and clear. For every person like you that communicates this in a clear way there must be hundreds that consider Smalltalk and then discard it for the same (or other) reasons; the input never reaching the community. I would be tempted to tell you that being such a small community also has its advantages ;-) but I don't want to trivialize the issue. Smalltalk's community *is* very small, and the library support... well... could (and hopefully will) be better. In some areas, let's be honest, we are years behind other platforms/environments/languages. But why does a Smalltalk community still exists at all, then? Because yet in many other areas, Smalltalk is still *ahead* of anything else out there also for years if not for decades. Yes, I think this is a vital issue, and kind of a chicken-egg problem that needs to be solved (I know, it *is* being solved). In fact, I think I will write another mail asking this "small" (?) community what they think about it.
I actually even looked into common lisp and emacs very recently as well since I really like lisp as a language and I prefer from smalltalk.
Conceptually I find Lisp also very interesting. But anytime I evaluate going the Lisp route I find myself planning to reach first some Lisp-based-Smalltalk syntax & semantics and then I say: why waste my time if there *is* already Smalltalk, waiting to be used? :-) At the end, I think the right approach to DSL (domain-specific-languages) nirvana will be the idea presented by the Helvetia project, incidentally also Smalltalk-based: http://scg.unibe.ch/research/helvetia
But it has become obvious to me that what I am trying to do for Ephestos is synonymous to what smalltalk is trying to do, to offer a live visual environment that makes code , fun , flexible and efficient.
Cool :-)
So I decided to take the deep dive into pharo. Smalltalk may not be super popular as python
Not for a long shot, unfortunately. We as the Smalltalk community should be very sincere and evaluate, with a cool head, why this is so.
but porting all smalltalk stuff or even just little to python is just insane amount of work so I think I made the sensible choice to port my project to Pharo because it was already based on pharo libraries anyway.
I don't get it... which part will you port from Python to Smalltalk, and which part you don't need/want to port?
Saying that I am still interested in offering some Blender support for Ephestos and thus making pharo able to quickly communicate with blender
And Blender would... render 3d? (whilst the interface would be on the Pharo side?)
probably via a socket bridge.
The idea of (socket) "brides" to other languages / runtimes always made sense to me. At least short-term to break the library/devs cycle. I don't know if this idea was evaluated by the community. Recently there was an announcement of a bridge to a XUL (Mozilla) -based frontend, with Smalltalk back-end, using Seaside's continuations. So it should be easier as ever.
I got all these crazy ideas but I am willing to take them a step at a time , so that is why I talked about "decades".
I very much liked what Stef wrote yesterday, it got me thinking: start small and work steadily... Good to see that you have such long-term plans! :-) Best regards, Sebastian