Bahsettiğiniz programa temelleri algoritma araştırınca akış diyagrami ile karşılaştım@Erelis Son mesajımı sonradan düzenlemiştim de kaydetmeyi unutmuşum.
Buna ekleme: Mobil üzerinde ilerlemek istediğini söyledin. Öncelikle yukarıdaki kendi alıntımdaki dediklerimi uygulaman çok önemli. Bunları yapmadan iyi bir programcı olamazsın. Bunları öğrendikten sonra nesne tabanlı programlamayı öğrenmen, daha sonra mobile yönelmen gerekir. Ben "şak" diye mobil programlama ile bu işi öğrenmek istiyorum dersen, zorlanırsın/afallarsın.
Mobil de şu şekilde:
Android uygulama geliştirmek istiyorsan, programlama temelleri ve algoritma öğrenmeye Java ile başlamanı öneririm. Java ile öğrendiğin için programlama temelleri ve algoritmayı, Android'e geçince bir nebze kolaylık sağlar. Android oyun yapacağım dersen eğer, programlama temelleri ve algoritma öğrenmeye C# ile başlamalısın. Bunun nedeni; Android oyun yapılırken genelde Unity tercih edilir, bu program da C# kullanır. Java'yı ise Android Studio üzerinde kullanırsın. Java ve Android Studio ile oyun geliştiremez misin? Geliştirirsin fakat 3D oyun yaparken genelde Unity kullanılır.
iOS uygulama/oyun geliştiriken, Xcode programı ile Objective C veya Swift dilini kullanman lazım. Android değil de, iOS ile uygulama/oyun geliştirmek istiyorum dersen, dediklerimi öğrenirken, Objective C veya Swift dillerini kuıllanman senin yararına olur. Objective C daha eski olduğu için, daha fazla kullanan var bu da daha fazla kaynak ve daha fazla sorun çözümü demek. Xcode programını kullanmak için macOS işletim sistemine ihtiyacın var. Windows üzerinde kullanılan bir iOS IDE'si yok bildiğim kadarıyla. IDE= yazılım geliştirme ortamı/programı.
Kaynak olarak dediğim gibi bir sürü kaynak var. Android kitap olarak bu olabilir. Yalnız bu kitap Java ile nesne tabanlı programlama temeli olup, Android öğrenmek isteyenler için denilebilir ve uygulama geliştirmeyi amaçlar, oyun değil. Programlama temelleri ile ilgili kitap önerim yok, ben okulda öğrendim. iOS'a da henüz geçmediğim için onunla ilgili de kitap önerim olmayacak. Video eğitim olarak, biraz araştırma ile Udemy ve YouTube'da bir sürü video eğitim bulabilirsin, direkt eğitim linki vermeyeceğim, bir sürü eğitim var. Udemy'dekiler baya ucuz oluyor zaten. Biraz araştırma ile öğrenilmeyecek bir şey değil bu programlama. Ama uzmanlaşmak yıllar sürer. Biz sadece fikir verebiliriz. Gerisi senin araştırmana, çabana, isteğine vs. bağlı.
Aslında hepsini öğrenmek istiyorum ama önce birinden başlamak lazım tabiki öncelikle akıllı telefonlar için mobil uygulama yaparak başlayabilirim.İsmine baktım da Isparta' da mı oturuyorsun?
@Erelis Son mesajımı sonradan düzenlemiştim de kaydetmeyi unutmuşum.
Buna ekleme: Mobil üzerinde ilerlemek istediğini söyledin. Öncelikle yukarıdaki kendi alıntımdaki dediklerimi uygulaman çok önemli. Bunları yapmadan iyi bir programcı olamazsın. Bunları öğrendikten sonra nesne tabanlı programlamayı öğrenmen, daha sonra mobile yönelmen gerekir. Ben "şak" diye mobil programlama ile bu işi öğrenmek istiyorum dersen, zorlanırsın/afallarsın.
Mobil de şu şekilde:
Android uygulama geliştirmek istiyorsan, programlama temelleri ve algoritma öğrenmeye Java ile başlamanı öneririm. Java ile öğrendiğin için programlama temelleri ve algoritmayı, Android'e geçince bir nebze kolaylık sağlar. Android oyun yapacağım dersen eğer, programlama temelleri ve algoritma öğrenmeye C# ile başlamalısın. Bunun nedeni; Android oyun yapılırken genelde Unity tercih edilir, bu program da C# kullanır. Java'yı ise Android Studio üzerinde kullanırsın. Java ve Android Studio ile oyun geliştiremez misin? Geliştirirsin fakat 3D oyun yaparken genelde Unity kullanılır.
iOS uygulama/oyun geliştiriken, Xcode programı ile Objective C veya Swift dilini kullanman lazım. Android değil de, iOS ile uygulama/oyun geliştirmek istiyorum dersen, dediklerimi öğrenirken, Objective C veya Swift dillerini kuıllanman senin yararına olur. Objective C daha eski olduğu için, daha fazla kullanan var bu da daha fazla kaynak ve daha fazla sorun çözümü demek. Xcode programını kullanmak için macOS işletim sistemine ihtiyacın var. Windows üzerinde kullanılan bir iOS IDE'si yok bildiğim kadarıyla. IDE= yazılım geliştirme ortamı/programı.
Kaynak olarak dediğim gibi bir sürü kaynak var. Android kitap olarak bu olabilir. Yalnız bu kitap Java ile nesne tabanlı programlama temeli olup, Android öğrenmek isteyenler için denilebilir ve uygulama geliştirmeyi amaçlar, oyun değil. Programlama temelleri ile ilgili kitap önerim yok, ben okulda öğrendim. iOS'a da henüz geçmediğim için onunla ilgili de kitap önerim olmayacak. Video eğitim olarak, biraz araştırma ile Udemy ve YouTube'da bir sürü video eğitim bulabilirsin, direkt eğitim linki vermeyeceğim, bir sürü eğitim var. Udemy'dekiler baya ucuz oluyor zaten. Biraz araştırma ile öğrenilmeyecek bir şey değil bu programlama. Ama uzmanlaşmak yıllar sürer. Biz sadece fikir verebiliriz. Gerisi senin araştırmana, çabana, isteğine vs. bağlı.
Teşekkürler.O zaman bilgisayardan programlamaya başlayayimYok Isparta'da yaşamıyorum, sadece memleket Isparta. Onun dışında eğer bir yerden başlamak istiyorsan bence önce bilgisayardan başlaman daha iyi olur. Böylece önce bilgisayarda mantığı öğrenirsin sonra da öğrendiğin bilgileri Android'e geçirmen daha iyi olur. Çünkü her ne kadar ikisi de Java üzerinden yazılsa bile, Android programlarken birde işin içine XML falan giriyor, iyice karmaşıklaşıyor iş.
@Erelis Bu konuda @berk1937 hocama kesinlikle katılıyorum ve destekliyorum. Programlama dilinden önce mantığı anlaman en önemlisi, sonrasında dilin önemi kalmıyor zaten. Yalnız benim kanımca para vererek kitap almak yerine internette de güzel kaynak bulabilirsin. Şimdiden kolay gelsin.
Evet, bu gibi videolar. Yalnız tek bir kaynağa bağlı kalma. Her zaman birden fazla kaynaklara bak. Yani tek bir video izleyerek bu işi tamamen çözemezsin. Üniversite sınavına hazırlanır gibi örnekler çöz sürekli.bu videoya bakicam öncelikle uygun mu? Önce algoritma ve temellere bakmam gerek değil mi
Akış diyagramları, algoritmaların görselleştirilmiş hali gibi diyebiliriz. Akış şemalarında belli şekiller vardır. Bu şekillere ve aralarındaki bağlantılara bakarak anlatılmak istenileni anlarsın.Bahsettiğiniz programa temelleri algoritma araştırınca akış diyagrami ile karşılaştım
XML'i falan karıştırma şimdi. Bazı layout'lar delirtiyor beni zatenYok Isparta'da yaşamıyorum, sadece memleket Isparta. Onun dışında eğer bir yerden başlamak istiyorsan bence önce bilgisayardan başlaman daha iyi olur. Böylece önce bilgisayarda mantığı öğrenirsin sonra da öğrendiğin bilgileri Android'e geçirmen daha iyi olur. Çünkü her ne kadar ikisi de Java üzerinden yazılsa bile, Android programlarken birde işin içine XML falan giriyor, iyice karmaşıklaşıyor iş.
Kaynak kaynaktır. Bence tek bir kaynağa takılmamalı. Ele geçen her kaynak değerlendirilmeli. Ben mesela İngilizce videolar izliyorum, yabancı sitelerde dolaşıyorum sorunuma çözüm bulmak için. İngilizce ile sorununu çözemeyip, Çince olarak arayanlar var, bir de bu açıdan bakmak lazım.
Masaüstü programlama demek istediğini varsayarak; C ile yapacağın uygulamalar konsol (cmd) uygulaması gibi çalışacak zaten. Mobil ile bir bağlantısı yok.Teşekkürler.O zaman bilgisayardan programlamaya başlayayim
Evet, bu gibi videolar. Yalnız tek bir kaynağa bağlı kalma. Her zaman birden fazla kaynaklara bak. Yani tek bir video izleyerek bu işi tamamen çözemezsin. Üniversite sınavına hazırlanır gibi örnekler çöz sürekli.
Akış diyagramları, algoritmaların görselleştirilmiş hali gibi diyebiliriz. Akış şemalarında belli şekiller vardır. Bu şekillere ve aralarındaki bağlantılara bakarak anlatılmak istenileni anlarsın.
Örnek:
Değişkenler:
A:Birinci sayı
B:İkinci sayı
D:İki sayının farkını (A-B)
E:İki sayının bölümünü(A-B)
Algoritma:
Adım 1-Başla
Adım 2-A'yı oku
Adım 3-B'yi oku
Adım 4-D=A-B
Adım 5-E=A/B
Adım 6-D'yi yaz
Adım 7-E'yi yaz
Adım 8-Dur
Akış Şeması:
Eki Görüntüle 378634
Kaynak:Algoritma ve Akış Diagramları
Gördüğün üzere bazı şekiller var ve bunlar bazı işlemleri ifade ediyor. Daha karışık algoritma ve akış şeması örnekleri var internette bulabilirsin. Hatta verdiğim kaynakta hangi şeklin neye denk geldiği anlatılıyor ve güzel örnekler var onlara bakabilirsin. Benim burada paylaştığım akış şeması, "doğrusal akış şeması" diye geçiyor.
Şöyle yapman senin için iyi olur; İstenilen programın algoritmasını yaz, akış şemasını çiz ve en son koda dök. Bunları yapa yapa programlama mantığı oturur kafanda. Biz birinci sınıfta C dili ile almıştık bu dersi. İstersen sen de C dili ile başlayabilirsin. Daha sonra geliştiğine inandığın zaman Java ile nesne tabanlı programlama üzerinde geliştirirsin kendini. Kullandığımız program da Dev-C++ idi.
XML'i falan karıştırma şimdi. Bazı layout'lar delirtiyor beni zaten [emoji23]
Kaynak kaynaktır. Bence tek bir kaynağa takılmamalı. Ele geçen her kaynak değerlendirilmeli. Ben mesela İngilizce videolar izliyorum, yabancı sitelerde dolaşıyorum sorunuma çözüm bulmak için. İngilizce ile sorununu çözemeyip, Çince olarak arayanlar var, bir de bu açıdan bakmak lazım.
Masaüstü programlama demek istediğini varsayarak; C ile yapacağın uygulamalar konsol (cmd) uygulaması gibi çalışacak zaten. Mobil ile bir bağlantısı yok.
Yok zaten bence de başlamaması onun yararına olur. Bende geçen yaz Android için uygulama geliştirirken çok kullanmıştım XML'i, bütün kodu çözene kadar kafayı sıyırmıştım.XML'i falan karıştırma şimdi. Bazı layout'lar delirtiyor beni zaten
C'den başlamak programlama hevesinin yok olmasına neden olabilir. Python gibi diller her ne kadar C'ye göre yavaş olsa da kolaylık/hız olarak baktığımızda kullanıcı açısından kolaylık daha cezbettirici. Aradaki performans farkları da zaman içinde kapanacak zaten.Bana kalırsa C'den başla. C'yi öğrenirsen önce, daha kolaylık çekersin. Phyton'dan falan başlama kolay diye.
Programlamanın mantığını kavramak ve algoritma sistemini anlamak için kullanılabilecek dillerden biri. Bu işi çözünce C ile devam edecek gibi bir durum yok. Bütün konuyu okursan anlarsın.C'den başlamak programlama hevesinin yok olmasına neden olabilir. Python gibi diller her ne kadar C'ye göre yavaş olsa da kolaylık/hız olarak baktığımızda kullanıcı açısından kolaylık daha cezbettirici. Aradaki performans farkları da zaman içinde kapanacak zaten.