Dilbilimi programlama konusunda araştırma var mı?


18

Programlama dilleri biçimsel dillerdir , ancak birçok biçimciliğin aksine, aynı zamanda işletimsel semantikleri veya biçimlendirme dilleri söz konusu olduğunda sunum semantiği tarafından tanımlanan belirli bir anlamı vardır . Ve programlama dilleri, aslında resmi olsa da, izin verdikleri iletişim açısından doğal dillere çok benzer.

Programlama dillerinin gelişimi yapay olsa da, evrim, borçlanma, karışıklık ve mutasyonun doğal dil süreçlerinin hepsi oldukça açık yapay meslektaşlara sahiptir. Merak ediyorum: Bir dilbilimci bakış açısıyla programlama dillerinin evrimi ve davranışı hakkında daha önce hiç kapsamlı, derinlemesine bir araştırma yapıldı  mı?


6
Perl bir dilbilimci tarafından yapılmıştır ve İngilizcenin kendisinden daha karışıktır.
İş

1
@Job: Ve 23 yıldan beri var, varsayılan olarak sayısız Unix benzeri platformlara kuruluyor ve hala otomasyondan (kabuk komut dosyalarından çok daha temiz olduğu) Web geliştirmeye (yolunun olduğu) kadar düzenli olarak kullanılıyor. PHP'den daha temiz) ve normal ifadelerle (de facto endüstri standardını oluşturduğu) orijinal metin işleme amacına. Tabii dağınık, ama insanlar için iyi çalışan bir şekilde ve Perl'in gelişiminde Larry'nin dilbilim geçmişinin bir nimet olduğu yer.
Jon Purdy

Etkisi denir @Job "Daha kötüsü Better" en.wikipedia.org/wiki/Worse_is_better .
Apalala

@Aplala: Bu ilgisiz. Bir şey varsa, Perl bunun bir örneğidir, çünkü özellik açısından zengin ve karmaşık ve popülerdir.
Jon Purdy

Yanıtlar:


6

Modern programlamanın olamayacağı biçimsel gramerlerin dilbilimci Noam Chomsky'nin araştırmasının ürünü olduğunu unutmayın .

Bir trafik kazası, sorduğunuz konuda bir mezuniyet tezi bitirmemi engelledi, bu yüzden size verebileceğim referans yok, sadece bir görüş var.

Sözlü diller, bağlama bağlı olarak herhangi bir hızda gelişir ve bunu öngörülemeyen insan bağlamları olarak öngörülemez şekillerde yaparlar. İkinci Dünya Savaşı'nın sonucunun Japonca dili üzerinde büyük etkileri oldu. İngilizler, Avustralyalılar, Güney Afrikalılar ve Kuzey Amerikalılar aynı dili konuşmuyorlar. Eskiden İspanyol kolonileri olarak kullanılan fiil sapmalarının kullanımı, iki yüz yıllık bağımsızlıktan sonra oldukça farklı hale geldi (eski koloniler İspanya İspanyollarının arkaik olduğunu düşünüyorlar ).

Sadece fonetik üzerindeki verimlilik gücü, farklı bölgelerdeki farklı frekanslarda kullanılan farklı sözcüklerin farklı şekilde telaffuz edilmesini sağlar: çok yaygın kelimeler gözden kaçırılır veya yanlış yazılır ve daha az yaygın olanları mümkün olduğunca doğru ifade edilir.

Doğal diller, varyasyonları, nüansları ve evrimleri ile bilgisayarlardan talep ettiğimiz determinizme uygun değildir. (Vay! Yanlış yorumların ve ikinci yorumların ortaklığı göz önüne alındığında, insanlar arasındaki en basit etkileşimler için bile uygun görünmüyorlar [kız / erkek arkadaşının söyledikleri ve gerçekte ne anlama geldiği hakkında şakalar yapmaktan kaçınmak]


Araştırmamızda (bir öğretmenim vardı) Yunanca ve Latince baktık, çünkü bir kelimenin cümledeki her rolünü iyi tanımlayamayan iyi tanımlanmış gramerleri vardı. Yeterince iyi değildi ve insanların bu dilleri gerçekte nasıl konuştuğuna dair kayıtlar, modern dillerde olduğu gibi gramerlerinin belirttiğinden çok farklı olduğunu söylüyor.
Apalala

4
Eski Yunanca ve Latince ile ilgili olarak - buradaki meselenin bir kısmı, hayatta kalan metinlerin doğada resmi olma eğilimindedir - denemeler, sözleşmeler, yasal kararlar, vb. eve dönerken süt "ve" Jim - saat 9 için Casey raporunu hatırla "- antik Roma'daki bu geçici mesajların çoğu zaman içinde sonsuza dek kaybolmuş olacak.
HorusKol

2
Bu tamamen doğru değil. Annem bazen lise Latin sınıflarından bahsediyor ve çevirdikleri bir parçadan bahsetti, bir Roma patrisyeninden araba sürücüsüne bir not. "Lütfen, yoğun saatlerde, arabanın arkasına yakalanmayın. Atlarını ne beslediğini bilmiyorum, ama pis koku KORKUNÇ".
John R. Strohm

4

Soruyu tekrar okudum ve sanırım asıl cevabım buna değinmedi. İşte başka bir deneme.

Hayır, farkında olduğum programlama dili dilbilimi hakkında ciddi bir araştırma yapılmamıştır. İki ana dal ve bir alt dal için izlenen dil soyları vardır:

Alanında onlarca yıl olanlarımız için, programlama dillerinin birbirine karıştığı açıktır ve bu nedenle , şu anda çok modlu programlama dilleri olarak adlandırılan çoğu modern programlama dilinde saf paradigmanın çoğu yönünü bulur : C #, Python, Java, .. Daha önce OCaml ve Haskell gibi saf işlevsel diller bile , herhangi bir şey yapmanıza izin veren yeterli prosedürel ( monadlar aracılığıyla ) ve OO özellikleri içerir.

Sanırım olan şey, belirli bir alt probleme doğru bir paradigmayı uygulamak için programlama dillerini değiştirmek zorunda kalmanın (aptalca değilken) maliyetli olduğu açıktı .

Oldukça paralel ve asenkron sistemler alanındaki eğilime bir istisna bulunmaktadır. Erlang gibi tercih edilen diller kesinlikle işlevseldir, çünkü muhtemelen bu tür karmaşık sistemleri işlevsel olarak düşünmek daha kolaydır.

Evrimin paradigmatik olmayan kısmı sözdizimindeydi. Şifreleme programlarını teşvik eden veya hatta izin veren diller gittikçe daha az kullanıldı ( APL , AWK ve hatta Perl ve LISP). Bugün hakim olan sözdizimleri, C (C ++, C #, Java, Objective-C, Scala, Go, IML, CSS, JavaScript ve ayrıca Python), Pascal (Fortran 90+) gibi daha okunabilir (kolayca yazılabilir) dillerdir. x), Smalltalk (Ruby), ML / Miranda (OCaml, Haskell, Erlang) ve SGML (HTML, XML).

Bu diyagram tamamen doğru değildir ve güncel değildir, ancak 1970'lerin site başına dil döneminden bu yana ne kadar programlama dilinin dönüştüğü hakkında iyi bir fikir vermektedir.

programlama dili gelişimi


1
Bu aradığım şey gibi. Sanırım, biçimsel gramerlerle çalışmanın getirdiği sözdizimi ile açık bir ilişki üzerine, morfoloji ve fonoloji ile doğrudan korelasyon arıyorum.
Jon Purdy

@Jon Eh, diğer belirgin eğilim İngilizce'nin sözdizimsel ve dilbilgisel olarak tüm programlama dillerinin altında yatan hakim doğal dil olması ve olması. Programlama dilleri soldan sağa, fiilden önce gelir. Örneğin Japonca çok farklı, ama Japon tarzı bir programlama dili geliştirme çabası yok. en.wikipedia.org/wiki/Japanese_language#Sentence_sttruc
Apalala

@Aplala: SOV sırası yığın yönelimli dillerde yaygındır, infix operatörleri SVO olarak sayılır ve fonksiyonlar (Lisp patolojik örnektir) VSO'dur. İngilizce kesinlikle güçlü bir etkiye sahiptir, ancak işte başka faktörler olduğunu düşünüyorum ... Bu araştırmayı kendim yapmak zorunda kalabilirim. : P
Jon Purdy

@ Evet Hayır, hem yığın tabanlı hem de SOV olan Forth ve Postcript'i unuttum. Araştırmaya başlarsanız lütfen bana bildirin. Üniversitede dil teorisi konusunda uzmanlaştım ve programlama dilleri hala benim hobim. Birçoğunu (Simula, Prolog, LISP) ilk elden hatırladım.
Apalala

@Jon İspanyolca konuşan birçok programcının, programlama dillerini, kütüphanelerini, çerçevelerini, standartlarını ve kullandıkları araçları kötü bir şekilde eşleştirmelerine rağmen İspanyolca tanımlayıcıları kullanmayı tercih edeceğini ilginç bulabilirsiniz. Programları "Spanglish" ile sonuçlanır. Doğu-Avrupalılar gibi Roma / Latin mirası olan diğer dillerde anadili olan programcıların beğenisini gördüm. Uzak Doğu (Çin, Japon, Koreliler), Rus veya Arap programcıların ne yapmaktan hoşlandıkları hakkında hiçbir fikrim yok.
Apalala

1

@ Apalala'nın birkaç genel amaçlı dile yakınsama gösterdiği cevaplarını seviyorum. Bu sadece mantıklıdır, çünkü birinde iyi bir fikir er ya da geç diğerleri tarafından alınabilir.

Ekleyeceğim şey, ne zaman bir dil kullanılıyorsa, şartlar ekleyerek, eldeki alan adına daha yönlendirilmiş bir dile dönüştürerek mutlaka onu genişletiyorlar. Bazen bu oldukça basittir, bazen değil. İşte bu kadar basit olmayan bir örnek.

Genel amaçlı bir dilde takdir ettiğim bir özellik, yeni alan adına özgü dillerin tanımlanmasına ne ölçüde yardımcı olduğudur.

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.