Thought out of nowhere re TiddlyWiki "programming"

“Programming” in TiddlyWiki is knee-capped when using a javascript (or whatever programming language) mindset.

Maximum success for “programming” in TiddlyWiki happens with a SQL mindset.

That will make sense to those who have mastered relational algebra (the math behind SQL), and thus have mastered SQL.

No idea where that thought came from, as I was digging deep into completely unrelated work. But then again, everything for me is seemingly interconnected within 1 degree of separation …

I think you may be touching on the Fourth-generation programming language quality of tiddlywiki primarily around the use of lists/sets and filters.

  • 4GL’s evolved with considerable resource limitations. arguably now overcome and we could now expand its definition in directions it only once aspired to.

Select quotes on 4GL’s relevant to TiddlyWiki

4GLs as originally defined found uses focused on databases, reports, and websites

aims to provide a higher level of abstraction

It can also apply to an approach that looks for greater semantic properties and implementation power

4GL open up the development environment to a wider population

rapid prototyping, and programming by users.

Nah, nothing to do with generation of languages. I think TiddlyWiki 4GL-ness is a different topic. Equally interesting, but different.

If I had fallen in love with APL (a 3GL) many moons ago, I could have just as easily started this OP, replacing SQL with APL. APL being a 3GL, it would have been obvious that I’m not touching on 4GL.

I just didn’t go with APL because I can’t stand it (I do not do well with cryptic symbols), yet I do love SQL and relational algebra.

What I had in mind is partly about the notion of transformations to get from a starting point A to end point Z. So if one has mastered either or both APL (the 3GL) and SQL (the 4GL), then I’m thinking that person is likely to be particularly good at getting TiddlyWiki to do all sorts of things.

I see transformation as a subset of the bigger umbrella that is relational algebra. So my OP was primarily thinking of the SQL programmer who has mastered the relational algebra, and knows the basic tricks of flipping tables on their sides, creating a ridiculous number of subqueries within subqueries, and joining datasets that seem impossible to join.

If I loved APL, I could have just as easily gone that way. But yuck.

I hear you and acknowledge your thoughts. I to see many examples in the modern programming world where older tech still seems far superior to the current stuff. I will, however, counter the comparison that this perception is truthful in everything concerning TiddlyWiki and JavaScript/Web tech in general.

As someone who started programming in the late 90’s and continued till now I’ve followed a lot. I’ve had a lot of interaction with SQL, Java, C, even Assembler. I continued to hone my skills as a software developer for over 20 years and as of late spent 10 years (7 professionally) studying JavaScript and web technologies. What I learned is that it is not the language or the mindset but the loss of information as newer generations take on the tasks and the older generation fails to educate effectively.

JavaScript―and by proxy TiddlyWiki―can offer the kinds of interesting relational based options. It is just not taught in that frame of reference much. Both good and bad things can be made with any tech and I admit the JavaScript community is one of the largest communities with such a large amount of bad examples.

I’d be curious what kinds of features you would want from JavaScript and TiddlyWiki that you find SQL also provides. Perhaps there are ways to integrate this perspective. Or maybe one language over another is better suited for a particular problem space then another.

1 Like

I’m not talking about older vs newer tech, or paradigms, or anything like that.

I’m talking about the way to think when programming in TiddlyWiki.

My thought is that the person who has mastered relational algebra (the math theory behind SQL databases) has a serious upperhand when it comes to TiddlyWiki programming.

Anybody who has mastered relational algebra knows what I’m talking about.

Anybody can write SQL. Nobody can touch the SQL-writing skills of the person who has mastered relational algebra.

That was my thought. I don’t understand how anything you’ve written relates to that thought.

I was kind of hoping I could connect with somebody who understands what I’m talking about. That’s not working out at all.

Isn’t the dialogue expected to be debated when it opens with

It is a direct opinion argument that JavaScript is subpar to SQL “Relational Algebra” especially considering TiddlyWiki is written in JavaScript. I didn’t mean to offend I was just trying to be a bit defensive on the languages being compared and the opinion that one is better then another.

Perhaps you meant a different take—that there was some mental model(s) with regards to Relational Algebra that are well suited to the use and customization of a TiddlyWiki. In which case I think your very much onto something and would love to hear your teachings of Relational Algebra, SQL, and how it applies to TiddlyWiki.

Sure, but my reasoning behind it is about intimate knowledge of relational algebra.

And if folk are going to discuss anything and everything but the relational algebra, then we are just talking past each other, and not talking about whether or not somebody with that knowledge has a leg up.

I was hoping that some relational algebra guru (so somebody who has taken an advanced course on that math) could chime in and maybe explain where that thought of mine came from.

I’ve got a couple of cognitive disabilities that make it hard for me to describe what is in my head, so having somebody else (who somehow magically understands what I’m thinking) be able to put into words what I don’t know how to put into words would have been really cool.

Meh.

I’m a programmer. Bread and butter is Gupta Team Developer front end and Oracle back end.

When working with TiddlyWiki, I find myself doing the same kind of wild things I can do with SQL. But that is when I think in the same way as I do writing SQL.

Same thing if I think APL, although I try to avoid that because I can’t stand APL. Subconsciously, A1.

When I work with TiddlyWiki and think as I would with any programming language that I love (Gupta Team Developer, BASIC), or any programming language that I like (Modula II, Pascal), or don’t mind (Fortran, Cobol) or loathe (javascript, C, C++), the results are not as good. It is the wrong way to think.

I don’t know why. To me, it points to something about the way of thinking being different and making a huge difference.

My SQL skills are way more useful to me with TiddlyWiki than all other programming combined. I don’t know why. Really, all experiences with the other programming languages are a hindrance in TiddlyWiki, so I turn that thinking off.

This I can relate to. I find that the mental model is paramount to how I approach things in programming. I think that skill is a rare one indeed.

I can defiantly see corollaries to TiddlyWiki’s mental model to that of say SQL. Though I lack the ability to turn one or the other off like you describe. I still think there are overlaps with these kinds of mental models and I also think that TiddlyWiki can resonate with those who think in that way. I’ve also seen some people turned off by TW because of its mental model and prefer other tools that lean more to the todo list mental models.

That ability is a safety mechanism for me. To avoid being cognitively overwhelmed

I’m forever processing details of everything all of the time, including the intertwingled connections between every thing with everything else. Always doing that and categorizing same things yadda yadda yadda.

I find cognitive calm when I can see all of that slicing and dicing written down, and that is where my appreciation for TiddlyWiki kicks in, because only it can handle the job.

Now this thought out of nowhere today is taking up the most amount of space in my head and drowning everything else out, and it will only bugger off once me or somebody else can explain it to me.

Which I think I will approach with a question in a new post. Brace yourself …

1 Like