Python vs Java

Kodla Büyü
hi; :D
Hocam, 2d ve 3d oyun geliştirme açısında hangisini tavsiye edersin. Java' nın dökümantasyonu çok çok daha fazla ama python' un üstünkörü bakışımla çok daha kolay kodlama yapılabildiğini gördüm. zamandan tasarruf etmek için python iyi bir dil. Diğer bir sorun mobil uygulamalar. Biliyorsunuz trend mobil uygulamalarda. Python' un android' le uyumu nasıl.Java ile daha mı kolay uygulama geliştirilir. İki dilden birine yönelmek istiyorum. Bu yönlerini kıyaslarsan hangisini tavsiye edersin.
 
btogretmeni34' Alıntı:
hi; :D
Hocam, 2d ve 3d oyun geliştirme açısında hangisini tavsiye edersin. Java' nın dökümantasyonu çok çok daha fazla ama python' un üstünkörü bakışımla çok daha kolay kodlama yapılabildiğini gördüm. zamandan tasarruf etmek için python iyi bir dil. Diğer bir sorun mobil uygulamalar. Biliyorsunuz trend mobil uygulamalarda. Python' un android' le uyumu nasıl.Java ile daha mı kolay uygulama geliştirilir. İki dilden birine yönelmek istiyorum. Bu yönlerini kıyaslarsan hangisini tavsiye edersin.


Python ile kod yazma işi javaya nisbeten ve diğer dillere nisbeten çok daha kolaydır. Hatta bütün dillerle haşir neşir olmuş birisi olarak şunu rahatça söyleyebilirim ki Python en kolay dildir.

Java C/C++' a göre bellek yönetimi, string veri yapısı vs. açısından bir çok kolaylık getirmesine rağmen J2EE ortamının (platformunun) dağınıklığı ve bir çok değişik teknoloji barındırması sebebiyle kafa karıştırıcı olmuştur. En basitinden kullanılacak web framework sayısı bile oldukça fazladır ya da uygulama sunucusu açısından da çok dağınıktır.

Yalnız mobil platform için yani android için program ve oyunlar yazacak isen J2EE'nin dağınıklığı ve çeşitliliği senin için bir dezavantaj olmaz. Sonuçta kullanacağın teknoloji, ortam, framework vs. belli. J2EE ile senin işin olmayacak yani.

Android için kod yazmada asıl kullanılacak dil javadır. Diğer dillerle de bazı şeyler yapılmaya çalışılsa da yapılan projeler hep eğreti duracaktır.

Mesela python ile android programı geliştirmek için bir kaç yol vardır. Bunlardan biri yanlış hatırlamıyorsam sl4a diye bir şeydi ve çok kıytırık yöntemlerle bir şeyler yapmışlar. Değil profesyonel, amatör dahi değiller. Onları ipi ile kuyuya inilmez.

Mesela benim python ile android için denediğim bir kütüphane vardı. Kivy framework. En bilinen zaten odur.

Linuxte kurma işi oldukça meşakkatli olmuştu. Abartmıyorum ayarları vs. 3 günümü yedi. Biraz deneyip vazgeçmek zorunda kaldım. Çünkü text editöründe yazmanız gerekiyor projeyi. IDE'ye entegre olma durumu yok. Bir text editöründe de ne derece proje yapılabilir, ayrı bir tartışma konusu. Ayrıca dökümantasyonu sadece 1000 sayfalık bir pdf den ibaret. Orada aradığını bulamaz isen topluluğu da pek olmadığı için sorunu çözmekte çok zorlanabilirsin.

Zaten son çıkan android sdkları desteklemiyor. En sonki desteği android sdk 14 için var. O da android'in 2.2 sürümüne falan denk geliyor. Yani androidin 2.2 sürümünden sonra eklenen özellik ve destekleri kullanamıyorsun. Yıllarca çalışıp yaptıkları kütüphane ancak bu kadar oldu. Android'in yeni sürümleri için bir uyum kütüphanesi yapmaya çalışsalar o çıkana kadar android bir kaç versiyon ileri gitmiş olur. her halükarda en az 2-3 sene geriden geliyorsun. Yeni widget'leri kullanamıyorsun yani.

Bunun yanında kivy framework için şunu söyleyeyim. Çizim ve grafik işlemlerinde oldukça iyi fonksiyonları vardı. Ama dediğim gibi widget desteğinin eski olması, IDE ile entegre olamama, dökümantasyon ve topluluk yetersizliği python ile android uygulaması geliştirmemek için yeterli sebepler.

Sonra kivy'yi bırakıp native java ile android yazayım dedim ve düşündüğüm projeyi (ki çok çok da basit bir şeydi aslında) 3-4 günde bitirdim.

Android için java kodu yazman için eclipse ve android studio diye 2 seçenek karşına çıkacak. Gelecekte sadece android studio desteklenecek ve şu anda bütün eclipse'ciler android studio'ya göç ediyorlar. Yapman gereken şey android studio'nun son sürümünü indirip onunla başlamak.

Direk olarak 2d/3d uygulamalar yapmak zor olur. İstersen önce hello world düzeyinden başla derim.

Yinede java kullanmak istemiyorsan sadece html+css+javascript ile kod yazmak istiyorsan şu ücretsiz intel alternatifine de bak derim: http://xdk-software.intel.com/

Yalnız verdiğim alternatifteki IDE ile yaptığın uygulamalar native uygulama olmayacağı için performanslı çalışmayacaktır ve zaten performans ihtiyacı duyan uygulamalar bununla yazılmaz. Bu araç sadece html ve javascript ile bir kez yaz ios, windows, android, tizen vs. bütün platformlarda çalıştır diyenler için kullanışlıdır. Yani bir elektronik ticaret sitesinin cep sürümünü tek defada bütün platformlara yapmak için mesela.
 
Yukarıda ismini verdiğim tüm uygulamalar windows ve linux için ücretsiz kurulabilmektedir.

Intel XDK sanırım ingilizce olmayan işletim sistemlerinde bazı sorunlar içeriyor diye duymuştum. Sürekli yeni sürüm çıkartıyorlar. Hataları kapatmışlardır umarım.
 
Verdiğin bilgiler için teşekkür ederim. Programlamaya yabancı değilim. Action Script 3.0 ile OOP kullanarak ileri sayılabilecek uygulamalar geliştirmiştim. Hem java hem de python ile amatör olarak ilgilendim ama python'da kodlama çok çok daha kolaydı. Sorumun sebebi de buydu.
Java' nın en büyük artısı sanırım dökümantasyonu. Ama niye bilmiyorum python'da kodlama yapmaya başladıktan "işte budur" dedim. android için şimdilik hiçbir şey yapmadım, dediklerinizden android için java kadar yeterli olmadığı anlaşılıyor.

Ayrıntılı açıklama için teşekkürler.
 
btogretmeni34' Alıntı:
Verdiğin bilgiler için teşekkür ederim. Programlamaya yabancı değilim. Action Script 3.0 ile OOP kullanarak ileri sayılabilecek uygulamalar geliştirmiştim. Hem java hem de python ile amatör olarak ilgilendim ama python'da kodlama çok çok daha kolaydı. Sorumun sebebi de buydu.
Java' nın en büyük artısı sanırım dökümantasyonu. Ama niye bilmiyorum python'da kodlama yapmaya başladıktan "işte budur" dedim. android için şimdilik hiçbir şey yapmadım, dediklerinizden android için java kadar yeterli olmadığı anlaşılıyor.

Ayrıntılı açıklama için teşekkürler.


Türkiyede pek yaygın değil ve kimse bilmiyor ama python mükemmel bir dil. İnsan bilmediğinin düşmanıdır derler ya hani. Gerçekten de python dışarıdan linux kabuğunda sıkışıp kalmış bir script dili gibi görünüyor ama çok tatlı bir dildir aslında.
 
halk' Alıntı:
Türkiyede pek yaygın değil ve kimse bilmiyor ama python mükemmel bir dil. İnsan bilmediğinin düşmanıdır derler ya hani. Gerçekten de python dışarıdan linux kabuğunda sıkışıp kalmış bir script dili gibi görünüyor ama çok tatlı bir dildir aslında.

Konuyu hortlatmak gibi olacak, Python' a ufaktan merak saldım ama 2.x - 3.x muhabbeti (hadi onu çözdük 3 ile devam etmeye karar verdik), grafik arayüz için farklı paketler (Tkinter, PyQt, PyGTK ...) sonra oluşturulan uygulamanın exe haline dönüştürülmesi için yine farklı paketler... bunların fazlalığı da insanı ilk başta korkutuyor (belki de ben yanlış yapıyorum bilemedim). Dökümanlarla biraz boğuştuktan sonra nerden başlasam ne yapsam diye bi kalıyor insan. (özellikle de benim gibi Python kullanarak grafik arayüze sahip uygulama geliştirmek isteyen bir acemi :oops: )

Bu konuda tecrübeli arkadaşlar önerilerde bulunsa çok süper olur aslında. :oops:
 
ThatBeatsAll' Alıntı:
halk' Alıntı:
Türkiyede pek yaygın değil ve kimse bilmiyor ama python mükemmel bir dil. İnsan bilmediğinin düşmanıdır derler ya hani. Gerçekten de python dışarıdan linux kabuğunda sıkışıp kalmış bir script dili gibi görünüyor ama çok tatlı bir dildir aslında.

Konuyu hortlatmak gibi olacak, Python' a ufaktan merak saldım ama 2.x - 3.x muhabbeti (hadi onu çözdük 3 ile devam etmeye karar verdik), grafik arayüz için farklı paketler (Tkinter, PyQt, PyGTK ...) sonra oluşturulan uygulamanın exe haline dönüştürülmesi için yine farklı paketler... bunların fazlalığı da insanı ilk başta korkutuyor (belki de ben yanlış yapıyorum bilemedim). Dökümanlarla biraz boğuştuktan sonra nerden başlasam ne yapsam diye bi kalıyor insan. (özellikle de benim gibi Python kullanarak grafik arayüze sahip uygulama geliştirmek isteyen bir acemi :oops: )

Bu konuda tecrübeli arkadaşlar önerilerde bulunsa çok süper olur aslında. :oops:


GUI si olan masaüstü uygulamaları için adamlar zaten 10 numara C# yapmışlar. Acizane fikrim pythonun bu konuda C# ile kolay kolay kapışamayacağıdır. Adam gibi exe bile yapılamıyor. istihza.com üzerinden kendini yetiştir ve orayı tamamen bitir. Sonra Django dan devam et.
 
Hocam hem 2d hem de 3d oyun yapmak için fizik motoru kullanılır.Unity3d gibi.Bunda C# daha çok revaçta.Microsoft Açık Akademide Çetin Tüker hoca 100 videoluk unity3d eğitim videoları yayınladı.Maya ile 3d modelleme de python daha çok kullanılıyor diye biliyorum.
 
Geri
Üst