From @garymarcus on BlueSky:

A computer scientist’s perspective on vibe coding:

#ai #technology #vibecoding

@bsletten @garymarcus it lets people write programs using intuitive, plain English!

Like COBOL?

NO, it's not like COBOL at all!

@bdf2121cc3334b35b6ecda66e471 @bsletten @garymarcus Drats. You beat me to it with COBOL. Managers and lawyers were supposed to be able to read the code and understand it.

SQL. That was another one.

@bsletten @garymarcus I worked on building tools like those back in the 1980s. At their worst they were template-driven code generators (fine if the templates suit, which was rarely) and at their best, very high level languages in their own right. Really not like vibe coding, which is better described as "guesswork driven development"

@bsletten @garymarcus I've been hired to fix 'vibe programs' that were anything but deteministic. Excel is notorious for producing code that can't be verified and only works if the original author runs it on the machine it was created on.

But the same problem happens whenever someone plays "keep twiddling until I can't see any problems".

At least they never did anything important with those programs, it was all just financial stuff.

#ai
#technology
#vibecoding

@bsletten @garymarcus Very accurate.

But what we didn’t have at that time, was the interweaving of highest-level political power with software development industries.

Political corruption ticks stuff up several levels at once!

@gimulnautti @bsletten @garymarcus

The emperor's got no clothes, brain, or heart.

@gimulnautti @bsletten @garymarcus dunnow If that is true... highest level political power was always interwoven with leading and emerging industries.Obviously the fossil fuel industry, but it's even true for the software industry from the very beginning: IBM was among the many companies that helped the Nazis organize the Holocaust.

@bsletten @garymarcus

Agreed, I am not an expert at coding by any means but what I do know is that good programming requires skill, effort and pateience so your final software works properly.

Quite a few people have jumped on this bandwagon so yeah it is about promoting those platforms or making a quick buck somewhere.

Maybe it is another example of dumbing down.

@bsletten @garymarcus declaring that Visual Basic, Delphi (aka Object Pascal with a nice IDE) or Flash would break when you try anything complex, it's a wild ride that I don't agree.

VB and Delphi are full-fledged languages with nice IDEs. And we know how many things were made with Flash, including a lot of games. Other thing would be the quality of the Flash plugin...

@FantasmitaAsex @bsletten @garymarcus I don’t disagree with the general thrust of the argument, but throwing VB in is… revisiting a very old argument…. and putting Delphi in is wrong enough to trip my “how well informed is this argument” alarm.

@utterlymundane @FantasmitaAsex @bsletten @garymarcus having only touched VB as a "plain" language and never anything visual: the core language part is certainly "no, that's just a normal programming language", but what was the visual part like?

I assume it's not hypercard-like or UML-to-code-like and is more capable, but I'm wondering if there's literally any nugget of truth in there or if it's just totally wrong (like Flash - it definitely doesn't belong in that list).

@groxx @utterlymundane @bsletten @garymarcus the GUI building thing using drag&drop was really amazing. And, contrary to Delphi, QT creator, Swing GUI builders, etc... Don't generate user editable code. It's stored on an opaque .FRM file

PD : I'm not talking about the code that you could put on the events handlers of the GUI. I'm talking about "Have a windows of X size with the title Y and a button". Delphi, and other languages use code for this. Code that you can edit.

@FantasmitaAsex @groxx @utterlymundane @bsletten @garymarcus

These builders originated in Smalltalk, where everything was live coding. To create a window, you created a new instance of a window. But everything was also introspectable, so you could use the GUI to inspect and modify any properties of your new window, and put things in it.

NeXT’s Interface Builder did the same thing. It let you create a serialised object graph. This was richer than a lot of later tools because you could embed (and configure) controllers and default versions of models directly in the NIB file. When you coupled it with something like the EOF ORM, you could bind these things to data sources and create entire CRUD tools with little or no code.

@david_chisnall @groxx @utterlymundane @bsletten @garymarcus creating visual CRUD like apps with very few lines of code or no code, was one of the strong points of VB. You only need to drag & drop a few controls to the form, link them editing a few properties, and presto! You now have an app that allows you to recover, update, insert or delete data from a OBCD compatible database (usually Access)
@FantasmitaAsex @bsletten @garymarcus yeah this feels like a very blinkered take on some extraordinarily powerful tools just because they were “for normies” basically. The BASIC family up through Visual Basic was a big part of how I learned to code and I still miss the freedom and ease of UI building in it. (Web stuff comes close)
@FantasmitaAsex @bsletten @garymarcus vibe coding is like typing in code listings from an infinite magazine
Saudi Arabia Plans $100 Billion AI Powerhouse to Rival UAE’s Tech Hub

Saudi Arabia is planning a new artificial intelligence project with backing of as much as $100 billion as it seeks to develop a technological hub to rival the neighboring United Arab Emirates, people familiar with the matter said.

Bloomberg
@bsletten @garymarcus Kudos for mentioning VisualAge. I still have nightmares.
Vibe coding enables people who aren't well trained computer scientists to… | Judah Diament | 11 comments

Vibe coding enables people who aren't well trained computer scientists to create complete, working applications. Is this a breakthrough? Not even close - there have been such tools since the late 1980s. See, for example: Apple HyperCard, Sybase PowerBuilder, Borland Delphi, FileMaker, Crystal Reports, Macromedia (and then Adobe) Flash, Microsoft VisualBasic, Rational Rose and other "Model Driven Development" tools, IBM VisualAge, etc. etc. And, of course, they all broke down when anything sightly complicated or unusual needs to be done (as required by every real, financially viable software product or service), just as "vibe coding" does (see https://lnkd.in/enhAE3Ri). The only difference is that the outputs of those older tools were actually deterministic and well documented and understood, while your AI prompts and models are not! To claim that "vibe coding" will replace software engineers, one must: 1) be ignorant of the 40 year history of such tools or 2) have no understanding of how AI works or 3) have no real computer science education and experience or 4) all of the above, OR, most importantly, be someone trying to sell something and make money off of the "vibe coding" fad. | 11 comments on LinkedIn

@bsletten @garymarcus I agree with all of this except for a personal disagreement with the first sentence.
@bsletten @garymarcus
And yet we all know that a lot of programmers are going to lose their jobs to this useless flotsam.

@bsletten @garymarcus Once again demonstrating the lack of historical perspective in academic computer science. It’s funny to see any form of Basic listed as originating in the late 80s, when Basic had already been in use for 20 years as a low barrier to entry tool for non professionals.

Anyway, vibe coding is qualitatively different than those things. They are closer to things like Matlab or the GUI based tools used by Ardino hobbyists.

@bsletten @garymarcus @ericsedge strong disagree that many of those examples qualify as equivalent to vibe coding.

To me, this is an elitist view of what qualifies as “real” coding being equated with getting a computer to make shit up.

Of the tools listed which I have used, *none* are the same as LLM or vibe coding.

We should do better, and stop gatekeeping on real people solving real issues with the tools that allow them to code.

ChatGPT, Copilot, etc. do not teach *any* coding principles in the way those tools do, and it’s beneath any sensible person to suggest there is an equivalence here.

0/10 (rating, not thread post count)

@europlus @bsletten @garymarcus
I agree that his examples are very tortured.
If you consider them as comparing bare metal machine coding vs environments that reduce the complexity by providing a framework to assist the developer, I can see a weak argument. Heck, assembly is assistive in that sense.
1/1

@europlus @bsletten @garymarcus

A better, and still weak example, might be paired programming with a very junior developer with great memory and little experience. The current level of LLM competency is more akin to “maybe try this?” rather than the performance I expect from human.
I’ve been experimenting a bit with vibe coding and have found it somewhat useful if my expectations are set properly.
2/2

@europlus @bsletten @garymarcus when are they going to give us post editing?
@ericsedge @bsletten @garymarcus don’t you already have it? Masto has supported it for some time, @ivory certainly does.
@ericsedge @bsletten @garymarcus @ivory oh, that’s right, bitbang.social hasn’t been updated for ages.
@ericsedge @bsletten @garymarcus @ivory that’s weird, I’m seeing info saying Masto 4.0 allows editing (bitbang uses 4.0.15).
@europlus @ericsedge Yup, bitbang has editing! We don't have search, and hashtags are a bit broken, but we do have post editing ;)
@billgoats @europlus @ericsedge Yeah I edit every post like 5 times because I am so bad at proofreading before I post
@europlus @bsletten @garymarcus
I consider the vibe coding results in seeing as a much more efficient search engine than anything else. It doesn’t understand anything obviously, but the results are better than a raw search and relying on my increasingly worse memory. I often find I recall having run into a problem before and can’t remember how I solved it forty years ago.
@europlus @bsletten @garymarcus the language feature hallucinations are the most frustrating to me. I’ll correct it and the LLM will enthusiastically agree then make the same error in the next prompt.
@europlus @bsletten @garymarcus
I’m in a battle with elitism in hiring. Civil Service controls the position description educational and experience requirements for my hires. I can work around the edges with assigned duties, but can’t touch the rest. If only they would update them periodically. The experience required is out of date by twenty years.
When has working as a “Computer Operator” ever qualified someone as a “Business Analyst”?

@europlus @bsletten @garymarcus @ericsedge For me, the elitist part I noticed was the “slightly complicated or unusual,” about the tools he listed. I would agree if he had said “out of the scope of the tool,” instead.

People made full-featured multi-window applications in FileMaker, manage complex workflows in Excel, and that makes them computer programmers, and it’s orders of magnitude more valid than vibe coding.

@oscherler @bsletten @garymarcus @ericsedge absolutely!

Thanks for pointing that out, it’s certainly a choice to imply those systems can’t do complex (or unusual) things.

Most of the things I “code” are explicitly unusual, hence my need to automate them through custom code.

And yes, I forgot to add Excel (and SQLs) to my list, thanks for the reminder!

Vibe coding enables people who aren't well trained computer scientists to… | Judah Diament | 11 comments

Vibe coding enables people who aren't well trained computer scientists to create complete, working applications. Is this a breakthrough? Not even close - there have been such tools since the late 1980s. See, for example: Apple HyperCard, Sybase PowerBuilder, Borland Delphi, FileMaker, Crystal Reports, Macromedia (and then Adobe) Flash, Microsoft VisualBasic, Rational Rose and other "Model Driven Development" tools, IBM VisualAge, etc. etc. And, of course, they all broke down when anything sightly complicated or unusual needs to be done (as required by every real, financially viable software product or service), just as "vibe coding" does (see https://lnkd.in/enhAE3Ri). The only difference is that the outputs of those older tools were actually deterministic and well documented and understood, while your AI prompts and models are not! To claim that "vibe coding" will replace software engineers, one must: 1) be ignorant of the 40 year history of such tools or 2) have no understanding of how AI works or 3) have no real computer science education and experience or 4) all of the above, OR, most importantly, be someone trying to sell something and make money off of the "vibe coding" fad. | 11 comments on LinkedIn

@bsletten @garymarcus gatekeeping software development to "well trained computer scientists" is just the other extreme, opposite to vibe coding. We should be happy more people embrace coding as a fun thing to do.

Besides, making good Flash applications where you don't just have to deal with code but also graphics, animation and sound is something even "well trained computer scientists" may have struggled with.

@kwramm @bsletten @garymarcus

As I’m often reminded as a past full stack developer, just because I can doesn’t mean I should nor is it optimal. My graphics and UI skills are “meh”.

@kwramm @bsletten @garymarcus
And, my lack of skill doesn’t keep me from having fun. It’s why I became a programmer in the first place. It fascinated me that I could tell a machine what to do.

@bsletten @garymarcus

Vibe coding in a nutshell:

"So you know this coding thing which has plenty of problems with human errors? We have created this machine that takes 10^24 gigaterafuckwatts and creates code with random errors."

And the AI crowd want to use this in production software. Dystopic fiction didn't prepare us for cyberpunk dictatorships being cringe.

@bsletten @garymarcus

HyperCard was more user/novice-empowering than the current state-of-the-art LLM’s will ever be.

@bsletten Well said. I’d add Microsoft Access to the list. Furthermore, there are tons of tools that can automatically create very basic functioning apps for you. I’d so far just not reacted to the hype. It won’t be long before some learn some lessens the hard way, that’s also fun to watch.

@isaka @bsletten

Access is the exemplar here. I worked with a few companies that, 20 years ago, produced in-house CRUD ‘applications’ entirely in Access using almost entirely the GUI, with no in-house programmers. You drew the GUI, connected it up to fields in the database, created queries with drag-and-drop, and drew forms to display the results.

Access had the world’s worst branding. It was a surprisingly good RAD tool for business apps, bundled with the world’s worst database. Microsoft sold it as a database. But Access could also work as a front end for SQL Server (which was a fairly good database, even 20 years ago). And that let you scale these business apps up to the requirements of a moderate-sized enterprise.

I think Power Apps are the newest thing in this space from MS. They use the Calc language from Excel and a visual GUI designer. Excel had a reactive programming model before anyone knew that was a thing with a name and now can even use remote SQL databases as a data source. There are a billion people writing programs in Excel.

@david_chisnall @bsletten Relatable. An early (mildly) sarcastic quip of mine was to call someone a VB Hacker. It was never meant as a jab at Visual Basic per sé but rather my irritation at folks who would cobble stuff together but could never answer any reasoning question I’d have for them. Having said that, I definitely love tech empowering more people. Television cooking programs don’t kill restaurant business. Home cooking helps society, restaurants also get to charge more, win-win.😁

@isaka @bsletten

I am 100% in favour of empowering users and reducing the user/developer distinction. I work on hardware that is designed to enable exposing lower-level things to end user programming environments without making it too easy for users to shout themselves in the foot. I started working on this as a result of building end-user programming environments and seeing the ways that making them more powerful also made them less reliable and concluding this needed better hardware to enable the things I wanted in software.

I just don’t think giving users a magical black box that produces something statistically related to the thing that they asked for, that is hard to debug, and that they don’t understand is empowering.

@david_chisnall @bsletten Sound. I totally agree, user friendliness shouldn’t be an afterthought. This tends to be a hard for highly technical people.
@david_chisnall @isaka @bsletten I had a phase where I did a lot of REALBasic on the Mac. It made it easy to write GUI apps, but I also remember it had network facilities to write a client and server. I wouldn’t have had any idea how to do that in C at the time. I would have learnt it if I needed, which I didn’t, but thanks to REALBasic, I wrote a couple simple network apps to toy with it, without having a need, and thus I learned something in the process.
@bsletten i’ve been trying to explain this! This clarifies my thinking. Thank you.
@bsletten @garymarcus "LLM - give me a hot-take, click bait on change happening around me in the coding space"...
@dplattsf @garymarcus “LLM - give me an irrelevant response that misses the point but still allows me to assert myself into the conversation.”
@bsletten @garymarcus
It's a relative view ; for a lisp programmer, languages like C or java are for people that are not well versed in computer science. However this good reference is still true : https://www.norvig.com/21-days.html
and remember that Peter Norvig was leading research at google ...
Teach Yourself Programming in Ten Years

@bsletten @garymarcus @pussreboots Another thing that I think represents an important difference here is that most of those earlier things weren’t pretending to be something they weren’t. I suspect the vast majority of HyperCard users who understood anything about computing more broadly understood that they were doing something different than other programers. That’s no knock on HyperCard; I wish we had a 1st class version of it today. But LLMs ain’t it. M
@bsletten @garymarcus I have tried those tools, and in my experience - they cannot replace an engineer, but they can make an engineer more productive, especially when in a boilerplate heavy language or when temporarily having to work with unfamiliar APIs.

But in all those cases, all the AI can provide is a rough first start; then one has to review and fix all the issues in it manually.
@bsletten @garymarcus we're in an era of "GOTO considered harmful by cargo culting". The reason any vibe coding works is that best practise is weakly baked in. What happens when that too dilutes?