See, this, to me, seems obvious, but I’m sure it’s more challenging/complex than I can imagine (I am NOT an expert on AI in any way imaginable). But there has to be a solution. Just yesterday I was asking Gemini to tell me about a certain college professor, and it gave me a list of facts about them. And it was perfect. Then, out of curiosity, I followed up with “tell me more about him!” and it spit out several more bits of information about this person that were entirely hallucinated (e.g., gave them credit for writing papers they didn’t write, said they won awards that actually someone else won). I know this is all complex and certainly beyond my limited skill set, but goodness, we’ve got to get this figured out with so many people depending on and trusting these things nowadays. It’s quite scary.
I think you may be right. I enjoy tech and programming, but hardly any of my friends/family do. And nearly everyone in my inner circle (an admittedly small number of people, considering I'm an extreme introvert) condemns and avoids AI both for the reasons you mentioned and because they refuse to "outsource my brain to AI!"
In fact, the only time I personally encounter a lot of pro-AI commentary is when I come here to HN (and, obviously, there are plenty of anti-AI people on this site too).
I personally appreciate it and use it, but I'm still "old-fashioned" in the sense that I only ask it for very specific things and always read through what it produces. I'm honestly not entirely sure how I'm supposed to feel about all this. These are interesting times, to say the least.
For real! I occasionally write assembly because, for some reason, I kind of enjoy it, and also to keep my brain sharp. But yes, there is no way I could do it without pencil and paper (unless I’m on a site like CPUlator that visually shows everything that’s happening).
This is exactly how I use them too! What I usually do is give the LLM bullet points or an outline of what I want to say, let it generate a first attempt at it, and then reshape and rewrite what I don’t like (which is often most of it). I think, more than anything, it just helps me to quickly get past that “staring at a blank page” stage.
I love the way you've expressed this! This was my experience doing the lit review for my PhD. I read more than a few "scholarly" texts that were perhaps impressive from a language/vocabulary standpoint but contained ideas that were either poorly supported or too simple to amount to any meaningful contribution to the field.
I felt this comment in my soul. I’ll never understand it: I’ve written thousands of lines of code (as a hobbyist) to solve all sorts of problems I’ve run into and yet always seem to struggle to wrap my mind around the core algorithms any real developer should be able to handle easily. This is why I’ve never pursued programming as a career.
"AI isn't great at creating software, but it is great at writing functions."
This 100%. In my experience (ChatGPT - paid account), it often causes more problems than it solves when I ask it to do anything complex, but for writing functions that I describe in simple English, much like your example here, it has been overall pretty amazing. Also, I love asking it to generate tests for the function it writes (or that I write!). That has also been a huge timesaver for me. I find testing to be so boring and yet it's obviously essential, so it's nice to offload (some of) that to an LLM!
I have never heard of “jq”. Oh my goodness. Your comment may have just changed my life. I cannot emphasize enough how many times I have needed a tool like this (and, yes, shame on me for not making a better effort to find one). Thank you!
Wow, I’ve never thought about that, but you’re right! It really has trained me to be skeptical of what I’m being taught and confirm the veracity of it with multiple sources. A bit time-consuming, of course, but generally a good way to go about educating yourself!
Yeah, I love C++ as a hobbyist programmer but will readily admit I basically use it like C but with the added convenience of strings & classes. Hardly how you're supposed to use it these days, but this is fine for my toy projects. But I can't imagine using the language professionally where you've got to be aware of best practices, modern enhancements, etc. Seems overwhelming!
This is indeed a valid question, but I think it’s largely up to the user. For me, as a hobbyist programmer that sometimes writes code at work to automate certain tasks, I use ChatGPT to quickly create boilerplate/template type code AND to learn how to do new things. When I’m asking how to do something new, I try to actually learn what’s going on so that I won’t have to keep asking about that particular issue. But yeah, the temptation to just say “thanks, ChatGPT” and move on without learning anything is certainly there and could be quite harmful to one’s overall coding skills.
I'm trying to remain impressed and open-minded, and there's no question these things are super cool, and something genuinely exciting. And who knows how much they'll improve over the next few years? But so far, if I'm brutally honest, they have largely been frustrating to work with. I am a teacher, and I use them (mainly via APIs) to generate questions for worksheets and study guides for my students. The idea of letting the computer help me save time on creating those kinds of exercises so that I can then focus on the more interesting/challenging activities initially sounded so good, but I've found I'm completely unable to trust these systems to generate correct information. Almost every question set or study guide I've generated had at least one, sometimes several, serious errors that would have led my students astray.
It does still save time, and I'm sure it will get better. But like you said, the fact that I have to constantly correct its output basically eliminates the possibility, at least for now, of using it as a tutor to teach me material that is genuinely new to me (something I was looking forward to doing). I simply can't trust it for that at this point. We'll see how things evolve.
I own one, but almost never use it. For quick, few-steps calculations I’ll use the iPhone’s calculator app. When I have more complex calculations, I almost always find myself needing to remember and label different values, so I’ll just type “python3” in the terminal and get to work ;)
I wanted to like React so bad. I tried. I loved JSX and really appreciated the way you could reuse components. That was all very cool, and I was initially quite enthusiastic about it. But for whatever reason, I just could not figure out state management/hooks. Drove me crazy. It just always felt so unnecessarily complicated compared to other languages and frameworks I've used (even vanilla JS). Now, don't get me wrong: I fully accept the blame here. I am mostly self-taught (and not even the best 'student' in that context, haha) so I'm sure I just lack the overall knowledge base/big-picture understanding to really appreciate what they've done here. I hope I'll give it another shot one day, and perhaps with fresh eyes (and maybe with the help of a patient tutor), it will all 'click'!
I always use it while developing a new web app, but admit that I always switch it to something "fancier" in production, mainly because I find alerts rather ugly. But, goodness gracious, it would simplify so many things! I've just sort of assumed that default browser alerts were considered a big no-no these days, but that assumption comes from the fact that I simply don't see them being used much. I guess I should look into this more. Sure would shorten dev times!
No idea about Go, but I was curious how GPT-4 would handle a request to generate C code, so I asked it to help me write a header-only C string processing library with convenience functions like starts_with(), ends_with(), contains(), etc.) I told it every function must only work with String structs defined as:
struct String {
char * text;
long size;
}
...or pointers to them. I then asked it to write tests for the functions it created. Everything... the functions and the tests... worked beautifully. I am not a professional programmer so I mainly use these LLMs for things other than code generation, but the little I've done has left me quite impressed! (Of course, not being a professional programmer no doubt makes me far easier to impress.)
That's the key: they still trudge through it. I fully agree that those people are indeed amazing. In my experience, though, many complainers toss out every objection possible hoping to make the new project seem so difficult that it isn't worth doing (so everyone will just drop it). Those complainers are toxic and can kill progress. But yes, the ones who verbalize issues just to make sure everyone has a full understanding of a project and the challenges in completing it... but still have every intention to conquer those challenges and stick with it to the end... yes, give me those types of 'complainers' ANY day :)
Yeah, me too. I honestly rather enjoy and appreciate her answers, and it's nice to have links to where she got her info from (because she has made a few mistakes). But, yes, the 'eerie fun' of interacting with her is gone. And having to 'sweep' away our conversations after 8 replies is infuriating because I've been able to have some very normal and quite helpful conversations with her that I really wanted to continue. Oh well. Hopefully all these issues get sorted out over the coming weeks/months!