gtoolkit VS iceberg

Compare gtoolkit vs iceberg and see what are their differences.

gtoolkit

Glamorous Toolkit is the Moldable Development environment. It empowers you to make systems explainable through experiences tailored for each problem. (by feenkcom)

iceberg

Iceberg is the main toolset for handling VCS in Pharo. (by pharo-vcs)
Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
gtoolkit iceberg
22 5
1,042 133
2.0% 0.8%
9.6 9.2
4 days ago 6 days ago
Smalltalk Smalltalk
MIT License MIT License
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

gtoolkit

Posts with mentions or reviews of gtoolkit. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-03-27.
  • Explorative Programming
    2 projects | news.ycombinator.com | 27 Mar 2024
    Your ideas sounded very much like a mixup of Common Lisp with SLIME, Smalltalk interactivity and Unison-like storage of code in a database instead of files.

    I've tried all of them, I think the closest thing I've seen to what you describe, which I also find very attractive, is the GT Smalltalk environment: https://gtoolkit.com/

    Have you tried that? They call this idea "moldable development" as you can "mold" your environment to your needs.

    Even though I loved it, I ended up not using it much, mostly because it's a bit too heavy to keep handy for exploration all the time when needed (it takes like 1GB of RAM even when idle!)... as I already can do most of that with emacs, which is much lighter, I just stick with it.

  • Smalltalk simplicity and consistency vs. other languages (2022) [video]
    3 projects | news.ycombinator.com | 14 Jan 2024
    > This power that Smalltalk systems have where the code runs in a GUI that is also the editor/debugger/etc has deeply fascinated me recently.

    Have you tried emacs?

    > And I'd like to actually understand a tool that I'd have to dive into that deeply, and I think I'll never have the time to truly understand all of the VM, the classes, etc.

    I've recently tried to do that myself with Smalltalk via the Glamorous Toolkit[1] (a beautiful, modern Smalltalk environment based on Pharo). Because the programming environment itself comes with a Book teaching it, you can basically just read it as a normal digital book, but with the superpower that everything is editable and interactive: you can change the book itself, every code example is runnable and you can inspect the result objects right there, change it, modify the view for it... they say it's "moldable development" because you almost literally mold the environment as you write your code and learn about the platform.

    > And I'd like to be able to create applications that run without shipping the entire Smalltalk VM.

    That's why even though I really enjoyed SmallTalk, I can't really see it as anything more than a curiosity. I tried using it at least for my own occasional data exploration because it has good visualisation capabilities and super easy to use HTTP client/JSON parser etc., but the system is so heavy (1GB+ of RAM) that I couldn't justify keeping it open all the time like I do with emacs, on the offchance that I might need to use it for some small task.

    Anyway, perhaps that's something you might be interested in.

    [1] https://gtoolkit.com/

  • An OOP modern language that is enjoyable in terms of syntax?
    1 project | /r/learnprogramming | 10 Dec 2023
    I have been building a drawing and animation system in Pharo (smalltalk) for a few months, using a really neat new UI called glamorous toolkit.
  • Ask HN: What perfect software did you discover of recent?
    4 projects | news.ycombinator.com | 4 Dec 2023
  • Pharo 11, the pure object-oriented language and environment is released!
    7 projects | /r/programming | 11 May 2023
    Last time I tried to "hydrate" thousands of SQL rows into objects and both Pharo and the Glamorous Toolkit froze up. Maybe that is to be expected, but I've done that a million times on the JVM without any problems.
  • Ask HN: Has anyone fully attempted Bret Victor's vision?
    8 projects | news.ycombinator.com | 22 Jan 2023
    In my opinion the idea is more than direct data manipulation. It is about how we get feedback. In drawing, the medium to draw is the same medium to read. In programming, there is often a mismatch - coding on a text file, running on somewhere else, e.g. terminal, browser, remote server. If you count surrounding activities for programming, like versioning, debugging, metering and profiling, even more system is involved. We are not even touching the myriad of SaaS offering each tackling carve out a little pie out of the programming life cycle.

    Back to your question, from my naive understanding, smalltalk seems to be an all in one environment. The Glamorous Toolkit [1] seems to be that environment on steroid. I have no useful experience to share though.

    https://gtoolkit.com/

  • Emacs Is Not Enough
    6 projects | news.ycombinator.com | 14 Jan 2023
    Wrote a review on it on the website, copypasting:

    Glamorous Toolkit[1] promotes the idea of moldable development[2].

    There's a talk on it: Tudor Gîrba - Moldable development.[3]

    The basic idea is to have multiple views and editors for any piece of data in your system (including code). Kind of interesting, but the toolkit looks and acts more like a fancy computational notebook type of environment, but without explicitly being a computational notebook.

    The site on moldable development states its difference with literate programming:

    They are similar in that they both promote the use of narratives for depicting systems. However, Literate Programming offers exactly a single narrative, and that narrative is tied to the definition of the code. Through Moldable Development we recognize that we always need multiple narratives, and that those narratives must be able to address any part of the system (not only static code).

    And that's a sensible viewpoint. But I still see it as an advanced version of a literate programming, all done within an interactive environment.

    The focus of Glamorous Toolkit seems to be on explaining a code base or a certain part of the system via presenting it via a custom tool.

    But I am not too convinced with the top-level development model / workflow it assumes for you. I guess it's too narrowly-focused / opinionated.

    It's also a custom fork of Pharo, so the question of long-term stability is even more unclear than that of Pharo itself.

    I can't say I can compare it to Project Mage in any meaningful way, except it's also a live environment.

    [1] https://gtoolkit.com/

  • But... what is it?
    1 project | /r/emacs | 13 Dec 2022
    Wow, that's very interesting, never heard of it before. In the first link and they've mentioned smalltalk and I remember checking out https://gtoolkit.com which I think has some of the ideas from emacs but is implemented in smalltalk. I always wondered if gtoolkit could fundamentally offer something emacs couldn't (at the principal level) but now that you've lebaled them together, I think I know the answer is no
  • The First Rule of Microsoft Excel: Don’t Tell Anyone You’re Good at It
    4 projects | news.ycombinator.com | 24 Oct 2022
    prolly a bit outside the mainstream but -> https://gtoolkit.com/
  • Glamorous Toolkit: Moldable development environment
    1 project | /r/patient_hackernews | 20 Oct 2022

iceberg

Posts with mentions or reviews of iceberg. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-10-11.
  • LSP could have been better
    12 projects | news.ycombinator.com | 11 Oct 2023
    The problem with the filesystem is that it privileges organization scheme which isn’t the best one for every editing task. This makes, for example, implementation inheritance hard because your class has a bunch of invisible code in it. But, it you could expand all the superclass methods into a single view and then have edits automatically integrated into the appropriate places, this wouldn’t be as much of a problem.

    Java’s filesystem hierarchy is a great example of a “fileout” format for the sort of environment I’m talking about. Another example here is smalltalk repositories generated by Iceberg: https://github.com/pharo-vcs/iceberg

  • Pharo 11, the pure object-oriented language and environment is released!
    7 projects | /r/programming | 11 May 2023
    and looking at sample git commit (I assume this was done in Iceberg): https://github.com/pharo-vcs/iceberg/pull/1687/files
  • Stop Writing Dead Programs
    1 project | news.ycombinator.com | 20 Oct 2022
    By committing the code to a git repo and having a code review like every other language out there.

    I'm guessing you have never tried these things but image based Smalltalk implementations have supported VCS for decades now, literally. In Pharo this is with git using Iceberg:

    https://github.com/pharo-vcs/iceberg

    They even wrote a tutorial to make it easier: https://github.com/pharo-vcs/iceberg/wiki/Tutorial

    It's not magic, it's not even a problem, because the problem you're imagining doesn't actually exist. So long as the user of the system has at least half a brain (and maybe less) they will be capable of distributing their code with git these days.

  • Design Principles Behind Smalltalk (2001)
    2 projects | news.ycombinator.com | 20 May 2022
    Iceberg for Pharo: https://github.com/pharo-vcs/iceberg

    Monticello: http://www.wiresong.ca/monticello/

    I haven't used the latter, but the former is easy to use and based on libgit. Create a new repository, select the packages that go into it, make the initial commit. After that it'll tell you when the changes don't match the repo. You can select down to the method level since it's aware of the language's syntax and semantics. The generated repository looks like the Iceberg repo itself, a collection of directories for the packages and then .st files for the classes and their contents.

  • Pharo 10
    7 projects | news.ycombinator.com | 5 Apr 2022
    > a copy of your code the environment does some extra epicycles to copy it outside

    Iceberg https://github.com/pharo-vcs/iceberg is the Git/etc. integration built into Pharo and works extremely well. You don't need to "file out" code if that's what you meant.

What are some alternatives?

When comparing gtoolkit and iceberg you can also consider the following projects:

moose - Multiphysics Object Oriented Simulation Environment

REPLEndpoint - A RESTful endpoint that behaves like a REPL

quokka - Repository for Quokka.js questions and issues

pharo - The Sources for Pharo

vim-buffet - IDE-like Vim tabline

PharoChipDesigner - A little chip design game inspired by KOHCTPYKTOP: Engineer of the People by Zachtronics

Moose - MOOSE - Platform for software and data analysis.

PharoByExample9 - The version of Pharo by Example for Pharo 90

seaside - The framework for developing sophisticated web applications in Smalltalk.

Parasol - Testing web apps in Smalltalk using Selenium WebDriver.

godot-talk-VM