1. Anasayfa
  2. Yazılım

Kodlamayı Öğrenmek: Gerçekten O Kadar Zor mu?

Kodlamayı Öğrenmek: Gerçekten O Kadar Zor mu?
Kodlamayı Öğrenmek
0

Kodlamayı Öğrenmek – Kodlama gibi beceriler birçok insanı korkutur. Garip semboller ekranda yarışırken ve tekno müzik arka planda parıldadığından, medya kod yazmanın dahi düzeyinde bir aktivite gibi görünmesini sağladı.

Ancak kodlama aslında oldukça kolaydır :)

Bunu parlak programcıların çalışmalarını göz ardı etmek için söylemiyorum. Bir beceri, aynı anda temel bilgileri edinmek oldukça kolay olabilirken, ustalaşması gerçekten zor olabilir. Herkes yazmayı öğrenir, çok az insan iyi yazmayı öğrenir. Bu nedenle, yetenekli geliştiricilerin çabalarını göz ardı etmeden temel okuryazarlığın kazanılması “kolay” bir beceri olduğunu söylemekte hiçbir çelişki yoktur.

Bunu programlamayı öğrenmeye çalışan ve bunu sinir bozucu bulan insanlarla alay etmek için de söylemiyorum.

Bunun yerine, kodlamanın kolay olduğunu söylüyorum çünkü neredeyse tüm insanların, kendilerini özellikle akıllı görmeseler bile, basit programlar yazmayı öğrenebileceklerine inanıyorum. Çoğu zaman, becerinin kendisiyle ilgili herhangi bir içsel zorluktan ziyade bazı yapısal engellerden kaynaklanmazlar.

İlk Kodlama Deneyimi

Kod yazmayı üniversite sıralarında henüz 20’li yaşlarımın çok başında iken öğrenmeye başladım. Programlama üzerine çokça ders aldım ve çokça kitap tükettim. Öğrenme sürecim halen de devam ediyor aslında; Coursera ve Udemy gibi birçok platformdan eğitimler almaya devam ediyorum. YouTube’da programlamayla ilgili videoları binlerce saat izleyin. Pek çok geliştirici youube kanalında ücretsiz nitelikli içeirkler üretiyor ve sürekli güncelliyor, örneğin; Murat Yücedağ ‘ın bu alanda yeni insanların kariyerlerini evirmelerine şahitlik ediyoruz.

Lisede öğrendiğiniz çoğu matematik de daha zordur, inanın; Her ne kadar genellikle cebir ile kod yazmaktan çok daha fazla pratik yapsanız da, bu daha zor olan bir yanlış algılamaya yol açar. Tabii ki uzmanlık alanları geliştirmekten bahs etmiyorum.

Kodlama Neden Zor Hissettirir?

Kodlamayı öğrenmek birkaç nedenden dolayı zordur:

Yeni diller yüklemek çok sinir bozucu olabilir. Bu, olmak isteyen bir programcı için ilk aktivitedir. Bu, programlamanın gerçekten zor olduğu yanılgısına neden olabilir, çünkü yeni başlayanlar, her an nasıl olacağına karar vermenin zorluğunu tahmin ederler.

Ayrıca, çok fazla dil, çerçeve aracı, kütüphane ve eklenti var. Programlamaya başlamak çok zor çünkü öğrenilecek stadezilyonlarca şey var ve nereden başlayacağınızı bilmiyorsunuz.

Programlamanın ilk anları en zor olanlardır. Kurulum yapmak sinir bozucu derecede zordur ve genellikle tek bir kod satırı yazmadan önce bilgisayarlarla çalışmanın yeni bir yolunu öğrenmeyi gerektirir.

Çoğu dili yükleme talimatlarını göz önünde bulundurun:

Terminali veya komut istemini açın. Dili indirmek ve kurmak için büyük/küçük harfe duyarlı, tam bir talimat seti yazın. GitHub’ı kullanın. Sürümler de önemlidir. 32 veya 64 bit mi kullanıyorsunuz? Çünkü emin değilseniz, şifreli bir hata mesajıyla çökecek ve kendinizi aptal gibi hissedeceksiniz.

Bu araçlar, her şey gibi öğrenilebilir, ancak medya tarafından verilen, kodlamanın çoğunlukla tuhaf, düşmanca kullanıcı arayüzlerine sahip elit araçlar kullandığı izlenimini güçlendiriyor. İnsanlar kodlamayı gördüklerinde, The Matrix filmindeki gibi bilgisayar ekranlarında yeşil akan harfleri ayrıştırmayı hayal ederler; Gerçek şu ki, adım adım bir tarifi takip etmeye daha çok benziyor.

Kodlamanın İlk Zorluklarını Nasıl Aşarsınız?

Bunu yapmanın birkaç yolu var. En sevdiğim şey, size adım adım nasıl kurulacağını tam olarak anlatacak olan dil veya teknoloji resmi belgelerine gitmek.

Alternatif olarak, internet eğitimlerine dalabilir (YouTube, Quora gibi platformların neden var olduğunu düşünüyorsunuz?), ancak bazen bunların OOP ve GitHub’ın ne olduğunu bilen ve komut yazma konusunda akıcı olan zaten yetkin programcıları hedeflediğini kabul edin.

Bunlardan birini alırsanız, onu takip etmeyi deneyebilirsiniz, ancak batırırsanız kendinizi kötü hissetmeyin. Bu sinir bozucu ve bu, tüm kodlamaların böyle olacağı anlamına gelmiyor.

Başka bir seçenek de kurulumdan kaçınmaktır. Size kurulum yapmadan kodlamayı öğreten bazı kodlama eğitimi web sitelerini kullanın. Bunu da beğendim, ancak bazen bu uygulamalarla oluşturmak istediğiniz şeyi gerçekten oluşturamazsınız.

Ancak en önemlisi, bunu size söylediğimi hatırlamanızdır. Kodlamayı öğrenmeye çalıştığınızda, işleri yoluna koymak sizi hayal kırıklığına uğratır ve bunun ödenmesi gereken küçük bir bedel olduğunu kabul edin. Yakında daha kolay olacak ve harika şeyler yapacaksın. Burada sıkışıp kaldığın için kendini aptal hissetme. Hala yapabilir ve kariyerinize “geliştirici” olarak devam edebilirsiniz.

Hangi Kodlama Dili/Çerçevesi/Kütüphanesi ile Başlamalıyım?

Bu sormak için iyi bir soru gibi görünüyor, ama tartışırım, ben aslında programlamayı öğrenmeyi düşünmenin yanlış yolu.

Birincisi, programcılar genellikle kaç dil bildikleriyle övünseler de, çoğu dilin yalnızca yüzeysel olarak farklı olduğunu kabul ederler. Evet, dil tasarımı hakkında detayları biliyorum, bu yüzden bana kodlamaya karşı derlemeden veya bir dilin güçlü mü yoksa zayıf mı yazıldığından bahsetmeyin. Bu şeyler önemli, ama onlar ayrıntı.

Neredeyse tüm dillerin ve araçların temelleri aynıdır. Değişkenler. Döngüler. Fonksiyonlar. İşaretçiler. Veri tipleri. OOP. Modüller. Bu kavramlar hemen hemen tüm programlama dillerinde bulunur. Ana akım bir dil seçerseniz, bunları çoğunlukla aynı şekilde öğreneceksiniz, dolayısıyla Python, JavaScript, C++, Java veya hatta PHP seçmenizin bir önemi yok. Evet PHP, çünkü PHP ölmedi :)

Dillerin önemli olduğu yer, onları ne için kullanmak istediğinizdir.

iPhone uygulamaları yazmak ister misiniz? Swift veya Objective-C tercih edilen dillerdir. Web sayfaları oluşturmanız mı gerekiyor? JavaScript kullanışlı olacak. Evet, incelerseniz ve doğru eklentileri alırsanız, herhangi bir görev için hemen hemen her dili kullanabilirsiniz. Ancak, bazı dillerde belirli türdeki projelere başlamak diğerlerinden daha kolaydır.

Dolayısıyla sorulması gereken ilk soru hangi dili öğrenmeliyim değil de hangi proje ile başlamalıyım?

İlk Kodlama Projeniz Ne Olmalı?

Programlama serüveninize, daha tek satır kod yazmadan, oluşturmak istediğiniz somut bir programlama projesine karar vererek başlamanızı tavsiye ederim.

Bu birkaç amaca hizmet eder:

Dil/çerçeve seçeneklerini önemli ölçüde daraltır. Bir web sitesi oluşturduğunuzu öğrendikten sonra, bu amaç göz önünde bulundurularak tasarlanmış araçlara yönelmiş olursunuz.

Öğrendiğiniz her şey bir hedefe bağlıdır. Öğrenimin transferi herkesin bildiği gibi zordur. Doğrudan inşa ederek öğrenmek, bir şey öğrenmekten ve daha sonra size yardımcı olacağını ummaktan daha iyidir.

Harika olduğunu düşündüğünüz bir şey üzerinde çalışabilirsiniz. Etkileşimli bir web sitesi yapmanın harika olacağını düşünüyorsanız, bunu yapın. Bir oyunu tercih ediyorsanız, bunu yapın. Bazı sıkıcı işleri otomatikleştirmeyi tercih ediyorsanız, bunun yerine bunu yapın. Harika olduğunu düşündüğünüz şeyi yapın ve buna bağlı kalmak için motive olacaksınız.

Projelerde daha küçük daha iyidir. Bir sonraki Google’ı yapmaya başlamaya karar vermek hırslı, ancak muhtemelen daha fazla ilerleme kaydetmeden sizi yabani otlara saplayacak.

İlk Kodlama Projeniz Ne Olmalı?

Gerçek tutkunuz çok büyükse, genellikle önce bir oyuncak projesinde çalışmak en iyisidir. Birçok deneyimli programcı, yeni bir programlama alanına girerken bunu hala yapıyor. Oyuncak projeler, programlamanın temel fikirlerini alır, ancak bunu yıllar yerine birkaç gün veya hafta içinde yapabileceğiniz bir şeye dönüştürür.

İyi proje örnekleri şunları içerir:

Temel bir terminal metin-macera oyunu. Grafik yok, ancak yine de döngüler, değişkenler, girdi-çıktı işleme gibi kavramların öğrenilmesini gerektiriyor.

Basit bir web sitesi. Sadece statik bir sayfa görüntüleyerek başlayın. Belki daha fazlasını öğrendikçe yorumlar, kullanıcılar, fotoğraflar veya etkileşimli öğeler ekleyebilirsiniz.

Basit bir uygulama. Telefonunuzda olmasını istediğiniz son derece basit bir şey nedir? Başlamak aptalca olabilir, endişelenme.

Sıkıcı bir görevi otomatikleştirmek için bir komut dosyası.

Programlar, multimedya içeriği içermediklerinde daha kolaydır (web siteleri biraz istisnadır), bu nedenle, örneğin bir oyun yapıyorsanız, bir metin oyunu, grafikli bir oyundan daha kolaydır, çünkü yalnızca tüm grafikleri yapmak çok zaman alabilir.

Benzer şekilde, farklı çekirdek faaliyetlerin farklı zorlukları vardır. Tekrar tekrar yapılan aritmetik ve basit hesaplamalar en kolayıdır. Kesin kalıplar için metni işlemek daha zordur. Belirsiz kalıplar için metni işlemek daha da zordur. İşleme, konuşma, fotoğraf ve video daha da zor.

Son derece zor olduğu ortaya çıkan bir ilk projeyi seçerseniz, ölçeği küçültmek sorun değil. “İpotek ödemelerimi hesaplayan bir uygulama yap”, “Birinin saç stilini bir fotoğraftan söyleyebilecek bir uygulama yap”tan çok, çok daha kolay. Başlangıçta durumun böyle olduğu genellikle açık değildir, bu nedenle yanlışlıkla başlamak için “zor” bir problem seçerseniz endişelenmeyin. Daha sonra daha kolay bir şeye ayarlayabilirsiniz.

Kodlama Öğrenmek İçin Hangi Kaynakları Kullanmalısınız?

Bir proje seçtikten sonraki adım, yardımcı olacak bazı kaynakları bulmaktır. Bu, birçok insanın durmadan endişelendiği bir adımdır, ancak dil seçimi olarak düşündüğünüzden çok daha az önemlidir (ve daha çok hedeflerinize bağlıdır).

Belirli kaynakları listelemeyeceğim, çünkü o kadar çok iyi kaynak var ki, önerilerim en iyilerinden bazılarını dışarıda bırakacak. Bunun yerine, mükemmel kaynakları bulmak için üç strateji:

Size istediğiniz dili + projeyi öğreten bir kitap edinin. Kodlama, gerçekten kolay mı? Şehrinizin kitapçısında veya kütüphanesinde bir bilgisayar bölümü olun, bunlardan herhangi birini seçebilirsiniz. Çokça insan programlama / kodlama öğrenmek için kitabı gereksiz bulur ancak ÖĞRENMEK istiyorsanız KİTAP çok önemli bir enstrüman.

Bir MOOC’a katılın. Kodluyoruz, Udemy, Coursera, edX, MIT, Harvard, FreeCodeCamp ve diğerleri çevrimiçi olarak bilgisayar programlamayı öğretir. Bir kez daha, en önemli şey tam sınıf değil, ilgilendiğiniz dili/proje alanını öğretip öğretmediğidir.

Hangi kitabı veya kursu seçeceğinizi vurgulamak, endişelenecek yanlış bir şeydir. Yapılması gereken en önemli şey, kitabı veya kursu, kendi başına programlamada ustalaşmak için değil, projenizi kurcalamak için yeterince öğrenmek için kullanmaktır. Projenize hazır olmadan başlamak kesinlikle bu konuda hissetmeniz gereken yoldur.

Gerçek Programcıların Yaptığını Yapın ve Google’a Sorun

Gerçekten kod yazmaya başladığınızda, bir şeyi nasıl yapacağınızı bilmediğiniz veya daha önce nasıl yapacağınızı öğrenip unuttuğunuz pek çok durumla karşılaşacaksınız.

Bu durumlarda, gerçek programcıların yaptığını yapmalısınız: Google/StackOverflow’a sorun. Bu utanç verici bir etkinlik değil, gerçek programlamanın bir parçası. Yıllardır kod yazıyoruz ama her zaman aptalca sözdizimsel şeyleri unutuyorum ve bu yüzden kendimi tekrar tekrar arama yaparken buluyorum. Kötü ya da yanlış değil, sadece sürecin bir parçası.

Kendinizi kurduktan sonra, temel bilgileri öğrenmek için kitabınızla biraz öğrendiniz ve ilk projeniz üzerinde çalışmaya başladınız, gerisini googlelama yaparak ve programlama bilgi kitaplığınıza ekleyerek öğreneceksiniz. Bilgisayar bilimi teorileri, çalıştığınız dilin ayrıntılı anlayışı veya gelişmiş tasarım kalıpları, birkaç gerçek projeyi bitirene ve bir şeyler kodlayabileceğinizi hissedene kadar bekleyebilir.

Uyarı #1: Kopyala-Yapıştır Yapmayın

Bu adıma gelince ilk tavsiyemiz asla kopyala-yapıştır yapmamaktır. Kopyala-yapıştır kötüdür çünkü kopyaladığınız kodu anlamaya çalışmazsınız. Tersine yazmanız gerekiyorsa, doğal olarak kendinize “neden bu? neden başka bir şey olmasın?” Hemen harika bir cevabınız olmasa bile, kendiniz için bir şeyler yazmak cevaba kadar zihninizi açarken, kopyalayıp yapıştırmak düşünmeyi kapatır.

Uyarı #2: Çözüm Aramadan Önce Kendiniz Deneyin

İkinci tavsiye, bir başkasının nasıl yaptığına bakmadan önce her zaman bir şeyi kendiniz çözmeye çalışmaktır. Çoğu problemin çözülebilecek pek çok yolu vardır. Buradaki zorluk, uzman programcıların genellikle özlü ve akıllıca bir yol bilmeleridir, ancak bu genellikle “açık” yol değildir.

Bu, zor sözdizimi kullanan akıllı bir çözüm gördüğünüz, bu çözümü tahmin etmenin hiçbir yolu olmadığını düşündüğünüz ve kendi başınıza çözemeyeceğinize inandığınız bir tuzağa yol açabilir. Bu genellikle doğru değildir, ancak kendi çözümünüzü bulmaya çalışmadan önce çözümler aramanın talihsiz bir yan etkisidir.

Sonuç Bağlamı

Bu uzun bir yazı oldu, o yüzden gitmeden önce son noktaları tekrar edeyim:

Kodlamayı öğrenmek, en azından basit şeyler yapmak için, kodlayıcı olmayanların düşündüğünden çok daha kolaydır.

Zor görünmesinin ana nedeni şudur:

  • Kurulum sinir bozucu.
  • Başlamak için çok fazla seçenek var.
  • Sınıflar, sizi aptal hissettiren, kendi kendini yetiştirmiş zeki çocuklarla doludur.

Kendinize öğretmek için şunları yapmalısınız:

  • Önce ne tür bir şey yapmak istediğinize karar verin (web sitesi, uygulama, oyun, komut dosyası vb.), yapmak istediğiniz şeye en uygun dili seçin.
  • Küçük bir şey inşa etmek için hemen somut bir projeyle başlayın. Kitaplar, kurslar ve öğreticiler bu noktaya ulaşmanıza yardımcı olmalıdır.
  • Bilgisayar bilimi derslerini ancak bazı şeyleri kendi başınıza yaptıktan sonra öğrenin.
  • Takıldığınız zaman herkesin yaptığını yapın ve Google’a sorun
  • Ancak cevapları kopyalayıp yapıştırmayın.
  • Ve önce kendin çözmeye çalış.

İlk hayal kırıklığının üstesinden gelebilir ve biraz güven inşa edebilirseniz, herkes kodlamayı öğrenebilir. Ayrıca, asla tam zamanlı bir programcı olmasanız bile, yaşamınız boyunca kullanabileceğiniz bir beceridir.

Kodlamayı Öğrenmek

Tebrikler,  bu yazının sonuna geldiniz! Umarım kariyerinizde size yardımcı olacak yeni bir şey öğrenmişsinizdir.

Yeni bir şey öğrendiyseniz veya bu makaleyi okumaktan zevk aldıysanız, başkalarının görebilmesi için lütfen paylaşın. O zamana kadar, bir sonraki yazıda görüşmek üzere!

Ayrıca beni Twitter’da @hasanyildiz84 hesabımdan takip edebilirsiniz.

Konu hakkında daha fazla sohbet etmek isterseniz gelin superpeer ‘da sohbet edelim.

Hasan YILDIZ, Girişimci. Doktora Öğrencisi. Yazmayan YAZILIMCI. Veri Şeysi. Eğitmen...

Yazarın Profili

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir