Ana içeriğe atla

Amaç Algoritma Kod Program

 Algoritma Nedir? - BİLİM - SiberReal-Yeni Nesil Bilim ve Teknoloji ...


  Çok ama çok önemli bir şey anlatmak istiyorum. Bu yazı benim için çok önemli bir yazı ayrıca. Eğer beni biraz tanıyorsanız, yazılıma ve bilgisayar dünyasına ilgili olduğumu biliyprsunuzdur. Evet ben yazılım ve bilgisayar dünyasına çok ilgili birisiym bilmeyenler de bu sayede öğrenmiş oldu. Ayrıca şu sıralar da  C programlama dilini öğrenmek için çalışmalara başladım diyebilirim. 


  Bu benim ilk defa bir dil öğrenme girişimim değil. Daha öncesinde de visual basic ile bu maceraya başladım diyebilirim. O zamanlar daha ilk okul zamanlarımdı hatta fen bilgisi proje ödevimde visual basic ile bir  program yazmıştım. Tabii sonradan malum eğitim sistemimiz ayrıca benim üşengeçliğim ve vakit ayırmamam gibi yan sebepler etkisiyle bu işleri bıraktım ve kod yazmayı falan unuttum diyebilirim. Daha sonra tekrardan çok yüksek ilgimin olduğu bu alana eğilecek zaman buldum ve araştırmalarım ayrıca kendi fazlaca isteğim merakım dolayısıyla c++ öğrenmeye başladım. Çok temel düzeyde c++ öğrendim diyebilirim ve basit programlar yaptım. Fakat c++ işe uğraşmak bana resmen bir vizyon kattı diyebilirim. Visual Basic gibi artık bir arayüz ile karşı karşıya değilsiniz yani başlangıç olarak ve konsol üzerinde çalışan uygulamalar yazıyorsunuz ayrıca yazım konusunda da dikkat etmeniz kurallar visual basic’e göre daha fazla. Fakat c++ size daha çok şey öğretiyor diyebilirim. Çünkü öğrenmeyi öğrenmeye başlıyorsunuz ve bilgisayara nasıl yaklaşmanız gerektiğini anlamaya başlıyorsunuz. Program dendiği zaman program nedir ne yapar neden yapar nasıl yaparı bu dil sayesinde daha iyi öğrendim diyebilirim. Bundan sonrada işte yazımızın konusu ve en önemli kısmı olan amaç kısmına geliyoruz. Kendi tecrübelerimden yola çıkarak hazırladığım bir yol haritasını size sunuyorum. 

  

  Bence bir kişi eğer program geliştiricisi ve yazılımla ilgili bir iş yapmak istiyorsa ilk önce o kişinin öğrenmesi gereken şey bilgisayardır. Bilgisayar hakkında ortalama üstü seviyeye sahip olması gerekir. Ram nedir işlemci nedir kablolar nasıldır gibi. Bunları bilmesi gereklidir. 


  İkinci kısım ise buna ilgili olmalı ve bu işi istemelidir. Peki bunu nasıl anlayacağız? Çok basit anlayacağız. Heves ve ilgi alaka güçlü istek arasındaki farkı nasıl anlarız. Heves gelip geçicidir. Mesela dövmeci olmayı istiyor olabilirsiniz ama beş gün sonra on gün sonra bir ay sonra bu isteğinizden temelli vazgeçiyorsanız bu bir hevestir diyebiliriz. Yine kendimden örnek vereyim ben çok küçük bir çocuk iken bilgisayar işlerine merak sardım ve buna meylettim. İlk defs bilgisayarla tanıştığımda yedi yaşındaydım. Ve beni bu işe programcılığa meylettiren şey neydi size söyleyeyim mi? Hile yapmak. Evet oyunlarda hile yapmak. Hepimizin oynadığı oyunlar var yarış oyunları, nişancı oyunları, moba oyunları gibi oyunlar. Ben de o dönemlerde oynadığım oyunlara hile yapmak istiyordum ve yapıyordum da. Mesela bir savaş oyununda hile yapmak istediğinizi varsayalım. Yapmanız gereken internete giripte oyununuzun ismini yazmak ve sonra yanına trainer yazmak olur. Sonra karşınıza çıkan bir siteden hile programını indirirsiniz, gerekli yönergeleri izleyip oyununuzda sonsuz mermi, sağlık gibi hilelere ulaşmış olursunuz. İşte bu noktadan itibaren çoğu çocuk veya kişi hileyi açar oyunu oynar sonra sıkılır çıkar veya devam eder oyunu bitirir. Ben o programları yüklerken, açtığım zaman, hep bu hile programlarını nasıl yapıyorlar bu programlar nasıl çalışıyor, nasıl bilgiler edinirsem ben de hile yapabilirim gibisinden düşünceler içerisindeydim ve bu düşünceler daha sonra gerçek oldu. Hani size demiştim ya visual basic ile fen bilgisi dersine proje yapmıştım diye peki sizce o projeyi yapabilecek visual basic bilgisini nasıl öğrendim. Elbette daha öncesinde başka oyunlara hile programları yaparak. Şu anda da bu ilgim devam ediyor ve ilgimi çeken bir siteye girdiğimde, bir programı açtığım zaman, bir oyuna girdiğimde hep aklıma bunu nasıl yapıyorlar neyi bilerek yapıyorlar gibisinden sorular geliyor. Aslında bunları öğrenmek için biraz geç kaldım diyebilirim ama hala öğrenmek istiyorum ve öğrenmenin yaşı olmaz diye düşünüyorum. İnsan isterse her yaşta her şeyi öğrenemese bile çoğu şeyi öğrenebilir. Kosacası ben hala istiyorum ve öğreniyorum da yani heves değil bu benim için, bir tutku. Evet bir tutku. 


  Üçüncü aşamamız ise programlama felsefesini öğrenebileceğiniz bir dili öğrenmek olmalı. Ben ilk defa bu işlere girdiğimde visual basic ile girmiştim fakat bu cahilce bir girişti. Daha doğrusu bana çok şey öğretti fakat bu giriş doğru bir giriş değildi diyelim. Çünkü bence ilk önce öğrenilmesi gereken şey programla felsefesidir. Bir program nasıl yazılır. Temel prensipler nedir. Hangi yapıları kullanarak program yazarsınız. Kütüphaneler nedir gibi yerleri etkili ve iyi bir şekilde öğrenebileceğiniz bir programlama diline ihtiyaç var. Ve çoğu ama çoğu yerde en çok tavsiye edilen dil de c dilidir. Zaten çoğu ünüversite de c dilini öğretir. Çünkü hem neredeyse tüm dillerin atasıdır hem de sizin işlerinizi görür ama en önemli noktası size işi başlangıcı öğretir. Zaten kimse c bilip hayatının sonuna kadar öylr kalmıyor siz ileride daha farklı dilleri öğreneceksiniz daha işinize yarayan dilleri öğreneceksiniz zaten fakat bu dilleri neye göre nasıl öğreneceksiniz? İşte bu yüzden temel olarak c yi öğrenmek sonra da c++ öğrenmek ve oradan sonra da hangi alana yönelecekseniz o dilleri öğrenip ustalaşmak sizin için olabilecek en iyi şeydir. Bu arad öğrenmek derken şunu da kastetmiyorum. Ben bu dili biliyorum demek değil temel ve orta düzeyde bilmekten bahsediyorum. Zaten hiçbir kimse de çıkıp ben bu dili biliyorum diyemez çünkü bilgisayar programlama dillerinin sonsuz bir potansiyeli vardır. Ama şunu söyleyebilirsiniz: temel ve orta düzeyde biliyorum ve aklıma gelen veya yapmam gereken projeleri gerçekleştirirken bu dili kullanırken zorluk çekmiyorum. Bence öğrenmek budur. Elbette buradaki söylenen şeyin biraz teorik olduğunu anlamışsınızdır belki aklınıza işlemciye driver yazmak gibi veya direkt olarak bir işletim sistemi yazmak gelir ve bunu belirli bir düzeye kadar da yapabilirsiniz ama olay bu değil olay onu yapabilecek donanıma, bilgi birikimine sahip olmak. 


  Dördüncü aşamamız ise zaten C dilini öğrenirken çoğu yerde yaşayacağınız: ben ne yapıyorum, ne yapmak istiyorum, nasıl yaptırmam gerekiyor sorularına. Bu sorunun cevabı ise algoritma. Basit bir programlama geçmişim var ama bu geçmişte öğrendiğim en detaylı ve en önemli şey şu: Doğaçlama Program yazamazsınız. İlk önce bunu anlamanız gerekli. Bir program yazma fikriniz olabilir. Mesela akıllı telefonunuz için bir kamera programı yazmak istiyorsunuz. Tamam çok güzel açıyorsunuz yazmaya başlıyorsunuz pat diye; sonra ne oldu? Tıkanıp kaldınız sonra da yazmaktan vazgeçtiniz, yazamadınız. Çünkü bir plan ve programınız yok bir. İki de programınızın nasıl çalışacağına dair bir algoritma yazmadınız, oluşturmadınız kafanızda. İlk önce sensöre düşen ışık bilgisi okunacak, sonra o bilgi kaydedilecek, sonra o bilgi işlenecek, ve belirli bir fotmata dönüştürülüp kaydedilecek. Çok basit bit algoritma yapmaya çalıştım belki yanlış yaptım ama olay da bu zaten. İlk önce algoritma yapmanız gerek. Bir programın başarısındaki en büyük paylardan birisi algoritmadır bence. İyi algoritmalar iyi programlae yaratır. Algoritma zekasını geliştirmek için de yaratıcı olmak, matematiksel zeka gibi şeyler öne çıkıyor. Aslında biz 1. Sınıftan beri algoritmalarla uğraşıyoruz bilmeden. En basitinden algoritma bir isteği bir problemi çözüme ulaştıracak yolun tarifi adım adım yazılmış hali değil midir. Biz zaten bunu hep yapıyoruz ama bilmeden. Artık bilerek yapacaksınız. 


  Beşinci aşamamız ise kodlamak elbette. Artık elinizde bir fikir var. O fikrin hangi aşamalardan geçerek uygulanacağını ve gerçekleştirileceğini belirlediniz yani algoritmanızı oluşturdunuz. Ee sırada ne var bu algoritmayı programa dönüştüreceksiniz. Programa dönüştürmek için de derdinizi bilgisayara bilgisayarın anlayacağı dilden anlatmanız gerekli. Yani kodlamaktan bahsediyoruz. Oluşurtduğunuz algoritmayı kodlayın. Bunu yaparken kendi tarzınız olabilir fakat bunu sonradan güncelleyebileceğinizi unutmayın. Ve hata yapabileceğinizi de aklınızdan çıkartmayın. Bu halde yazdığınız kod düzenli olmalı. Ayrıca sizin dışımızdaki insanları da geliştricileri de düşünün ve sizden başka o koda bakacak olanların yazdığınız şeyi daha kolay anlamasını sağlamak için kodunuza yorum satırları ekleyin. Hem bu sayede aldığınız verim çok çok artacak güvenin bana. 


  Artık son aşamadayız. Kodumuzu yazdık ve programımızı elde ettik. Sırada ne var oh oturmak dinlenmek yok tabiki. Yapacağımız şey test etmek. Programımızı test edeceğiz. Hata olup olmadığına bakacağız. Her şeyin çalışması gerektiği gibi çalışıp çalışmadığını deneyeceğiz. Bu denemeler bize mükemmele yakın programı verecek en sonunda. Tebrik ederim. 

  

  Okuduğunuz için teşekkür ederim. Bundan sonra yazılarımı biraz daha bilgisayar eksenli bir düzeleme kaydırmayı düşünüyorum özellikle de yazılım kodlama, o gün öğrendiğim şeyler faydalı bulduğum şeyler ama genel olarak yazacağım yine her zaman olduğu gibi. Kendinize dikkat edin. 

  

  Umarım keyif alarak okumuşsunuzdur. Benimle görüşlerinizi paylaşmayı unutmayın. Yorumlarınız değerli. Ayrıca bloğuma bir iletişim sayfası ekledim. Oradan bana e posta gönderip ulaşabilirsiniz. 


  Görüşürüz

Yorumlar

Bu blogdaki popüler yayınlar

Eski Olması Bir Filmi İzlenmez Kılar mı?

    Geçenlerde bir arkadaşıma bir film önerdim. Muhtemelen izlemişsinizdir. Filmin adı Forrest Gump. Ben normalde bu filmi 1998 yapımı sanıyordum. Meğersem film 1994 yapımıymış. Her neyse arada sadece 4 yılcık var ne olacak diyebilirsiniz ve haklısınız size katılıyorum. Sonuçta ikiside eski filmler.    Peki önerimin sonrasında ne oldu? Filmin yapım yılını gördü ve 1994 mü sg dedi bana. Ben de sen filmden ne anlarsın kültürsüz yaratık gibi bir söz söyledim ona. Elbette arkadaşımın böyle bir tepki vermesini anlıyorum aşırı derecede haksız sayılmaz. Çünkü bir noktada ben de eski filmlere böyle ön yargılıydım, sonra bir noktada kırdım bu ön yargıyı.     Starwars sever misiniz? Hiç duydunuz veya izlediniz mi? Starwars güzeldir. Tavsiye ederim. Yüzüklerin efendisi gibi iyi ve kötünün mücadelesini işleyen etkili bir şekilde izleyen nadir filmlerdendir diyebilirim. Ben de çoğu insan gibi eski filmlere karşı ön yargılıyken (elbette 99 yapımı- 98 yapımı filmleri izlemişliğim vardı) bir gün evde

Patates Kızartmaları ve Mutluluk

   Merhaba. Size kısa bir yazıda son zamanlarda yaşadığım ve beni mutlu eden bazı şeyleri anlatmak istiyorum. Bu yazı uzaktan bakınca size belki biraz şükürcü gelebilir ama kesinlikle öyle değil. Sadece birkaç yaşanan durum ve bu durumlar karşısında hissettiklerimi paylaşmak istiyorum.     Hani söylenegelen bir şey, bir soru var ya; mutluluk nedir? Ne olsa sizi mutlu ederdi? Hiç düşünüyor musunuz bunu? Bilmiyorum. Ben de çok fazla düşünmüyorum aslında. Yalnızca mutlu olduğumda hatırlıyorum bunu. Peki nasıl mutlu olduğumu öğrenmek ister misiniz?    Belki size anlamsız gelecek bunlar. Ama lütfen sadece bir an olsun beni anlamaya çalışın. Ben patates kızartmasını çok severim biliyor musunuz. Ama öyle gelişi güzel kızartmalardan bahsetmiyorum. Böyle şekli güzel olan, güzel kızarmış ve en önemlisi de sıcak olmalı. Sıcak olmayınca sevmiyorum. Belki siz de böylesinizdir. Peki toplu bir yaşam alanında yaşıyorsanız neler olur? Yemekler pek güzel olmaz genelde. Patatesler soğuktur, birbirine yap

Unutmak İstiyorum

    Keşke bir tuş olsa. Rengi önemli değil; size hangisi hoş geliyorsa o olabilir. Kırmızı mesela. Genelde filmlerde tuşlar kırmızı renkli oluyor. Gerçi gerçekte de kırmızı renkli oluyorlar. Neyse işte. Bir tuş olsun demiştik ama bu tuş gerçekte değil zihnimizde olsun? Evet evet zihnimizde. Böyle gidip elinizle ulaşabileceğiniz bir noktada değil. Bu bir şans olsa, o tuşa uzanıp bastığınızda bazı durumlar gerçek olsa yapar mıydınız?     Tabi olabilecek durumlar tamamen gerçekçi, mesela o tuşa bastığınızda geçmişe gidemiyorsunuz, yalnızca ileriye dönük olaylar olabiliyor. Mesela hafızanızdan bazı olayları silme şansı veriliyor size. Kötü, veya gereksiz, ya lanet olsun keşke yaşanmasaydı dediğimiz türden olaylar, unutmak istiyorum dediğimiz olaylar? Ne dersiniz? Keşke olsa ama olmayacak.   Yaşım ilerledikçe keşke unutsam dediğim olayların sayısı artıyor. Sizin de artacak. illa kötü yönde değil. İyi yönde de. Keşke okuduğum veya izlediğim bir filmi unutsam da tekrar izlesem ve aynı duygula