Python, C ve Java'da programlama yapmak için ChatGPT'yi kullanma

ChatGPT, kod yazma konusunda korkunç derecede iyidir.

Herkes duydu ChatGPT bu aşamada. Karmaşık sorulara yanıtlar üretmek için doğal dil işleme modellerinden yararlanan yapay zeka destekli bir sohbet robotudur. Bu cevaplar her zaman doğru olmayabilir, ancak size oldukça kolay bir şekilde verdiği cevapları kontrol edebileceğiniz kadar ayrıntılı olma eğilimindedirler. Ya ChatGPT'yi alıp onunla kod yazmaya çalışsaydınız?

Görünüşe göre bu, kullanmak istediğiniz dillere ve onlarla ne elde etmek istediğinize bağlı olarak değişen derecelerde başarı ile yapabileceğiniz bir şey. Farklı programlama dillerinde farklı görevleri tamamlamanın ne kadar başarılı olacağını görmek için teste tabi tuttum. Ayrıca ChatGPT'nin ürettiği kodda herhangi bir değişiklik yapmayacağım, yalnızca oluşturduğu kod çalışmazsa çalışan kod oluşturması için ona rehberlik edeceğim.

ChatGPT'yi test etmek için zaten aşina olduğum üç dil kullandım: Python, C ve Java. Ondan yapmasını istediğim şeyin soyut doğası nedeniyle Python ile biraz mücadele ettiği için sonuçlar özellikle şaşırtıcıydı, ancak C ve temel Java'yı kolaylıkla ele aldı. ben ____ 'e de sahibim

bir GitHub deposu oluşturdu tüm kodlara buradan erişilebilir, böylece kendiniz deneyebilirsiniz.

Python'da otomatik sayfa denetimi

Python, çalışmak için en sevdiğim programlama dilidir ve bu, sahip olduğu güç ve kullanım kolaylığı sayesindedir. Geçmişte iş akışımın bazı kısımlarını otomatikleştirmek için Python'da birçok araç yazdım ve bilgisayar bilimi lisans tezim bile tamamen Python aracılığıyla yapıldı. ChatGPT'den bir web sayfasını periyodik olarak zamanlı olarak değişiklikler için tarayabilen bir program yazmasını istedim ve çoğunlukla işe yaradı.

Bana verdiği yukarıdaki kodla ilgili sorun, gerçek bir tarayıcıyı simüle etmemesi. Web siteleri, tarayıcınızda "kullanıcı aracısı" adı verilen bir parametre olup olmadığını kontrol eder ve bu, ne tür bir tarayıcı kullandığınızı veya bir bot olup olmadığınızı tanımlar. Birçok web sitesi, bir kullanıcı aracısı tanımlamayan bağlantıları kabul etmez ve XDA'ya yönlendirdiğimde bununla karşılaştım. Gerçek bir tarayıcıyı simüle etme isteğine özel başlıklar eklemesini istedim ve o da uydu.

Yukarıda verilen kod statik web siteleri için çalışır, ancak sorun şu ki, çevrimiçi okuduğunuz içeriğin çoğu dinamiktir. Bir sayfa, örneğin sayfanın herhangi bir yerinde geçerli saati döndürürse, yukarıdaki kod her zaman sayfanın her yenilendiğinde değiştiğini söyleyecektir. Bunu ChatGPT'ye belirttiğimde kafası karıştı ve soruna tamamen yanlış bir çözüm getirdi.

Yukarıdaki, karmaların nasıl çalıştığına dair yanlış bir açıklamadır. Karmanın amacı, girdideki küçük bir değişikliğin, iki karmanın temelde karşılaştırılamaz olması nedeniyle, karmada büyük bir farkla sonuçlanmasıdır. Karmaların değişiklikleri karşılaştırmanın ve taramanın en iyi yolu olduğunu öne sürmenin yanlış bir iddia olduğunu söylediğimde, bir özürle yanıt verdi ve bana yaptı iş.

Yukarıdaki kodla keşfettiğim tek sorun, daha büyük web siteleri için farkı karşılaştırmak ve hesaplamak için doğal dil işlemeyi kullandığı için hesaplama açısından pahalı onların arasında. Yine de, güncellemeleri kontrol etmek istiyorsanız değişen içerikte %5'lik bir eşik çoğu web sitesi için yeterince iyidir ve gerekirse eşiği ayarlayabilirsiniz. Biraz zaman aldı ama sonunda geldi.

Bunlardan biri gibi bir web kazıyıcı istemeniz için pek çok neden var ve bunu yapabilecek araçlar olsa da, kendinizinkini oluşturmak harika. Bunları paket takibi için veya benim durumumda, yerel emlak sitelerinde kiralanan yeni mülkleri taramak için kullanabilirsiniz.

C'de şifre oluşturucu

Son zamanlarda güvenlik çok revaçta olduğundan, güvenli parolalar kullanmanız ve ayrıca iki faktörlü kimlik doğrulama kullanmanız önemlidir. Güvenli şifre kısmıyla uğraşıyorsanız, C'de bir şifre oluşturucu yazmak oldukça kolaydır. ChatGPT bunu oldukça kolay bir şekilde halletti ve keşfettiğim tek sorun, ondan bir parola oluşturucu oluşturmasını istediğimde String C kitaplığını içe aktarmamasıydı. Bunu söyledim ve başlangıçta ithalatlara ekledi.

MAX_LENGTH global değişkenini 16 yerine 32 karaktere yükselttim ve benim için şu parolayı oluşturdu: aW3H0E(&FPQvG8B@4*()+4yRKTKB#U0O). İşe yaradığını söylemek güvenli!

Java'da Hesap Makinesi

Java'da birçok kişinin deneyim sahibi olduğu oldukça basit bir program, bir hesap makinesinin oluşturulmasıdır. İlk olarak hangi dili öğrenirlerse öğrensinler, bilgisayar bilimcilerin programlama kariyerlerinde karşılaşacakları en eski zorluklardan biridir. ChatGPT'den Java'da en az iki sınıf kullanan bir hesap makinesi yazmasını istedim ve ilk denemede mükemmel çalıştı.

Bu hesap makinesi sınıfıdır:

Bu ana sınıftır:

IDE, IntelliJ'imde bu sınıfların her ikisini de oluşturmak ve ana sınıfı yürütmek, mükemmel çalışan bir sonuç verir. toplama, çıkarma, çarpma veya bölüm.

ChatGPT programlamada iyidir

Sizin için her şeyi yapması için ChatGPT'ye güvenmesem de, program oluşturma ve sorunlar olduğunda eleştirileri dikkate alma konusunda oldukça iyi bir iş çıkarabileceği açıktır. Bir web sayfasındaki küçük değişiklikleri ayırt etmenin bir yolu olarak bir karma algoritma önerdiğini görünce şaşırdım, ancak bunun dışında, daha temel görevlerle hiçbir şekilde mücadele etmedi. Python programı söz konusu olduğunda bile, en başından beri doğru fikre sahipti ve daha statik sayfalarda mükemmel şekilde çalışırdı.

Elbette, ChatGPT yakın zamanda programcıların yerini almayacak, ancak iş gücünde çok iyi bir araç olma yolunda. GitHub'ın Yardımcı Pilotu, örneğin, kullanır GPT insanların kod yazmasına yardımcı olacak teknoloji ve zaman geçtikçe daha da gelişecek. Yeni başlayan bir programcı olsanız bile, bu tür bir araç, ona tam olarak güvenebilirseniz potansiyel olarak öğrenmenize yardımcı olabilir, ancak gördüğümüz gibi bazen garip hatalar yapar.

Tabii ki, burada verilen örnekler çok basit ve çoğu programcı bunları kolayca yazabilir, ama mesele bu değil. Basit görevlere çözümler oluşturmada korkunç derecede iyi ve daha karmaşık görevleri de yeterince iyi idare ediyor gibi görünüyor. Bunun gibi araçların gelecekte nereye gideceğini görmekten ve insanların becerilerini geliştirmelerine yardımcı olmaktan heyecan duyuyoruz.