Yazılıma hangi dille başlanmalı?

@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ı.
Bahsettiğiniz programa temelleri algoritma araştırınca akış diyagrami ile karşılaştım
 
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?

Yok 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 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ı.

@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.
 
Yok 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.
Teşekkürler.O zaman bilgisayardan programlamaya başlayayim
 
Bu içeriği görüntülemek için üçüncü taraf çerezlerini yerleştirmek için izninize ihtiyacımız olacak.
Daha detaylı bilgi için, çerezler sayfamıza bakınız.
bu videoya bakicam öncelikle uygun mu? Önce algoritma ve temellere bakmam gerek değil mi
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.
Bahsettiğiniz programa temelleri algoritma araştırınca akış diyagrami ile karşılaştım
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ı:
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.

Yok 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ş.
XML'i falan karıştırma şimdi. Bazı layout'lar delirtiyor beni zaten 😂
@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.
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.

Teşekkürler.O zaman bilgisayardan programlamaya başlayayim
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.
 
Hic bir onemi yok uzun vadede. Populer herhangi bir dil ile basla. Ilk basta hepsinde yapacagin if else loop zaten.
 
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.

Teşekkür ederim dediğiniz gibi C ile başlayayım o zaman önce algoritmayı kavradıktan sonra.
 
Bana kalırsa C'den başla. C'yi öğrenirsen önce, daha kolaylık çekersin. Phyton'dan falan başlama kolay diye.
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.
 
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.
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.

Direkt Java ve Netbeans ile de başlayabilir. Ama dilin bir önemi yok. Her dilde çoğu kural aynıdır. Sadece söz dizimi, kütüphaneler vs. değişir. C'den başlayıp Java'ya geçerse dilin çok fazla bir önemi olmadığını daha iyi anlayacaktır bence.
 

Yeni konular

Geri
Yukarı