Okuduğum üzere C yorulmlamalı bir dil olan B nin derlenme özelliği getirilmiş hali o zaman pythona da derlenme özelliği getirilse C gibi olmazmı
Merhaba kaynağı verebilir misiniz ?
Goggle a b dili nedir yazdigimda bu cikiyor
AT&T Bell laboratuvarlarında, Ken Thompson ve Dennis Ritchie tarafından UNIX İşletim Sistemi’ ni geliştirebilmek amacıyla B dilinden türetilmiş yapısal bir programlama dilidir
Olamaz. Python dinamik tipli, yorumlanan bir dil. Elbette Python programları derlenmiş hale getirilebilir, bunu zaten yapıyoruz (Pyinstaller). Ama bu derlenme Python dilini C diline çevirmek gibi bir şey olmuyor, sadece gerekli kodları ve Python yorumlayıcısının gerekli kısımlarını bir tek uygulamaya topluyor (https://pythonhosted.org/PyInstaller/operating-mode.html)
Mesela Python ile C kodlarını daha rahat bir şekilde birlikte kullanmak için Cython var, onda da zaten C kısmı için statik tipli değişkenler kullanıyoruz. Yine Python dilini başka şekillere çevirmeyi amaçlayan bir sürü proje var ama sonuçta Python, C olamaz.
Yani… anlamadım
Teşekkürler @EkremDincel
Dinamik ile static dillerin farkı nedir ve bu sordugum seye hangi farkları engel oluyor
Asıl aormak istediğim yorumlamalı diller ile isletim sistemi yazılmaz diyorlarya neden madem C ,B den turemis ve B de yorumlamali bir dil
Olay B’nin ilk başta yorumlamalı olması değil. B dili geliştirilerek ve derlenme özelliği eklenerek C dili yapılmış, C dili de direkt olarak assembly’e çevrilebiliyor. Önemli olan da bu zaten, assembly’e birebir çevrilebilecek diller gerçek anlamıyla derlenmiş oluyor. Bunun yapılabilmesi için donanımı daha çok dikkate almak gerekiyor ve çoğu bilginin derlenme aşamasında belirli olması gerekiyor (değişkenlerin türleri gibi).
Anladım o zaman bu konuyu her actiklarinda
Neden diye sorduklarinda çünkü yorumlamalı bir dil diye cevap vermeleri yanliş degilmi anladigim kadarıyla
Elbette tek sebebi bu değil ama bence önemli bir etken. C dili ile Python dili arasında bir sürü fark var, kullanım amaçları da farklı. Bir hatam veya eksiğim varsa @aib düzeltir diye düşünüyorum.
Geldim ![]()
Bu yanlis; sadece Turkce Wikipedia’da olan bir sacmalik. Ingilizce Wikipedia sayfasina veya Dennis Ritchie’nin Bell Labs’deki web sitesine baktim ve herhangi bir interpreter’a referans goremedim. “Compiler” lafi surekli geciyor.
Benzetmeyi hangi yonden yaptin? “C gibi” dedigin ne?
Burada “dinamik”, dinamik/statik ikileminden bahsetmek icin kullanilmamis. (“Statik dil” ifadesini hic duymadim, kullanmakta israr eden olursa tanimlamasini rica edecegim.)
Python’da reflection var; yani calisan program bir takim fonksiyonlar cagirarak “bu satir kod hangi class’in icinde” veya “su anda lokal scope’ta tanimli kac tane degisken var” gibi sorular sorabiliyor. Bu sorulara “gercek” cevaplar verebilmek icin calisan bir VM olmasi lazim. VM uzerinde calisan diller tanim geregi yorumlanan diller; istediginizi istediginize derleyin, sonuc degismez.
Ha, bazi kodlari calistirabilmek icin VM’in varligi taklit edilebilir:
def foo():
x = 42
print(len(locals())
Buradaki local sayisi belli; len cagrisi 1 sabitiyle degistirilebilir. Ama bu aklima gelen en basit ornek. Modul/import sisteminde ne yapilabilir siz dusunun.
Ikinci bir opsiyon ise dilden VM’in varligini ima eden/mecbur kilan fonksiyonaliteyi cikartmak. O zaman derlenebilen yeni bir dil icat etmis oluruz. Ama bunu niye yapiyoruz? Rust ogrenip kullanmak daha kolay degil mi?
Bir dahakine statik/dinamik tipli dil demeye dikkate ederim ![]()
Evet bende göremedim, ilginç. Niye böyle bir bilgi bulunuyor acaba. B dili derlenen bir dil mi?
Yok, “dinamik dil” dogru ifadeydi; statik/dinamik typing o kadar guclu bir etken degil.
(C++ mesela dinamik tip sistemine sahip derlenen bir dil.)
Evet.
Bu arada derlenen dillerin cogu yorumlanabilir, dilin derlenen/yorumlanan bir dil oldugundan ziyade derleyicisi veya yorumlayicisi olup olmadigini konusmak lazim.
Anladım, terimleri biraz yanlış biliyormuşum. Sağ olun.