YAZILIMIN İSVİÇRE ÇAKISI: PYTHON

Yazılım öğrenmek isteyenler için en önemli konu bilgisayar programlama mantığı anlamakdır. Bu her zaman çok kolay olmaz. Normal zekâ, duygusal zekâ gibi acaba bir de bilişim zekâsı diye bir kavram var mı diye düşünüyorum ama henüz altyapısını oluşturamadım. Bazı insanlara programlama işi çok kolay geliyor, bazılarına ise çok zor. Üniversitelerde matematikte, fen bilimlerinde, sosyal bilimlerde çok başarılı olan öğrencilerin iş bilgisayar programlamaya geldiğinde çok zorlandıkları ortadadır. Bütün iş algoritmik düşünme mekaniğinin basit şekilde anlatılabilmesinden geçiyor, bu eğitim yıllarında ne kadar erken verilebilirse meraklı gençlerin bu konuya eğilimleri de o kadar çabuk ortaya çıkar. Her işte olduğu gibi iyi bilişimcilerin ortak özellikleri meraklı olmalarıdır, merak etmeyen hiç kimse ne yaparsa yapsın yaptığı işte başarılı olamaz.

Günlük hayatta çoğu zaman farkında bile olmadan yaptığımız her işte algoritmik düşünce mekaniği vardır. Burada önemli olan eğitimcilerin bu farkındalığı eğitilenlere verebilmesidir. Bilişim eğitiminde ise algoritmik düşünme konusu çözüldükten sonra bilgisayar programlamaya çok daha rahat geçilebilir. Çoğu zaman üniversitelerde bu sıra izlenmiyor, doğrudan programlama anlatılıyor ve öğrenciler için bilgisayar programlama konusu bir kabusa dönüşebiliyor, öğrenciler bırakın sevmeyi bu işten nefret eder hale geliyorlar ve sadece üç beş tuşa basıp sosyal medyada vakit geçirmekten öteye gitmemeyi tercih ediyorlar. Bilişim eğitiminde en zor öğrenilen programlama dili ilk öğrenilen programlama dilidir. Python programlama dili ise yapısal olarak insana en yakın ve en rahat öğrenilebilen dillerin başında geliyor.

Python 1991 yılında Guido Van Rossum tarafından geliştirildi. Bu dili geliştirirken bir yandan da televizyonda Monty Python Flying Circus dizisini seyreden Van Rossum, çalışmasına Python adını vermiş, yani bildiğimiz dev piton yılanı ile bir ilgisi yok. Python her türlü programlama yaklaşımını destekleyen, yorumlamalı dil özelliği de gösteren, modüler, etkileşimli, basit ve mantıklı sentaksı ile insanın aklında en çok kalan dillerden biridir. Tüm platformları destekler. Python, sistem programlama, arabirimi, ağ, web, veri tabanı programlama, uygulama programları gibi her alanda kullanılabilir. Python ile yazılım çok hızlı geliştirilip hatalardan da kolayca ayıklanabildiğinden büyük yazılımların çalışır prototiplerini yapmakta rakibi yoktur. Python ayrıca açık kaynak kodlu bir dildir.

Python programlama dilinin bazı özelliklerini ve kullanım alanlarını şöyle sıralayabiliriz:

· Python bugün için en yaygın kullanılan çok amaçlı yüksek seviyeli bir dildir

· Programlamada hem nesne tabanlı hem de prosedürel yaklaşımları destekler. Bütün kullanılan veri tabanı yönetim sistemlerinin kullanılabildiği ara moduller mevcuttur.

· Python ‘ın en önemli özelliklerinden birisi hemen hemen her konuda 10,000’e yakın eklentisinin, kullanılmaya hazır kütüphanesinin olmasıdır.

· Yapay zekâ, makine öğrenmesi gibi ileri kavramının temelinde Python eklenti ve kütüphaneleri vardır (Tensorflow).

· GUI uygulamaları Tkinter, PyQt, Kivy gibi eklentilerle yapılabilir.

· Django, Flask gibi uygulamalarla web progrmlama yapılabilir, YouTube, Instagram, Dropbox bunları kullanıyor.

· Görüntü işlemede OpenCV, Pillow gibi destekler var.

· Web tarama işlerinde Scrapy, BeautifulSoup, Selenium gibi çok başarılı modullerle destekleniyor.

· Yazılım testleri için yine Selenium desteği mevcut.

· Bilimsel uygulamalarda ve veri biliminde Python ve R dillerinden başka bir şey düşünülmüyor bile. Pandas, NumPy, SciPy, SimPy gibi moduller bütün ileri matematik işlemleri için destek sağlıyor. Bu yüzden üniversitelerimizde bilişim eğitimi verilmesi gereken tüm bölümlerde Python eğitimi öncelikle verilmeli.

· Multimedia, imaj ve metin işleme işlerinde de sıklıkla Python kullanılıyor.

· IoT, nesnelerin internetini destekleyen birçok cihazda da gömülü olarak Mikro Python ve SQlite veri tabanı kullanılıyor.

· Gerçek zamanlı operasyonlarda Script dili olarak kullanan birçok kuruluş var. Beyaz hackerlar işlerini çoğunlukla Python ile yapıyorlar.

· Oyun geliştirmek için de ek moduller mevcut.

· Nasa, Google, Amazon, Facebook, Instagram, Dropbox, Uber gibi devler de Python kullanmaktalar.

Dünyada birçok üniversitede ve orta öğretimde Python, bilişim eğitiminde ilk öğretilen dil olarak tercih ediliyor. Şu anda en büyük yazılım kod deposu olan GİTHub’ın %30’u Python ile ilişkili kodlardan oluşmaktadır. Python’da başka hiçbir dilde olmayan özellikler de var, web taramaları çok rahat yapılabiliyor. Google ana arama motorunu zamanında Python ile yazmış, sadece bazı performans gerektiren kısımları C veya C++ ile desteklemişler. Python’ın performans konusunda sıkıntısı var. Yorumlayıcı olarak çalışabilir olması bunun bir nedeni. Ayrıca Python yapısı itibarı ile çok akıllı bir dil, C gibi değil, yazılımcının birçok açığını kapatabiliyor, bu da performansa mal oluyor tabii ki. Sonuç olarak hızlı kolay bir kod geliştirme süreci yaşanıyor, performans gerektiren modüller başka dillerle yazılıp ana gövdeye entegre edilebiliyor. Bizim de temel bilişim eğitimi verdiğimiz orta öğretimde, meslek liselerinde ve üniversite eğitiminde ilk olarak öğrencilere Python gösterilmeli, daha sonra diğer diller veya platformlar, araçlar anlatılabilir. Bu şekilde öğrenciler programlama kavramını daha rahat anlayacaklar ve bilişim alanında çalışmaya daha fazla heves etmeleri ve ilgilenmeleri mümkün olacaktır. Tabii öncelikle eğitimcilerin eğitimi sorununu da çözmek gerekir.