Havas Okulu  
Go Back   Havas Okulu > Serbest Bölüm > Off Topic > Bilim ve Teknoloji


Yazılım dillerine neden ihtiyaç duyuldu? Ne işe yararlar? Farkları nelerdir?


 
 
LinkBack Seçenekler Stil
Prev önceki Mesaj   sonraki Mesaj Next
  #1  
Alt 23.01.25, 02:59
Gayretli üye
 
Üyelik tarihi: 23.01.25
Bulunduğu yer: İstanbul
Mesajlar: 55
Forum Puanı: 546
Etiketlendiği Mesaj: 1 Mesaj
Etiketlendiği Konu: 0 Konu
Standart Yazılım dillerine neden ihtiyaç duyuldu? Ne işe yararlar? Farkları nelerdir?

Öncelikle merhaba büyüklerim ve küçüklerim. Bu konuda yazılım dilleri nelerdir, bunlar ne işe yarar, temel düzeyde nasıl çalışır? bunlara değineceğim.

Öncelikle bilgisayarın beyni olan işlemcinin tek anladığı dil binarydir(1 ve 0). İşlemci sadece bu dili anlar. Peki bu 1 ve 0 neyi temsil eder? İşlemcilerin içinde nanometre büyüklüğünde transistörler vardır.(En azından şimdiki bilgisayarlarda. Eski bilgisayarların transistörleri çok daha büyüktü.) Bu transistörlerden elektrik akımı ya geçer ya da geçmez. İşte bu ihtimalleri simüle etmek için binary biçilmiş kaftandır. O yüzden işlemciler bu sistem üzerinedir. 1 ise elektrik akımı var 0 ise yok.

Peki nedir bu yazılım dilleri? Bunlar da nereden çıktı? Öncelikle binary dilinde kod yazmak insanlar için hiç verimli bir sistem değildir. Sadece düşünmenizi istiyorum sürekli ve yüzbinlerce kod uzunluğunda "1010 1011 1010 1010 0100" görmek size ne anlam ifade edebilir? İşte bu gibi zorluklardan dolayı Assembly dilini geliştirdiler düşük seviyeli bir programlama dilidir. Assembly sembolik makine dili olarak geçer. Yazılan komutların ekseriyeti İngilizce kelimelerin kısaltılmasıdır. Her yazılan komutun bire bir makine kodu karşılığı vardır. "Hani işlemci sadece binaryi anlıyordu?" dediğinizi duyar gibiyim. Assembly'daki yazılan kodları makine diline çeviren assembler vardır. Bunu tercümanlık gibi düşünebilirsiniz. Assemblyla yazılan her kodu bire bir makine koduna çevirir. Şunu söylememde fayda var ki assemblyla kod yazarsanız işlemci üzerinde tam kontrol sahibi olursunuz. Haliyle de yazdığınız assembly kodu da işlemcinin gelişmişliğine ve türüne göre değişiklik gösterecektir. Ayrıca assembly dilini öğrenmek istiyorsanız mikroişlemcinin yapısını, mikroişlemcinin bellekle ilişkisini vs. anlamanız gerekir. Zaten assembly bu kadar işlemciye erişim yetkisi verdiği için ve çok hızlı işlem yapabildiği için zararlı yazılımlarda, işletim sistemlerinde ve gömülü sistemlerde kullanılabilir.

Peki başka yazılım dillerine neden ihtiyaç var? Assembly yetmiyor mu? Yetmiyor. Çünkü artık yazılan kodlar uzadıkça insanların program geliştirmeleri zorlaşıyordu. Ayrıca her işlemci firmasının/mimarisinin kendine ait bir assembly dili vardı. Her firma temelleri benzer olsa dahi kendi assembly yazılım dilini tasarlıyordu. Bu gibi sıkıntılardan ötürü daha basitleştirilmiş, daha kullanıcı dostu olan programlar geliştirilmiştir. Buna örnek olarak c,c++,cobol gibi programlama dilleri gösterilebilir.(Bunlar da orta seviyeli yazılım dilleri olarak geçer.) bu diller daha kullanıcı dostu, daha pratiktir. Üstelik (özellikle c ve/veya c++ ile) bu gibi dillerle işletim sistemi, zararlı yazılımlar ve oyun geliştirebiliyorsunuz (daha çok c++ ile bilgisayar oyunu geliştirebilirsiniz.). Hızları da fena değildir. günümüz orta seviye dillerin derleyicilerilerinin (orta seviyeli dillerin makine kodu tercümanı) hızları çok iyidir. Fakat örneğin c++ dili üzerinden örnek verirsek, yazdığınız kodu her işletim sistemi için ayrı ayrı derlemeniz gerekiyor. kodu 32 bitte mi 64 bitte mi derlediğiniz önemlidir. Daha üst seviyedeki programlama dillerinde bu sıkıntılar ortadan kalkacak.

Bu dillerden daha üst seviyedeki diller yüksek seviyeli diller olarak adlandırılır. java, python,c# vs. örnek verilebilir. Bu diller programcıyı olabildiğince makine kodundan soyutlar. Yani "sen uygulamanı yaz ben teknik konuların çoğunu hallediyorum." der. Bu dillerle daha üst düzey işlemler yapabilirsiniz. Örneğin sektörde yapay zeka için python kullanılır. Java da mobil uygulama geliştirmek için kullanılabilir. Fakat biraz hantaldırlar. Hız gerektiren işlemlerde daha düşük seviyeli dillere ihtiyaç vardır. Ayrıca Bu dillerin makine koduna dönüştürülme süreci de farklıdır. Örneğin java'da bir program derleyeceğiz. Program derlenip java byte code'a dönüştürülür. Sonra bu byte code java sanal makinesi aracılığı ile makine koduna çevrilir."1 kere yaz her yerde çalışsın" mentalitesi hakimdir. Sadece işletim sistemine özgü java sanal makinesini kurmanız yeterli. Kodunuz her yerde çalışacaktır. Bu tarz yüksek seviyeli dillerin gelişmesinde işlemcilerin ve belleklerin kapasitesindeki artış (örneğin eskiden RAM bellek MB'lık geçici veri depolama kapasitesine sahipken şimdi GB'lık veriler bellekte tutulabiliyor. İşlemcilerin ve transistörlerin küçülmesi de bir etkendir.) önemli etkenlerdendir. Az önce örnek verdiğim java'yı ele alalım mesela. Java'nın sanal makinesini çalıştırması bellekte ve işlemcide ayrı kaynak tüketiyor, bellek güvenliğini sağlaması (teknik bir konudur.) ayrı bir kaynak tüketiyor, java byte koda dönüşmesi ayrı bir kaynak tüketiyor. Haliyle kaynak kullandığı için yavaşlıyorlar. İşte bu yüzden hızlı işlemlerde düşük ve orta seviyeli diller tercih ediliyor. Assembly zaten makine koduna çok yakın. orta seviyeli diller derlendikten sonra şip şak hızlı bir biçimde çalıştırılabiliyor. Fakat sorumluluğu büyüktür. Koca bilgisayarın kaynakları senin elinde. Olabildiğince verimli kullanman gerekiyor.

velhasıl kelam bu programlama dillerinin gelişme nedenlerini ve birbirlerinden farkını çok basit bir dille sizlere aktarmaya çalıştım. Çok teknik bilgiyle can sıkmak istemedim. Sağlıcakla kalın.

Alıntı ile Cevapla
 


Yetkileriniz
Konu Acma Yetkiniz Yok
Cevap Yazma Yetkiniz Yok
Eklenti Yükleme Yetkiniz Yok
Mesajınızı Değiştirme Yetkiniz Yok

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-Kodu Kapalı
Trackbacks are Açık
Pingbacks are Açık
Refbacks are Açık


Benzer Konular
Konu Konuyu Başlatan Forum Cevap Son Mesaj
Neden yedi? Ada Sorularınız 16 05.12.24 19:07
Patlayan Kafa Sendromu nedir, neden olur, belirtileri nelerdir? Arma Sağlık 3 29.04.24 20:17
Bunların cevabını verebilirler mi? fatih1 Derin Konular & Beyin Fırtınası 4 07.09.19 21:02
Köprü Neden Köprüye ihtiyaç Vardır Nasıl Temizlenir ? Tuana Ağız ve Diş Sağlığı 0 13.02.17 01:13


Tüm Zamanlar GMT +3 Olarak Ayarlanmış. Şuanki Zaman: 11:52.


Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
havasokulu1.com