I didn’t ask for this and neither did you. I didn’t ask for a robot to consume every blog post and piece of code I ever wrote and parrot it back so that some hack could make money off o…
To be fair they are definitely improving. It feels pretty incremental at this point though. I think we need one or two fundamental breakthroughs before we’re going to see programmers actually out of jobs. E.g. if they find a way to do real on-line learning, or a way to stop the hallucinations.
“Coding but for non-programmers” has been a thing for a while in the industry. Business rules engines were a big one. The promise is always the same: Non-technical folks/business folks will be able to use this. They never are. Devs still have to do the hard hard, now in a weird thing that isn’t quite coding.
Wasn’t the real reason for that, that all of those things still require the user to treat it is a logic system and feed proper logic in some or the other way (which might be not coding, but is still programming)?
And since the non-technical people are actually bad at logic itself, it was useless to them. I would see those tools being useful to any other kind of engineer that is not into coding (like a civil/mechanical engineer), who can do logic, but not into coding or even computers.
On the other hand, the user treats AI is a non-logical system, kinda like another person. And I see the business/marketing/hype types getting better at it. I, for one, find it much easier and faster using a hard logic system (the harder, the better) and programming suits me, while I find AI exhausting.
It’s hard to paint it in broad strokes, but yeah that was part of it. The one that really comes to mind for me is this thing called ilog which tried to map phrases in English to code (sort of like Gherkin does for tests, but I actually like Gherkin). It effectively hid very important logic for how the system worked in this really weird layer that you had to use a special IDE for that was super difficult to get working properly. I remember that seeing the text descriptions was sort of easy but seeing what actually happened was really difficult. There was a view that would actually give you something that was like code but it was just too difficult to get to. Even then, it was something generated, not something you could edit.
I’ve sort of thought about this a lot because it’s fascinating to me. I think the best option for stuff like this if you want to really pursue it is to use “beginner friendly” languages (Python comes to mind, despite me hating it lol) with some sort of easy web interface to upload and download them. Maybe use JavaScript since it works nice in the browser and can be run right there for tests or whatever. Make some sort of sandbox to limit what can be done or just have devs more actively review it (maybe a PR process). Maybe even have the webtool just be a front end for a tool that interacts with git (or some forge like GitHub specifically if it needs to do stuff like opening pull requests).
While Python seems fine to me, JS is where it becomes too un-hard for me.
I have to use QML quite frequently in my work (which is based on JS) and make a point of including as less program logic as possible in QML and transfer any input to C++ code in as few steps as I can. Essentially keeping QML just for Markup and leaving the program to C++.
We are now on year…three? Of this mantra.
To be fair they are definitely improving. It feels pretty incremental at this point though. I think we need one or two fundamental breakthroughs before we’re going to see programmers actually out of jobs. E.g. if they find a way to do real on-line learning, or a way to stop the hallucinations.
Code quality will not improve.
Source?
The same thing is currently happening with all factory type industries, which were originally workshop based and customisation friendly.
“Coding but for non-programmers” has been a thing for a while in the industry. Business rules engines were a big one. The promise is always the same: Non-technical folks/business folks will be able to use this. They never are. Devs still have to do the hard hard, now in a weird thing that isn’t quite coding.
Wasn’t the real reason for that, that all of those things still require the user to treat it is a logic system and feed proper logic in some or the other way (which might be not coding, but is still programming)?
And since the non-technical people are actually bad at logic itself, it was useless to them. I would see those tools being useful to any other kind of engineer that is not into coding (like a civil/mechanical engineer), who can do logic, but not into coding or even computers.
On the other hand, the user treats AI is a non-logical system, kinda like another person. And I see the business/marketing/hype types getting better at it. I, for one, find it much easier and faster using a hard logic system (the harder, the better) and programming suits me, while I find AI exhausting.
It’s hard to paint it in broad strokes, but yeah that was part of it. The one that really comes to mind for me is this thing called ilog which tried to map phrases in English to code (sort of like Gherkin does for tests, but I actually like Gherkin). It effectively hid very important logic for how the system worked in this really weird layer that you had to use a special IDE for that was super difficult to get working properly. I remember that seeing the text descriptions was sort of easy but seeing what actually happened was really difficult. There was a view that would actually give you something that was like code but it was just too difficult to get to. Even then, it was something generated, not something you could edit.
I’ve sort of thought about this a lot because it’s fascinating to me. I think the best option for stuff like this if you want to really pursue it is to use “beginner friendly” languages (Python comes to mind, despite me hating it lol) with some sort of easy web interface to upload and download them. Maybe use JavaScript since it works nice in the browser and can be run right there for tests or whatever. Make some sort of sandbox to limit what can be done or just have devs more actively review it (maybe a PR process). Maybe even have the webtool just be a front end for a tool that interacts with git (or some forge like GitHub specifically if it needs to do stuff like opening pull requests).
While Python seems fine to me, JS is where it becomes too un-hard for me.
I have to use QML quite frequently in my work (which is based on JS) and make a point of including as less program logic as possible in QML and transfer any input to C++ code in as few steps as I can. Essentially keeping QML just for Markup and leaving the program to C++.