Paylaşım Yap
Tüm Reklamları Kapat
Sorulara Dön
4

Neden her amaç için farklı yazılım dilleri var?

Neden her amaç için farklı yazılım dilleri var?Mesela bir yazılım dili ile tüm amaçları gerçekleştirebilir miyiz? (Web tasarım,gömülü sistemler,yapay zeka,veri tabanı... gibi)? Teşekkür ederim şimdiden:)
340 görüntülenme
0
  • Paylaş
  • Alıntıla
  • Alıntıları Göster
  • Dış Sitelerde Paylaş
  • Soruyu Takip Et
  • Raporla
  • Mantık Hatası Bildir
Tüm Reklamları Kapat
1 Cevap
Ömer Can Demirci
EEM öğrenicisi. Yazılımla uğraşıyor ve bilgisayar oyunları kodluyorum

Her yazılım diliyle her şeyi yaparsınız aslında ancak pratikte pek mümkün değil.

Yazılım dilleri yüksek,orta ve düşük seviye olarak sınıflandırılırlar (high-mid-low level.) Low (düşük) seviye diller makineye daha yakın iken yüksek seviye diller daha uzaktır. Yüksek seviye dillerde kod yazması daha kolaydır sizi uğraştırmaz ama daha yavaş çalışırlar çünkü makine koduna çevrilirken dile göre ara işlemlerden geçerler. Ancak kod yazması daha kolay olduğu için siz yapmak istediğiniz işi daha az zamanda yazabilir, hızlı prototipler oluşturabilirsiniz. Oyun yapacaksanız sıfırdan grafik çizdirme işleriyle uğraşmak istemeyeceğiniz için DX,OpenGL gibi kütüphaneler kullanılırsınız çünkü orada hazır fonksiyonlar vardır. Hem hızlı çalışan hem de OOP bir dile ihtiyacınız varsa C++ kullanılırsınız. İşletim sistemi yapacaksanız veya driver yazacaksanız donanıma yakın olmanız gerekir bu yüzden C kullanırsınız.

Farkli diller bir takım problemlerin çözülmesi üzerine oluştu anlayacağınız. Örneğin C++ (ilk ismi C with classes idi. ), C'den türetilmiş bir dildir ve onun aksine OOP özelliği vardır.

Tüm Reklamları Kapat

Bir oyun düşünün iki farklı düşman var. Bunların isim,hasar ve seviye değerleri farklı olsun. C ile yapsaydım her düşman için ayrı değişken üretmem gerekirdi ama C++ nesne yönelimli bir programlama dili olduğu için class oluşturabilirim.

class enemy{

int level;

float damage;

Tüm Reklamları Kapat

string name;

}

Daha sonra bu class'dan istediğim kadar farklı güçte düşman oluşturabilirim veya kalıtım yapabilirim. Mesela yeni bir düşman tipi daha yapmak istiyorum ama bunun ekstra can verme özelliği olsun.

class enemySupport::enemy{

float healUpdate;

}

Yukarıdaki kodları tekrar yapmadan bu şekilde diğer classtan miras aldım.

Bunu C ile yapabilir miydiniz? Veya C++ varken oyun firmalarının C'yi kullanması mantıklı olur muydu? Bu onların zaman kaybetmesine yol açardı çünkü anlattığım gibi C ile bu işlem ayrı ayrı değişken oluşturmak gerektireceğinden daha uzun sürer ve yönetilmesi de zor olur. Web sayfalarında biz hızlıca HTML ile button etiketi kullanır ve kullanırız daha sonra JavaScript ile "onclick()" ve "alert()" gibi kısa eventler kullanarak, basıldığında uyarı vermesini sağlatabiliriz. C'de ekrana bir pencere çıkartmak için bile satırlar yazmak zorundayız. Web sayfalarında dinamik olaylar ve görsellikler de olduğu için bunu C ile yapmak büyük patlamadan bu yana geçen süreye eşit olacaktır.

3
0
  • Paylaş
  • Alıntıla
  • Alıntıları Göster
  • Dış Sitelerde Paylaş
  • Raporla
  • Mantık Hatası Bildir
Daha Fazla Cevap Göster
Cevap Ver
Evrim Ağacı Soru & Cevap Platformu, Türkiye'deki bilimseverler tarafından kolektif ve öz denetime dayalı bir şekilde sürdürülen, özgür bir ortamdır. Evrim Ağacı tarafından yayınlanan makalelerin aksine, bu platforma girilen soru ve cevapların içeriği veya gerçek/doğru olup olmadıkları Evrim Ağacı yönetimi tarafından denetlenmemektedir. Evrim Ağacı, bu platformda yayınlanan cevapları herhangi bir şekilde desteklememekte veya doğruluğunu garanti etmemektedir. Doğru olmadığını düşündüğünüz cevapları, size sunulan denetim araçlarıyla işaretleyebilir, daha doğru olan cevapları kaynaklarıyla girebilir ve oylama araçlarıyla platformun daha güvenilir bir ortama evrimleşmesine katkı sağlayabilirsiniz.
Popüler Yazılar
30 gün
90 gün
1 yıl
Evrim Ağacı'na Destek Ol

Evrim Ağacı'nın %100 okur destekli bir bilim platformu olduğunu biliyor muydunuz? Evrim Ağacı'nın maddi destekçileri arasına katılarak Türkiye'de bilimin yayılmasına güç katın.

Evrim Ağacı'nı Takip Et!
Aklımdan Geçen
Komünite Seç
Aklımdan Geçen
Fark Ettim ki...
Bugün Öğrendim ki...
İşe Yarar İpucu
Bilim Haberleri
Hikaye Fikri
Video Konu Önerisi
Başlık
Gündem
Kafana takılan neler var?
Bağlantı
Kurallar
Komünite Kuralları
Bu komünite, aklınızdan geçen düşünceleri Evrim Ağacı ailesiyle paylaşabilmeniz içindir. Yapacağınız paylaşımlar Evrim Ağacı'nın kurallarına tabidir. Ayrıca bu komünitenin ek kurallarına da uymanız gerekmektedir.
1
Bilim kimliğinizi önceleyin.
Evrim Ağacı bir bilim platformudur. Dolayısıyla aklınızdan geçen her şeyden ziyade, bilim veya yaşamla ilgili olabilecek düşüncelerinizle ilgileniyoruz.
2
Propaganda ve baskı amaçlı kullanmayın.
Herkesin aklından her şey geçebilir; fakat bu platformun amacı, insanların belli ideolojiler için propaganda yapmaları veya başkaları üzerinde baskı kurma amacıyla geliştirilmemiştir. Paylaştığınız fikirlerin değer kattığından emin olun.
3
Gerilim yaratmayın.
Gerilim, tersleme, tahrik, taciz, alay, dedikodu, trollük, vurdumduymazlık, duyarsızlık, ırkçılık, bağnazlık, nefret söylemi, azınlıklara saldırı, fanatizm, holiganlık, sloganlar yasaktır.
4
Değer katın; hassas konulardan ve öznel yoruma açık alanlardan uzak durun.
Bu komünitenin amacı okurlara hayatla ilgili keyifli farkındalıklar yaşatabilmektir. Din, politika, spor, aktüel konular gibi anlık tepkilere neden olabilecek konulardaki tespitlerden kaçının. Ayrıca aklınızdan geçenlerin Türkiye’deki bilim komünitesine değer katması beklenmektedir.
5
Cevap hakkı doğurmayın.
Bu platformda cevap veya yorum sistemi bulunmamaktadır. Dolayısıyla aklınızdan geçenlerin, tespit edilebilir kişilere cevap hakkı doğurmadığından emin olun.
Ekle
Soru Sor
ve seni takip ediyor

Göster

Şifrenizi mi unuttunuz? Lütfen e-posta adresinizi giriniz. E-posta adresinize şifrenizi sıfırlamak için bir bağlantı gönderilecektir.

Geri dön

Eğer aktivasyon kodunu almadıysanız lütfen e-posta adresinizi giriniz. Üyeliğinizi aktive etmek için e-posta adresinize bir bağlantı gönderilecektir.

Geri dön

Close