Blog articles on why developers have left or leaving Xojo

Oh don’t get me wrong, I’m not advocating for that kind of thing, quite the opposite. I just acknowledge the reality that it exists and has traction and mindshare. For now.

I’m of the view that LLMs have already decisively plateaued; it will just take a couple of years for the hype to collapse.

That is not to say that they have no use at all or won’t remain with us. It is just to say that AGI isn’t just going to fall out of it with more resources or twiddling, and the trillion dollar bets being placed there will implode. In fact I don’t think AGI even represents clear thinking about a realistic goal. It assumes a bunch of wrong things about the nature of intelligence and assumes it has no limitations, that a big enough brain could think our way out of our problems.

At any rate I absolutely agree with you that there is no substitute for well designed and crafted tight code where every line means something, you know WHAT it means, and there’s no fluff.

Of course the examples you provide are very small, contained utilities or services. The QR code is about 250 lines of PureBasic and very easy reading. It almost doesn’t matter what it’s written in so long as it works. The equation changes when there are tens of thousands of lines of code and you need teams to work on it over time, and there are more people to sign off on the project. Risk aversion is an actual thing in business, particularly big business.

2 Likes

It’s a trade off… I can easily write a basic REST server with less than 100 lines of code using 8th. Binary would naturally be bigger as it includes the full interpreter.

The problem I have with 8th is code readability. As wonderful 8th may be, it lags far behind the readability in comparison to BASIC, PASCAL or Python, where even non-programmers can understand the logic.

3 Likes

True, but that’s what reusable modules and classes are for, isn’t it? Of course, I don’t reinvent the wheel and make use of 3rd components but in a proper fashion. I don’t use npm e.g. with unknown code snippets, which makes my software not only dependent, but vulnerable aswell. I have kinda feeling this art is dying out, we are the big fat old dinosaurs in a noisy, overcrowded kindergarten of whimps.

1 Like

I try to write with my eventual successor(s) in mind. No matter how well-documented a vast library of reusable code is, it’s still opaque if you don’t know, understand or like the language, the design or the style of the author. The irrational view that programming in Basic warps your mind and gives you cooties nevertheless exists and is widespread. We are herd animals. A code base in a longstanding mainstream language provides political and social cover (and, sadly, motivates too many people).

It’s like the old saying from back in the 1980s, “no one ever got fired for recommending IBM”. That IBM was a ponderous dinosaur was beside the point. For a long time, it was unassailable to use their technology at least in businesses over a certain size. Similarly if you are using the top 5 or “hottest” languages and stacks of the moment, no one will resist working with them out of sheer FOMO if nothing else.

Developers like to think they are mavericks and iconoclasts, but in truth way too many are closet conformists. It’s one thing to dress sloppy or have a neck beard but it’s another to (GASP!) program in (YUCK!) Basic. Even when they are bucking mainstream trends by, say, using a functional language, it still has to be HOT and POPULAR and have some sort of bandwagon effect going for it. Basic lacks that, ever since probably around the year 2005 if not earlier. And even then it was more of a semi-professional “citizen programmer” bandwagon.

I would personally love for this to not be true. I have a soft spot in my heart for products like VB.NET, PureBasic, even the XBase language family (I used to be a FoxPro influencer before Dave traded Fox Software for his Stradivarius collection) and products like Lianja, etc., I tend to irrationally root for. But they are all struggling niches sustained by small dev teams or even single developers. And sometimes they make rather stupid decisions, for example Lianja has sidelined its roadmap that has been promising C# would be a supported language for years now, in favor of chasing the “AI” fad.

All in all, while the C language family isn’t perfect, it’s where the best work is being done to push the frontier of what’s possible forward, and seems the most long term stable and supported in an industry known for constant churn. So for that and reasons of my clients all seeming to be Microsoft shops, C# is the logical choice and there’s no compelling reasons, at least in line of business software, why I would do some portion of any greenfield work in Basic or anything else. Maybe I would do low level multi-threaded stuff another way, but I don’t even need much of that. I stick to synchronous code to the fullest possible extent because there lies the lowest cognitive burden, the fewest side effects, the easiest debugging and the cleanest code. I have a few lock() {} critical sections in code that might be called simultaneously by our front end that has to share class instances and that’s about it. C#’s (really .NET’s) guarantee of separate stack frames for each method call suffices for everything else.

3 Likes

There are days

1 Like