ChatGPT kullanarak aynı rutini bu on nadir programlama dilinde yazdım

resim9.jpg

Birkaç hafta önce, ChatGPT'yi kullanarak en popüler düzine programlama dilinde aynı rutini yazmayı denedim. Ama bir programlama dili meraklısı olarak, ChatGPT'nin ne kadar ileri gideceğini merak ettim. 1950'lerden bir dilde programlama yapabilir miydi? Kendi karakter setini kullanan bir dilde programlama yapabilir miydi? Kendi kodunu yazan dillere birinde kod yazabilir miydi?

Ayrıca: En iyi AI sohbet botları: ChatGPT ve denemek için alternatifler

Ve böylece, dalış yaptım. Burada vurguladığım birçok dili kullanmış olduğum için, biraz anılarımı tazelemek için küçük bir yolculuğa çıkacağım ve kullandığım dillerle ilgili deneyimlerimden bazı hikayeleri de dahil edeceğim.

Kodu henüz çalıştırmadım, ancak oluşturulan tüm programları inceledim. Çoğu doğru görünüyor ve istediğim dilin sunulduğunu gösteren uygun göstergeleri gösteriyor.

Bunun nedeni tüm ekran görüntülerinde başlıkların yanlış olmasıdır. Çoğu SQL olarak listelenmektedir. Bir şekilde BAL, VBNet olarak gösteriliyor ve Prolog Rust olarak listeleniyor. ChatGPT bu hatayı geçen sefer yapmamıştı, ancak bugün burada gösterilen tüm diller için yaptı.

Ve bununla birlikte, dalalım.

Fortran

Fortran (ya da o zamanlar belirtildiği gibi FORTRAN), formül çevirisi anlamına gelir. Başlıca bilimsel ve mühendislik hesaplamaları için geliştirilmiştir. 1950'lerin başına dayanmasına rağmen, 1970'ler ve 1980'lerde mühendislik öğrencilerine genellikle öğretilen ilk dil olmuştur.

Ayrıca: Bu yeni teknoloji, GPT-4'ü ve buna benzer her şeyi ortadan kaldırabilir

Benim için bu, BASIC, PDP-8 derleme dili ve PDP-8 ikili kodundan (evet, bir erken minibilgisayarın ön panelinde anahtarlayabilme için ikili kod yazıyordum) sonra dördüncü programlama dilimdi. Babam cömertçe beni Newark Mühendislik Koleji'ne (şimdi NJIT) götürdü, böylece hâlâ lise ikinci sınıftayken orada birinci sınıf programlama dersi alabildim.

Fortran hiçbir zaman favori bir dil olmadı, ancak çoğu hesaplama odaklı işi halledebilirdi. Bir türevi bugün hala kullanımda olsa da, çoğu diğer modern dil Fortran seviyesinde analitik yapabildiği için genellikle uzmanlık gerektiren bilimsel çalışmalarda kullanılır ve daha iyi yapabilir.

Burada, zımni anahtar kelimenin kullanılması nedeniyle, ChatGPT'nin Fortran-77 varyantında yazılmış kodu tasvir ettiği görünüyor.

görsel7.jpg

COBOL

Ben bir gençlik dönemi COBOL programcısıydım. O zamanlar COBOL'ü bilmiyordum, ancak yaklaşık 1980 yılında New Jersey, Denville'deki International Paper'ın Kuzeydoğu Bölgesel Veri Merkezi'nde bir COBOL programcısı ilanı gördüm. Ebeveynlerimin evine yaklaşık 40 dakika mesafedeydi ve bir yaz işine ihtiyacım vardı. Bir mülakat ayarlamayı başardığım anda hemen yerel kitabevine koştum ve bir hafta sonu boyunca bulabildiğim tüm COBOL okuma materyallerini tam manasıyla sindirdim.

COBOL işlemleri iş odaklı olarak tasarlanmıştı. Bugün, aynı tür müşteriler SAP veya Salesforce kullanıcıları olabilir. Ancak aşağıdaki COBOL-88 kodundan da görülebileceği gibi, COBOL işlevseldi ancak kesinlikle zarif değildi.

Ortaya çıktığı üzere, tam zamanlı bir çalışan istediler. Ancak, onların testini tam not alınca (uygulayan profesyonellerin notlarını geçtiğim haftasonu çalışmamın, görünüşe göre), beni yaz ayları için çalışmaya almaya karar verdiler. Kültürel bir uyumsuzluktan bahsetmek hafife almak olurdu. Bunlar mikrobilgisayarların çok erken dönemiydi (pre-PC diyebiliriz) ve ben bu şeylerin içinde büyük bir hevesle yer alıyordum. Bu arada, bu insanlar takımlar ve kravatlar ile devasa veri merkezleriyle uğraşıyorlardı. Hemen hemen derhal "Trouble" takma adını kazandım. Hey, ben hala bir çocuktum.

Benim için dönüm noktası, şirketteki deneyimli programcılardan birinin yanıma gelip açıklama yapmasıyla geldi ve alıntı yapayım, "COBOL yaşamdır." Bu mesajı içtenlikle aldım ve hayatımın COBOL üzerine odaklanmasını istemediğime karar verdim. Bu yaz, COBOL ile herhangi bir şey programlamak için son kez oldu.

resim11.jpg

RPG (Rapor Program Oluşturucusu)

Hayır, bu bir roket destekli el bombası veya rol yapma oyunu değil. RPG, rapor oluşturma programıydı. Aşağıda gösterilen iki versiyon arasında dilin (ve genel olarak bilgisayar dil düşüncesinin) evrimini görebilirsiniz. RPG II 1950'lerin sonlarına kadar uzanır. RPG IV ise 1990'larda güncellendi ve oldukça moderndir (ancak kesinlikle eskimiş).

Üniversite yıllarımda yan iş olarak AS/400 için birkaç adet RPG III programı yazdım, ancak hiçbir zaman çok yakından takip ettiğim bir şey değildi.

resim3.jpg

Lisp

Benim Lisp ile uzun bir aşk ilişkim var. Lisp, LISt İşleyicisi anlamına gelen bir isimdir ve bazen İçi Boş Parantezlerle Dolu Önermeler olarak tanımlanırdı. Bir şekilde, o parantezler beynimde tıklayıverdi. Lisp, beni yapay zeka programlamaya yönlendiren bir araç oldu ve ChatGPT'nin dil işleme sürecinden öğrendiğimiz gibi, bilgi kelimeler veya liste şeklinde temsil edilebilir.

80'li yıllarda, RISC tabanlı bir Common Lisp uygulaması için ürün yöneticisiydim ve bir süre onunla kodlama yaptım. ChatGPT tarafından oluşturulan defun greeting ve let sözdizimine dayanarak, aşağıdaki kodun da Common Lisp olduğu görünüyor, ki bu John McCarthy'nin 1950'lerin sonlarında orijinal Lisp uygulamasının daha sonraki bir varyasyonudur. McCarthy yapay zeka araştırmalarının kurucu babalarından biriydi, bu yüzden bir yapay zeka bu dilde yazması oldukça uygun.

resim4.jpg

Algol

ALGOL (ALGOritmik Dil), zamanının ötesindeydi. Fonksiyonları parametre olarak geçmeyi ve özyinelemeyi kullanmaya izin veriyordu. Bu, ALGOL'un tanıtıldığı dönemde popüler olan Fortran ve COBOL gibi dillerde bulunmayan modern programlamanın iki temel bileşenidir.

Fortran, BASIC ve makine dili, bana yukarıdan aşağıya programlama yapmayı öğretse de, ALGOL kodumu nasıl yapılandırmam gerektiğini öğretti. Bu temel bir dil olup, C, Pascal, Java, JavaScript gibi modern yapılandırılmış dillerin çoğunu kullanmama zemin hazırladı.

resim5.jpg

Simula

Simula, tahmin edebileceğiniz gibi, simulasyon ve modelleme için geliştirilmiştir. ALGOL gibi, Simula da zamanının ilerisindeydi ve nesnelerin ve sınıfların kullanımını destekliyordu. Nesne yönelimli programlama o zamandan beri birçok bugünkü en etkili programlama dillerinin temelini oluşturmuştur.

Anahtar kelime OUTFIX kullanımı, ChatGPT'nin muhtemelen aşağıdaki kodu Simula-67'de yazdığını söylüyor.

resim6.jpg

BAL (IBM 360/370 montaj dili)

BAL, "basic assembly language" olarak adlandırılan dil, 1970'lerde ve 1980'lerde büyük IBM demirleri için kullanılan bir derleme dilidir. Derleme dili, "daha alt düzeyli" olarak kabul edilir ve tek tek işlemci talimatlarına tekabül eden bireysel talimatlar ve anahtar kelimeler içerir. Daha üst düzey dillerde (günümüzde kullandığımız çoğu dil gibi), dil genellikle altta yatan makine mimarisinden uzaktır ve programlama verimliliğinden çok donanımın etkin kullanımı için tasarlanmıştır.

Üniversitede bir dönem BAL dersi aldım. Zorluydu. Profesör çoğu gün öğrencilere sırtını dönerek, monoton bir şekilde dersini mırıldanırken sürekli tahtaya yazı yazıyordu. Ben arkadaş sıralarının arka tarafında Laura adında bir kızın yanında oturuyordum. Bir gün, Laura ve ben arka pencereden çıkıp kahve almaya karar verdik. Java'yı aldıktan sonra pencereden tekrar içeri tırmandık. Profesör hiç fark etmedi.

Çok azımızın geçtiği biraz şaşırtıcı, ancak hiç şaşırtıcı değil ki neredeyse hiçbirimiz BAL programlamayı tercih etmedik.

resim8.jpg

APL

APL, veya bir programlama dili olan A Programming Language, başka bir programlama dilidir. APL'nin en çarpıcı yönlerinden biri, bazı operatörler ve kodlama için standart olmayan bir karakter seti kullanmasıdır. Bunun bir örneğini aşağıdaki görselde görebilirsiniz. Küçük semboller, ChatGPT'nin kullandığı fonttan çekilebildiği şekildedir, ancak APL, APL programlamada benzersiz olan APL385 Unicode fontunu kullanması için tasarlanmıştır.

Çünkü kısa bir sözdizimine ve büyük veri kümelerini iyi yönetmesine sahip olduğundan, bilimsel, finansal ve analitik projelerde yaygın olarak kullanılmaktadır.

resim10.jpg

Prolog

Prolog (kelime olarak Logic Programlama anlamına gelen bir İY dili) başka bir yapay zeka odaklı dildir. Prolog deklaratif bir dildir, kuralları ve koşulları listeler ve ardından bu deklarasyonlar üzerinde sorgular çalıştırır. ChatGPT'ye göre:

Prolog, ChatGPT'nin geliştirilmesinde kullanılan programlama dillerinden biridir. Özellikle metin üretimi için kullanılır. Prolog-to-English modülünde, Prolog'da bulunan mantıksal yapıları doğal dil cümlelerine çevirmek için kullanılır.

resim1.jpg

Smalltalk

Smalltalk özel bir dildir. Fare ve pencere tabanlı ortamların gelişimini etkileyen aynı araştırma laboratuvarı olan Xerox PARC'de geliştirilmiştir. Nesne yönelimli programlamadaki Simula'nın yeniliklerinin bazılarını içermesinin yanı sıra daha da ileri gitmiştir. Aynı zamanda GUI tabanlı etkileşimli bir programlama ortamının aktif bir şekilde kullanıldığı ilk dillerden biridir. Bugünün en popüler dillerinden olan Java, Python ve Ruby de Smalltalk'tan büyük etkilenmiştir.

Sadece Smalltalk ile ilgilenmiştim, çoğunlukla onu tanımak için. O zamanlar Silicon Valley'de yaşadığım için, Smaltalk tasarımcılarını tanıma fırsatım oldu ve daha sonra Xerox'un kurumsal katılığının dışında Smalltalk'ı ticarileştirmek için ParcPlace Systems adlı bir şirket kurdular. Palo Alto'da eski ve köhne bir barbekü restoranında kaburga eti ve lahana salatası eşliğinde programlama teorileri üzerine konuşma anılarım var.

Bir bilgisayar şirketinde çalıştığım dönemde, iş arkadaşım olan bir başkan yardımcısı, beni şirket kurmamız için Smalltalk'i kurumsal pazarlara uygulamak için ikna etmeye çalıştı, ancak o dönemde henüz girişimcilik ateşine tutulmamıştım. Smalltalk hiçbir zaman bir pazar haline gelememiştir. Yine de, hayatımın aldığı yoldan memnun olsam da, bazen o teklifi kabul etseydim neler olacağını merak ediyorum.

resim2.jpg

Düşüncelerim var

Ben bu kodu çalıştırmadım ve PHP ve JavaScript kadar yakın zamanda bu dillerle ilgili bilgi sahibi olmadığım için, görsel incelememin yukarıda gösterilen kodun başarılı bir şekilde çalışacağını garanti etmediğinden emin olamam. Bard'ın yeni programlama becerilerini keşfettiğimiz gibi bu hafta önceki günlerde gördüğümüz gibi, kodu çalışmayan bir kod yazmak mümkündür.

Ayrıca: İhtiyaç duyduğum bir WordPress eklentisini yazması için ChatGPT'ye sordum. Bunun için 5 dakikadan daha kısa bir sürede yaptı

Biliyoruz ki, her bir örnekte en az bir hata bulunmaktadır: başlık yanlıştır. Bu nedenle, Yapay Zekanın nispeten bilinmeyen birçok dilde kod üretebilme yeteneği inanılmaz derecede güzel olsa da, işin tamamını doğru bir şekilde yapmadığını varsaymayın.

Eğer ChatGPT programlamasını iş akışınıza dahil etmeye karar verirseniz, size basit rutinler yazmak için birisini işe aldığınızda yapacağınız gibi üretilen kodu kontrol etmeniz, test etmeniz ve hata ayıklamanız gerekecektir.

HIX.AI ile yapay zekanın gücünün kilidini açın!