Live data from Hacker News

Glamorous Toolkit: Moldable development environment

gtoolkit.com

11–20 of 38 posts

Re: Glamorous Toolkit: Moldable development environment

#11

I read most of the website, and I still have no idea what this is? Is this a Smalltalk IDE? Some kind of static analysis software?

Very interesting question, and one that we are struggling to address :).

It's those and more. It's also a programmable knowledge management system. It comes with playground snippets and debuggers for several languages, like JS and Python. More recently it is also a distributed Smalltalk that can be debugged remotely. It comes with a graphical stack that unifies editors with visualizations. All these in a single uniform (and not too large) environment that shows that programming, knowledge management, API management and data science can all be served in a single uniform environment.

These are just the large pieces. Yet the goal is to empower people to create their custom system-specific experiences. Actually, we go as far as to create object-specific experiences. The goal is to help people make the inside of their systems explainable through the practice of Moldable Development.

Re: Glamorous Toolkit: Moldable development environment

#12

This recent video does a good job of illustrating some of the power of what they've built: https://www.youtube.com/watch?v=jJhfTUSDlR0 I find the gtoolkit interface a little clunky in a way I can't quite describe but the core ideas are fascinating: - if you're looking at a compiled method it's trivial to switch between different representations: you can easily look at the original source or the AST or the bytecode. I…

Indeed!

> I find the gtoolkit interface a little clunky in a way I can't quite describe

I would so love to expore with you what makes it feel clunky. Please do feel free to contact me directly https://twitter.com/girba.

Re: Glamorous Toolkit: Moldable development environment

#13

This recent video does a good job of illustrating some of the power of what they've built: https://www.youtube.com/watch?v=jJhfTUSDlR0 I find the gtoolkit interface a little clunky in a way I can't quite describe but the core ideas are fascinating: - if you're looking at a compiled method it's trivial to switch between different representations: you can easily look at the original source or the AST or the bytecode. I…

> While you write your application you're also writing the tools which make it easy to write and debug your application. I wonder if the benefits of GToolkit would go beyond using it to extend itself through Pharaoh. Would it be just as useful for writing C++ applications?

People are using it for various systems and for a variety of use cases that go well beyond programming with Pharo.

For example, there are connections to JS and Python out of the box for executing, inspecting and debugging. These are mere examples of what one can build with the environment.

In any case, the first target of our work is to help people discover and practice Moldable Development which is a generic approach to software engineering.

Re: Glamorous Toolkit: Moldable development environment

#14
post #10

Looks like a type of structured code editing. https://en.wikipedia.org/wiki/Structure_editor I think that software engineering should have moved on to this years ago. And maybe they tried but programmers are subconsciously afraid of being accused of being mere users and so want to have colorful complex text in front of them at all times. I a also subject to this.

There is indeed support for structural editing, but we start the environment from the viewing use case. There are many ways to view data (or programs) and these are much less expensive and approachable than editing. For example, the distribution alone comes with thousands of object views. These then enable us to answer questions about the system without reading code (which happens to be the single largest expense in software engineering today).

Re: Glamorous Toolkit: Moldable development environment

#15

I read most of the website, and I still have no idea what this is? Is this a Smalltalk IDE? Some kind of static analysis software?

Very interesting question, and one that we are struggling to address :). It's those and more. It's also a programmable knowledge management system. It comes with playground snippets and debuggers for several languages, like JS and Python. More recently it is also a distributed Smalltalk that can be debugged remotely. It comes with a graphical stack that unifies editors with visualizations. All these in a single unifo…

It's such a challenging problem developing the elevator pitch.

For what it's worth (which is likely very little) the main takeaway I get from the above (in true HN style, without having read the article) is the call-out to knowledge management.

Perhaps because the other bits sound like cool tech you must have built in order to pursue other goals. Who wouldn't want a distributed engine you can debug remotely! I suppose I have some sales hat on. Who could I sell what to?

Re: Glamorous Toolkit: Moldable development environment

#16

I read most of the website, and I still have no idea what this is? Is this a Smalltalk IDE? Some kind of static analysis software?

I doubt there is a single good answer to that question. I'd call it a workbench for software and knowledge management, but I am well aware that this doesn't mean much for people who have never used a workbench for software and knowledge management.

A more pragmatic answer: - If a Smalltalk IDE is what you are looking for, give it a try. Right now. You won't regret it. - If static analysis of large code bases is what you are looking for, explore the current level of support for your language (best done by asking a question on Discord), and if it's good enough, give it a try. Otherwise, check again later. - If you are interested in new approaches to software and knowledge management, give it a try, right now, but be prepared to invest some time before you "get it".

Re: Glamorous Toolkit: Moldable development environment

#17
I'd love to give it a try. However, Pharo still doesn't run out of the box on my Fedora system. It used to work, up to Pharo ~5-6, then stopped working altogether. There's little documentation around installation and even less info on troubleshooting. I'd love to like Pharo, but it simply doesn't work, and nobody cares :( From my memories of it, even when it was still starting properly, it worked... Well, some of the time. Resizing the default font killed the looks of all UI elements, for example.

It's all fixable with enough time and effort, no doubt. Unfortunately, I don't have that kind of time on my hands anymore. I'd love to see and use all the new shiny tools developed in and for Pharo, but - even if it started working again - I don't have the time to read all the code and piece the puzzle together on my own. Some kind of documentation would be nice. Hopefully, included in the distribution. No such luck as far as I can see.

So, even knowing that I'm missing out on some really cool things, I recently switched my Smalltalk development to Cincom® VisualWorks© Smalltalk (I hope I got these Rs and Cs right...) It's a version from 6 years ago at this point and partially closed-source, but it's rock-solid and stable, very well documented with thousands of up to date (easier to provide when you're working with a stable system) pages in PDFs, with guides and references; comes with a lot of goodies and working, well tested support for namespaces, inner classes, visibility modifiers for classes, extended streams (though they're closer to RxJava than classic streams, and I didn't like them very much), some other language extensions (no traits though), the GUI painter, and so on. And all of that works, even if some of it looks less glamorous then the screenshots presented here, which are all I'll ever see of this toolkit until Pharo starts treating users with a bit of basic respect.

I have a blog post about making VW IDE a bit prettier - just look at the screenshots: https://klibert.pl/posts/smalltalk-ide-quickfix.html - yeah, it looks so last-gen, right? I know. But it works. And it survived like 3 system upgrades, 1 reinstall and 1 fresh install on a new laptop without issues. If only Cincom was more flexible when it comes to licensing the commercial version!

Re: Glamorous Toolkit: Moldable development environment

#18

This recent video does a good job of illustrating some of the power of what they've built: https://www.youtube.com/watch?v=jJhfTUSDlR0 I find the gtoolkit interface a little clunky in a way I can't quite describe but the core ideas are fascinating: - if you're looking at a compiled method it's trivial to switch between different representations: you can easily look at the original source or the AST or the bytecode. I…

It's really interesting to see all of this visualized. I used to do a subset of these things when I used to reverse engineer games. Reverse engineering all the object structures, injecting a DLL, pointing at those objects and then exposing them via lua or angelscript. Maybe making an interactive REPL like thing so I could play around with things.

I wonder if instead of binding to lua/angelscript, you could instead somehow expose the reverse engineered objects and such to this system to get a nice customizable/programmable UI.

I have 0 understanding of how this system functions at the implementation level, as in how much it relies on the underlying language/runtime/whatever. I know very little about Pharo or how it's actually implemented, just that it's inspired(?) by smalltalk (which I also know very little about). But it looks really cool and makes me excited thinking about the different possibilities that it could potentially open.

Re: Glamorous Toolkit: Moldable development environment

#19
I struggled initially to understand what this was about. Then, after digging a little bit more, I see that it is an open and rich environment to visualize (while executing) data from different perspectives while being extensible from within the same environment (using Pharo), allowing to create a rich and custom ecosystem for data and systems exploration in an orderly and structured manner.

What I couldn't find is information about workshops or forums besides discord to talk and understand about its possibilities.

Specifically, I had trouble understanding how to apply it to other programming languages and their frameworks. I can see that for some of them (e.g. PHP) you have to export the project with a tool and then import it into GToolkit, but that converts such a system into just an static structure to be analyzed, but not a live system to experiment with. This would mean that live documentation would require permanently exporting and then importing the code from such system. To get a living system + its real time perspectives and embedded live documentation it seems you must program the system in Pharo.

Re: Glamorous Toolkit: Moldable development environment

#20

I'd love to give it a try. However, Pharo still doesn't run out of the box on my Fedora system. It used to work, up to Pharo ~5-6, then stopped working altogether. There's little documentation around installation and even less info on troubleshooting. I'd love to like Pharo, but it simply doesn't work, and nobody cares :( From my memories of it, even when it was still starting properly, it worked... Well, some of the…

Glamorous Toolkit build the VM differently from Pharo. Please give the distribution a try: https://gtoolkit.com/download/
Post reply on HN