Hacker News new | ask | show | jobs
by gte910h 5177 days ago
He sounds like's he's described VBA
2 comments

Maybe, sorta.

Why don't people use VBA more for casual programming? Is it because it's Office-centric-ish?

Or, why don't more people do casual programming of any kind? Certainly lack of tools is one. Another is probably that most people don't exist in a culture where people do casual programming.

The biggest problem is that the things above the level of raw bits, the objects like documents and blog posts and check registers, are not themselves built to be manipulated in a casual environment. They're not built as part of a casually programmable environment. They're bits.

If you had a stack of books in English and Arabic and wanted to categorize them, you'd grab them and put them in their piles without thinking about it.

A blog post is nothing but bits. The only reason it's an English or Arabic post is that every program that touches it is required to, and agrees to, sniff it at a very low level and pretend that it's a blog post. The inside of a blog post looks exactly the same as the inside of a check register, and it's a huge leap from the bits that they are to the pseudo-objects that all relevant programs agree to pretend that they are. There is no casual middle ground, and so there's nothing that can be casually picked up and manipulated. You're a wizard, or an ardent apprentice, or you're nothing.

I think a real casual programming environment would look much less like app-centric VBA, or Excel (mentioned elsewhere), and more like Squeak (mentioned elsewhere). But it would work best if all the things on the system, at least the things that aren't dangerous to expose, are fundamentally casual objects. The browser window should be casual, as well as the post plugged into it.

why don't more people do casual programming of any kind?

I'm not sure I understood what the author meant by casual programming, but the first thing I thought of as I read your comment was HyperCard.

VBA was a very nice step towards the goals I've described!
As a person who did a good bit of that professionally back in the day (I wrote interface layers between it and deeper C++ code), I'd have to say, it's probably not "the thing" you really need, but it does sound quite close to what you requested.