Yazılım dilleri nasıl yapılıyor?

Geçen bunu açıklayan bir cümle okudum. "Programlama dilleri iletişimdir ve bilgisayarın anlamasındansa insanların anlaması daha önemlidir." Programlama dilleri öyle süper akıl almaz teknolojiler değil aslında. (Öyle ama değil.) Bilgisayara bir şeyler yaptırmak için kullanılan araçlar. Dolayısıyla hepsi aynı amaca hizmet ediyor. Ve hepsi bilgisayarda çalışmadan önce makine diline dönüyor. Yani programlama dillerini, makine dilinin insanın anlayabileceği şekilde tercüme edilmesi olarak düşünebiliriz. Dolayısıyla temelde hepsi makine dilini, yeni bir sözdizimine çevirerek yapılıyor.
 
"Programlama dili".

Interprete edilen bir dilse runtime da daha low-level bir dil cagirmak zorunda. Chrome V8 ( JS engine ) C++ , Python C/C++ kullaniyor ornegin. Sen "print()" yazarsin, interpretor bunu okuyup konsola print edecegi low level dili cagirir.

Byte code'a donusen dillerde Java gibi Virtual Machine hangi dille yazildiysa ona gore degisir ( genelde C/C++ yine ama JDK implementasyonuna gore degisir ) ve yine arkada low level baska bir dil cagirir.

Direkt executable'a compile edilebilen diller icin de isler degisiyor, cunku araci olmadan lexical analiz - linker - assembler islerini halledecek componentlere ihtiyacin var. Bunu da dile ve yapacagin seye gore farkli seylerle yazarsin modern cagda.
Ornegin :
OCaml – OCaml

Ilk dil mecburen binary olarak yazildi, insanlarin daha rahat anlayabilegi platform spesifik assembly kodlari olusturuldu. Direkt makine kodu ile calistigi icin uzerinde calisagin chip'e gore bunlar degisir. x86 icin tanimlanan instruction set'lerin tamami ARM64 mimarisinde bulunmaz ornegin.

Sonrasinda X dilini Assemble'a donusturen tool'lar yazildi. Ornegin gcc ile bunu yaparsin.

Sonrasi da ustteki gibi.
 

Yeni konular

Yeni mesajlar

Geri
Yukarı