Programlama dili önerisi

Ne demek istediginizi anlamadim.

GO gibi hızlı, dinamik ve okunabilir bir dil varken Python'ya da başka bir scripting dilinin artık herhangi bir geleceği yok maalesef, Python'un şu an tek avantajı oluşmuş büyük bir topluluğunun olması ve popülerliği. Java kısmına gelirsek en yakın alternatifi olan C# şu an daha tercih edilesi çünkü .NET ekosistemi artık çok gelişti, gelişmeye de devam ediyor. Gerek açık kaynak olması gerek sürekli genişleyen çapraz platform desteği sayesinde yerinde sayan bir dile gerek daha büyük bir alternatif.
 
GO gibi hızlı, dinamik ve okunabilir bir dil varken Python'ya da başka bir scripting dilinin artık herhangi bir geleceği yok maalesef, Python'un şu an tek avantajı oluşmuş büyük bir topluluğunun olması ve popülerliği. Java kısmına gelirsek en yakın alternatifi olan C# şu an daha tercih edilesi çünkü .NET ekosistemi artık çok gelişti, gelişmeye de devam ediyor. Gerek açık kaynak olması gerek sürekli genişleyen çapraz platform desteği sayesinde yerinde sayan bir dile gerek daha büyük bir alternatif.

Soyle kendinden emin yanlis bilgi verilmesi cok ilginc geliyor. Go'nun neresi dinamik?
Scripting dili ihtiyacin olan yer baska, compiled dile ihtiyacin olan yer baska.
Cross platform gelistireceksen .NET en son tercih edecegin seylerden birisi, hala.
 
Yok, bu böyle olmayacak. Sağ tarafta bir köşe yazısı açalım, her gün bir tane programlama dili önerelim.

Sorduğun soruları senin araştırıp senin cevaplaman gerekirken, başkasına sormak mantıklı değil. Ki, o soruların cevapları açık açık verecek kişileri de rahat rahat bulamazsın.

Hiçbir şey bilmiyor musun? O zaman örnek yazılımlara bak, nasıl yapıldıklarına bak.

GO gibi hızlı, dinamik ve okunabilir bir dil varken Python'ya da başka bir scripting dilinin artık herhangi bir geleceği yok maalesef, Python'un şu an tek avantajı oluşmuş büyük bir topluluğunun olması ve popülerliği. Java kısmına gelirsek en yakın alternatifi olan C# şu an daha tercih edilesi çünkü .NET ekosistemi artık çok gelişti, gelişmeye de devam ediyor. Gerek açık kaynak olması gerek sürekli genişleyen çapraz platform desteği sayesinde yerinde sayan bir dile gerek daha büyük bir alternatif.

Aynen Machine Learning'i ya da kompleks model hesaplamalarını da Python yerine Javascript ile yaparız, hatta React falan da katarız işin içine, sallamak serbest nasıl olsa.

Ya bayılıyorum ya Türkiye'ye...

x86 Assembler'dan başla. Ki çevrim içi oyunlara bulaşman biraz daha fazla zaman alsın...

Logic Gate hocam, en garantisi. Girdin mi çıkamazsın. Low level falan başlasın, bir on seneye Pac-Man için hile yazacak konuma gelir...

Kusura bakmayın ama son bir haftadır böyle birçok konu gördüm ve kotamı doldurdum, dalga geçerek cevap vereceğim artık...
 
Masaüstü oyunlara hile yapmak ise amaç hepsinden önce cheat engine ile başlamak mantıklı. Ardından direkt işletim sistemi üzerinde çalışan kod üreten diller ile hile araçları geliştirilebilir. Bu alanda da en yaygın olan C++ oluyor. Çok basit bir hile mantığı düşünelim. Amacımız cheat engine ile aratılıp bulunan skoru değiştirmek olsun. Burada cheat engine belleği arayıp, defalarca arayıp ilgili değişkeni bulup değiştiriyor. Hile programı yaparken de aslında siz bu cheat engine'in yaptığı işi kendiniz yapmak istiyorsunuz. Burada python, c# vs gibi araya sanal makine koyan diller işinizi çok zorlaştıracaktır. Sizin oyunun belleğine erişip değişkeni aratıp bulup değiştirmeniz gerekiyor. Bunun için en yaygın method dll injection. Yani kendiniz oyunun kendi parçasıymış gibi bir alt modül oluşturup bunu oyuna enjekte etmeniz gerekiyor. Bu dll'yi python ile c# ile yazamazsınız. Düz windows dll'si olması gerekiyor. Bu nedenle C++'tan başka bir seçenek aklıma gelmiyor. Belki Rust ile vs. de olur ama çok fantastik en mantıklı tercih C++ gibi duruyor.
Aynen Machine Learning'i ya da kompleks model hesaplamalarını da Python yerine JavaScript ile yaparız, hatta React falan da katarız işin içine, sallamak serbest nasıl olsa.

Ya bayılıyorum ya Türkiye'ye...

Çok sert çıkmışsınız da Python ile kullanılan Machine learning araçları Python ile mi geliştirilmiş? Bildiğim kadarıyla ağır işlem gerektiren donanımı etkili kullanılması gereken modüller sistem dilleri ile geliştiriliyor. Python sadece arayüz. Araştırmacılar rahat söz dizimi ile kod yazsınlar diye Python tercih ediliyor. Bu arayüzü JavaScript için geliştirilmemesi için de bir sebep yok. Python bu konuda sektör hakimiyeti sağlamış durumda yoksa runtime'ının Node'dan daha performanslı olması söz konusu değil. GIL Lock sorunu olan bir dilden bahsediyoruz. JavaScript async işlemlerde çok daha sorunsuz Python da bu tarz işler için kırk takla atmak gerekiyor.

Java yerine C# tercih edilmesine de katılıyorum. Java bugünkü piyasa hakimiyetinin tek sebebi tarihi. Şu an C#'a kıyasla herhangi bir teknik avantajı bulunmuyor. Microsoft dotnet core ile her platforma açılmaya çalışırken Oracle resmi JDK dağıtımını ücretli hale getiren saçma bir lisans politikası uyguluyor. Şu an sıfırdan geliştirilecek bir sistemde C# yerine Java tercih edilmesinin nasıl bir sebebi olabilir hiç bir fikrim yok. Açıkçası Go, Nodejs vs. varken C# neden tercih edilir bu da ayrı bir tartışma konusu fakat Java ile C#'ı karşılaştırdığımızda Java tarafına yazılacak hiçbir artı göremiyorum.
 
Son düzenleme:
Çok sert çıkmışsınız da Python ile kullanılan Machine learning araçları Python ile mi geliştirilmiş? Bildiğim kadarıyla ağır işlem gerektiren donanımı etkili kullanılması gereken modüller sistem dilleri ile geliştiriliyor. Python sadece arayüz. Araştırmacılar rahat söz dizimi ile kod yazsınlar diye Python tercih ediliyor. Bu arayüzü JavaScript için geliştirilmemesi için de bir sebep yok. Python bu konuda sektör hakimiyeti sağlamış durumda yoksa runtime'ının Node'dan daha performanslı olması söz konusu değil. GIL Lock sorunu olan bir dilden bahsediyoruz. JavaScript async işlemlerde çok daha sorunsuz Python da bu tarz işler için kırk takla atmak gerekiyor.

Hayır, sert falan çıkmadım. Birisi çıkıp Yapay Zeka, makine öğrenmesi ve modelleme taraflarında sektörde senelerdir oturmuş bir dili, tek bir mesajda siliyorsa, böyle karşılık verilir. Ayrıca evet, Python ile geliştirilmiştir o araçlar, kütüphaneler. Bahsettiğim o süslü IDE'ler ya da Anaconda gibi package managerlar değil ama. Çekirdek kütüphaneler, Numpy, Keras gibi kütüphaneler. Bunlar zaten en büyük yardımcı. Devasa matematik formüllerini, difransiyel denklemleri, matrix dönüşümlerini Javascriptte elle girersiniz artık.

Ki Python'daki bu bahsettiğim çekirdek kütüphaneler, GPU'dan da yararlanabiliyor. Her şey salt performans değil zaten ancak iş performansa gelince, JS'nin daha iyi olduğunu düşünmüyorum.

C# ve Java tarafında bir yorumda bulunmadım, ben Python tarafında yorumda bulundum. Ki orada da hangi dili en iyi biliyorsan o önemlidir. Java'yı iyi bilen ama C# bilmeyen birisine, git C# öğren mi diyelim. Ki @bitwise'ın dediği de doğru, crpss-platform geliştiricilikte .NET sıkıntılı.
 
Hayır, sert falan çıkmadım. Birisi çıkıp Yapay Zeka, makine öğrenmesi ve modelleme taraflarında sektörde senelerdir oturmuş bir dili, tek bir mesajda siliyorsa, böyle karşılık verilir. Ayrıca evet, Python ile geliştirilmiştir o araçlar, kütüphaneler. Bahsettiğim o süslü IDE'ler ya da Anaconda gibi package managerlar değil ama. Çekirdek kütüphaneler, Numpy, Keras gibi kütüphaneler. Bunlar zaten en büyük yardımcı. Devasa matematik formüllerini, difransiyel denklemleri, matrix dönüşümlerini Javascriptte elle girersiniz artık.

Ki Python'daki bu bahsettiğim çekirdek kütüphaneler, GPU'dan da yararlanabiliyor. Her şey salt performans değil zaten ancak iş performansa gelince, JS'nin daha iyi olduğunu düşünmüyorum.

C# ve Java tarafında bir yorumda bulunmadım, ben Python tarafında yorumda bulundum. Ki orada da hangi dili en iyi biliyorsan o önemlidir. Java'yı iyi bilen ama C# bilmeyen birisine, git C# öğren mi diyelim. Ki @bitwise'ın dediği de doğru, crpss-platform geliştiricilikte .NET sıkıntılı.
Bildiğim kadarıyla numpy'deki ağır matematiksel işlemler arkada C interop ile hallediliyor yani hesaplamalar python tarafında değil C tarafında yapılıyor:

these things are taking place, of course, just “behind the scenes” in optimized, pre-compiled C code.

Python tarafındaki CUDA'ya falan erişen kütüphaneler de CUDA'yı kullanıyor. Burada da Python'un kendi hesaplama gücünden söz edemeyiz.

Aslında tartışma çok dallanıp budaklandı. Öncelikle bugün yapay zeka, makine öğrenmesi, ağır matematiksel hesaplamalar ile uğraşacak bir senaryo varsa Python tercih edilmeli. Arkaplanda C kullanmış CUDA kullanmış bence de çok bir önemi yok. Python bu sektördeki konumunu kendi hesaplama gücünden değil etrafında şekillenen topluluktan aldı fakat bunun da pratikte bir önemi yok.

Java'nın C#'a göre çoklu platform desteği olarak ek ne avantajı var anlamadım. dotnet core şu an için çok daha istikrarlı gidiyor bence Java'ya göre. GUI desteğine kadar gelecek neredeyse. Bugün masaüstü uygulamaları dışında çoklu platformda Java tercih etmek için bir sebep bulamıyorum.
 
Son düzenleme:

Yeni konular

Geri
Yukarı