Şimdi Ara

Programlama Dilleri Arasında ki Fark Nedir ?

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
4
Cevap
0
Favori
1.961
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • Selamlar. Sorum başlık da olduğu gibi gayet açık. Nedir bunların farkı ? Aklıma şöyle bir soru takıldı;

    Hemen hemen tüm programlama dilleri ile bir birine benzer işlemler yapılıyor. Örneğin; C++ ile basit bir hesap makinesi yapılabilir. C# ile de aynı hesap makinesi yapılır. Peki bunların arasındaki fark ne oluyor ? C++ dilinin güçlü ve güvenilir olduğunu okumuştum ama neye göre ve nasıl güçlü ? Sonuçta bu bir programlama dili bunun güvenilirliği nerede ve nasıl sağlanıyor ? Çok basit bir örnek daha vermek istiyorum;

    Büyük çaplı oyunlar farklı diller ile yapılıyor. Örneğim yanlış olabilir ama bilmediğim için mazur görün. Örneğin; Devasa bir oyun ( Yaklaşık 8 GB)'u C++ ile yazmak daha kolay ama bunu C# ile yazmak daha zor diye biliyorum. Bu neye dayanarak oluyor ? Her iki'side programlama dili ve mantık aynı. Ama nedense sadece belli başlı diller seçiliyor ? Bunun nedeni nedir ?

    Cevaplayan herkese Teşekkürler...







  • Kullandığın işletim sistemini bir mutfak düşün.Yemek yaptın, yedin ama ortalığı çok dağıttın ve uzun bir süre temizlemedin.Tezgahın üstü hep yağ lekesi olmuş ve bunu çıkartman gerekiyor. Şimdi düşün eline bir bez aldın ve lekeyi sertçe siliyorsun ama çıkmıyor, kazıma işlemine geçiyorsun ve uzun bir süre uğraşıyorsun leke anca çıkıyor.Oysa işi bilen biri lekenin üzerine yağ çözücü döküp silmesi yetiyor. Programlama dilleride aynı bu şekildedir.Her dil ile her şeyi yapabilirsin(spesifik işler dışında) ama bazı diller ile yapmak göze daha hoş gelir.

    Mesela senin verdiğin örnek, dediğin gibi büyük yapımlı oyunlar için birden fazla dil kullanılıyor. Aklıma gelenler C++ , Java , Python. C++ hızlı ve güvenilirdir çünkü yetki programcıya aittir o ne derse o olur. Oyunlarda RAM(bellek)'in çok önemli olduğunu bilirsin.Düşün oyundasın ve biri sana ateş ediyor sana gelen her bir mermi için çeşitli hesaplamalar yapılır ve artık işe yaramayan bir objeyi ramden dışarı alman gerekir, bunu sana C++ sağlar çünkü low level bir dildir.Örneğin

    C++'da
    for (int n=0; n<10; n++)
    {
    cout << "merhaba";
    }

    Kodu işletildikten sonra "merhaba" için yaratılan string yok edilir, bu garantidir.Fakat Java'da

    for (int n=0; n<10; n++)
    {
    System.out.println("Merhaba");
    }

    Kodu sonrası yaratılan "Merhaba" objelerinin yok edilmesi garanti değildir, bu iş garbage collection'ın işidir, o ne zaman uygun görürse o zaman temizler.

    Oyun içinde çeşitli hesaplamalar yapacaksınızdır, bu işlemler için Python uygundur, yine multiplayer için bir server yazacaksınızdır Java uygun olabilir. Yani tamamen işe yönelik dil seçilir.




  • quote:

    Orijinalden alıntı: alizwel

    Kullandığın işletim sistemini bir mutfak düşün.Yemek yaptın, yedin ama ortalığı çok dağıttın ve uzun bir süre temizlemedin.Tezgahın üstü hep yağ lekesi olmuş ve bunu çıkartman gerekiyor. Şimdi düşün eline bir bez aldın ve lekeyi sertçe siliyorsun ama çıkmıyor, kazıma işlemine geçiyorsun ve uzun bir süre uğraşıyorsun leke anca çıkıyor.Oysa işi bilen biri lekenin üzerine yağ çözücü döküp silmesi yetiyor. Programlama dilleride aynı bu şekildedir.Her dil ile her şeyi yapabilirsin(spesifik işler dışında) ama bazı diller ile yapmak göze daha hoş gelir.

    Mesela senin verdiğin örnek, dediğin gibi büyük yapımlı oyunlar için birden fazla dil kullanılıyor. Aklıma gelenler C++ , Java , Python. C++ hızlı ve güvenilirdir çünkü yetki programcıya aittir o ne derse o olur. Oyunlarda RAM(bellek)'in çok önemli olduğunu bilirsin.Düşün oyundasın ve biri sana ateş ediyor sana gelen her bir mermi için çeşitli hesaplamalar yapılır ve artık işe yaramayan bir objeyi ramden dışarı alman gerekir, bunu sana C++ sağlar çünkü low level bir dildir.Örneğin

    C++'da
    for (int n=0; n<10; n++)
    {
    cout << "merhaba";
    }

    Kodu işletildikten sonra "merhaba" için yaratılan string yok edilir, bu garantidir.Fakat Java'da

    for (int n=0; n<10; n++)
    {
    System.out.println("Merhaba");
    }

    Kodu sonrası yaratılan "Merhaba" objelerinin yok edilmesi garanti değildir, bu iş garbage collection'ın işidir, o ne zaman uygun görürse o zaman temizler.

    Oyun içinde çeşitli hesaplamalar yapacaksınızdır, bu işlemler için Python uygundur, yine multiplayer için bir server yazacaksınızdır Java uygun olabilir. Yani tamamen işe yönelik dil seçilir.

    Sonunda bir kişi mesaj atmış. Cevabın için çok teşekkür ederim. Çok iyi özetlemiş isin

    < Bu ileti mobil sürüm kullanılarak atıldı >




  • Bu sordugun soru universitelerde donemlik bir ders konusu, hakkinda yazilmis kitaplar var :)
    Ornegin integer bir deger atadigin objeyi, string e cast etmeye calisirsan hata c++ da compile hatasi alirsin. Javascript te almazsin. C de bir degeri heap e yazmadan once ona yer ayirirsin, isin bitince de silersin. Csharp ve Java bunu otomatize ederler. Ancak bunu yaparken sistemdeki tum thread ler milisaniye bazinda durdurulur. Bu sebeple hayati onemi olan , jet ucagi programlama gibi , bir uygulamayi java ya da c# ile yazamazsin. Bazi diller syntax i ve calisma prensibi nedeniyle bazi isler icin bicilmis kaftandir. Ornegin yapay zeka programlamak icin prolog kullanirsin. Virus yazmak istiyorsan, virusun az yer kaplamasi ve cabuk yayilabilmesi onemlidir. Bu sebeple high level bir dil kullanirsan onun getirecegi header yuku fazla olacaktir. Java ya da c# da "hello world" yazan bir uygulama, aynisini Assembly de yapan alternatifine gore cok daha fazla yer kaplar. Bu sebeple virus icin low level diller tercih edilir. Dedigim gibi bu konu tam bir deryadir, compiler da programlama dilinin bir parcasi. Python scriptini JVM uzerinde calisacak ya da .net uzerinde calisacak sekilde compile edebilirsin. Bu da yine o programlama dilinin muhendisligi ile alakali. Oyun motorlari genelde c++ ile yaziliyor. Unity uzerinde de javascript ve c# yazabiliyorsun.

    < Bu ileti mobil sürüm kullanılarak atıldı >




  • Yapay Zeka’dan İlgili Konular
    Daha Fazla Göster
    
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.