Hi,
Thanks Edward as always for the food for thought.
On 20/06/15 06:21, Edward K. Ream wrote:
> Imo, git rivals python as the greatest productivity tool ever devised
> for programmers.
>
For my these two tools has become fossil-scm[1] and Pharo
environment[2], respectively. They're really empowering, but out of the
radar for most of developers and people. I use Fossil for source code
management in the file system world and Pharo almost for everything
else: writing, prototyping, programming, visualization. I was even able
to prototype my own Leo/IPython alike conciliation, something that has
the tree-like writing experience of Leo and the interactivity of
IPython. Of course both of them, Leo and IPython, have properties not
found in my early prototype and maybe it will be like this always,
because is about creating variation, not repetition. Leo and IPython
will be in my toolbox for long time hopefully.
[1]
http://fossil-scm.org/
[2]
http://pharo.org/
My workflow is pretty simple, mostly in solo projects (in collaborative
ones I change init by clone):
- fossil init <repo-name.fossil> creates repository.
- fossil add/rm <file-name> adds/removes files.
- fossil commit -m "<message>" commits.
No forking, pushing, pulling, etc. I explore the repo with the included,
minimalist web server adding the processing power of the visual cortex,
instead of trying to make sense of fonts in terminal emulation output
:-). Fossil stays out of my way and let me do the work without the
cognitive overhead of most DVCS/SCM. Pharo environment is (like fossil)
self-contained: programming, visualization, package installation, source
code management, GUI, unitary test, all happen there, fluidly. I'm now
creating a bridge between fossil and pharo for making a smoother
integration for my workflow.
Some time ago I wrote several post about how Leo add self-refentiality
to the file system world: A leo tree is a file that can talk about,
deconstruct, reconstruct almost any other files in the file system: a
meta-description and in that sense reminded me of Smalltalk[*]
self-referential discourse about computing, but for files instead of
objects. Now I'm trying some cross-pollination of some ideas learned in
the Leo/IPython world to the Smalltalk one. Sharing our tools and
workflows helps with that crosspollination and explorations.
Cheers,
Offray
[*] I read in the leo website
http://leoeditor.com/appendices.html?highlight=smalltalk#why-i-like-python
a comparison of Python versus others C++, objective-C and Smalltalk, but
the rest of the comparison is only against C++ and says that
"Other interpretive environments such as icon and Smalltalk have
clarity, power and safety similar to Python. What makes Python unique is
its seamless way of making C code look like Python code. Python executes
at essentially the speed of C code because most Python modules are
written in C."
This speed added value is almost negligible for me compared to the
possibility of expressing my thoughts in the environment and in that
sense, Pharo Smalltalk shares for me the same conclusion of the page for
python: "[Pharo] allows me to express my intentions clearly and at the
highest possible level".