การใช้ ChatGPT เพื่อเขียนโปรแกรมใน Python, C และ Java

ChatGPT เขียนโค้ดได้ดีมาก

ทุกคนเคยได้ยิน ChatGPT ที่เวทีนี้. เป็นแชทบอทที่ขับเคลื่อนด้วย AI ซึ่งใช้โมเดลการประมวลผลภาษาธรรมชาติเพื่อสร้างคำตอบสำหรับคำถามที่ซับซ้อน คำตอบเหล่านั้นอาจไม่จำเป็นต้องถูกต้องเสมอไป แต่มักจะมีรายละเอียดมากพอที่คุณจะตรวจสอบข้อเท็จจริงของคำตอบที่ให้ได้อย่างง่ายดาย จะเป็นอย่างไรถ้าคุณจะใช้ ChatGPT และลองเขียนโค้ดด้วย

ปรากฎว่าเป็นสิ่งที่คุณสามารถทำได้ด้วยระดับความสำเร็จที่แตกต่างกัน ขึ้นอยู่กับภาษาที่คุณต้องการใช้และสิ่งที่คุณต้องการบรรลุด้วยภาษาเหล่านั้น ฉันนำไปทดสอบเพื่อดูว่าภาษาโปรแกรมต่างๆ จะทำงานต่างกันได้ดีเพียงใด นอกจากนี้ ฉันจะไม่ทำการเปลี่ยนแปลงใดๆ กับโค้ดที่ ChatGPT สร้างขึ้น ฉันจะแนะนำให้สร้างโค้ดที่ใช้งานได้หากโค้ดที่สร้างขึ้นใช้ไม่ได้เท่านั้น

ฉันใช้สามภาษาที่ฉันคุ้นเคยอยู่แล้วในการทดสอบ ChatGPT: Python, C และ Java ผลลัพธ์ที่ได้นั้นน่าประหลาดใจอย่างยิ่งเนื่องจากมันมีปัญหากับ Python เล็กน้อยเนื่องจากลักษณะนามธรรมของสิ่งที่ฉันขอให้ทำ แต่มันจัดการกับ C และ Java พื้นฐานได้อย่างง่ายดาย ฉันยังมี สร้างที่เก็บ GitHub ด้วยโค้ดทั้งหมดที่นี่ ให้คุณลองด้วยตัวเอง

ตรวจสอบหน้าอัตโนมัติใน Python

Python เป็นภาษาโปรแกรมที่ฉันโปรดปราน และนั่นก็ต้องขอบคุณพลังที่มีและความเรียบง่ายในการใช้งาน ในอดีตฉันเคยเขียนเครื่องมือมากมายใน Python เพื่อทำให้ส่วนต่างๆ ของเวิร์กโฟลว์ทำงานโดยอัตโนมัติ และวิทยานิพนธ์ปริญญาตรีสาขาวิทยาการคอมพิวเตอร์ของฉันก็ทำผ่าน Python ทั้งหมดด้วยซ้ำ ฉันขอให้ ChatGPT เขียนโปรแกรมที่สามารถสแกนหน้าเว็บเพื่อหาการเปลี่ยนแปลงตามเวลาที่กำหนดได้ และส่วนใหญ่ก็ทำได้

ปัญหาเกี่ยวกับรหัสด้านบนที่ให้ฉันคือมันไม่ได้จำลองเบราว์เซอร์จริง เว็บไซต์จะตรวจสอบพารามิเตอร์ในเบราว์เซอร์ของคุณที่เรียกว่า "ตัวแทนผู้ใช้" และสิ่งนี้จะกำหนดประเภทของเบราว์เซอร์ที่คุณกำลังใช้หรือหากคุณเป็นบอท เว็บไซต์จำนวนมากไม่ยอมรับการเชื่อมต่อที่ไม่ได้ระบุตัวแทนผู้ใช้ และฉันพบสิ่งนี้เมื่อฉันชี้ไปที่ XDA ฉันขอให้เพิ่มส่วนหัวที่กำหนดเองในคำขอเพื่อจำลองเบราว์เซอร์จริง และมันก็ปฏิบัติตาม

รหัสที่ให้ไว้ข้างต้นใช้ได้กับเว็บไซต์แบบคงที่ แต่ปัญหาคือเนื้อหาส่วนใหญ่ที่คุณอ่านทางออนไลน์นั้นเป็นแบบไดนามิก หากหน้าส่งคืนเวลาปัจจุบัน เช่น ที่ใดที่หนึ่งบนหน้า โค้ดด้านบนจะบอกเสมอว่าหน้ามีการเปลี่ยนแปลงทุกครั้งที่รีเฟรช เมื่อฉันชี้เรื่องนี้ให้ ChatGPT มันสับสนและให้วิธีแก้ปัญหาที่ไม่ถูกต้องทั้งหมดแก่ฉัน

ข้างต้นเป็นคำอธิบายที่ไม่ถูกต้องเกี่ยวกับวิธีการทำงานของแฮช ประเด็นของแฮชคือการเปลี่ยนแปลงเล็กน้อยในอินพุตจะส่งผลให้เกิดความแตกต่างอย่างมากในแฮช โดยพื้นฐานแล้วแฮชทั้งสองนั้นหาที่เปรียบไม่ได้ เมื่อฉันบอกว่าเป็นการยืนยันที่ไม่ถูกต้องที่จะแนะนำว่าแฮชเป็นวิธีที่ดีที่สุดในการเปรียบเทียบและสแกนหาการเปลี่ยนแปลง มันตอบกลับพร้อมคำขอโทษและให้บางอย่างกับฉัน ทำ งาน.

ปัญหาเดียวที่ฉันค้นพบจากโค้ดด้านบนคือปัญหาสำหรับเว็บไซต์ขนาดใหญ่ มีราคาแพงเนื่องจากใช้การประมวลผลภาษาธรรมชาติเพื่อเปรียบเทียบและคำนวณความแตกต่าง ระหว่างพวกเขา. ถึงกระนั้น เกณฑ์ 5% ในเนื้อหาที่เปลี่ยนแปลงก็เพียงพอแล้วสำหรับเว็บไซต์ส่วนใหญ่ หากคุณต้องการตรวจสอบการอัปเดต และคุณสามารถปรับเกณฑ์ได้หากจำเป็น ใช้เวลาสักครู่ แต่ก็ไปถึงที่นั่นในที่สุด

มีเหตุผลมากมายที่คุณอาจต้องการเครื่องมือขูดเว็บแบบนี้ และแม้ว่าจะมีเครื่องมือมากมายที่สามารถทำได้ การสร้างเครื่องมือของคุณเองก็เจ๋งดี คุณสามารถใช้มันเพื่อติดตามพัสดุหรือในกรณีของฉัน สแกนหาอสังหาริมทรัพย์ใหม่ๆ ที่ให้เช่าบนเว็บไซต์อสังหาริมทรัพย์ในท้องถิ่น

ตัวสร้างรหัสผ่านในภาษาซี

เมื่อเร็วๆ นี้การรักษาความปลอดภัยกำลังเป็นที่นิยมอย่างมาก สิ่งสำคัญคือคุณต้องใช้รหัสผ่านที่ปลอดภัยและใช้การยืนยันตัวตนแบบสองปัจจัยด้วย หากคุณมีปัญหากับส่วนรหัสผ่านที่ปลอดภัย การเขียนตัวสร้างรหัสผ่านใน C นั้นค่อนข้างง่าย ChatGPT จัดการได้อย่างง่ายดาย และปัญหาเดียวที่ฉันพบคือเมื่อฉันขอให้สร้างเครื่องมือสร้างรหัสผ่าน มันไม่ได้นำเข้าไลบรารี่ของ String C ฉันบอกมันแล้ว และมันเพิ่มเข้าไปในการนำเข้าเมื่อเริ่มต้น

ฉันเพิ่มตัวแปรร่วม MAX_LENGTH เป็น 32 อักขระแทนที่จะเป็น 16 และสร้างรหัสผ่านต่อไปนี้ให้ฉัน: aW3H0E(&FPQvG8B@4*()+4yRKTKB#U0O ปลอดภัยที่จะบอกว่าได้ผล!

เครื่องคิดเลขใน Java

โปรแกรมพื้นฐานที่ค่อนข้างดีที่หลายคนมีประสบการณ์ใน Java คือการสร้างเครื่องคิดเลข เป็นหนึ่งในความท้าทายแรกเริ่มที่นักวิทยาศาสตร์คอมพิวเตอร์จะต้องเผชิญในอาชีพการเขียนโปรแกรม ไม่ว่าพวกเขาจะใช้ภาษาใดเป็นอันดับแรก ฉันขอให้ ChatGPT เขียนเครื่องคิดเลขในภาษาจาวาที่ใช้คลาสอย่างน้อยสองคลาส และมันทำงานได้อย่างสมบูรณ์แบบในการลองครั้งแรก

นี่คือคลาสเครื่องคิดเลข:

นี่คือคลาสหลัก:

การสร้างคลาสทั้งสองนี้ใน IDE, IntelliJ ของฉันและการดำเนินการคลาสหลักทำให้การทำงานสมบูรณ์แบบ โปรแกรมเครื่องคิดเลขที่ใช้ตัวเลขสองตัวและตัวดำเนินการสำหรับบวก ลบ คูณ หรือ แผนก.

ChatGPT เหมาะสมในการเขียนโปรแกรม

แม้ว่าฉันจะไม่พึ่งพา ChatGPT เพื่อทำทุกอย่างให้คุณ แต่เป็นที่ชัดเจนว่า ChatGPT สามารถสร้างโปรแกรมและรับคำวิจารณ์เมื่อเกิดปัญหาได้ค่อนข้างดี ฉันรู้สึกประหลาดใจที่เห็นว่ามันแนะนำอัลกอริทึมการแฮชเพื่อแยกแยะระหว่างการเปลี่ยนแปลงเล็กๆ น้อยๆ ในหน้าเว็บ แต่นอกเหนือจากนั้น มันไม่ได้มีปัญหากับงานพื้นฐานอื่นๆ เลย แม้แต่ในกรณีของโปรแกรม Python มันก็มีแนวคิดที่ถูกต้องตั้งแต่เริ่มต้น และในเพจแบบสแตติกอื่นๆ ก็จะทำงานได้อย่างสมบูรณ์แบบ

แน่นอนว่า ChatGPT ไม่ได้เข้ามาแทนที่โปรแกรมเมอร์ในเร็วๆ นี้อย่างแน่นอน แต่กำลังจะเป็นเครื่องมือที่ดีในการทำงาน Copilot ของ GitHubตัวอย่างเช่นใช้ประโยชน์จาก จีพีที เทคโนโลยีที่จะช่วยให้ผู้คนเขียนโค้ด และจะยิ่งก้าวหน้าขึ้นเรื่อยๆ เมื่อเวลาผ่านไป แม้ว่าคุณจะเป็นโปรแกรมเมอร์มือใหม่ เครื่องมือประเภทนี้อาจช่วยให้คุณเรียนรู้ได้หากวางใจได้เต็มที่ แต่บางครั้งก็ทำให้เกิดข้อผิดพลาดแปลกๆ ดังที่เราได้เห็น

แน่นอนว่าตัวอย่างที่ให้ไว้นี้เป็นพื้นฐานมากและโปรแกรมเมอร์ส่วนใหญ่จะสามารถเขียนได้ง่ายพอสมควร แต่นั่นไม่ใช่ประเด็น มันค่อนข้างดีในการสร้างวิธีแก้ปัญหาให้กับงานง่าย ๆ และดูเหมือนว่าจะจัดการกับงานที่ซับซ้อนมากขึ้นได้ดีเช่นกัน เรารู้สึกตื่นเต้นที่จะได้เห็นเครื่องมือแบบนี้ในอนาคตและช่วยให้ผู้คนพัฒนาทักษะของพวกเขา