Programlamaya Başlamak
Bu yazı programlama konusunda bilgisi olmayan ama bu konuyu merak eden ve bir şekilde programlamaya başlamak isteyen kişilere yardımcı olmak amacıyla yazılmıştır. Burada yazılanlar tavsiye niteliğinde olup 20+ yıllık yazılım hayatında faydalı olarak gördüğüm pratiklerdir. Günümüz dünyasında bilgisayarlar hayatımızın her alanında yer almaktalar. İş yapış şekillerimizi, iletişim yöntemimizi, kültürümüzü kısaca hayatın her aşamasına etki edip, dönüştürmektedir. Profesyonel iş hayatında dijital teknolojiler çok büyük fark yaratmakta, bu teknolojileri kullanamayan kurumlar yarışta geri kalmaktadır. Kurumlar gibi dijital becerilerden yoksun kişiler iş yaşamlarında hedeflerine ulaşma konusunda problemler yaşamaktadır. Programlama bilgisi en önemli dijital becerilerden bir tanesi olarak öne çıkmaktadır. Bilgi toplumunda programlama bilgisi ve becerisi en fazla ihtiyaç duyulan özelliklerdendir. Profesyonel olarak yazılım geliştirilemese dahi, programlama bilgisi olan birisi yazılımlara daha fazla hâkim olacak, fark yaratan çözümler oluşturabilecek, problem çözme yeteneğini geliştirecek, edindiği algoritma oluşturma becerisi sayesinde etkili süreçler oluşturabilecektir. Programlamayı sadece yazılım yapmak için değil farklı bir beceri elde etmek içinde öğrenmenin son derece yararlı olacağı fikrindeyim.
Peki programlama nedir? Programlamayı genel olarak bilgisayarlara istediğimiz şeyleri yaptırmak olarak tanımlayabiliriz. 1’den 100.000’e kadar olan sayıları toplamak, yazı yazmak, bilgisayarda bir resmi görüntülemek, çok uzaktaki birisiyle yüz yüze konuşmak, insansız hava araçlarını kontrol etmek gibi şeyler bilgisayarlara yaptırmak istediğimiz işler olabilir. Şu an bilgisayarınızda veya cep telefonunuzda kullandığınız uygulamalar birer programdır ve birileri tarafından yazılmıştır. Programlar çalışmak için bir donanıma ihtiyaç duyarlar. Programlama bilgisayarlar ve bilgisayarlara yönelik yapıldığı için bilgisayarın genel yapısını anlamak, programlama açısından önemlidir.
Bilgisayar Nedir?
Bilgisayar TDK’nın online sözlüğünde “Çok sayıda aritmetiksel veya mantıksal işlemlerden oluşan bir işi, önceden verilmiş bir programa göre yapıp sonuçlandıran elektronik araç, elektronik beyin.” olarak açıklanmış. Burada elektronik hesaplama aracı olarak öne çıkmasına rağmen günümüz bilgisayarlarında girdi, çıktı, hafıza, saklama birimleri de bilgisayarın bir parçasıdır. Kişisel bilgisayarlar, cep telefonları, tablet, sunucu bilgisayarlarının tamamını bilgisayar olarak nitelendiriyoruz. Kullanıcılar yazılımlar vasıtasıyla bu bilgisayarları kullanırlar.
Nereden Başlayabilirim?
Programlamayı bilgisayara istediğimiz şeyleri yaptırmak olarak tanımlamıştık. İstediğimiz şeyleri yaptırmanın ilk adımı bilgisayar ile nasıl iletişim kuracağımızı öğrenmektir. 1950’lilerden itibaren bilgisayarlarla iletişim kurmak için çeşitli diller geliştirilmiştir. Bu geliştirilen dillere programlama dili denmektedir. Günümüzde çok fazla programlama dili bulunmaktadır. Popüler programlama dillerinden bazılarını C, C++, Java, C#, JavaScript, Python olarak sayabiliriz. Programlama dillerinin amaçları ve yetenekleri farklılaşabilmektedir. C, C++ gibi diller bilgisayarın donanımına müdahale etme konusunda daha güçlüdür. Bunun yanında Java, C# gibi dillerle daha hızlı yazılım geliştirebilirsiniz.
Programlamayı öğrenecek arkadaşlara Pyhton veya JavaScript gibi öğrenmesi daha kolay olan dillerle başlamalarını tavsiye ederim. Bu dilleri öğrenirken hem programlamanın genel mantığını hem de bilgisayarın çalışma yöntemini öğreneceklerdir. İnternet ortamında bu dillere ilişkin çok fazla kaynak bulabilirsiniz. İlk etapta programlamanın ne olduğu ile ilgili biraz okumanızı tavsiye ederim. Sonrasında seçmiş olduğunuz programlama diline ait biraz araştırma yapıp, bu dil hakkında ön bilgi edinmek faydalı olacaktır. Sonraki aşama bu dili sıfırdan anlatan kaynaklara ulaşmak olacaktır. Bunun için kitap edineceğiniz gibi internet ortamındaki kaynaklardan (online eğitimler, online dokümanlar gibi) faydalanabilirsiniz. Burada dikkat etmeniz gereken konu takip edeceğiniz kaynağın size programlamayı sıfırdan anlatıyor olmasıdır. Bazı kitaplar veya eğitimler sizin programlama bildiğinizi kabul edip, hedef dil üzerine odaklanıyor olabilir.
Programlamayı öğrenmek için dil ve kaynak seçiminizi yaptıktan sonraki adım programlama için gerekli ortamın oluşturulmasıdır. Programlama yapmak için farklı programlara ihtiyaç duyarız. (Compiler, IDE vb.) İlgili dil için nelere ihtiyaç duyulduğu muhtemelen takip edeceğiniz kaynakta açıklanmıştır. Bu programları internetten edindikten sonra bilgisayarınızda bu programları kurup, gerekli konfigürasyonları yaptıktan sonra ilk programınızı yazmaya hazırsınız demektedir.
İlk Program ve Sonrası
Programlama dillerinde ilk program genelde ekrana veya konsola “Merhaba Dünya!” (İngilizcesi “Hello World!”) yazdırmaktır. İlk programınızı yazdıktan sonra çalıştırıyorsunuz ve “Merhaba Dünya!” yazdırıyorsunuz. Artık yeni bir dünyadasınız. Bu dünya bilgisayarların dünyası ve siz bilgisayara istediğiniz şeyleri yaptırmaya başladınız.
Sadece okuyarak programlamayı öğrenmek mümkün değildir. Takip ettiğiniz kaynaktan okuduklarınızı bilgisayarda kendiniz program yazarak çokça pratiğini yapmamız gerekmektedir. Pratik yaparken örnekleri değiştirip kendinizi farklı uygulamalar yazmak için zorlamanız programlamanın mantığını anlamanızı kolaylaştıracaktır.
Programlamayı içselleştirmek için süreklilik ve pratik önemlidir. Bunun için bir çalışma planı yapmalısınız. Günlük yarım saatlik çalışmalar, 10 günde bir yapılacak 5 saatlik çalışmadan daha faydalıdır. 24 saatte Java’yı öğrenin başlıklı kitaplara aldanmamanızı tavsiye ederim. Çünkü 24 saatte Java’yı öğrenmeniz mümkün değildir. Tahmini 200 saatlik bir çalışma ile programlamayı ve bir programlama dilini temel seviyede öğrenmiş olursunuz. 200 saat üniversitelerde programlamaya giriş dersi için öğrencinin ilgili ders için ayırması gereken ortalama zaman dilimidir (Ders Saatleri, derse hazırlık, ders sonrası tekrar, ödevler, projeler, sınavlara hazırlık gibi). 200 saat çalışarak bir programlama dilini öğrenerek programlamaya giriş yapmış oluyorsunuz.
Öğrendiğiniz programlama dilinin genel bir yazım standardı vardır. Dili öğrendikçe bu standardı da öğrenmeniz gerekmektedir. Bu ileride yazacağınız programları diğerlerinin daha kolay okumasını ve anlamasını sağlayacaktır. Yazılım dünyasındaki en önemli noktalarından bir tanesi yazdığınız kodların çok kolay okunabilir ve anlaşabilir olmasıdır. Niye buna ihtiyaç var diye aklına bir soru gelmiş olabilir. Yazdığınız program gerçek ortamda çalışmaya başladıktan sonra bu program canlı, yaşayan bir uygulama olmuştur. Kullanılmaya başlanan uygulama için sürekli bakım ve değişiklik yapma ihtiyacı ortaya çıkacaktır. Bu bakımı ve değişikliği her zaman aynı kişi yapmayacaktır. Bundan dolayı mevcut uygulamayı anlamak için uygulamanın kodlarına bakıp, uygulamayı anlamak, sonra gerekli değişiklikleri yapma gereksinimi aktif kullanılan programlar için her zaman olacaktır.
İnternet
İnternet büyük bir bilgi kaynağıdır. Çok fazla veri barındırdığı için bazen aradığınızı bulmak zor olabilmektedir. Bu yüzden internette bir şeyleri arama ve bulma yeteneğinizi geliştirmeniz programlama öğrenirken çok fazla işinize yarayacaktır. Çünkü öğrendiğiniz programlama dilini ilk defa siz öğrenmiyorsunuz ve karşılaştığınız sorunlar ile birileri daha önce muhtemelen karşılaşmıştır ve bunun çözümleri için bir yerlerde yazmıştır.
Problemler ve çözümler yanında internette ilgili programlama dili ile ilgili bolca örnek kod bulabileceksiniz. Programlama için başkalarının yazdığı kodları okumak ve anlamak çok önemlidir. Kod okuyarak ilgili programlama dilinde bilginizi çok hızlı bir şekilde artırabilirsiniz.
Programlamayı öğrenirken diğer önemli nokta da ilgili programlama dilinde uzman kişilerin tecrübelerinden yararlanmaktır. Bunun için öğrendiğiniz programlama dilinde uzman kişileri sosyal medyada takip etmek, onların bloglarını okumak sonra derece önemlidir. Bir diğer nokta da programlama ile ilgili yapılan etkinliklere katılmak, bu dili öğrenen veya öğrenmiş olanlarla fikir alışverişinde bulunmak ilerisi için yol gösterici olacaktır.
Dünya’nın önde gelen üniversiteleri ders içeriklerini internete koymaktadır. Online programlama derslerinin içeriklerine ulaşabilir, derslerin kayıtlarını izleyebilir, oradaki ödev ve projeleri sizde yapmaya çalışabilirsiniz.
Yaparak Öğrenme
Programlama için pratik yapmak son derece önemli olduğunu belirtmiştik. Programlama konusunda belirli bir aşamaya geldikten sonra gerçekten çalışır uygulamalar yaparak öğrenme yolculuğunuzda size çok şeyler katacaktır. Bunun için internetten veya sizin ihtiyaç duyabileceğiniz uygulamalar seçip, bunları öğrendiğiniz programlama dilinde yapmak çok faydalı olacaktır. Bunu yaparken hiç tahmin etmediğiniz problemlerle karşılaşacaksınız. Bunların çözümünü araştırırken hem yeni şeyler öğrenecek hem de programlama konusunda bilginizi içselleştirmiş olacaksınız. Bunun yanında internet ortamında kodlama ile ilgili soru siteleri bulunmaktadır. Buradaki sorular ile alıştırmalar yapabilir ve bolca pratik yapabilirsiniz.
Birlikte Öğrenme
Programlama öğrenme yolculuğunu başkaları ile yapmak sizin için son derece keyifli olacaktır. Bunun için programlamayı ve ilgili programlama dilini yeni öğrenen kişileri bulmak, problemleri beraber çözmek, uygulamaları karşılıklı geliştirmek öğrenme hızınızı artıracaktır. Diğerlerinin yazdığı kodlar üzerinde tartışmak kodlama ile ilgili bilgi seviyenizi artıracaktır.
Adım Atın
Programlama bilgisinin son derece önemli olduğunu belirtmiştim. Programlama önemli olduğu kadar zevkli bir uğraştır aynı zamanda. Bir şeyler üretmenizi, hayallerinizi gerçekleştirmenizi, farklı bir dünyaya açılmanızı sağlayacaktır. Bunun yanında düşünme şeklinize çok olumlu yanları olacağını söyleyebilirim. Bu yazıyı okuduğunuza göre programlama konusunda ilk adımınızı atmış oluyorsunuz. Şimdi seçtiğiniz programlama dili ile ilgili ortam kurulumlarını yaparak sonraki adımları atabilirsiniz. Bu süreçte bazı problemler canınızı sıkabilir ama siz bunları çözme konusunda pes etmeyin. Bir süre sonra problemleri çözdükçe bunlar size keyif vermeye başlayacak. Bu yolculukta size yardım edecek çok fazla kaynak var. Bir bilgisayar ve internet başlamanız için yeterli…
Bilgisayar Yazılım Mühendisi Muammer YÜZÜGÜLDÜ