Bilgisayar Programlama Nedir?
Günümüz dünyasında hepimiz, geliştiriciler tarafından dikkatle programlanmış çeşitli yazılım ürünlerine büyük ölçüde bağımlıyız. Ama bilgisayar programlama nedir?
Bu yazıda, programlamanın bir tanımını ve farklı programcı türlerine örnekler vereceğim. Kodlamayı öğrenmeye başlamak için alabileceğiniz derslerin bir listesini de önereceğim.
Programlamanın Tanımı
Bir bilgisayar programı, belirli görevleri gerçekleştirmek için bilgisayarda yürütülen kodlardan oluşur. Bu kod programcılar tarafından yazılmıştır.
Programlama, makinelere bir programın nasıl yürütülmesi gerektiğini açıklayan bir dizi talimat verme sürecidir. Programcılar, tüm kariyerlerini çeşitli programlama dilleri ve araçları öğrenerek geçirecekler, böylece etkili bir şekilde bilgisayar programları oluşturabilecekler.
Programcılar, kaynak kodu denilen şeyi yazmak için bir kod düzenleyici veya IDE kullanarak başlayacaklardır. Bu, diğer programcıların okuyabileceği bir programlama dilinde yazılmış bir kod koleksiyonudur.
Makinelerin talimatları anlayabilmesi ve programı yürütebilmesi için kaynak kodunun makine diline dönüştürülmesi gerekir. Kaynak kodunu makine diline dönüştürme işlemi, derleme olarak bilinir.
Derlenmiş programlama dillerine örnek olarak C ve C++ verilebilir.
Derleyici kullanmayan başka diller de vardır. Bunun yerine, bu diller kodu okuyacak ve yürütecek bir yorumlayıcı kullanacaktır.
Yorumlanmış programlama dillerine örnek olarak JavaScript ve PHP verilebilir.
Kod yürütüldükten sonra bilgisayar programı çalışabilir. Farklı bilgisayar programları türleri arasında Kelime işlemciler, Veritabanı sistemleri, video oyunları ve web siteleri bulunur.
Bu bilgisayar programları, telefonlar, web siteleri ve bilgisayarların kendileri gibi farklı yazılım cihazları ve hizmetleri ile etkileşime girmemizi sağlar.
Programlamanın Tarihi
Birçok tarihçi Ada Lovelace’ın 19. yüzyılın ortalarında yayınlanmış bir bilgisayar programı oluşturan ilk kişi olduğuna inanıyor. Luigi Federico Menabrea’nın Analitik Motor hakkındaki yazılarını çeviren bir matematikçiydi.
Bu çeviride Ada, kendi kapsamlı notlarını eklemiş ve Analitik Motor için Bernoulli sayılarını hesaplamak için bir yöntem oluşturmuştu .
Matematikçi Alonzo Church’ün çalışmaları ve Turing makinesi, bilgisayar kodlarının ilk tanıtımlarıydı.
1920'lerde bilgisayarlar yaratıldı ve bunu en eski programlama dilleri izledi. Sonraki yüzyılda makineler ve teknoloji gelişmeye devam ettikçe programlama dillerinin sayısı da arttı.
Programlama dilleri türleri
Yüzlerce programlama dili var. Geliştiriciler, hangi dillerin kullanılmasının uygun olacağına karar verebilmek için öncelikle uygulamanın ihtiyaçlarını göz önünde bulunduracaklardır.
İşte birkaç popüler programlama dili.
- Python
- JavaScript
- C/C++
- Java
- C#
- Ruby
- PHP
Bu dillerden bazıları öncelikli olarak bir geliştirme alanında kullanılırken diğerleri daha genel amaçlı programlama dilleridir.
JavaScript öncelikle web geliştirmede kullanılır ve genellikle yeni başlayan web geliştiricileri tarafından öğrenilen ilk programlama dilidir. JavaScript, mobil ve oyun geliştirme için de kullanılabilir.
Python, veri analizi, makine öğrenimi ve web geliştirme gibi çeşitli alanlarda kullanılabilir.
Programlama dilleri çeşitli kategorilerde gruplandırılmıştır. İşte bazı kategorilerin bir listesi.
- Makine dili — 0'lar ve 1'lerden (ikili) oluşan düşük seviyeli bir dil. Yüksek seviyeli diller, kodun bilgisayar tarafından çalıştırılabilmesi için makine kodunda derlenir.
- Assembly dili — bir derleyici tarafından derlenen düşük seviyeli bir dil. Birleştiriciler insan kodunu makine koduna çevirir.
- Prosedürel diller — bu yaklaşım, bilgisayarda bir program yürütülmeden önce bir dizi prosedürden geçer. (Örneğin, C ve Julia)
- Komut dosyası dilleri — bu dillerin çoğu zaman derlenmesi gerekmez, yorumlanması gerekir. Bir yorumlayıcının makine kodunda derlenmek yerine kodu okuyup çalıştıracağı anlamına gelir. (Örneğin, JavaScript ve PHP)
- İşlevsel diller — bu, daha küçük işlevlerden oluşan bir koleksiyon aracılığıyla karmaşık programlar oluşturma fikriyle çalışır. (Örneğin, Haskell ve Scala)
- Nesne yönelimli diller — bu, programların nesne koleksiyonları etrafında oluşturulması fikriyle çalışır. (Örneğin, Java ve Python)
Bu makalede ele almadığımız, keşfedilecek daha birçok yazılım paradigması ve dili var. Ancak bu, çeşitli programlama dilleri için iyi bir başlangıç yapmanızı sağlayacaktır.
Programlama Türleri
Aralarından seçim yapabileceğiniz birçok programlama türü vardır. Bu makale sadece birkaç alana odaklanacaktır.
Web geliştiricisi
Bu tür programcılar web için uygulamalar oluşturur. HTML, CSS, JavaScript, PHP, Python ve daha fazlası gibi dillerle çalışacaklar.
Kendi kendinize öğretmek için çevrimiçi olarak alabileceğiniz birçok kurs vardır. Aylarca yoğun bir çalışma gerektiren bir eğitim kampından da geçebilirsiniz.
Maaşlar konumlar arasında farklılık gösterecektir, ancak bunlar yüksek ücretli işler olma eğilimindedir.
Bu alanla ilgileniyorsanız, bakmanız gereken bazı kaynaklar.
- Web Geliştirme Nedir? Web Geliştiricisi Nasıl Olunur?
- Front End Developer — Front End Geliştirme Nedir, Sade İngilizce Anlatılıyor
- Tam Yığın Geliştirici nedir? Arka Uç + Ön Uç = Tam Yığın Mühendisi
- Kodlama Programları — Online Ücretsiz Olarak Alabileceğiniz 152 Kodlama Dersi
Mobil geliştirici
Bu tür geliştiriciler, mobil cihazlar için uygulamalar oluşturur. Programlama dilleri React Native, Swift, Flutter, Java ve Kotlin’i içerecek.
Kendi kendinize öğretmek için çevrimiçi olarak alabileceğiniz birçok kurs vardır. Maaşlar konumlar arasında farklılık gösterecektir, ancak bunlar yüksek ücretli işler olma eğilimindedir.
Bu alanla ilgileniyorsanız, bakmanız gereken bazı kaynaklar.
- Mobil Uygulama Geliştirme Nedir?
- Android Geliştirmeye Başlarken
- Kodlama Programları — Online Ücretsiz Olarak Alabileceğiniz 152 Kodlama Dersi
Oyun Geliştirme
Bu programcılar mobil, masaüstü ve oyun konsolu kullanımı için özel oyunlar oluşturacaklar. Programlama dilleri C++, C# ve Lua’yı içerebilir.
Bu programcılar, küçük bağımsız oyun stüdyolarının yanı sıra Sony gibi daha büyük uluslararası şirketler için çalışacak.
Kendi kendinize öğretmek için çevrimiçi olarak alabileceğiniz birçok kurs vardır. Maaşlar konumlar arasında farklılık gösterecektir, ancak bunlar yüksek ücretli işler olma eğilimindedir.
Bu alanla ilgileniyorsanız, bakmanız gereken bazı kaynaklar.
- Yeni Başlayanlar İçin Oyun Geliştirme — Ücretsiz Unity Kursu
- Valve Portal geliştiricilerinden oyun tasarım ilkelerini öğrenin
- Kodlama Programları — Online Ücretsiz Olarak Alabileceğiniz 152 Kodlama Dersi
Bilgisayar Sistemleri Mühendisi
Bu meslek, karmaşık iş uygulamaları üzerinde çalışmak için bilgisayar bilimi ve mühendisliğini birleştirir. Programlama dilleri Python, Java ve C++ içerecektir.
Tipik eğitim yolu, bilgisayar bilimlerinde resmi bir lisans derecesi olacaktır.
Programcıların sahip olması gereken beceriler
Konu bilgisayar programları oluşturmaya geldiğinde, profesyonel bir programcının çeşitli sorumlulukları olacaktır.
İşte programlamada ihtiyaç duyulan bazı önemli beceriler.
- Temiz ve verimli kod yazma
- Problem çözme
- Test uygulamaları
- Koddaki hataları düzeltme
- İyi iletişim ve dinleme becerileri
- Bir ekip içinde iyi çalışabilme
- Sabır ve azim
Müşterinin ihtiyaçlarını analiz edip sağlam çalışan bir uygulama oluşturmak bir programcının işidir. Geliştiriciler, kodlarını araştırmak, oluşturmak, düzeltmek ve test etmek için çok zaman harcayacaklar.
Uygulama yayınlandıktan sonra geliştiriciler, ürünü korumak ve daha iyi hale getirmek için zaman harcayacaklar.
Çözüm
Bilgisayar programlama hem entelektüel hem de finansal olarak çok ödüllendirici bir kariyer olabilir. Programcıların yeni şeyler öğrenmeye ve karmaşık sorunları çözmeye istekli olmaları gerekir.
Web, mobil, oyun geliştirme veya sistem mühendisi gibi keşfedilecek birçok farklı programlama alanı vardır. Bazı alanlar örgün eğitim gerektirirken diğerleri kendi kendini yetiştiren programcılara açıktır.
Umarım bu makaleyi beğenmişsinizdir ve programlama yolculuğunuzda iyi şanslar.
Kaynak: Jessica Wilkins - What is Computer Programming?