Çok fazla teknoloji seçeneği olduğundan Yapay Zeka çağında ne öğrenip hangi konuda uzmanlaşmak istediğinize karar verecek rehber niteliğinde makalelere ihtiyaç oluyor.
Yapay Zeka ve Blockchain hızla yaygınlaşıyor. Yapay Zeka dünyasında Python kullanılırken BlockChain’de yavaş olduğu için Python kullanılmıyor. C# ta kullanılmıyor. Solidity, Move, GoLang gibi diller kullanılıyor.
O yüzden bazen birden fazla dil bilmek gerekiyor, fakat herşeyi bilmek te iyi değil, belirli alanlarda uzmanlaşmak daha üretken olmanızı sağlayacaktır.
Microsoft dünyasından geliyorsanız deneyimlerime göre söyleyebilirim ki aşağıdaki teknolojilerden ilerleyebilirsiniz:
Backend için .NET Core 5
Python’u inceledim, eski. Yeni olan GoLang ise nesne-yönelimli programlamayı desteklemiyor.
O yüzden Backend için .NET Core 5 kullanabilirsiniz. .NET Core 5 güncel, hızlı ve C# çok kaliteli bir nesne-yönelimli dildir. Platform-bağımsızdır, Linux’ta da çalışır. (Yeni başlayanlara Python ve TensorFlow öneririm)
Web için Angular:
React ve React Native de iyidir. Ama Web ve Mobil denilince akla Google gelir, o yüzden Angular öneriyorum. Öğrenmesi zordur fakat mimarisi kaliteli ve tam donanımlıdır.
Mobil için Ionic veya Flutter:
Web projenizi mobile dönüştürmek veya Angularla hibrit mobil uygulama yazmak isterseniz Ionic tavsiye ederim. Biraz yavaş ve telefonun her özelliğini kullanamıyorsunuz ama pratik.
Native yazmak isterseniz, hem güzel görünsün hem hızlı olsun derseniz Flutter tavsiye ederim. Ancak bilmenizi isterim ki React ve React Native ile Web ve mobili aynı kişi kolayca geliştirsin diye düşünebilirsiniz, saygı duyarım.
Oyun geliştirmek isterseniz Swift ve Java ile Native mobil uygulama yazabilirsiniz.
Yapay Zeka için Tensorflow.js
Aslında TensorFlow daha yaygındır ama Python gerektirir. Backend’te .NET ya da başka teknoloji kullanıyorsanız yapay zeka için TensorFlow.js kullanabilirsiniz.
ChatBot yapacaksanız Dialogflow kullanabilirsiniz. Google teknolojileri yapay zekada daha iyidir.
Umarım teknoloji tercihlerinizde yol gösterici olabilmişimdir.
Özetle seçeneklerimiz şunlar:
1) Python, Tensorflow
2) .NET Core, TensorFlow.js
3) Angular, Ionic, Flutter
4) React, Ionic, React Native
Mutlu kodlamalar 🙂
Not: En avantajlı olanlar Java bilenler olsa da ister .NET Core, ister Python, ister Java, ister NodeJS kullanın, GoLang performans olarak diğerlerinden çok daha hızlı olduğu için Python devrinden sonra GoLang devri başlayacağını söyleyebiliriz. Bu durumda şimdiden GoLang kullanalım diye düşünenler olabilir, ancak şu dönemde Python devrini yaşamaktayız.
GoLang nesne-yönelimli değil, fakat yüksek performans için nesne-yönelimli yapılmamış. Onu garbage-collectoru bulunan yeni nesil C dili diye düşünebilirsiniz.
O halde ne yapalım?
- Yeni başlayanlar Python ve TensorFlow ile başlamalılar
- Eskiler ise mevcut teknolojilerinde kalıp TensorFlow.js ile yapay zekayı yakalayacaklar ve sonra stabil olduğunda GoLang’e geçecekler demektir.
Dikkat ederseniz robot sdkları, yapay zeka frameworkleri ve kuantum bilgisayarlar Python kullanıyorlar ama sonunda GoLang’te buluşacağız.
Soru: .NET Core bilenler Python öğrenmeli midiler? Eğer mevcut yapay zeka ve robot çağını yakalamak istiyorlarsa evet bu bir gereklilik görünüyor. Microsoft dahi Python olmaksızın yapay zekanın düşünülemeyeceğini söylemiş, yapay zeka için .NET yerine Python tavsiye etmiştir.