Rehber Programlamaya Giriş

  • Konuyu başlatan 433725
  • Başlangıç Tarihi
  • Mesaj 20
  • Görüntüleme 2.207

433725

Hectopat
Katılım
28 Şubat 2021
Mesajlar
1.206
Çözümler
11
Öncelikle merhaba Sosyal kullanıcıları. Her hafta en az 1 tane "Programlamaya Nasıl Başlarım?" başlıklı konuların açıldığını biliyorsunuzdur. Ben de bunların hepsine ayrı ayrı yazmaktan üşendiğim için buraya tek seferde yazıyorum. Konu sabitlenirse iyi olur, konu açmadan önce illa ki görürler bu konuyu.

1- NE ÖĞRENMEK İSTİYORSUNUZ?
İngilizceyi ve araştırmayı öğrenmeniz gerekiyor öncelikle. Daha sonra kendinize alan belirleyip onun üstüne yürüyün. Kendinize küçük çaplı projeler oluşturarak, var olan projelere katılarak kendinizi geliştirin. - kernel.bin
Programlamaya başlamadan önce hedefinizi ve isteğinizi belirlemeniz çok önemli. Siz C# öğrenip Visual Studio üzerinde uygulamalar yapmak istiyorsanız gidip PHP öğrenmeniz saçma olacaktır haliyle. Ben size yardımcı olayım;

Eğer WEB DESIGNER yani FRONT-END DEVELOPER olmak istiyorsanız başlangıç için HTML, CSS öğrenmeniz sizin için daha iyi olacaktır.
Eğer
WEB DEVELOPER yani BACK-END DEVELOPER olmak istiyorsanız başlangıç için PHP, JAVA SCRIPT öğrenmeniz sizin için daha iyi olacaktır.

Eğer
GAME DEVELOPER olmak istiyorsanız kendinize bir oyun motoru belirlemeniz gerekiyor başlangıçta. Tabii ki ilerleyen vakitlerde diğerlerini de yavaş yavaş öğreneceksiniz fakat en başta kendinize hoş gelen işinizi görebilecek bir oyun motoru bulmanız gerekiyor. Popüler bazı oyun motorlarını yazıyorum;

Unity: C#, Bevel (Görsel Programlama yöntemi)
Unreal Engine: C++, Blueprint(Görsel Programlama yöntemi)
Godot Engine: GDScript, Visual Script(Görsel Programlama yöntemi), C#, C++
Game Maker Studio: GML, C++(İnternetten gördüğüm kadarıyla, hiç kullanmadım.)
Eğer sizin bildiğiniz başka popüler oyun motorları varsa yazabilirsiniz, aklıma gelenler bunlar oldu şimdilik.

Eğer
APPLICATION DEVELOPER olmak istiyorsanız öğrenmeniz gereken bazı diller(kişiden kişiye değişir hepsini öğrenmek zorunda değilsiniz.) C#, C++, Python, Java, Visual Basic. Aklıma gelmeyen veya benim bilmediğim diller illa ki vardır. Bu linkte bazı programlama dillerinin kullanım alanlarını vermiş.


2- NASIL VE NEREDEN ÖĞRENECEKSİNİZ?
Ne öğrenmek istediğinizi seçtiğinize göre öğrenme zamanınız geldi. Fakat nereden öğreneceksiniz? Bunun için herkes Udemy kurslarını öneriyor. Evet içlerinde kaliteli kurslar var fakat o kadar fazla değil. Genel olarak yabancı kaynaklara bakmaya çalışın. Eskiden BTK kurslarını öneriyordum fakat @Ecmel hocamın dediğine göre kurslar kalitesizmiş. Ben bu işlerin en başında o kursları kullanmıştım pek hatırlamıyorum nasıl olduklarını. YouTube'da PHP için Emrah Yüksel'in çok kaliteli bir kursu var buradan ulaşabilirsiniz. YouTube'da çok kaliteli ders videoları çıkabiliyor. Dediğim gibi yabancı kaynak bakın. Türkçe kaynak önerilerinizi alttan yazabilirsiniz.


Temel şeyleri öğrendikten sonra neyin ne işe yaradığını anlamaya çalışın. Fonksiyonların ne işe yaradığını bilmeniz çok önemli tüm diller için. Örneğin Unity ile oyun yapmak istiyorsunuz ve yapmak istediğiniz oyunun hareket sistemine ihtiyacı var. Youtube'da Türkçe, İngilizce yüzlerce video var bunun hakkında. Birini seçin ve orada yazılanların ne işe yaradığını anlamaya çalışın. Mesela rb.AddForce yazdığı zaman objeye güç eklediğini anlayın.

Bazı kaynaklar;
PHP:
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.

C#:
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.

C++:
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 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.

JavaScript:
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.

HTML:
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.


3- PRATİK YAPIN
En önemli kısım bu elbette. Pratik yapmadan öğrendikleriniz bir işe yaramaz ve unutur gidersiniz. Pratik yapacaksınız sürekli eğer bu işle hayatınıza yön vermek istiyorsanız. Başlangıç için bildiğiniz fonksiyonlara göre kafanızda bir proje tasarlayın. Ama çok basit olsun. Mesela hesap makinesi yapabilirsiniz. Yazılan sayıların hepsini belirlediğiniz işleme göre sonuçlandırmasını kodlayabilirsiniz. Oyun yapmak istiyorsunuz diyelim, ufak ufak sistemler hazırlayın. Combat, hareket, spawner gibi sistemler hazırlayın. İlerleyen dönemlerde bu linkten belirlenen unsurlara göre kafanızda oyun tasarlayıp hayata geçirin gibi.


Öğrenmek size bağlı, zor diye çekilmeyin. Artık bu tarz konular kapansın yerini hataların çözüm aradığı, yapılan işlerin sergilendiği konular açılsın.

Önereceğim bazı IDEler;
- Visual Studio (Kendi içinde compile etme özelliği yok fakat eklentiler ile yapabiliyorsunuz.)

- Sublime Text (Aynı şekilde compile istemeyen diller için tasarlanmış fakat siz compile eklentileri ekleyebiliyorsunuz.)
- Eclipse
- Atom
- VSCode (Onlineda var artık bu IDE için.)

downloadfile-1.png

Geliştirici arkadaşlarım, siz de rehberimde eksik veya hatalı gördüğünüz kısımları alta yazabilirsiniz. Hepimiz insanız hata yapabiliriz, düzeltmekten onur duyarım.
 
Son düzenleme:
Rehberin en basina sunun gibi bir sey koyabilir misin?
Ingilizce'yi ve arastirmayi ogrenmeniz lazim oncelikle. Daha sonra kendinize bir alan secin, ve arastirma yeteneginizi kullanarak o alana uygun bir dil secin. Ve o dili ogrenmeye baslayin. Bir yerden sonra tutorial, kurs vb. takip etmek yerine kendi kendinize ogrenmeye baslayin; proje yaparak, var olan projelere katkida bulunarak vb.
 
Şimdi aklıma geldi. Keşke geliştirme ortamları ve aletleri hakkında bilgi ekleseydiniz. (IDE,Text Editor, Git vb.)
Evet benimde aklıma şimdi geldi ekliyorum.
En basina degil de 2. basligin altina daha uygun oluyormus bu arada. Son cumleyi de zaten 3. kategoride anlatmissin.
Biraz düzenleyerek 1. başlığa ekledim sizin içinde uygunsa. Zaten yazdıklarınızın bir kısmını rehberde anlattığım için kaldırdım.
 
Eskiden BTK kurslarını öneriyordum fakat @Ecmel hocamın dediğine göre kurslar kalitesizmiş.
Bunu tek diyen eminim ben değilim. Forumda da sektörde de bu işte belli seviyede olan kişiler buna değiniyor. Udemy, BTK gibi yerlerde Türk hocaları baştan sağma ve iyi olmayan bir eğitim veriyorlar. İstisna var mıdır? Bilemiyorum ama bu güne kadar ne duydum ne gördüm.

O eğitimleri izleyip boştan yere zaman kaybedip hiçbir şey kazanmaktansa illa bir dile giriş yapmak ve syntaxını öğrenmek istiyorsanız çok daha iyi siteler var. Boştan yere video izleyip zaman kaybetmeye gerek yok. Bu sitede olanların aynısını alıp Türkçeleştirip video çekiyorlar. Sonrasında da buna "eğitim" diyolar.

Sözle bu "eğitimle" 1 milyon tane yazılımcı yetiştireceklermiş. :D 1 milyon tane "hello world" yazan, bilmem kaç yüz bin tane de calculator yapan eleman yetiştirmekten öteye gidecek kurslar değiller. O yüzden BTK, Udemy gibi yerlerdeki Türkçe kursları hiçbir zaman önermem. Bir de Udemy'deki kurslara para verenler var. :D Paranıza yazık arkadaşlar.

Bunlarla zaman kaybedeceklerine İngilizce öğrenip iyi bir üniversiteye girmeye çalışsın öğrenmek isteyen arkadaşlar. Boştan yere ne vakit ne de para kaybetsinler.
 
Bu arada rehbere eklemeler yapayım.

Web alanında Front-End için HTML ve CSS yeterli olmaz. JavaScript bilinmeli ve kütüphanelerine hakim olmak gerekir. İlerleyen zamanlarda bazı kütüphaneleri kullanmadan kendiniz yazabilecek seviyeye gelebilirsiniz zaten. Bu konuda büyük bir ikiye bölünmüşlük var ama jQuery kullanmanızı katiyen önermem. Saf JS ile yazın.

Front-End alanında boş kütüphane kullanımından kaçınmak gerekli. Bir site sırf responsive olsun diye Bootstrap kurmaya gerek yok. CSS3 ile çok rahat responsive siteler kodlayabiliyorsunuz.
 
Bu arada rehbere eklemeler yapayım.

Web alanında Front-End için HTML ve CSS yeterli olmaz. JavaScript bilinmeli ve kütüphanelerine hakim olmak gerekir. İlerleyen zamanlarda bazı kütüphaneleri kullanmadan kendiniz yazabilecek seviyeye gelebilirsiniz zaten. Bu konuda büyük bir ikiye bölünmüşlük var ama jQuery kullanmanızı katiyen önermem. Saf JS ile yazın.

Front-End alanında boş kütüphane kullanımından kaçınmak gerekli. Bir site sırf responsive olsun diye Bootstrap kurmaya gerek yok. CSS3 ile çok rahat responsive siteler kodlayabiliyorsunuz.
Biliyorum JavaScript'in Front-End içinde kullanıldığını fakat ben başlangıç için öğrenilmesi gereken dillerden bahsettim. HTML ve CSS öğrenmeden hiçbir şey yapamazlar. Bootstrap kullanmaya bende karşıyım. Zaten güzelde değil. Kendi tarzına ve isteğine göre CSS kütüphanesi hazırlayabilirsin. En basitinden sitelerde kullanılan kar efektlerinin %95'i JavaScript ile hazırlanmış.
 

Technopat Haberler

Yeni konular

Geri
Yukarı