I have mixed feelings about AI and computer programming

Reverend Conehead

Well-Known Member
Messages
10,310
Reaction score
12,340
I've been learning Python and Qt and am loving it so far. Years ago I learned Visual BASIC, but that language is obsolete now, and it could never compile for Linux and Mac. To learn VB, I took a class at a local college, and the tutorials in the text book were excellent. However, it could be frustrating to find bugs, but that's why you would use a line-by-line debugger. However, nowadays you have AI. If my code doesn't run, I can just put it into ChatGPT and ask why. Not only does it find the bug, but it gives excellent explanations as to why it didn't work and what good work habits you need to avoid those kind of errors. That's way, way cool. You could spend hours finding and fixing a bug, but with AI, you find and fix immediately.

That's cool, but there's a downside too, and it's a big one. Now someone could use AI as a crutch and get a working application whose code you don't understand. If you use the crutch too much, you won't understand the structure or language of the program. So then, months or years later, if you want to add features, you'll be lost, and then maybe just give all the source code to ChatGPT and ask for the solution. If the thing spoon feeds you, you're not going to properly learn the language.

So I was sticking to coding myself and then having AI help me find the bugs, but it's super tempting when you want to add a feature, and you know ChatGPT can just code the entire feature for you. This AI stuff can be a great tool, but there's massive potential for abuse. I've heard of college students having AI write their essays for them. If they do that, they're simply not going to learn to write effectively. A person doesn't have to be Earnest Hemingway, but it's important to be able to express yourself well in written language.

I've also used AI to help me with foreign languages. It's amazing for that. I can write something in French, and then ChatGPT correctly finds all my errors and can explain why they're errors and point me to whatever grammar and vocab I need to work on. However, you could also just never learn the language and use one of those translation apps when you visit another country. I don't want that. I want to speak with people directly in their language. That's always been way, way better than taking through an interpreter, whether it's a human one or a machine one. You don't get to know a person or their personality when talking through an interpreter. Directly talking with them is way, way better, but it takes work to get good enough at a language to be able to do that.

But, back to programming. I would be curious to hear from other programmers and what they think of having AI help them.
 
You’re speaking to programmers so I don’t qualify but AI is going to take jobs away. It’s doing at a rate I didn’t think it would.
 
You’re speaking to programmers so I don’t qualify but AI is going to take jobs away. It’s doing at a rate I didn’t think it would.
For sure, but we need to steer away from conversations about what our laws and so forth should be about it so that we don't violate CZ's site rules. If we keep it personal, like how it affects our computer programming or other ways in which we might use it, we should be fine.
 
For sure, but we need to steer away from conversations about what our laws and so forth should be about it so that we don't violate CZ's site rules. If we keep it personal, like how it affects our computer programming or other ways in which we might use it, we should be fine.
Fair. Gonna sit back I enjoy your posts on programming wish I got into when I was younger.
 
Fair. Gonna sit back I enjoy your posts on programming wish I got into when I was younger.
You can still learn programming even if you're older. I'm 61, and I'm just starting with Python. When I started learning Visual BASIC, I was about 40. The same is true for human languages. I started learning German at 19, but I didn't start learning French until I was 48. Younger people do have an advantage in learning things, especially languages, but it can be done when you're older. I do things like this both because I'm interested in them and I want my mind to stay active.

But, if you're interested in programming, you can learn it, even if you've gotten old.
 
You can still learn programming even if you're older. I'm 61, and I'm just starting with Python. When I started learning Visual BASIC, I was about 40. The same is true for human languages. I started learning German at 19, but I didn't start learning French until I was 48. Younger people do have an advantage in learning things, especially languages, but it can be done when you're older. I do things like this both because I'm interested in them and I want my mind to stay active.

But, if you're interested in programming, you can learn it, even if you've gotten old.
How do you recommend getting started? Is there a book you’d recommend?
 
How do you recommend getting started? Is there a book you’d recommend?
It depends what you want to do with it. I started with Visual BASIC because it made sense for what I was doing at the time. I was writing Windows desktop apps and nothing else. VB was designed to have not such a steep learning curve, and it did what I want. However, it no longer makes sense for me to program in that language. I only does 32-bit Windows, and I want to write desktop apps for 64-bit Linux, Windows, and maybe also Mac. Python can do all that really well. This doesn't automatically mean Python is right for you. If you want to code for the web, JavaScript would make sense. I don't code for phones, but I'm pretty sure a lot of Android apps are written in Java. Take your time and pick the right language for you. It might be Python, or it could be something else like Java, C++, or Rust. There are a lot of languages, and they each of their strengths. What I would do is type a paragraph of what programs you want to write and what your skill level is, and plug that into ChatGPT. Get it's advice, but DON'T rely on it solely. Get an idea from ChatGPT first, then ask programmers about it. Keep in mind some programmers can get dogmatic. I knew one guy who said that everything should be written in C++ and every other language is trash. Ignore that kind of advice, of course. But put something like this into ChatGPT:

"I'm brand-new to programming. I've never learned a language, but I want to. I want to write desktop apps for Windows for now, and then later on I also want to compile them for Mac. For now I just want to write desktop apps, but down the pike, I want to write some games for Android and iPhone. If you have any clarifying questions, ask them first before recommending anything."

Something like that, but of course, customize it to what your needs are. Be sure to include that line, "If you have any clarifying questions, ask them first before recommending anything." That helps a lot to narrow things down.

Then, when you know what language is right for you, you could sign up for a class like I did or you could get yourself a tutorial-based book. That's very important. When I first decided to learn VB, I found a book about it. And I struggled with it! I went months trying to figure things out from that book, but I wasn't making much progress. So I bought another one and had the same struggles. Turns out, both of those books were written for people who had already programmed in other languages and wanted to learn VB. Don't get any book like that right now. I finally got frustrated and signed up for a VB class at a local college. Then the instructor was very good, but the main thing was the text book was excellent. It was written in tutorial style, which walked you through building simple apps. It explained exactly why we did everything, as we build real programs. They were really simple apps that weren't all that useful, but the helped me to learn. They were simple apps that would maybe show the user a basic math equation like "3 + 4" and ask the user for an answer, and then it would tell them if they were right or not. It wasn't earth shattering, but it helped me to learn to think like a programmer. It helped me to learn to plan out all the steps I wanted the program to do.

I would do all the tutorials in that book and then come to class with questions. Today, you could immediately get answers by asking AI. Just don't let ChatGPT baby you. It shouldn't spoon feed you the code. Instead you should write code and figure things out for yourself, and then ask ChatGPT if you're struggling. Then, after you've done some tutorials to help you get to know the language, make up something for yourself. Create some project for yourself. Then get a quality language reference book. A book like that works great for someone who already knows the language some, which will be the case after you've finished your class or tutorial book.

Important: Don't just learn the language. Learn to think like a programmer.

You should also accept that it's normal to write some code and have it not work, especially in the beginning. It doesn't mean you're stupid. Everyone sucks at this at first. At first you'll just write dirt-simple programs that don't do all that much, and that's okay. My having learned to think like a programmer is helping me now. The process of getting all your steps organized is the same regardless of language. I'm a big advocate of first planning it out with pseudo-code. That's just writing each step out in plain English. Good luck if you want to do this. Feel free to come back and let us know what you've done. Just out of curiosity, I went ahead and put into ChatGPT that fictitious info that stated with "I'm brand-new to programming..." I'll paste its answer below. If I were new, I would answer all those questions, and it would give me a recommendation. Don't go by the recommendation alone; do talk to people. But it makes a huge difference what your needs are. A beginner shouldn't start with something super hard like assembly language (and a lot of programmers never need that). Best of luck to you.

Here's that ChatGPT reply. (And the answer to #5 should definitely be "yes." You do want to learn programming fundamentals in the beginning. It will bite you in the butt if you don't.)

Before recommending anything, I’d ask:
  1. Do you want the easiest beginner path, or are you willing to accept a steeper learning curve for more long-term flexibility?
  2. Are your desktop apps mostly regular business-style apps—forms, buttons, menus, files, databases—or do you already imagine graphics-heavy apps?
  3. For Mac later, do you mean “I want the same app to run on Mac,” or “I’m willing to rewrite/adapt it for Mac”?
  4. For mobile games later, do you mean simple 2D games, or serious 3D/game-engine projects?
  5. Do you care more about learning programming fundamentals first, or getting visible desktop apps built quickly?
  6. Are you comfortable using free/open-source tools, or would you prefer a polished commercial-style environment even if it costs money?
  7. Do you want one language/toolkit that can do most of this, or are you okay learning one thing now for desktop apps and a different thing later for games?
 

Forum statistics

Threads
474,317
Messages
14,530,318
Members
24,209
Latest member
spartansde88
Back
Top