← Back to context

Comment by nextaccountic

18 hours ago

What's weird is that AI is supposed to make development easy enough that native applications are just as fast to build than web apps

Somehow in this timeline AI can only be used to make things worse and sloppier

>What's weird is that AI is supposed to make development easy enough that native applications are just as fast to build than web apps

The inverse has been happening. AI seems to be best at JS and React, so many projects use this just to have the best results. I think this is the whole reason that Claude Code is actually React that's then mapped onto a terminal.

> make development easy enough that native applications are just as fast to build than web apps

I don't think that was ever not the case. The popular UI toolkits include a WYSIWYG editor where you can pick widgets and just put them where you want them with the mouse. Sure, that might not be what developers like to use, but invoking a widget constructor is not that hard and gets you a lot more functionality out of the box, that you would need to implement in JS.

Cross-platform GUIs is also more of a problem of theory. It used to be a big thing, because the GUIs don't look native to the platform, but that concern has gone out of the window with websites now. Win32 programs run with WINE, which I guess is not desirable for deploying to ordinary users, but I guess the people who write for Win32 generally do not care much about porting their programs outside of MS Windows. GTK+ and Qt both run on MS Windows. TCL/Tk comes built-in with Python and looks native on MS Windows.

Encoding algorithms is not that much different across C-like (Algol-derived) languages. Registering callbacks also looks kind of the same. I guess what makes a real difference is the ubiquity of async in JS, where you would use threads more in native applications.

I think what is an actual difference is the mindset around styling and layout. This is something that you actually need to adapt. CSS is more declarative, much like writing constraints for sizes, because you just write a formula about e.g. size in relation to other sizes. On native toolkits you would need to implement this stuff imperatively, I guess this looks like a real downgrade coming from the web, but it is really just a different mindset. Also when you run on the actual machine you have actual access to the device/viewport characteristics and can adapt based on that, and don't need to write an abstract layout. The other side of the coin is that the default widget packaging mechanism has been grid based while CSS only gained that later.

What I guess is also easier in JS, is just drawing on a canvas. The native UI toolkits want to nudge you into implementing a custom widget which implements all the required functionality of widgets. That results in a way better interface for the user, but when you just want a raster graphic you can click on, it can feel like a huge waste of time.

Since now native toolkits also support CSS, have JS bindings and Webpage targets, a guess the difference blurs.

The engineers running the AI have to still be good.

AI code that isn't properly guided and controlled by an engineer is just as sloppy as the human behind it.

AI is an accelerate for programming, but some developers create horrible code before AI, snd AI won't change that. It just lets them do it faster.

  • I agree, but given the breadth of slop we are seeing now, I think it's safe to say the average AI-accelerated developer are bad coders.

    That being said, no one ever looked at good code and said "that's AI gold," so opinions may be skewed.

> What's weird is that AI is supposed to make development easy enough that native applications are just as fast to build than web apps

Think one step ahead. They will want you to pay them for some LLM "agent" to use the GUI instead. It's not important that GUI is human usable anymore, actually the opposite.

It’s also weird that the productivity increases of AI lead to layoffs instead of hiring. If we can do more with AI why are companies scrambling to maintain the current output? Does leadership lack the vision of what to do with the additional productivity?