Why aren't you using one of these? What's missing ...
# thinking-together
m
Why aren't you using one of these? What's missing in them? is your use case not covered? • https://gtoolkit.com/ is the Moldable Development environment. It empowers you to make systems explainable through experiences tailored for each problem. • https://www.unison-lang.org/ A new approach to Distributed programming • https://github.com/hyperfiddle/electric A reactive DSL for full-stack web development, with compiler-managed frontend/backend network sync • https://redplanetlabs.com/ a new programming platform that reduces the cost of building scalable backends by 100x • https://croquet.io/ Multiplayer Platform for Web and Unity • https://enso.org/ Nodes and wires data manipulation • https://www.rvbbit.com/ reactive data boards & flows • https://www.wolfram.com/language/ a symbolic language, deliberately designed with the breadth and unity needed to develop powerful programs quickly.
a
I’m using one of them, but only one. This looks like the start of a fun advent calendar.
k
I use one of them (Glamorous Toolkit) regularly, but not for everything. I was aware of perhaps half of the systems in your list, so I have a good excuse for the other half: ignorance. My main reason for not using any of these for most of my coding is weak (or absent) ecosystem support for my application domains, plus past investment into other ecosystems. A special mention goes to the Wolfram language, which would be a great fit for much that I do but which I do not use at all because of its proprietary nature. Even if I were personally willing to spend the roughly 1000€/year they charge for academics, I would seriously limit my collaborations if I expected my collaborators to do the same.
p
Because I ask myself these questions: • will it be around in five or ten years? will this language/library be a liability for the company? • how will it limit my use of other libraries, tools, languages, etc? • how confident am I that this won’t embarrass us in production? will I spend a week tracking down some weird performance thing? • will another engineer understand what’s going on? will the next person roll their eyes and rewrite everything in javascript? • how much of a distraction will its strangeness become? how much political capital will I have to spend on the decision to use it? It’s rarely a question of features.
GToolkit’s sidesteps a lot of this if you use it as an IDE. I don’t use it because it seems like getting any value of it involves a sizable investment in learning the interface, language, and libraries, and I can get by OK exploring an API or whatever by using a REPL.
It means a lot that GToolkit has been around for a long time and is being used by professionals solving real problems in the real world.
c
Very cool list !! I've checked out GT more deeply ... because I'm looking for an extensible editor. While GT is / can be an extensible editor, I was overwhelmed by it's complexity (does many other things) and by Pharo, a language in which you can extend it. The question is, if you know some other alternatives. My problem is that I want to write using the scientific method, which is a strict, tree like workflow, where you start with an observation (root) and do things like questions, hypothesis, experimentation, etc (nested nodes) And I need an editor which I can extend with this workflow. Once extended, the editor would help/enforce me following the workflow. I was thinking to write one for myself, but if by chance, it is already written, I would like to be a good / happy user 🙂
m
@Konrad Hinsen ☝🏽
j
Excellent list! My reasons below. I think many of these could be actually tackled with clear marketing, good documentation, integrating into existing ecosystems, custom LLM:s for learning, etc. 1. Selecting a new platform takes a lot of time and it is difficult to compare platforms without trying each one of them out. There should be more articles that compare dev platforms, libraries, boilerplates etc. 2. It is not clear to me if the dev tools are actually solving any of the problems I have a. Fast creation of storage, backends, payments, auth b. Transparent easy-to-understand architecture c. Limited boilerplate, little code, easy to debug 3. The benefits are not large enough in comparison to the effort of switching and risk. a. Time to learn a new programming toolset or paradigm is quite large compared to accumulated knowledge from 10-20 years. Time I can spend on learning is very limited. 😕 b. Lack of supported tooling / libraries / Stack Overflow responses for new platforms 4. Not clear if the tools can be used to build "real" products, such as iOS apps, commercial web apps, etc The benefits need to be huge for users to switch to a new product, see "9x effect": https://elezea.com/2013/07/9x-effect/ Originally stumbled upon the concept here: https://www.intercom.com/resources/books/intercom-jobs-to-be-done
m
@Peter Abrahamsen it can be for personal use and hobbies, doesn't have to be used at work and/or in production
k
@Csongor Bartus There are two systems I know well enough to comment, and they are very different: GT and Emacs. Emacs is a text editor that you can adapt to your needs. What you edit is a text file, but your own Emacs mode can modify how it is displayed (e.g. syntax highlighting, tree display of hierarchies, ...) and add commands for manipulating the data at a higher level of abstraction (e.g. delete a function in a programming language mode). GT is a programming system with a composable graphics/UI layer that includes editor elements. You can use a plain-text editor widget and extend/enhance, much like Emacs, but support is more limited than in Emacs. Where GT shines is for designing a UI that contains text editor elements, among other items. The question you need to ask yourself is thus: do you want a specialized editor for some textual data representation, or a UI for working with some data that happens to include text editors?
c
@Konrad Hinsen As UX, Notion, is just perfect. Screenshot attached.
On DX, I have to manually create the structure and copy paste into every new document page, which is not ok .... And I'm getting only markdown as export, while in systems like GT I'm getting JSON too
k
@Csongor Bartus My first reaction to your screenshot is: use Emacs and its org-mode, and add some Emacs-Lisp functions for the specific functions you need (adding entries etc.) That assumes purely textual data, if you need images or other stuff, it gets more complicated (but still possible). On the other hand, building a special UI in GT would let you add analysis and visualization views on your data in addition to the textual views. Not sure if that's something you'd be interested in.
c
@Konrad Hinsen Thanks a lot !!! (I knew the time will come ... 🙂 )
For analysis and visualization ... I'll think later. Once I have a structured document in Emacs perhaps I'll have also the data on which I can manage to add analytics and visualizations
m
for nested outlines you may want to check https://roamresearch.com/
b
I don't do much outlining myself, but couple of other systems that I thought interesting in the past: • https://gingkowriter.com/ — works on a columnar view (similar to Miller columns), helping you see several levels at once. written in Elm. • https://leo-editor.github.io/leo-editor/ — outlining + literate programming transmogrification? written in Python. If you need much customization, I'd still guess Emacs' Org mode is a great bet, both for off-the-shelf extensions, and hackability.
t
@Csongor Bartus Using GT mostly makes sense to learn if you want to learn a new way of programming that helps explain the inside of systems and that is applicable to arbitrary situations and technologies. If you are looking for a specific support for editing, GT might appear as overkill.
@Konrad Hinsen
You can use a plain-text editor widget and extend/enhance, much like Emacs, but support is more limited than in Emacs.
I’d be interested to learn more about kinds of flexibility in editing that exist in Emacs but not in GT.
k
@Tudor Girba It's nothing fundamental, but a huge library of ready-to-reuse functions for navigating, analyzing, and modifying text. Plus parsers for pretty much any formal language ever invented. Put differently, a few decades of contributions from hundreds of people.
c
@Beni Cherniavsky-Paskin Thanks for Ginko !! I've already used such a tool years ago, but got discontinued since.
t
@Konrad Hinsen I’d still be interested in specific example scenarios. Would you have some?
k
@Tudor Girba A good example is org-mode, already mentioned in this thread. It works on texts using Org Syntax, which is similar to Markdown but much richer, including markup for various forms of metadata, and also parametrizable markup, e.g. for code snippets. I use Org syntax files for keeping lots of data, and I have a collection of personalized Emacs Lisp functions for navigation and traversal (e.g. "next tree node that contains an item marked as "todo"), data extraction (e.g. "all files referenced from this document that are located in ~/Temp/") and more. I also write short throwaway functions of this type for one-time use. All that is supported by a rich API for working with Org syntax.
s
I’d definitely try out gtoolkit if it ran well in browsers on the client side.
c
Another tool which is moldable vs Notion and Roam which are not ... https://www.typecell.org/
m
📟 @Yousef El-Dardiry 🙂