Etik neden yapay zekanın en büyük sorunu haline geliyor?
ChatGPT 1950'lerden kalma bir dilde veya kendi kodunu yazan dillerden birinde programlayabilir mi? Bunu öğrenmek için hafıza şeridinde bir yürüyüşe çıktık.
Boston Latin Okulu'ndaki bir eğitmen, 4 Ekim 1968'de öğrencilere Fortran'ı öğretmek için bir IBM 1130 bilgisayarı kullanıyor.
Birkaç hafta önce, aynı rutini bir düzine en popüler programlama dilinde yazmak için ChatGPT'yi kullanmayı düşündüm. Ancak bir programlama dili uzmanı olarak ChatGPT'nin ne kadar ileri gidebileceğini merak ediyordum. 1950'lerden kalma bir dilde programlanır mı? Kendi karakter setini kullanan bir dilde programlayabilir mi? Kodunu yazan dillerden birinde kod yazabilir mi?
Burada öne çıkardığım dillerin çoğunu kullandım, bu yüzden hafıza şeridinde küçük bir yürüyüşe çıkacağım ve kullandıklarımla ilgili deneyimlerim hakkında bazı hikayeler ekleyeceğim.
Kodun kendisini çalıştırmamış olsam da, oluşturulan tüm programları okudum. Çoğu doğru görünüyor ve sunulan dilin benim istediğim dil olduğunu bize bildiren uygun göstergeleri gösteriyor.
Bunu size söylüyorum çünkü tüm ekran görüntülerinin başlıkları yanlış. Çoğu SQL olarak listelenir. Bazı nedenlerden dolayı BAL, VBNet olarak gösteriliyor ve Prolog, Rust olarak listeleniyor. ChatGPT bu hatayı geçen sefer yapmamıştı ama bugün burada gösterilen tüm diller için yaptı.
Ve bununla birlikte, hadi dalalım.
Fortran
Fortran (veya o zamanlar tasvir edildiği şekliyle FORTRAN), Formül Çevirisi anlamına gelir. Öncelikle bilimsel ve mühendislik hesaplamaları için geliştirilmiştir. Geçmişi 1950'li yıllara dayansa da, 1970'li ve 1980'li yıllarda mühendislik öğrencilerine öğretilen ilk dildi.
Benim için BASIC, PDP-8 montaj dili ve PDP-8 ikili programından sonra dördüncü programlama dilimdi (evet, eski bir mini bilgisayarın ön panelinde açıp kapatabilmek için ikili kod yazdım). Babam beni cömertçe Newark College of Engineering'e (şimdiki adı NJIT) arabayla götürdü, böylece henüz lisede ikinci sınıftayken onların birinci sınıf programlama dersini alabildim.
Fortran, hesaplama odaklı işlerin çoğunu halletmesine rağmen hiçbir zaman favori olmadı. Fortran'ın bir çeşidi bugün hala kullanılmaktadır, ancak diğer birçok modern dil Fortran düzeyinde analizler yaptığından ve bunu daha iyi yaptığından, özel bilimsel çalışmalarla oldukça sınırlıdır.
Burada, örtük anahtar kelimenin kullanımı nedeniyle, ChatGPT'nin Fortran-77 varyantında yazılmış kodu tasvir ettiği görülüyor.
Etiket yanlış olsa da kod Fortran'dır.
COBOL
Genç bir COBOL programcısıydım. O zamanlar COBOL'u tanımıyordum, ancak 1980 civarında bir yerlerde Denville, NJ'deki International Paper'ın Kuzeydoğu Bölgesel Veri Merkezi'nde bir COBOL programcısı için bir iş ilanı gördüm. Ailemin evinden yaklaşık 40 dakika uzaklıktaydı ve yaz aylarında bir işe ihtiyacım vardı. Bir röportaj ayarlamayı başarır başarmaz yerel kitapçıya koştum ve bir hafta sonunu bulabildiğim tüm COBOL okuma materyallerini yiyerek geçirdim.
COBOL iş odaklı işlemlere yönelikti. Bugün aynı tür müşteriler SAP veya Salesforce kullanıcıları olacaktır. Ancak aşağıdaki COBOL-88 kodundan da görebileceğiniz gibi COBOL işlevseldi ancak kesinlikle şık değildi.
Görünüşe göre tam zamanlı bir çalışan istiyorlardı. Ancak onların sınavlarında başarılı olduğumdan (görünüşe göre hafta sonu çalışmam başvuran profesyonellerin puanlarını geride bırakmıştı) beni yazın çalışmaya göndermeye karar verdiler. Kültürel bir uyumsuzluk olduğunu söylemek yetersiz kalır. Bunlar mikro bilgisayarların ilk günleriydi (PC öncesi düşünün) ve bu şeylerden övünüyordum. Bu arada, bu insanların hepsi takım elbise, kravat ve dev veri merkezleriyle ilgiliydi. Neredeyse anında "Sorun" lakabını aldım. Hey, hâlâ çocuktum.
Benim için belirleyici an, şirketteki daha deneyimli programcılardan birinin beni bir kenara çekip açıklama yapmasıyla geldi ve alıntı yapıyorum: "COBOL hayattır." Bu mesajı ciddiye aldım ve hayatımın COBOL ile ilgili olmasını istemediğime karar verdim. O yaz COBOL'da en son herhangi bir şeyi programladığım yazdı.
Etiket yanlış olsa da kod COBOL, muhtemelen COBOL-88'dir.
RPG (Rapor Programı Oluşturucu)
Hayır, bu roket güdümlü bir el bombası ya da rol yapma oyunu değil. RPG, rapor oluşturmaya yönelik bir programdı. Aşağıda gösterilen iki versiyon arasında dildeki (ve genel olarak bilgisayar dili düşüncesindeki) evrimi görebilirsiniz. RPG II'nin tarihi 1950'lerin sonuna kadar uzanıyor. RPG IV 1990'larda güncellendi ve çok daha modern (ama yine de kesinlikle eski).
Üniversitedeyken ek iş olarak AS/400 için birkaç RPG III programı yazdım ama hiçbir zaman bu kadar yakından takip ettiğim bir şey olmadı.
Her ikisi de yanlış etiketlere sahip iki RPG.
Lisp
Lisp'le uzun bir aşk ilişkim var. Adını LIST İşlemcisinden alan Lisp, bazen Çok sayıda Tatsız Aptal Parantez olarak tanımlanıyordu. Nedense o parantezler beynimde tıkırdadı. Lisp, yapay zeka programlamasına geçiş ilacımdı ve ChatGPT'nin dil işlemesinden öğrendiğimiz gibi, bilgi, kelime dizileri veya listeler halinde temsil edilebilir.
1980'lerde RISC tabanlı Common Lisp uygulamasının ürün yöneticisiydim ve bir süre kod yazdım. ChatGPT tarafından oluşturulan defun tebrik ve let sözdizimine dayanarak, aşağıdaki kodun aynı zamanda John McCarthy'nin 1950'lerin sonundaki orijinal Lisp uygulamasının daha sonraki bir varyasyonu olan Common Lisp olduğu anlaşılıyor. . McCarthy yapay zeka araştırmalarının kurucu babalarından biriydi, dolayısıyla bir yapay zekanın kendi dilinde yazması çok uygun.
Etiket yanlış. Bu yani SQL değil. Bu Lisp.
Algol
ALGOL (ALGOtimik Dil) zamanının ilerisindeydi. Fonksiyonların parametre olarak aktarılmasına ve özyinelemenin kullanılmasına izin verdi. Bunlar, modern programlamanın, ALGOL'ün tanıtımıyla aynı zamanda popüler olan Fortran ve COBOL gibi popüler dillerde bulunmayan iki temel bileşenidir.
Fortran, BASIC ve montaj dili bana yukarıdan aşağıya programlamayı öğrettiyse, ALGOL da kodumu nasıl yapılandıracağımı öğretti. C, Pascal, Java, JavaScript ve bugün kullandığımız modern yapılandırılmış dillerin çoğunu kullanmamın zeminini hazırlayan temel bir dildi.
Hayır, bu SQL değil. Bu ALGOL.
Simülasyon
Simula, tahmin edebileceğiniz gibi simülasyon ve modelleme için geliştirildi. ALGOL gibi Simula da nesnelerin ve sınıfların kullanımını destekleyerek zamanının ilerisindeydi. Nesne yönelimli programlama o zamandan beri günümüzün en etkili programlama dillerinin çoğu için temel haline geldi.
OUTFIX anahtar sözcüğünün kullanımı bana ChatGPT'nin muhtemelen aşağıdaki kodu Simula-67'de yazdığını söylüyor.
Kesinlikle SQL değil, bazı Simula'lara bakıyorsunuz.
BAL (IBM 360/370 derleme dili)
"Temel montaj dili" anlamına gelen BAL, 1970'lerde ve 1980'lerde büyük IBM demirinin montaj diliydi. Montaj dili, "yüksek seviyeli dillere" göre daha "düşük seviyeli" olarak kabul edilir; bu, bireysel talimatların ve anahtar kelimelerin, bireysel işlemci talimatlarıyla eşleştiği anlamına gelir. Daha yüksek seviyeli dillerde (bugün kullandığımız çoğu dil gibi), dil genellikle temeldeki makine mimarisinden çok uzaktadır ve donanımın verimli kullanımından çok programlamanın verimliliği için tasarlanmıştır.
Üniversitede bir dönem BAL aldım. Sertti. Profesör günlerinin çoğunu sırtı öğrencilere dönük ayakta durarak, monoton bir şekilde dersini mırıldanarak ve tahtaya durmadan yazarak geçiriyordu. Arka sırada Laura adında bir kızın yanına oturdum. Bir gün Laura ve ben kahve almak için arka pencereden gizlice çıkmaya karar verdik. Javamızı aldıktan sonra tekrar pencereye tırmandık. Profesör bunu hiç fark etmedi.
Herhangi birimizin bunu başarması şaşırtıcı, ancak neredeyse hiçbirimizin kodlama silahı olarak BAL programlamayı seçmemiş olması da şaşırtıcı değil.
Bu kez yapay zeka koda VBNET etiketini verdi. Tabii ki değil. BAL'dır.
APL
APL veya A Programlama Dili başka bir programlama dilidir. APL'nin en dikkat çekici yönlerinden biri, bazı operatörleri ve kodlamaları için standart olmayan bir karakter seti kullanmasıdır. Aşağıdaki görselde bunu görebilirsiniz. Küçük glifler, ChatGPT'nin kullandığı yazı tipinden çıkarabildiği şeylerdir, ancak APL, APL'de programlamaya özgü olan APL385 Unicode yazı tipini kullanacak şekilde tasarlanmıştır.
Kısa bir sözdizimine sahip olması ve büyük veri kümelerini iyi yönetmesi nedeniyle çok sayıda bilimsel, finansal ve analitik projede kullanılmaktadır.
SQL değil. Tüm ASCII karakterlerini bile kullanmaz. Bu APL ve kendi davulcusuna doğru yürüyor.
Prolog
Prolog (Mantıkta Programlama ifadesinden türetilmiştir) yapay zeka odaklı başka bir dildir. Prolog, kuralları ve koşulları listeleyen ve ardından bu bildirimler üzerinde sorgular çalıştıran bildirimsel bir dildir. ChatGPT'ye göre:
Prolog, ChatGPT'nin geliştirilmesinde, özellikle metin üretimi için kullanılan programlama dillerinden biridir. Prolog'daki mantıksal formları doğal dildeki cümlelere çeviren Prolog'dan İngilizceye modülünde kullanılır.
Prolog eğlenceli bir dil ama Rust değil. Bu Prolog'dur.
sohbet
Smalltalk özeldir. Fare ve pencereli ortamların gelişimini etkileyen aynı araştırma laboratuvarı olan Xerox PARC'da geliştirildi. Simula'nın bazı yeniliklerini nesne yönelimli programlamaya dahil etti ve daha da ileri gitti. Aynı zamanda GUI tabanlı etkileşimli programlama ortamını aktif olarak kullanan ilk dillerden biriydi. Java, Python ve Ruby de dahil olmak üzere günümüzün en popüler dillerinin çoğu Smalltalk'tan oldukça etkilenmiştir.
Smalltalk'la sadece biraz uğraştım, çoğunlukla onu tanımak için. O zamanlar Silikon Vadisi'nde yaşarken, Smalltalk'ı Xerox'un kurumsal sıkıcılığının dışında ticarileştirmek amacıyla daha sonra ParcPlace Systems'den ayrılan Smaltalk tasarımcılarıyla tanıştım. Palo Alto'daki küçük köhne bir barbekü lokantasında kaburga ve lahana salatası üzerine programlama teorisini konuştuğuma dair pek çok hoş anım var.
Çalıştığım bilgisayar şirketinde birlikte çalıştığım başkan yardımcılarından biri, Smalltalk'ı kurumsal pazara uygulamak için benimle birlikte bir şirket kurmaya ikna etmeye çalıştı, ancak henüz başlangıç böceği tarafından ısırılmamıştım. Smalltalk asla bir pazar haline gelmedi. Yine de, hayatımın gittiği yoldan ne kadar mutlu olsam da bazen onun teklifini kabul etseydim ne olurdu diye merak ediyorum.
Ve son olarak bu da SQL değil. Bu Smalltalk.
düşüncelerim var
Bu kodu ben çalıştırmadım ve bu dillere PHP ve JavaScript kadar yakın zamanda aşina olmadığım için, görsel incelememin yukarıda gösterilen kodun başarılı bir şekilde çalışacağını garanti ettiğinden emin olamıyorum. Bu haftanın başında Bard'ın yeni programlama tekniklerini incelerken gördüğümüz gibi, kod çalışmadan da kod yazmak mümkün.
Her örnekte en az bir hata olduğunu biliyoruz: başlıklar yanlış. Bu nedenle, yapay zekanın nispeten belirsiz bir dizi dilde kod üretme yeteneği inanılmayacak kadar harika olsa da, tüm işi doğru yaptığını varsaymayın.
ChatGPT programlamayı iş akışınıza dahil etmeye karar verirseniz, tıpkı sizin için bazı temel rutinler yazması için birini kiraladığınızda yapacağınız gibi, oluşturduğu kodu kontrol etmeniz, test etmeniz ve hata ayıklamanız gerekecektir.










