How is it spreading knowledge around? A lot of times it gives half backed answers and a lot of beginners are using it while learning. That's not a good mix in my opinion.
I've been helping someone who's learning programming and I've had a look at their code. All of it is vibe coded. And the vibes are nightmarish, I don't think the AI is helping at all.
The only thing it's useful for is sparing expert programmers some tedious work, that's my perception as a programmer.
Well, if you tell me that many people are using LLMs poorly, and in a way that won't benefit them or their team in the long term, then I wouldn't be too surprised.
There are probably more ways to use them poorly than ways to use them well.
And AI companies are pushing usage patterns that may make you dependent on them.
---
But I mention 4 ways that LLMs helped me recently here
i.e. VimScript, SQL, login shells, Linux container syscalls -- with some results you can see
I mention that "give me your best argument against X" is a good prompt -- they can do that
And I also don't use them to edit code for me (right now) -- I type the code myself, TEST it, and internalize it
So for those cases, and many others, they are "spreading knowledge" to me, simply because I can directly query them without reading the manual (or suffering through slow web pages with ads on them)
The end game might be ads, which is depressing. But actually it's remarkable that you can run high quality models locally, whereas you could have NEVER run Google locally. I use LLMs as a better Google, as a sophisticated text calculator. But they are significantly more than that too
I have definitely run into cases where LLMs slow me down, but I now avoid those usage patterns
Yeah, the other day a front end dev created a branch in some elixir code. They added a pile of tests, and asked a (new hire) back end dev to finish off the work. The tests were 100% vibe coded. I knew the code well, and after looking realized that the tests could never ever pass. The tests were rubbish.
Crap part was, the new BE dev was totally lost for a long time trying to figure out how to make them pass. Vibe killed his afternoon.
> But UIs are not pure functions, they have a deeply effectful nature, and being reactive all those effects are highly “situated” if you will (to use Rich Hickey’s word).
Oh, but we do this in ClojureScript the whole time.
You can express events and actions in pure functions as data and then take care of the effects outside of the core of your application.
A great example of how to do this is the "re-frame" framework [1] [2]. The documentation is also a joy to read.
> An example of this impedance surfacing in backend programming is a nontrivial map/reduce pipeline. What is the shape of the document at stage six?
There's many ways to find that out in Clojure/Script. There's the built-in `tap>` function [3] which can be used for debugging. You can use that to visualize complex data with Portal. [4]
"easiest/low tech" would be some sort of unix file-locking and inode. Only works if you are on the same host machine though...AAAND sounds like it would be quite hacky.
For example working in west Germany is quite different to working in east Germany. The same goes for north and south Spain, north and south Italy, and so on.
It's not just by region, but at the city level too. There are often significant differences between salaries in capital cities vs others, as one would expect.
The cost of living is different, larger companies in major population centers have more capital, etc.
I wouldn't say that last bit though. So much code fails outside of the origin country, also from e.g. Dutch coders even though we're well aware how small our country is and how much we rely on trade and collaboration. People across the EU come into the country so you'd need to support other languages, payment methods, currencies, special characters in names, date notations, address formatting, timezones, phone numbers, etc. Part of Belgium even speaks the same language so the barrier really small, or even across the atlantic ocean where there are more people "in" The Netherlands except nobody ever realizes that a part of the country uses the US Dollar as its currency and is in a very different timezone.
Now living in Germany, they even translate timezone names. Not only do you have to look in a timezone database to figure out what a MESZ is, when the timezone database says "there is no such timezone" you have to realize you need to look in a German translation of it. Very approachable for the international people that need to know which timezone that German picked for the meeting invite
Which is all to say: sure, people know other countries exist and are more likely to need to learn to use localization, but by default it's not like everyone knows how to do that
> Lest everyone using any flavour of Linux is liable to the same problem?
If by that you mean, if you are using Linux in production servers: You may use GPL software in a commercial setting. The source code part only applies if you are distributing software that contains GPL code.
> copy pasting chunks of code from one place to another and then modifying those chunks
That's not how you program. I've never seen anyone programing in this way unless they were just starting.
Edit: if you find yourself copying chunks and modifying them, you probably need to create an abstraction.
Don't mean to be rude, just honestly that is my personal experience.
How is it spreading knowledge around? A lot of times it gives half backed answers and a lot of beginners are using it while learning. That's not a good mix in my opinion.
I've been helping someone who's learning programming and I've had a look at their code. All of it is vibe coded. And the vibes are nightmarish, I don't think the AI is helping at all.
The only thing it's useful for is sparing expert programmers some tedious work, that's my perception as a programmer.
reply