gtoolkit VS seaside

Compare gtoolkit vs seaside 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)

seaside

The framework for developing sophisticated web applications in Smalltalk. (by seasidest)
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 seaside
22 2
1,041 494
1.9% 0.2%
9.6 8.9
4 days ago 4 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

seaside

Posts with mentions or reviews of seaside. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-04-05.
  • Pharo 10
    7 projects | news.ycombinator.com | 5 Apr 2022
    ```

    As you can see, I've hacked the _: to be a separator of some sorts, but what it actually is, is an argument of a message. You can do all kinds of fun stuff with this. See [8].

    8. When you overwrite #doesNotUnderstand then you can inspect the message and its arguments. So whether you send Object1 a:arg1 veryImportant:arg2 message:arg3, then you can inspect those arguments. In the case above, this means you can also inspect _:arg1 _:arg2 or _:arg1 _:arg2 _:arg3 ... _;argN. In other words, you can deal with variable arguments and it doesn't matter what they're called. Because of this, it's easy to create a simple DSL, if you need another separator, then simply add one. You have a lot of characters at your disposal that are quite unique [4]. I figured that out by using by using point (2) and just looking around in the environment.

    __Web Development__

    9. Seaside is capable of live and dynamic updating. MOOCs won't tell you this because it requires using Seaside quite differently. In short, the pattern that I see used at my work is by having server-side rendered HTML that has designated blocks as callbacks. So when you send your server-side rendered HTML, those callback blocks will transform itself into a jQuery GET/POST request. Pharo writes the jQuery for you. We also use React, but I haven't gotten around to it how it's used, I'm fairly sure we don't use anything like Redux.

    10. In terms of testing, it's relatively easy to write tests. As with Go, it's all included and you're ready to test! Also note: if you want to use Selenium tests, you can use Parasol [5], it's quite easy to use.

    11. The following concepts are not explained well, so I'll do it: Seaside heavily uses what we'd call middleware in NodeJS (filters in Seaside). In NodeJS/Express we also have a request object that exists during the lifetime of a request. In Seaside this is called a dynamic variable (WADynamicVariable is the class).

    __Stuff I wrote out in the open__

    12. I've been working on refactoring i18n in Seaside [6]. I currently find the approach Pharo uses the nicest approach, which is something along the lines of:

    'You have some string that needs translation in your web app' SeasideTranslated

    When you want to export a catalog file of all the strings you want to translate, then you send exportCatalog new exportCatalog and it will look through the whole image and find every tagged string and export it into a catalog (.pot) file that you can edit with POEdit (a free Mac app [7]).

    13. I wrote a simple animation that shows the definition of sin and cos [8]. Most of the code is shown in that video, IMO it gives a good enough sense how to use it.

    __Bottom Line Thoughts__

    14. I think Pharo is a production-ready language for SaaS apps where you can easily scale by adding instances. I am not sure if it'd be production-ready for consumer facing web apps with many concurrent users.

    15. It's an amazing language to create desktop applications for.

    16. The debugger capabilities are awesome and there's active research on it. Time travel debugging is currently in its PoC phase (source: Pharo Days).

    17. It's also a good language for live music making (source: Pharo Days where someone demo-ed some live coded acid music).

    [0] https://discord.gg/QewZMZa

    [1] We're hiring developers able to work in Europe and based in a European time zone. The way we use Pharo is IMO the real deal, it goes far beyond what any MOOC can teach you.

    https://yesplan.be/en/vacancy/full-stack-software-engineer

    [2] https://github.com/pavel-krivanek/PharoChipDesigner

    [3] https://www.youtube.com/watch?v=BUEnRrUZ-Ug

    [4] ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyzªµºÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþÿ

    [5] https://github.com/SeasideSt/Parasol

    [6] https://github.com/SeasideSt/Seaside/tree/gettext-fix

    [7] https://poedit.net/features

    [8] https://drive.google.com/file/d/1Z3UwTAj4A2CRo_TXk6JNG-mN9yM...

  • The evolution of Smalltalk: from Smalltalk-72 through Squeak
    2 projects | news.ycombinator.com | 17 Jun 2021
    I have actually used Squeak in production for a simple web app when I was freelancing. I used https://github.com/seasidest/seaside as framework which is still going strong.

    Sure that was like 10 year ago but the App is long gone but I can totally see the use for Pharo/Squeak in a green field project even today. The parts are all there. It is super easy to get started, you download an image and have an whole development system set up. No setting up the tooling, no hunting for extensions for you IDE, nope the language already comes with an IDE that is superior to anything your are likely to have ever seen.

What are some alternatives?

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

moose - Multiphysics Object Oriented Simulation Environment

zinc - Zinc HTTP Components is an open-source Smalltalk framework to deal with the HTTP networking protocol.

quokka - Repository for Quokka.js questions and issues

Cuis-Smalltalk-Dev - Active development of Cuis Smalltalk

vim-buffet - IDE-like Vim tabline

Parasol - Testing web apps in Smalltalk using Selenium WebDriver.

Moose - MOOSE - Platform for software and data analysis.

PharoByExample9 - The version of Pharo by Example for Pharo 90

iceberg - Iceberg is the main toolset for handling VCS in Pharo.

Spec - Spec is a framework in Pharo for describing user interfaces.

godot-talk-VM