Genel programlama desteği olan ilk diller


15

Jenerik programlama desteğine sahip ilk dil olan ve jenerik destekli ilk büyük statik olarak yazılan dil (yaygın olarak kullanılan) idi.

Jenerikler, birden fazla türe izin vermek için parametreli tipler konseptini uygular. Jenerik terimi "büyük sınıf gruplarına ait veya bunlara uygun" anlamına gelir.

Aşağıdaki "ilk" ifadelerini gördüm:

Birinci dereceden parametrik polimorfizm artık statik olarak yazılan programlama dillerinin standart bir unsurudur. Sistem F [20,42] ve fonksiyonel programlama dillerinden başlayarak, yapılar Java ve C # gibi genel dillere doğru yollarını bulmuşlardır. Bu dillerde birinci dereceden parametrik polimorfizme genellikle jenerik ilaç denir.

" Daha Yüksek Türlü Jenerikler" , Adriaan Moors, Frank Piessens ve Martin Odersky

Genel programlama, algoritmaların belirtilecek olan sonraki türler açısından yazıldığı ve daha sonra parametre olarak sağlanan belirli türler için gerektiğinde başlatılan bir bilgisayar programlama stilidir. 1983 yılında Ada'nın öncülüğünü yaptığı bu yaklaşım

Vikipedi Genel Programlama

Yanıtlar:



4

Muhtemelen Lisp. 1960'lı yıllarda bunu aşağı yukarı yapıyordu. Aslında soru hemen hemen her şeyi yapmak için ilk dil ne ise muhtemelen lisp olduğunu bulacaksınız. X dilindeki havalı yeni özelliğin aslında 1960'ta lisp'in havalı yeni özelliği olduğunu anlamak çok korkutucu!


7
Lisp statik olarak yazılmamıştı, bu yüzden "jenerikler" bu bağlamda bir anlam ifade etmiyor bile.
Rufflewind

"Jenerikler" sadece bazı statik yazım türleri için anlamlıdır. Farklı özelliklere sahip birçok tip sistem vardır.
Zachary K

@ZacharyK "Jenerik" ile kastedilen spesifik tip sistem özelliği , şifrelenmemiş dillerde mantıklı olmayan paramterik polimorfizmdir .
Jack

3

Jeneriklerden önce şablonlar vardı ve bu makro değişiminden önce.


Şablonlar parametrik polimorfizm değildir, çoğu insan tipler bağlamında "jenerik" derken kastedilen budur. Şablonlar ve makrolar yazı sistemlerine bile bağlı değildir, tamamen dikey bir özelliktir.
Jack

Bu cevap, "Java jeneriklerini" "genel programlama" ile karıştırmaktadır.
Kaz
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.