Yazılım, günümüz dünyasında göz ardı edilemez bir gerçek ve bu gerçek, her geçen gün, hatta her geçen dakika değer kazanmaktadır. Görünüşe göre de kazandığı bu değer, ivmelenerek artmaya devam edecektir. Hadi, hemen şimdi etrafınıza bir göz atın. Neler görüyorsunuz? Arabalar, apartmanlar, telefon, bilgisayar, buzdolabı, ısıtıcı, soğutucu… Günlük yaşantımızda kullandığımız neredeyse her ürün, cihaz yazılım aracılığı ile çalışmakta ve kullanılmaktadır. Zaten hayatımızda bu kadar büyük bir yer kaplayan, bu kadar değerli bir alanı nasıl göz ardı edebiliriz ki?
Bu yazıyı okuyorsanız yazılıma başlamaya karar vermiş ve artık ilk adımı atmışsınız demektir. Öncelikle sizi bu kararınızdan ötürü can-ı gönülden tebrik ediyorum. Şimdi, “yazılım öğrenmeye nereden başlayacağım?” Sorusunun cevabını sindire sindire cevaplayalım. Ki bütün püf noktaları ile birlikte temelinizi sağlam atalım.
Yazılımı Hangi Amaç İçin İstiyorum?
Bu soru, sizin kariyerinize yön verecek olan sorudur. Yazılımı ne için, hangi amaç için öğrenmek istiyorsunuz? Yapay zeka çalışmaları için mi, mobil uygulama geliştirmek için mi, web uygulamaları için mi? Örnekleri çoğaltabilirim fakat demek istediğim, kendinizi yazılımın hangi alanında çalışırken daha mutlu hissedeceksiniz, hangi alan da daha verimli olabileceksiniz? Odağınızı belirledikten sonra artık yola koyulabilirsiniz. Yazılım öğrenmeye yeni başlıyorsanız odağınızı ‘net’ bir şekilde belirlemeniz gerekir. Aksi takdirde rüzgarın götürdüğü yere giden bir kavrayış, maalesef sizi yazılımdan uzaklaştıracaktır.
Unutmamanız gereken bir diğer nokta ise, bu sektörde “sabır” ve “planlı çalışma/istikrar” altın kurallardır. Bazen sıkılacak, daralacak, bunalacak, bıkacak hatta vazgeçmek isteyeceksiniz. Hangimiz bunları istemedik ki? Fakat merak etmeyin. Derin bir nefes alın ve yolunuza devam edin. Bir günde kimse yazılımı öğrenmedi, kimse de öğrenemez. Öğrenen ve bu yolda profesyonelleşen kişiler, uzun vadede sabırlı ve istikrarlı kişilerdir. Dolayısıyla kazananlardır. Sizin de kazanan tarafta yer alacağınızdan şüphem yok. 🙂
Yazılıma başlarken analitik düşünmeyi ve işlemler arasında bağlantı kurabilmeyi bilmek gerekir. Peki, bunları nasıl ve ne sayesinde yapabiliriz? Cevap; ‘Algoritma’.
Algoritma Nedir?
Algoritma, bir problemi çözmek amacıyla veyahut bir amaca ulaşmak için tasarlanan yol anlamına gelmektedir. Genel itibariyle matematik ve bilgisayar bilimlerinde kullanılır. Fakat matematik deyince sakın heyecanlanmayın. Evet, matematik yazılımın doğasında mevcuttur. Tıpkı hayatın kendisinde olduğu gibi. Algoritmayı günlük yaşantımızda farkında olarak veya olmayarak sürekli olarak kullanırız. Örnekle tanımlayacak olursam;
- Sabah uyandınız
- Elinizi yüzünüzü yıkadınız
- Kahvaltı yaptınız
- Dişlerinizi fırçaladınız
- Evden çıktınız
- İşe/okula gittiniz
- İşten çıktınız
- Eve döndünüz
- Yemek yediniz
- Uyudunuz
Bu sıralama, basit bir algoritmaydı. Yazılım öğrenmek ve bu alanda profesyonel olmak için analitiğinizi geliştirmeniz ve sebep-sonuç ilişkilerini iyi kurmanız gerekmektedir. Algoritma bu anlamda sizin en yakın dostunuz olmalıdır.
Google’nin, YouTube’nin, kullanmış olduğunuz herhangi bir mobil uygulamanın, web sitelerinin, kısacası yazılım aracılığı ile üretilmiş her ürün, bir algoritma mantığı temeline dayanır ve bu yönde çalışır.
Hangi Programlama Dilinden Başlanmalı?
Çok sık sorulardan birisi de budur. ‘Hangi programlama dilinden başlamalıyım?’ Aslına bakarsanız bu sorunun cevabı yukarıda. Hangi amaçla yazılımı istiyorsanız, kullanacağınız programlama dilleri de bu tercihiniz doğrultusunda şekillenecek ve belirlenecektir. Örneğin, derin öğrenmeye yoğun bir ilginiz varsa sizin için en doğru tercih, Python programlama dili olacaktır.
Eğer web sitelerinin ön yüz tasarımı ile ilgilenmek istiyorsanız JavaScript, sizin eliniz ayağınız gibi olacaktır.
Hadi şimdi programlama dilleri ve ne işe yaradıklarına bir göz atalım. Belki tercihlerinizi yapmanızda size kolaylık sağlar. Ki eminim kolaylık sağlayacaktır.
Python
En çok tercih edilen programlama dilleri listesinde uzun yıllardır ilk sıralarda yer alan Python, geniş bir alan yelpazesine sahiptir. Özellikle yeni başlayanlar için kolay öğrenilebilen yapısıyla harika bir programlama dili olmasının yanı sıra işlevselliği sayesinde yazılım geliştiricilerinin vazgeçilmezidir diyebilirim. Windows, Linux ve Mac işletim sistemlerince desteklenmektedir. Keza Linux kullanıcıları için Python bilmek, Linux ortamında kanatlanıp uçmak demektir. 🙂
Tercih alanları;
Siber güvenlik çalışmaları, yapay zeka, derin öğrenme, sistem yöneticiliği, veri işleme…
C
C yapısal bir programlama dilidir. Biraz açacak olursam, günümüzde nesneye yönelik programlama dilleri daha çok tercih edilmektedir.(Örn: C++, JAVA, JavaScript, C#…) Bunun sebebi, artık ‘nesne’ odaklı projelerin odak olması ve gelişen teknolojinin bu yönde olmasından kaynaklanmaktadır.
C programlama dili özellikle üniversitelerde ilk olarak öğretilen dildir. Bunun sebebleri;
Algoritma mantığının kavranması için elzem olması,
Yapısal bir dil olmasına karşın, ileri seviye programlamaya yönelik temel atılması,
Yazılım geliştirme alanlarının fazla olması
Gibi nedenler doğrultusunda yazılım mühendisliği, bilgisayar mühendisliği gibi bölümlerin 1. sınıftan itibaren programlamaya yönelik gördükleri ilk derstir.
Tercih Alanları;
Oyun tasarımı, hesaplama platformları, işletim sistemi geliştirme, gömülü sistemler, programlama dilleri oluşturmak(birçok programlama dilinin temelini oluşturur)…
C++
C dilinin geliştirilmiş versiyonudur da diyebiliriz. Nesneye yönelik olması ise C den ayrılan en büyük özelliğidir. Şöyle de bir ‘bunu biliyor musunuz?’ bilgisi de vereyim ki;
Her C projesi aynı zamanda C++ projesidir fakat her C++ projesi C projesi değildir. Zihnimizde daha berrak bir görüntü alması için şöyle de örnekleyebilirim; C dili, C++ dilinin alt kümesidir.
Yazılım geliştiriciler tarafından sıkça tercih edilmekte ve kullanmış olduğumuz çoğu donanımdan yazılıma kadar da C++ kullanılmaktadır. Aslına bakarsanız bu programlama dili ile yapabilecekleriniz, hayal gücünüzden ibarettir.
Tercih Alanları;
Kullanıcı taraflı yazılımlar, gömülü sistemler, sürücü yazılımları…
JavaScript
Sıklıkla JAVA ile karıştırılmaktadır fakat JavaScript ve JAVA birbirinden ayrı, 2 farklı programlama dilidir. JavaScript tarayıcı üzerinde çalışır. Kullanım alanları genellikle istemci taraflı olmasına karşın aynı zamanda sunucu taraflı da kullanılabilmektedir. Web taraflı uygulamaların vazgeçilmezi olan JavaScript, ön yüz geliştiricilerinin(front end developer) gözüdür, kulağıdır…
Dinamik bir yapıya sahip olmasından dolayı yapacaklarınızı sınırlamanıza da gerek yoktur.
Tercih Alanları;
Web geliştirme, kullanıcı deneyimi geliştirme, sunucu taraflı çalışmalar…
PHP
Aslına bakarsanız PHP de JavaScript ile benzer bir mantık temeline dayanır. Fakat JavaScript’in aksine web uygulamalarının arka yüzünde(back end) görev almaktadır.
Şu şekilde düşünebilirsiniz;
Bir web sitesini ziyaret ettiğinizde gördüklerinizin çoğunluğu JavaScript aracılığı ile oluşturulmuşken, arka planın çalışma prensibini PHP oluşturur. Örneğin, bir iletişim formuna bilgilerinizi girip göndereceksiniz. İletişim formu şablonu görünen yüzdür. İletişim formunun çalışmasını sağlayan, yetkinlikleri tanımlayan arka yüzdür.
PHP, sunucu taraflı çalışan bir programlama dilidir ve çoğu yazılım firmasının aradığı en büyük kriterlerden birisidir. Back end developerler kolay yetişmiyor… 🙂
Tercih Alanları;
Web geliştirme, içerik yönetim sistemleri, otomasyon sistemleri, online oyunlar, formlar…
Sizleri temin ederim ki, yukarıda bahsetmiş olduğum programlama dillerini öğrenmek, sizi kariyer basamaklarında üst seviyelere taşıyacaktır. Yeter ki heyecanınızı ve istikrarınızı kaybetmeyin. Yardımcı olabileceğim her konuda sizlerin yanındayım. Benimle dilediğiniz zaman iletişim kurabilirsiniz. Ha unutmadan bir de size küçük bir hediyem var. Yazılıma adım atarken, sürekli zinde kalmanızı sağlayacak bir şey… Ne mi? Bir web sitesi! Peki bunu kim tasarlayacak, geliştirecek? Cevap, siz. Fakat merak etmeyin. Bunun için yazılımcı olmanıza veya herhangi bir kod bilgisine sahip olmanıza gerek yok. WordPress aracılığı ile gerçekleştirebilirsiniz. WordPress aracılığı ile profesyonel görünüme ve işlevselliğe sahip web siteleri tasarlayabilirsiniz. Özellikle yazılıma yeni başlayanlar için önerdiğim şey, bir blog sitesi sahibi olmanız. YouTube kanalımdan veya WordPress ile ilgili yazımdan hemen bugün bir web sitesi oluşturabilirsiniz.
Düşünceleriniz ve yorumlarınız benim için gerçekten çok kıymetli. Aşağı kısımdan yorumlarınızı paylaşabilirsiniz. Merakla bekliyorum…