Yazılımda dil bir araç mı?


Tamamen yapacağın iş ile ilgili bu durum. Donanım seviyesine ne kadar ineceksen o kadar çok şey bilmen gerekiyor. Çok basit bir örnek vereyim sana: Diyelim ki bir paket verin var ve bunu şifrelemek istiyorsun.
  • Kullandığın cihazın encryption donanımı var ve onu kullanmak istiyorsan (işlemin daha hızlı gerçekleşmesi için) low-level bir dil tercih etmen ve o donanımla konuşmak için gereken teknik detaylara hakim olman lazım.
  • Şifreleme donanımını kullanmak istemiyorsun (latency ve timing senin için çok kritik değil) ama farklı donanımlar ile işin olacak. Yine low-level bir dil tercih etmen gerek. Şifreleme kısmını da ya kendin yazacaksın (şifreleme metoduna hakim olman gerek) ya da hazır kütüphane kullanman lazım.
  • Donanımla hiç işin yok ve hızlıca paketin şifrelenip gönderilmesini istiyorsun. Bu durumda seçim senin; low-level bir dil ve hazır kütüphane de kullanabilirsin high-level bir dil ve hazır kütüphane de.
Dersen ki low-level dillerde hazır kütüphane yok mu? Var elbette. Kütüphaneye hakim olman her durumda gerekli olmaz, detaylarla uğraşmak istemiyorsan sadece API'nı biraz öğrenmen yeterli olur. Genelde hashing ve encrption kütüphanelerinin detaylarıyla high-level kullanan kimse ilgilenmez. Veriyi verir ve çıktıyı alır.

Tamamen uygulamaya bağlı yani tercih edeceğin diller/kütüphaneler.
 
C#'ın low-level bir dil olmadığına eminim, ama C#'ın AES kütüphanesi işlemcideki AES instruction setinden yararlanabiliyor. Her zaman şart değil. Bu yüzden bir projeye başlamadan araştırma yapıyoruz.
 
C#'ın low-level bir dil olmadığına eminim, ama C#'ın AES kütüphanesi işlemcideki AES instruction setinden yararlanabiliyor. Her zaman şart değil. Bu yüzden bir projeye başlamadan araştırma yapıyoruz.
C# özelinde bir şey yazmadım ama dedikleriniz doğru olabilir elbette. Dediğiniz gibi, araştırmadan başlanırsa sonra geri dönük düzeltemeler için daha çok uğraşılabilir.
 
Son düzenleme:
Bu siteyi kullanmak için çerezler gereklidir. Siteyi kullanmaya devam etmek için çerezleri kabul etmelisiniz. Daha Fazlasını Öğren.…