Python'u sadece algoritma mantığını çözmek için öğrenin. Mobil alanda daha farklı diller ile çalışacaksınız çünkü.Merhaba, ben bir mobil uygulama geliştirmek istiyorum. Şu an için Python ile başlamayı düşünüyorum. Başka hangi dilleri önerebilirsiniz?
Detaylar
Kim cevapladı?- Katılım
- 4 Şubat 2024
- Mesajlar
- 3.916
- Makaleler
- 7
- Çözümler
- 77
- Beğeniler
- 6.444
Tekrardan bana göre; (Dillerin çok bir öneminin olduğunu düşünmüyorum sadece C dilleri yapısının Syntax'den bağımsız bir öğreti altyapısı var.)
İlk olarak, C dilleri bilgisayarların düşük seviyede nasıl çalıştığına dair temel bir altyapı sağlar. Bellek yönetimi, pointerlar, kaynak tahsisi gibi genellikle üst düzey dillerde soyutlanan kavramları kafana vura vura içine entegre eder. Sadece bu temeller bile problem çözme becerisi kazandırır. Yazılımın donanımla nasıl etkileşime geçtiğini kavrarsın. Optimize kod yazma becerini güçlendirir. Temiz kod yazmanın önemini anlarsın ve temiz koda alışırsın. Kütüphane yönetimi vs. vs.
Konfor alanına direkt dalmadığın için hata ayıklama sürecini çok daha iyi kavrarsın. (Bak şu yanılgıya düşme high levellarda bunlar olamaz demiyorum.) C'lerde özellikle de C'de bir şey yazarken metodik olarak çok iyi bir planlama yapman lazım. Çünkü bellek sızıntısını manuel olarak tabiri caiz ise bantlaman gerekiyor. İster istemez bu durum şahsa program yazma sürecinde disiplin katıyor ve bunu bana göre high levellara göre daha efektif yapıyor çünkü yapmak zorundasın. Daha sonrasında C'den farklı bir dile geçsen bile o dilde en basitinden manuel bellek yönetimi olmasa bile C'de edindiğin tecrübe belleği veya diğer donanım elemanlarını hesaba katmayan birinin çok önünde olacak.
Ayrıca çevremdeki ve bendeki durum şunu ortaya koyuyor ki C öğrendikten sonra herhangi bir dile geçiş sürecin hızlı tamamlanıyor. Syntax'i bir kenara koyarsak zaten en derin programlama mekaniklerine sahipsin. Sözdizimini ezberleyip çok hızlı şekilde adapte oluyorsun.
Yazdığın her kodun bir amacı ve istenen bir sonucu var. Bu bazen high levellarda öne çıkamıyor.
Algoritmaları sıfırdan kurarsın, veri yapılarını sıfırdan tasarlarsın. Bunlar zorluğun aksine farkındalıktır. Optimizasyon mantığını kavrarsın.
Ya da çok gelişirsen ve C'nin bu zorlu(!) yapısından sıkılırsan kendi ihtiyaçlarına göre high level dilini yazarsın. Kim bilir?
Yol gösterirken çok keskin cümleler kuruyorsun. Bence kaçınman lazım bundan.
Söylediğin şeylerinin kişiyi programlamadan soğutmama ihtimali yalnızca üniversitede öğrenilirse var ya da aşırı disiplinli bir şekilde öğrenirse var. Günümüzde parası iyi diye veya geçici heves ile oyun yapayım vb. diye girişiliyor maalesef.
Ya da farklı bir açıdan bakarsak kişinin bilgisayar mühendisi veya bilgisayar bilimcisi olmasına gerek yok. İlk dil olarak bu yüzden de önermiyorum.
Yol gösterirken kesin cümleler kurmamın sebebi kendi tecrübelerime göre kendi düşüncelerimi aktarmamdan kaynaklanıyor. Herkes kendi yolunu çizer. Benim yoluma kulak asmak kişiye kalmış.
- Katılım
- 18 Aralık 2023
- Mesajlar
- 176
- Çözümler
- 1
- Beğeniler
- 223
Söylediğin şeylerinin kişiyi programlamadan soğutmama ihtimali yalnızca üniversitede öğrenilirse var ya da aşırı disiplinli bir şekilde öğrenirse var. Günümüzde parası iyi diye veya geçici heves ile oyun yapayım vb. diye girişiliyor maalesef.
Ya da farklı bir açıdan bakarsak kişinin bilgisayar mühendisi veya bilgisayar bilimcisi olmasına gerek yok. İlk dil olarak bu yüzden de önermiyorum.
Yol gösterirken kesin cümleler kurmamın sebebi kendi tecrübelerime göre kendi düşüncelerimi aktarmamdan kaynaklanıyor. Herkes kendi yolunu çizer. Benim yoluma kulak asmak kişiye kalmış.
En basitinden donanımı hesaba katmayan biri optimize bir oyun yapamaz bu bağlantıyı öğrenmeli ki bunu high levellarda da yapabilir ama C++'de mecbur yapıyorsun (Oyun optimizasyonu ile aralarında kesin bir bağ olmayabilir emin değilim). Eğlenmek ve hobi için yapıyorsa eyvallah. Ki high level ile başlamak da yanlış denilebilecek bir şey değil kişi istediğini yapar. Nasıl eğleniyor ve konforlu hissediyorsa ona devam eder.
Ancak amaç gelecek için iyiyi bulmaksa Low level işin bir yerinden sana el sallayacak. Kişi zaten C yazarken programlamadan soğuyacaksa hiç başlamasın bana göre. Bu da benim kesin cümlem
Dediğim gibi herhangi bir dil herhangi bir sebepten dolayı önerilebilir. Olay C'ye gereksiz ağır denmesiydi sadece. Ancak C çok ağır bir dil değil bence bu da farklı bir tartışmanın konusu olsun. Bu arada haklısın birazcık mühendis kafasıyla yaklaşıyor | yaklaşmaya çalışıyor olabilirim.
Ben Python ile başladım ancak galiba öğrendim dediğim an CS50 kursundaki C ile olmuştu. C bana göre muazzam bir öğretici. Ancak Python'la (Buraya her şeyi koy Java, C++, C#, JS, cart, curt) öğrenmek isteyen onunla da öğrenir. İşin özünde soğutacak mesele yine aynı olacak. Çünkü finalde zaten yaptığın şey farklı değil ki?
Kör testere ve kör balta ile odun kesmeye kalk ne balta ile kesebilirsin ne testere ile.
- Katılım
- 4 Şubat 2024
- Mesajlar
- 3.916
- Makaleler
- 7
- Çözümler
- 77
- Beğeniler
- 6.444
@Özgün Deniz
Fikirlerimiz aynı olmasa da ikimizin de geçerli noktalar sunduğu konusunda hemfikir olduğumuzu düşünüyorum. CS50 çok güzel bir kurs ve David Malan çok iyi bir öğretmen. Size saygım buradan ta uzaya kadar. Bilgi alışverişi için çok teşekkür ederim.
Üşenilmeyecek bir zaman için bunu halen saklı tutuyorum.
github.com
Fikirlerimiz aynı olmasa da ikimizin de geçerli noktalar sunduğu konusunda hemfikir olduğumuzu düşünüyorum. CS50 çok güzel bir kurs ve David Malan çok iyi bir öğretmen. Size saygım buradan ta uzaya kadar. Bilgi alışverişi için çok teşekkür ederim.
Üşenilmeyecek bir zaman için bunu halen saklı tutuyorum.
GitHub - ossu/computer-science: :mortar_board: Path to a free self-taught education in Computer Science!
:mortar_board: Path to a free self-taught education in Computer Science! - ossu/computer-science
Katmadıkları zaman ortaya çıkan abominationlar ortada... High level diller ile oyun yapmak en başından beri iyi bir fikir değildi. Ancak daha hızlı üretebilmek adına tercih ediliyorlar. Bu yüzden optimizasyon işinde, maksimum level olarak Engine yada Dil seviyesinde kısıtlılar. Bunun negatif etkilerini sabaha kadar anlatabilirim. Özellikle library üstüne library birikmesinin ve tek bir iş için 10 layer fonskiyon çağrısının nasıl döngü sayısını etkilediğini ve gereğinden fazla yük biriktirdiğini.En basitinden donanımı hesaba katmayan biri optimize bir oyun yapamaz bu bağlantıyı öğrenmeli ki bunu high levellarda da yapabilir ama C++'de mecbur yapıyorsun (Oyun optimizasyonu ile aralarında kesin bir bağ olmayabilir emin değilim)
Konuyu çok dağıtmayayım. Görünce eklemek istedim. Diğer iki konuda da fikrine katılıyorum. C/C++ ile bir şeyler öğrenmenin daha öğretici olduğunu düşünüyorum.
Android için şu roadmap iş görür belki;Merhaba, ben bir mobil uygulama geliştirmek istiyorum. Şu an için Python ile başlamayı düşünüyorum. Başka hangi dilleri önerebilirsiniz?
Android Developer Roadmap: Learn to become an Android developer
Community driven, articles, resources, guides, interview questions, quizzes for android development. Learn to become a modern Android developer by following the steps, skills, resources and guides listed in this roadmap.
Son düzenleme:
- Katılım
- 4 Şubat 2024
- Mesajlar
- 3.916
- Makaleler
- 7
- Çözümler
- 77
- Beğeniler
- 6.444
Katmadıkları zaman ortaya çıkan abominationlar ortada... High level diller ile oyun yapmak en başından beri iyi bir fikir değildi.
Ya hocam gerçekten samimi olarak söylüyorum çok iyisiniz çok hoşsunuz çok da haklısınız. Lütfen kişisel algılamayın. Haklısınız da:
Artık katmaya gerek yok 2024'de yaşıyoruz. Oyun motoru hesaba katıyor zaten. Demezler mi Indie stüdyolar ne yapsın? veya yeni öğrenenleri bu kadar yoğun bir şeye maruz bırakmak doğru mu? Android Studio ve aynı zamanda Xcode/Swift ortamında derlenen cross-platform oyun motoru mu geliştirecek herkes oyun yapmak için? Mobil bambaşka bir olay. High-level dliler motor optimizeyse gayet de mantıklı oluyor. Günümüzde Desktop'da bile oyun geliştirsen Unreal Engine'den daha verimli bir motoru (oyunun çekirdeği olan motor) kaç kişilik ekiple yapacaksınız? Burada istediğimiz şey programlamaya yeni başlayan kişiyi işçi gibi yetiştirmek mi? Üzerine mühendislik konularını birden yıkmak mı? Onu "terim" cehenneminde boğmak mı? Adam öğrendiği high-level ortam ile kendi başına boğulmadan pratik projeler yapabiliyor ve programlamanın temellerini çok da iyi oturtuyor çünkü learning curve daha düz.
Mobil oyun sektörünü Unity domine ederken ve bu kadar oturmuş bir oyun motoru olmasına rağmen, çıkan basit hypercasual oyunlarda kaç tane memory leak veya bug vardır sizce? Sıfırdan bahsettiğim motoru/çekirdeği geliştirmek kaç yıl sürer peki? Mobil sektör günümüzde saçma sapan bir sektör halini aldı zaten. Adam 10 bin dolar reklam geliri alayım veya günlük 5-10 dolar bıraksın yeter diyor. Programlama öğrenmek isteyen kişilerin ana motivasyonunun maalesef para olduğunu da unutmayalım. Ve:
Ve şu roadmap bile işi özetliyor. Bunlarda uzmanlaşmak ve ortaya projeler çıkarmak en az 1.5 - 2 yıl zaten.Android için şu roadmap iş görür belki;
![]()
Android Developer Roadmap: Learn to become an Android developer
Community driven, articles, resources, guides, interview questions, quizzes for android development. Learn to become a modern Android developer by following the steps, skills, resources and guides listed in this roadmap.roadmap.sh
React Native ve Flutter.Merhaba, ben bir mobil uygulama geliştirmek istiyorum. Şu an için Python ile başlamayı düşünüyorum. Başka hangi dilleri önerebilirsiniz?
Çok ele alınası bir konu ve alt detayları var ama genel olarak bizim optimize etmemiz gerekir.Mobil oyun sektörünü Unity domine ederken ve bu kadar oturmuş bir oyun motoru olmasına rağmen, çıkan basit hypercasual oyunlarda kaç tane memory leak veya bug vardır sizce? Sıfırdan bahsettiğim motoru/çekirdeği geliştirmek kaç yıl sürer peki? Mobil sektör günümüzde saçma sapan bir sektör halini aldı zaten. Adam 10 bin dolar reklam geliri alayım veya günlük 5-10 dolar bıraksın yeter diyor. Programlama öğrenmek isteyen kişilerin ana motivasyonunun maalesef para olduğunu da unutmayalım. Ve:
Memory leak konusunda gereksiz nesne üretmininde kaçınılmalıdır. Garbage collector var ve bir de bağımlıkları Unity otomatik devralıyor.
Oyunun optimazsyonunu oyun motorunda yapmak lazımdır. Tabii her kasma nedeni memory leak değil. Grafik ayarları, LoD, assestler falan birçok durum var.Ben 2D oyunlar için en iyi HTML5 oyun motorlarından biri olan Construct'ı kullandığımda olabildiğince optimize çalışıyorum. Webview altında çalışan oyunun runtime'ı maksimum 5 MB. Profiler kullanarak neyin ne kadar CPU GPU yediğine bakıyorum. Her tikte çalışan işlem sayısını optimize ediyorum, GPU RAM'inde gereksiz grafik ögesi bırakmamaya çalışıyorum. Yani ben bunlara (unuttuğum diğer şeylere de) dikkat ettikten sonra 15+ yıllık her şeyi oturmuş oyun motoru bir sorun yaratmaz diye düşünüyorum.
Son düzenleyen: Moderatör:
- Katılım
- 4 Şubat 2024
- Mesajlar
- 3.916
- Makaleler
- 7
- Çözümler
- 77
- Beğeniler
- 6.444
Ben 2D oyunlar için en iyi HTML5 oyun motorlarından biri olan Construct'ı kullandığımda olabildiğince optimize çalışıyorum. Webview altında çalışan oyunun runtime'ı maksimum 5 MB. Profiler kullanarak neyin ne kadar CPU GPU yediğine bakıyorum. Her tikte çalışan işlem sayısını optimize ediyorum, GPU RAM'inde gereksiz grafik ögesi bırakmamaya çalışıyorum. Yani ben bunlara (unuttuğum diğer şeylere de) dikkat ettikten sonra 15+ yıllık her şeyi oturmuş oyun motoru bir sorun yaratmaz diye düşünüyorum.Çok ele alınası bir konu ve alt detayları var ama genel olarak bizim optimize etmemiz gerekir.
Memory leak konusunda gereksiz nesne üretmininde kaçınılmalıdır. Garbage collector var ve birde bağımlıkları Unity otomatik devralıyor.
Sıfırdan motor yazmak istesem direkt intihar. Windows'da oyun yaptığımda da DirectX ve OpenGL yazmak zorunda olsam sinirden monitörü ısırırım. Gerek yok.
Aynen aşko işte gerisi motoru yapanların optimizasyonu onlar da bi zahmet yapsınlar milyon dolarlık proje yapsak ona göre biz de motor yaparız boş adam olduğumuzdan değil.Oyunun optimazsyonunu oyun motorunda yapmak lazımdır. Tabi her kasma nedeni memory leak değil. Grafik ayarları, LoD, assestler falan birçok durum var.
Yeni konular
-
-
-
-
-
-
-
Sosyal medya videolarında kullanılan yaygın fontlar neler?
- DeadlyMania7
- Mesaj: 7
-
-