Programlama dünyasında sıkça duyduğumuz kodun yorumlanması, kodun derlenmesi ve kodun çalıştırılması bunlar aynı şeyler midir? Aralarındaki farklar nedir? Bilgi ve tecrübelerinizi paylaşır mısınız?

alt text

soruldu: 29 Nis '12, 10:15

mimaraslan's gravatar image

mimaraslan
2.2k6810794
cevap kabul oranı: 25%


Uzun uzun anlatılabilir ama ben bilmen gereken kısmı sana özet geçeyim:

Kod, veya "kaynak kod" editörde yazdığın satırlar, bunu zaten biliyorsun. Düz metin.

Derlenmiş kod, "kaynak kod"un "makina dili"ne çevrilmiş hali.

Yorumlanmış kod, "kaynak kod"un, yorumlayıcı tarafından kendi diline çevirdiği kod. Bilgisayarın Almanca, senin Türkçe konuştuğunu düşün, çevirmenin ana dili İngilizce. Türkçe "kaynak kod" oluyor, Almanca "makina kodu", İngilizce "yorumlanmış kod".

Çalışan kod, depolama ortamından okunan "program"ın hafızada işletilirkenki hali. Örnekteki Almanca.

Bir program yazıyorsun diyelim.

C'de yazarsan, derleyici program (çevirmen) C'yi makina koduna çevirebilen bir program oluyor ve bilgisayar için çalıştırılabilir kod üretiyor.

Python'da yazıyorsun mesela. Kaynak kodun uzantısı .py oluyor, Python yorumlayıcısı bunu .pyc ile kendi diline çeviriyor. Programı çalıştırmak istediğinde de Python yorumlayıcısı bu .pyc dosyasına göre hareket ediyor.

Üçü aynı şey değil.

C'de yazdığın kodda değişiklik yaptığında çalıştırmadan önce derlemen gerekir. En ufak bir değişiklikte dahi. Ama yorumlayıcı dile göre çok daha hızlı çalışır. Çünkü derleme işi bittiğinde elinde makina dilinde yazılmış çalıştırılabilir kod olur. Yorumlamalı dillere göre programı yazmak daha uzun sürer (genellikle) ama çalışırken daha hızlı olur, daha az sistem kaynağı gerektirir..

Python'da yazdığın kodda değişiklik yaptığında çevirme işini yorumlayıcı halleder. Derleme gerekmez, ara koda dönüştürme işini (örnekteki İngilizce) kendisi yapar ama bu program yorumlayıcı olmadan çalışmaz. Buna örnekler C#, Python, Java gibi diller. Python olmadan Python kodu çalıştıramazsın. Python, C# gibi dillerde program yazmak daha kolaydır ama çalışırken daha yavaş çalışır, daha fazla hafıza gerektirir (genellikle).

Özü ve özeti bu.

permanent link

cevaplandı: 29 Nis '12, 19:28

necmettin's gravatar image

necmettin
23435
cevap kabul oranı: 28%

Mükemmel bir cevap olmuş.

(10 May '12, 04:51) betulcamsiler betulcamsiler's gravatar image
-3

http://www.slideshare.net/ramonypp/gml-sistemlerde-yazlm-gelitirme-7915258

28. sayfa ve sonrası bu konuda size yardımcı olabilir.
permanent link

cevaplandı: 29 Nis '12, 12:10

UsTa's gravatar image

UsTa
2.0k925
cevap kabul oranı: 20%

değiştirildi: 29 Nis '12, 12:10

Cevabınız
toggle preview

Bu soruyu takip et

E-Posta üzerinden:

Üyelik girişi yaptıktan sonra abonelik işlemlerini yapabilirsiniz

RSS üzerinden:

Cevaplar

Cevaplar ve Yorumlar

Yazı Formatlama

  • *italic* ya da _italic_
  • **bold** ya da __bold__
  • link:[text](http://url.com/ "başlık")
  • resim?![alt text](/path/img.jpg "başlık")
  • liste: 1. Foo 2. Bar
  • temel HTML etiketleri de kullanılabilir

Bu sorunun etiketleri:

×2
×1
×1

Soruldu: 29 Nis '12, 10:15

Görüntüleme: 2,296 kez

Son güncelleme: 04 Haz '12, 16:01

powered by BitNami OSQA