ChatGPT - How To Quickly Learn Any Programming Language
Channel: Kompute’s Edge
Date: 2022-12-29

👀🔎📓 Prompts in the description.👇👇👇

*You can learn any programming language with ChatGPT at any skill level. This is well suited for popular and established languages like JavaScript, Python, PHP, etc, because ChatGPT has a ton of training data for those languages.*

In this video, join me as I uses ChatGPT to teach myself a new programming language: Rust (!!!). Despite having no prior experience with Rust, I turn to ChatGPT - a conversational AI model based on OpenAI's GPT-3 - to guide me through the learning process. Watch as I fumbles and **learn** , using ChatGPT to supplement my understanding of the language. This video demonstrates the potential for AI to supplement and enhance the learning process for all developers and engineers, regardless of skill level. Follow along and see if you can pick up some tips for learning a new programming language with ChatGPT!

*Prompts Used For This Video:*

- Where can I download Rust officially? I'm on a Mac
- Where is the Rust toolchain installed?
- I'm using the IntelliJ IDE. How can I being working with Rust?
- On the New Project screen, it's asking for the Standard Library. What does that mean?
- How can I run the Rust Hello World via the command line or Terminal?
- What is the naming convention for a project? I want my project name to be "Let's Learn Rust"
- How do I run main.rs in the IntelliJ Terminal?
- I have the toolchain installed. I'm on a Mac.
- How can we generate a QR code with the value of "ABC123" in Rust?
- What is a .toml file? How do you pronounce it?
- How can I install a crate via the command line to my project?
- Where can I find more information about the qrcode crate?
- What does `^^^^ `QrCode` cannot be formatted with the default formatter` mean?
- What does this mean? `let code = QrCode::new(b"01234567").unwrap();`
- What does `unresolved import `image`` mean?
- I'm getting the following error when running `cargo run` :
  `error[E0277]: the trait bound `Luma[u8]: Element` is not satisfied`
- How can I generate Qr Code as a PNG file?
- How can I generate a QR code as an SVG?
- How can I set the value of `let (width, height) = ` using an array or an object?
- What is the difference between between u32 and i32?
- what does this error mean? `---------- this expression has type `[{integer}; 2]``
- What is the difference between a tuple and an array?
- How can we check the coordinates of a QR code to see the pixel value? `let code = QrCode::new("ABC123").unwrap();`
- How can I use the crate `qrcodegen` to generate an SVG QRCode?

*Chapters:* 

00:00 From Zero to Rust: Using GPT-3 to Become a Rust Programmer
01:41 What is ChatGPT?
02:58 Setting up our IDE (IntelliJ)
03:39 Install the Rust plugin 
05:05 Getting our project setup
06:39 Ask ChatGPT for help
07:49 Be specific about your unique situation
14:23 Level up! Our sample app builds and runs
15:56 It's all about asking the right questions
17:45 Project goals -- let's build a QRCode app
19:27 Rust Packages -- Cargo and TOML
24:45 ChatGPT's recommendations aren't making sense and don't match the Rust docs!
27:00 I'm struggling with ChatGPT's recommendations
28:28 Let's ditch image-based QR codes and see if SVG-based QRcodes are easier
29:06 I start to realize ChatGPT is not being completely honest with me
29:25 Rust typings are troubling me... tuples, tuples.... ChatGPT to the rescue
30:46 ChatGPT lied to me (!!!)
31:43 The "Aha" moment!
33:38 Reaping the rewards -- verifying our QRCode
34:08 Conclusion and Postmortem