[]

Sıfırdan bilgisayar programlama öğrenmek

Sıradan bir bilgisayar kullanıcısı olarak, web sayfası, akıllı telefon uygulaması, vs. yapabilmek için ne tür programları öğrenmek gerek?

Bir de, bunun için normal bir kursa gitsek nasıl bir yere gitmek lazım?


 
aynı şeye bende niyetlendim. android uygulaması için java lazımmış. ona bakmaya başladım mesela. udemy'de jva dersi var ücretsiz. turkcellde de geleceğe hazırlananlar diye bir proje var. orada da anlatım var.


  • sutlu nescafe  (02.01.19 15:05:16) 
Teşekkür ederim @sutlu nescafe. Udemy fikri güzel.


  • Connor  (02.01.19 15:11:33) 
Öncelikle matematik öğrenmek gerekiyor. Matematiginiz zayifsa onu gelistirerek baslayabilirsiniz eger gercekten iyi bir yazilimci olma hedefiniz varsa


  • kompisko  (02.01.19 15:13:42) 
Ne yapmak istediğiniz önemli. Ben mesela pythonda kendime bot yazıyorum hayatımı kolaylaştıracak şekilde. Öyle çok değil 1 haftada kopyala yapıştır ekle seviyesine geldim tabi önceden biraz c biliyordum. Web sitesi ayrı android app ayrı dünyalar. Hedef belirleyin ona göre tekrar soru sorun buraya daha iyi fikirler alırsınız.


  • bahoho  (02.01.19 15:35:58) 
oncelikle kolay gelsin ve gecmis olsun. programlama kolay degildir, her insanin harci degildir ama yapabilirsen zevklidir. kurslara para vermek gereksiz, internette ucretli ucretsiz zibilyonlarca kaynak var. hangi dili ogrenmek istiyorsan ona gore bul birseyler. bu isin temeli veri yapilari ve algoritmalardir. bu konularda kendini cok iyi gelistirmen lazim. daha sonra object oriented programming, functional programming, asynchronous programmaing gibi konularla devam edebilirsin. bu sekilde temeli olusturduktan sonra ister java yaz ister C#, ister javascript, ister kotlin ister scala. ister android developer ol, ister web frontend, yada backedn. bir iki haftalik syntax ve API/SDK alisma surecinden sonra butun dillerde her platforma yazabilirsin.


  • crucio  (02.01.19 15:36:16) 
hepimiz sıfırdan öğrendik zaten, senin durumun ile diğerlerinin durumu bilgi kapsamında aynı, onların senden farkı anlamadıklarını sorabilecekleri bir hoca, arkadaş gurubu falan var. seninde elinde, irc kanalları, forumlar, google var. gerisi sana kalmış.

ücretli yada ücretsiz ders veren siteler tonla ki tavsiyede verilmiş, bende python için vereyim mesela: www.python.tc
  • selam  (02.01.19 15:55:39) 
oncelikle adim adim, sindire sindire gitmek ve sabirli olmak onemli. ve uzun sure motivasyonu korumak icin realistik ve ulasilabilir hedefler koymak gerekir. ornegin hem web hem de mobil konusunda uretken ve iyi olmak ilk planda ulasilabilir bir hedef degil cunku ikisi cok farkli bir dunya ne yazikki. kullanilan programlama dilleri, problemler, cozumler cok farkli ve farkli uzmanliklar gerekiyor. birinde iyi olan biri icin digerine gecmek zor olmaz ama sifirdan baslayan biri icin ikisinde iyi olmak biraz uzak bir hedef sayilir, o nedenle ilk basta birini hedeflemek motivasyon acisindan iyi olur.

ben ilk basta web konusunda ilerlemeni oneririm. bu konuda da onune birkac farkli programlama dili ve teknoloji cikiyor, bircok dili bir arada kullanmalisin, birkac noktada da secim yapmalisin. ama bir programlama diline baslamadan once bilgisayar teknolojileri konusunda genel kultur onemli. ornegin programlama dili nedir, ne ise yarar. bilgisayar yazilan bu kodu nasil okur, neye cevirir. bu isin arkasinda nasil bir matematik doner. algoritma nedir. internet uzerinde veri nasil hareket eder. bu konularda ne kadar cok genel kultur sahibi isen programlamayi o kadar hizli ogrenip, soyut kavramlari kafanda o kadar somutlastirabilirsin. programlama ogrenirken en buyuk mucadele de budur. bu is cok soyut bir is, ayni matematikteki gibi. ama insan beyni somutlastirmaktan hoslanir, soyut kalirsa ilk sordugu soru "peki bu gercek hayattta ne isimize yarayacak" diye sormaktir. o nedenle bir konutu sindire sindire gitmek, gercek hayatttan pratik orneklerle ilerlemek ve gercekten anlamak bu problemin en iyi cozumudur.

iste bu nedenle ben web konusuna egilmeni oneririm, cunku somutlastirmak cok daha kolay, cunku isi ogrenirken kanli canli bir web sitesi gelistirmis olursun, yapabildiklerini gordukce daha cok motive olursun. web sitesi gelistirmek icin ise ne gerekli?

once html ogren. html bir web sitesinin eli, ayagi, kafasi, govdesi gibidir. en basitinden html kullanarak basit bir web sitesi yap. yaptigin sey 90li yillardaki web sitelerine benzeyecektir ama html bu isin en temelidir. cok da kolay bir dildir, ama programlama dili degildir.

daha sonra css ogren. css web sitesinin guzelligidir. rengi, elemanlarin buyuklugu, yeridir. css ogrenmek bu isi baslayan kisiyi mutlu eder, motive eder, cunku eli yuzu duzgun birseyler yapabilecegine incancini arttirir. unutma motivasyonu uzun sure korumak onemli o nedenle yavas yavas ogrenip, boyu asan yerlere girmemek onemli, cunku birden isin icine girince insan motivasyonu kaybeder cok cabuk.

daha sonra bir programlama dili ogrenmeye baslayabilirsin, bu dil konusunda da acele etme bence. secenekler cok ama hepsi farkli bir amaca hitap ediyor. ben javascript oneririm, elbette istersen C#, java, hatta C de ogrenirsin ama adimlarini yavas yavas atmakta yarar var. javascript gibi nispten daha kolay bir web dili yine birseyler uretip ilerlemen icin kolay olur. ama javascript bir programlama dilidir, html ve css de yazamadigin algoritma yazabilirsin. yani isin gercekten zevkli tarafi bir programlama dili ogrenmekle baslar.

bu adimlardan sorna artik bir front-end gelistiricisin. ama front-end bir web sitesinde gordugun ve etkilesime girdigin herseyi kontrol etse de bir de isin diger tarafinda data kismi var ki bu alan back-end kisma acilir. back end ve front end ise http uzerinden anlasir. yani artik internet protokollerini ogrenmek, bir web sitesini acinca neler oluyor, server ile nasil haberlesiyor, web server nedir, web service nedir ogrenme zamani. bunlari ogren ve back-end tarafa gec.

back-end ise ayri bir dunya, ne gordugun degil, hangi datayi nasil isledigin ve nerde sakladigin ile ilgili dunya. bu konuda da bircok dil ve alternatif var. node.js, python, ruby, c#, java vs. bircok alternatif var ve her birinin farkli avantaj ve dezavantajlari var. burada bircok farkli kisiden gorus al ve secimini yap o back end dilini ogren. back end bu isin mantik ve matematik tarafinin daha yogun hissedildigi bir dunyadir. benim tavsiyem node.js ama alternatifleri de arastir. niye node.js dersen, javascript bilen biri daha kolay ogrenir.

back-end dili ogrenmek datayi nasil isleyecegini belirler ama datayi nasil saklayacagin bir database teknolojisi ogrenmek ile olur. database icin ise sql ogrenmek bir adimdir. ya da alternatif olarak nosql yolunu da secebilirsin. bunu da ogrenirsen artik full-stack gelistiriciyim diyebilirsin.

tum bu adimlar tamamlayip ogrendikce hayatindan en az birkac yili gecmis olur zaten. bu ogrenme surcecinde "artik her seyi cok iyi biliyorum dediginde yanlis yoldasin" demektir, "ogrencek ne kadar cok sey var ve bunlarin hepsini nasil ogrenecegim" diyorsan eger ogreniyorsun ve dogru yoldasin demektir. programlamada ogrendikce hicbirsey bilmiyormus gibi gelir, cunku ogrendikce gidilebilecek daha fazla yol gormeye baslarsin.

ayrica programlama ogrenmek icin super zeki olmak gerekmez, yeterli pratik ve motivasyonla ogrenilmeyecek birsey degil. ogrenmek icin udemy icnde bulundurdugu derslrin belli bir akisi, ve duzeni olmasi nedeniyle iyi bir baslangic olabilir, baslangic seviyesine gore bir ders sec ve ogren. ogrendikce ogrenme methodlarini kitap, youtube videolari, baska gelistiriciler, stackoverflow, github, seminerler ve en onemli bir is yerinde calisarak zenginlestir.
  • emrahday  (02.01.19 16:11:13 ~ 16:13:20) 
Cevap veren bütün arkadaşlara çok teşekkürler. Özellikle @emrahday, ellerine sağlık. Çok teferruatlı yazmışsın, sağ ol var ol.


  • Connor  (02.01.19 20:09:50) 
Fiziksel kursa o kadar para bayılma, udemy +1


  • sta  (03.01.19 06:29:34) 
1
buraya yazılanların hakları Sir Anthony Hopkins'e aittir.
yazan eden compumaster, ilgilenen eden fader
modere edenler angelus, Artibir, aychovsky, baba jo, basond, compumaster, deckard, duyulmasi gerektigi kadar, fader, fraise, groove salad, kahvegibi, kaymaktutmayansicaksut, kibritsuyu, monstro, pandispanya, robin, ron dennis
bu sitede yazılanların hiçbiri doğru değildir. site içeriği küçükler için sakıncalı olabilir. yazılardan yazarları sorumludur. kaynak göstermeden alıntılanamaz. devlet tarafından atanmış bir kurumun internet üzerinde kimin hangi bilgiye ulaşıp ulaşamayacağına karar vermesi insan haklarına aykırıdır. web siteleri kullanıcıların istekleri doğrultusunda bağlandıkları yerlerdir. kullanıcılar isterlerse bir web sitesine bağlanmayabilirler. bu güçleri ve imkanları mevcuttur. bir kullanıcı bir siteye bağlanmak istiyorsa bu onun tercihi ve hakkıdır. bağlanmak istemiyorsa bu yine onun tercihi ve hakkıdır. halkın kendisine hizmet etmesi için görevlendirdiği kurumlar hadlerini aşıp halka neye ulaşıp ulaşmayacağını bilmeyen cahil cühela muamelesi edemezler. ebeveynlerin çocuklarını sakıncalı içeriklerden koruması için çok sayıda bedava ve ücretli yazılım mevcuttur. bu yazılımlar bir web tarayıcısını kullanmaktan daha karmaşık teknik bilgi gerektirmemektedir. devletin milletini küçük düşürmesi ve ebleh yerine koyması yasaktır. Skimlinks ile linkler üzerinden yönlendirme payı alınmaktadır.