Yazılım ve program geliştirmeye tam olarak nereden başlanır?

mrmarcellus

Kilopat
Katılım
18 Ocak 2019
Mesajlar
349
Çözümler
2
Arkadaşlar merhaba, ben yazılım öğrenmek ve Android / iOS program geliştirmek istiyorum, bunun için gerçekten tam olarak nereden başlayabilirim? Yazılım konusunda şu an 0'ım ve buna mesai ayırmak istiyorum. Bana gerçekten "Hocam Python ile başlayın gerisi gelir" tarzı çok yüzeysel önerilerden ziyade adım adım "Algoritma nedir ve nasıl çalışır, şuradan öğren. Şöyle bir dili şu şekilde deneyerek öğren." vs. şeklinde bir yol haritası gösterir misiniz? Çoğu konulara baktığımda bu önerilerin aşırı dağınık olduğunu gördüm ve hiçbir şey anlamadım maalesef.

Başlık biliyorum klişe , tam anlaşılmadıysa bir Android / IOS uygulama geliştirmek istiyorum , sıra sıra ne yapacağım ? Nereden başlamalıyım ?

Burada yol sorma sebebim ise gerçekten dağınık bir "Java öğren" "javaya gerek yok kodsuzda yapabilirsin" "Koda gerek yok şuan algoritma öğren" tarzı aşırı dağınık bir öneri yoğunluğu var ve bayadır araştırıyorum..
 
Son düzenleme:
Önce algoritma ve temel programlamayı öğren. Dil olarak kısıtlama şu an kendini. Hangisini istiyorsan başla. Biraz pratikler yapıp temel programlamayı öğrendiğinde Android Studio'yu kurup basit uygulamalar yap. iOS için Swift dili gerekiyordu ama hangi IDE kullanılıyor hatırlamıyorum. Android Studio'da ise Java ve XML dillerini kullanıyorsunuz.

Kafanı çok karıştırma. Önemli olan öğrenmek, şu an sadece onunla ilgilen. Bu tür şeyleri çok takarsan başlamadan soğuyabilirsin.
 
Flutter ve Dart ile başliyim ? bir yandan da Patika ile temel dersleri öğreniyim diyorum ? Nasıl plan
 
Bir defa hic yazilim gelistirme bilmeyen birinin mobil uygulama gelistirmesi mumkun degil kisa surede.

Video egitim serilerinde egitmenin yaptigini tekrarlayip ayni sonucu elde etmek ya da LLM'e yazdirdigin ve ne ise yaradigini bilmedigin kodu calistirmak "ogrenmek" degil; tekrarlamaktir.

Bu isin dogrusu yeterli Ingilizce ve matematik ogrendikten sonra algoritma, data structures ogrenip sonrasinda proje uretmek seklinde olur.

Hangi dil ile temel attiginin hic onemi yok.

Bir alanda en cok kullanilan dili ogrenince o alana otomatik olarak hakim olmuyorsun. Python AI alaninda kullaniliyor, o halde super python bilince makine ogrenimi bilmis olmuyorsun. O sebeple bu konularda Kotlin ogren, Swift kraldir vs gibi tavsiyelerin hepsi bos.

Mobil programlamanin esasi, temel programlama bilgisinin ustune; gelistirme yapacagin platform bilgisinin ( native ise SDK, hybrid ise RN ya da Flutter vs ) konmasi ile olusur.

Ayrica hic yazilim bilmeyen birinin direkt mobil uygulama gelistirmeye baslamasi da yanlis. Bu arac kullanamayan birinin Istanbul'dan Paris'e nasil arac ile giderim diye sormasi ile ayni sey.
 
Tam olarak sıra sıra nereden başlamayı önerirsiniz ? Mobili bir kenara bırakıp.

Tam olarak sıra sıra nereden başlamayı önerirsiniz ? Mobili bir kenara bırakıp.
Algoritma , Data Structure kısmını anladım , bunlara nereden başlamalı yani ?
 
Algoritma , Data Structure kısmını anladım , bunlara nereden başlamalı yani ?

Bu senin ogrenme metoduna gore degisir. Ben once teorisini kavrayip sonra pratige dokmeyi severim o sebeple onerim Sedgewick kitabi olacaktir teorik icin.


Pratik icin de zibilyon tane web sitesi var. Leetcode, Hacker bilmemne.

Sonuc olarak burada amac sistematik sekilde problemi cozmeyi ve gercek hayattaki datayi memory de efektif sekilde tutmayi ogrenmek.

Gorsel olarak ogrenmeyi seviyorsan visualising data structures and algorithms through animation - VisuAlgo tarzi kaynaklar da var.

Bunlari okuyarak kavramsal olarak ogrenirsin, bir programlama diliyle implemente ettigin zaman az cok ogrenirsin. Bir projede kullanip da "tamam bu yuzden gerekliymis" dedigin anda ogrenme gerceklesir.

Yoksa bos bos ezberlersen bir ise yaramaz.
 
Kesinlikle dediğiniz çok doğru ve bana uyan bir öğrenme yöntemi teşekkür ederim , zaten dilden önce algoritmayı ve ana mantığı anlama taraftarıydım ama tam net bir zemine oturmuş bilgi ve fikir birlikteliği olmadığı için bir şeyler havada kalıyordu.. Algoritma ve problem çözme yetileri sonrası ne önerirsiniz ? Mobil taraf beni web tarafından fazla mı zorlar veya zor bir alan mı ? Öğrenme güçlüğü yaşayan biri değilim günlük +12 saat mesai ayırıp bir alanda iyi bir birikime gelebilirim.

Evet gerçekten algoritma öğrenimi üzerine önce bir yumulmak ve fonksiyon mantığını anlamak , problem çözmek en iyisi

Sonradan dil öğrenimine geçilmesi ve dillerin çoğu mantığının benzer olması.. Umarım doğrudur

Programlama öğrenmek isteyenlere altın tavsiyeler hocam bu gibi yazılardan da çokca faydalanıyorum , düz ben ne yapiyim diye hazır şey istiyor gibi olmasın , sadece dediğim gibi biraz bilgi kirliliği , akıllı düşünene kadar deli 40 kez köprüyü geçermiş hesabı bir şekilde başlamak ve çabalamak lazım..
 
Son düzenleme:

Aslinda algoritma ve data structures baslangic. Esas olay sonrasinda basliyor. Ama bunu projelerle destekleyip parca parca ogrenebilirsin. CS derya deniz oldugu icin hosuna giden alanlarda calistikca kavramlari ogrenmek en mantiklisi.

Ornegin bir web sitesi uzerinde 2 farkli bilgisayarin chat'lesmesini saglayabilirsin. Socket programlama ( WebSocket ile de olur, direkt TCP socketleri ile de olur ) daha genel adiyla network programlama ogrenmeye baslarsin. Concurrency ve paralel programlama ogrenirsin. Tum isletim sistemlerinde calisacak basit bir hesap makinesi yazabilirsin. Boylece farkli ortamlara compile etmeyi, farkliliklarini ogrenirsin.

Kavramlari ve isin teorisini bildikten sonra hicbir sektor zorlamaz. Daha dogrusu zorlayan konular teknik konular olmaz.

Ayrica bu forumda "web" kavramini cogu kisi bilmiyor. Amazon da web projesidir, Netflix de oyle. 2 tane basit script ile web sitesi yapmaktan ibaret degil web. Mobil ve web de ic ice; her mobil proje daha buyuk bir web projesinin alt kumesini olusturur. ( Omni-channel )


Sonradan dil öğrenimine geçilmesi ve dillerin çoğu mantığının benzer olması..


Evet, nasil algoritma ogrendigin zaman problem kumesini cozmeyi ogreniyorsan; programlama dili becerisi ogrendiginde de programlama dillerini yazmayi ogreneceksin grup olarak. Imperativ dillerin ozelliklerini, GPL dillerin ozelliklerini, fonksiyonel , type-safe vs tarzi farkli dillerin ozelligini ogrenince Java ile C# arasinda syntax disinda bir fark kalmayacak gozunde. 2 gunde yeni dilde uretken hale gelirsin. O yuzden genel olarak "Nasil baslarim" sorusuna verilebilecek en yanlis cevaplardan birisi "X dili ile basla" demektir. Dil hic farketmez. Bugun Java ile yazarsin yarin Mava ile yazarsin.
 
Bu siteyi kullanmak için çerezler gereklidir. Siteyi kullanmaya devam etmek için çerezleri kabul etmelisiniz. Daha Fazlasını Öğren.…