Programlama Sadece Bilgisayarcıların İşi mi?
Bu yazımda bir elektrik-elektronik mühendisliği öğrencisi olarak programcılığın bu alandaki önemini tartışacağım.Programcılık denildiğinde ilk olarak akla programcılar ve bilgisayar mühendisleri gelmektedir.Genel olarak program denildiğinde de (yazılım da diyebiliriz) akla gelen ilk şeyler son kullanıcıya hitap eden üst seviye yazılımlar veya işletim sistemleri oluyor.Halbuki günümüzde programcılığın önemi elektronik mühendisliğinde de oldukça artmıştır.Bunun için elektronik biliminin gelişimine bir göz atalım.
Elektronikte yaşanılan müthiş ilerlemenin belki de başlangıcı sayılabilecek olay Bell Laboratuarlarında “transistör” ün geliştirilmesi olmuştur.Bu buluşla birlikte,hantal olan diyot lambaların yerini çok daha küçük boyutta yarı iletkenler almıştır.Buna elektronik devriminin başlangıcı da diyebiliriz.
Transistörün ardından gelişen “tümdevre” teknolojisi yeni bir devrimi müjdeliyordu.Artık birçok eleman içeren devreler tek bir yonga içine sığdırılabiliyordu. Artık devreler tümleşik olarak üretiliyordu.Seri üretim ile maliyetler de çok düştü.
Elektronik dünyasındaki sonraki büyük gelişme mikroişlemciler olmuştur.Buna mikroişlemci devrimi de diyebiliriz.Mikroişlemci terimi günlük hayatımızda bilgisayarlarla birlikte giriş yaptı.Ancak burada konumuz elektronik mühendisliği olduğu için bu yönden inceleyeceğiz.Mikroişlemci teknolojisindeki gelişmeler onbinlerce transistörü ufacık bir hacme soktu.Bununla beraber imalat teknolojisindeki gelişmeler fiyatları oldukça aşağıya çekti.
Mikroişlemci devrimiyle birlikte bilgisayarlar dünyada hızla yayıldı.Bununla beraber elektronik mühendisliğinin bir dalı olmaktan çıkarak bilgisayar mühendisliği ayrı bir alan haline geldi.
Elektronik mühendisliği açısından mikroişlemcilere baktığımızda önceden belirli fonksiyonları yerine getiren sabit tasarımlı devreler yerine içindeki program ile fonksiyonları değiştirilebilen “gömülü sistemler” ortaya çıktı.Endüstride önceleri röle mantığıyla,birçok anahtarlama elemanıyla gerçekleştirilen lojik fonksiyonlar sonradan programlanabilen lojik kontrollörler (PLC) denilen cihazlarla yapılmaya başlandı.Bu cihazlar içinde bir mikroişlemci ve giriş çıkış birimlerini barındıran kompakt kontrol cihazlarıydı.Sistemde daha sonradan çıkan yeni ihtiyaçlara göre fiziki sistem üzerinde değişiklik yapılmadan yazılımın değiştirilmesi ile bu gerçekleştirilmeye başlandı.
Elektronik dünyasında mikroişlemciler giderek mikrokontrollör çatısı altına girmeye başladılar.Mikrokontrollörü içinde mikroişlemci,bellek,giriş/çıkış birimleri barındıran bütünleşik bir sistem olarak tarif edebiliriz.Ya da başka bir deyişle tek çiplik bir bilgisayar.Bilgisayarımızın ufak bir modelidir aslında.
Mikrokontrollörler büyük bir hızla elektronik sektöründe yerlerini aldılar.Bugün dünyada yılda milyarlarca mikrokontrollör üretilmektedir.Ortalama bir aile arabasında 20 kadar mikrokontrollör bulunmaktadır.Örneğin abs fren sistemi kontrolünde,elektronik ateşleme sisteminde,cd çalarda,alarm sisteminde…
Artık evimizde bizim görmediğimiz birçok minik bilgisayar haberimiz olmadan kendi işlerini yapıyorlar.Müzik dinlediğiniz cd çalarınız,evinizdeki mikrodalga fırınınızda,televizyonunuzda hatta otomatik zaman ayarlı oda parfümünüzde ufak bilgisayarlar gizli.
ELEKTRONİK MÜHENDİSLİĞİ VE PROGRAMCILIK
Elektronikten ortaya çıkmış programlanabilen cihazlar yine elektroniğin içine böylesine girmişken,programcılık mantığından uzak bir elektronik mühendisliğinden de artık söz edilemez olmuştur.Ancak ne yazık ki elektrik-elektronik mühendisliği müfredatlarına baktığımızda bu konuda büyük eksikliklerin olduğu görülmektedir.Temel bilgisayar bilimleri dersleri adı altında bir programlama diline (büyük oranda C’ye) üstün körü değiniliyor,yapılan uygulamalar da adres defteri yazmayı geçmiyor.Temel programlama mantığı öğretilmediği için işin içine ezber giriyor.Programcılık da tamamen matematiksel bir mantığa dayandığından ezberle halledilebilecek bir şey değil.
Eğer elektronik konusunda ciddi olarak çalışma yapmak istiyorsak, programcılıktan uzak kalmamız mümkün değil.Programlama konusunda kendimizi mümkün olduğunca geliştirmeliyiz.
PEKİ NEREDEN BAŞLAYACAĞIZ?
4 Senelik mühendislik müfredatında programcılık ile ilk tanıştığımız ders “temel bilgisayar bilimleri” ya da değişik adlarla olabiliyor.Burada ilk olarak öğrenmemiz gereken şey bilgisayarın temel yapısı ve birimleri.Ardından bütün programlama dillerinde bulunan belirli yapıları öğrenmeliyiz.Tabiki hepsinden önemlisi “algoritma” öğrenmek.Algoritmayı kısaca “bir işi yapmak için izlenecek yol” diye tanımlayabiliriz.Bir problemi dijital bir bilgisayara(mikrokontrollör,PC vs…) çözdürebilmek için öncelikle onu bilgisayarın anlayabileceği şekilde ona anlatmalıyız.Bunun için problem belirli adımlarla tanımlanmalı ve bir programlama diliyle bilgisayara aktarılmalıdır.
Algoritmadan sonraki aşama bir programlama diliyle bu algoritmaların çalıştırılmasıdır.Başlangıç olarak PASCAL,BASIC gibi diller programcılığa ısınmak için ideal olabilirler.Ardından adını çokça duyduğumuz meşhur C’ye geçiş yapılabilir.C günümüzde hala popülerliğini koruyan bir dildir.Elektronikte de mikrokontrollörlerin programlanmasında büyük oranda bu dil kullanılmaktadır.
Burada kendi görüşlerim etrafında programcılığın elektronik alanındaki önemini tatırşmaya çalıştım.Umarım bu konuda kendini geliştirmeye çalışan arkadaşlar için ufak da olsa bir yol gösterici olabilir.
Coskun TAŞDEMİR
coskuntasdemir@gmail.com