More PastOfCoding, but never know when retro is pr...
# thinking-together
c
More PastOfCoding, but never know when retro is prologue — Vipercard is a typescript rewrite of HyperCard https://www.vipercard.net/ Code: https://github.com/moltenform/vipercard
👍 1
e
It's great to see Hypercard come back to life. It was a wonderful, very productive, extremely easy to understand tool. I peeked at the code, and it is a tangled mess of TypeScript, with a huge number of modules. Sad that a rebirth of a product like this is probably several times more complex than the original Hypercard, which i would guess was written in Object Pascal. Of course Atkinson was a genius programmer, so we can't expect the same elegance, but some of this mess is attributable to the usage of TypeScript, which in this project gets expressed as many individual modules that have lots of cross-imports. Any time you have more than 100 source code files you start to realize that file-based organization hinders comprehension. I think this is one of the big expected payoffs of the graphical programming approach; one big glob instead of hundreds of files must surely help understanding of the whole.
c
It was def an incredibly productive tool. It also showed the potential and limitations of graphical development. Code naturally wanted to be in objects, but for logic that didn't fit in visual objects, it became a challenge. I'd have a mix of hidden objects and really large card and stack code modules. That couldn't have been good for comprehension by future devs. The one thing a file-based approach does is surface the entire topology in one glance: via the folder hierarchy. (Well, and the dependency graph - so two glances)