📖
Genel Bilgiler
  • Genel
  • Yazılım Teknolojiileri
    • SOLID
    • Mimariler ve Mimari Paternleri
    • MVC, MVP, MVVM
    • Mikroservis Yaklaşımı
    • DDD
    • Nesne Yönelimli Programlama
    • Hangi Programlama Dili Hangi Framework Öğrenilmeli?
    • Programlama Dilleri Üzerine tecrübeler
    • Microsoft .NET Teknolojileri
    • Microsoft .NET CORE 3.x ile Katmanlı Mimari Tasarımı
    • Test
    • Hangi Geliştirme ve Deployment Ortamı (Windows vs Linux)
    • Veri Tabanları ve Veri Tabanı Mimarileri
    • Asysnc/Awake
    • Oyun Geliştirme
      • WebAssembly vs Asm.ts
      • Unity ve Devler Ligi
      • Godot Oyun Motoru
      • Three.js ve Alternetif Javascript 3D Kütüphaneler/Framework' ler
    • Aspect Oriented Programming
  • Sanallaştırma
    • Sanallaştırma (Hypervisor ve Container & Docker)
    • Kubernetes
  • Yazılım Kültürleri
    • DevOps
    • Jenkins
    • SAST, DAST, SCA, Pentest
    • Glusterfs
    • Yazılım Üzerine Tartışmalar/Sohbetler
    • TUBITAK BILGEM YTE
  • Metro/Tren Sinyalizasyonu
  • Yapay Zeka (Artificial Intelligence)
  • Embedded Realtime Linux
  • Süper Bilgisayarlar Neden Süperler
  • Lock Free Tasarım
  • Git ile Çalışmak
  • CPU, APU, PPU, NPU, TPU ...
  • CANBUS
  • MERHABA (HELLO)
Powered by GitBook
On this page

Was this helpful?

  1. Yazılım Teknolojiileri

Programlama Dilleri Üzerine tecrübeler

PreviousHangi Programlama Dili Hangi Framework Öğrenilmeli?NextMicrosoft .NET Teknolojileri

Last updated 2 years ago

Was this helpful?

Cihan Özhan ()

Rust sistem programlama amacıyla geliştirilmiş ve mottosu da "C++ dilinin çeşitli sorunlarından bunalmış yazılımcıları hedefliyoruz" şeklinde. Yani low-level çalışmaları amaçlıyor. C++ ile ne yapılıyorsa Rust ile de benzer şeyler hedefleniyor. İşletim sistemi yazmak dahil(YouTube'da işletim sistemleri Rust ile yeniden yazılmalı diye ing bir video var)

Bunların yanında, programlama için modern bir zamanda geliştirildiği için web geliştirmeyi de kendi içerisinde package'lar ile sunuyor tabi. Go da böyle eğer ilgilendiysen. Ancak Rust'ın web tarafındaki topluluğu Go kadar güçlü ve yaygın değil. Rust dili programlama paradigmalarını yenilemeyi hedefliyor(Go da öyle), ancak Rust daha çok sistem seviyeli sorun olarak görülen programatik sorun ve handikapları çözmeye odaklanan dil özellikleri getiriyor. Bu nedenle birçok programlama dilinden farklı bakış açıları da var. Öğrenmek biraz daha fazla zaman alır ve zordur denebilir. Rust yüksek hesaplamayı güvenli programlama ile yapabildiği için Blockchain tarafında epey tercih ediliyor. Blockchain de protokol geliştirme için(Application level için değil)... Performansı epey yüksek diyebiliriz. Go birçok dilden daha performanslıdır(C ve C++ hariç, C++ ile eşit olan birkaç avantajlı yanı var). Rust da Go'da %10-15 civarında daha performanslı.

Eski .NET ile yapılmamasını direkt önerirdim. Ancak .NET Core ile aradaki gereksiz middleware'ler ve performans düşürücü özellikler çıkarıldı. Bu nedenle ciddi projelerde bile iyi bir .NET Core programcısı performanslı projeler geliştirebilir. Fakat Go ile kıyaslama yapacaksak ve global olarak yüksek trafik alacak bir platform geliştirilecekse(lokal yüksek trafik de olabilir) Go daha temiz ve doğal performans sağlayıcı olabilir.

Yalnız unutmamak gerek. Bir dil ve teknolojide uzman olan diğerinde de kısa sürede uzmanlaşacağı anlamına gelmiyor. Çok iyi bir C# geliştirici olabilir ve .NET Core ile performansı zorlayabilirsin ama bunu Go'da yapman için Go'da ciddi tecrübe sahibi olmak gerek. Aynı şekilde tersi de öyle...

Temel programlama bilgisi(değişken, metot vs) bilen biri Go Programlama Dili ve Go ile Web API Programlama kurslarımın ikisini aldı mı rahatlıkla Go ile RESTful API geliştirme seviyesine gelir. Birkaç makalemi de okuduğunda Go ile web programlama tarafını da hızlı şekilde anlar ve proje geliştirmeye başlayabilir.

Kendi adıma, zaten 10 yıldan fazladır C# ile geliştirme yaptığım için kurumsal projelerde tercih edebiliyorum. Çünkü bu alanda daha fazla uzman geliştirici personel bulabileceğimi biliyorum.

Diğer yandan, yapay zeka projelerinde(girişimlerimizde) back-end, API, data katmanı ve yapay zeka uygulama motorunun kendisinde de Python kullanıyorum. Çünkü girişimi hızlı ayağa kaldırman gerek ve microservice mimarisini Go ya da Rust ile de yazabilirim ama buna ne gerek? Henüz o seviyede ihtiyacım olacak trafik almıyorken geliştirme süresini uzatmanın anlamı yok. Ama doğrudan yüksek trafik ve sunucu tarafında da yüksek performans gereken projelerde microservice mimarisi ve back-end Go ile, sunucudaki hesaplamaları ve sunucu networking-dosya manipülasyonu gibi işlemleri Rust ile geliştiriyorum.

node.js ve react.js artık şahsen kullanmıyorum. Projelerin front-end'inde ekip arkadşalarımız React kullanıyor, mobil için de React Native, back-end için de daha önce başlattığımız projelerin devamı olarak Node.js kullanıyoruz gene bazen. Ama kendim Node.js yazmıyorum

http://www.cihanozhan.com/