Ana Sayfa   -   Forum   -   Dersler   -   Dosyalar   -   Kaynak Siteler   -   E - Kitaplar   -   Etiketler

Aramıza Katılmakla Hiç Bir Şey Kaybetmezsiniz...
Forum Ana Sayfa | Makaleler | Bilgisayar Programciligi Cevap Yaz
Sayfa: Yazıcı Görüntüsü

Gönderen Konu: Bilgisayar Programciligi (Okunma Sayısı: 407)
WeBCiX
Normal Üye
Çevrimiçi
İleti Sayısı: 1
Makale Sayısı: 0

Üye resmi bulunmuyor



İletiyi İndir | Yazıcı Görüntüsü | 2008-03-16 20:04:53 alıntı ile cevapla

Nedir bu bilgisayar programciligi ? Zor mu? Deli isi mi?

Evet birçok kisi bilgisayar programcilarinin ne ile ugrastigini bilir fakat nasil ugrasip neler yaptigini pek bilmez... Bu konulara sayfamda biraz özet olsa da deginecegim. Önce bilgisayar dünyasinda sikça kullanilan bir kelimeden bahsedeyim yazilim...

Yazilim(software) kelimesi bilgisayar programlama dilleriyle olusturulan dökümanlari, dosyalari ifade eder. Yani bilgisayarinizda isletilmek, çalistirilmak üzere tasarimlanmis dosyalar yazilim kapsanina girer.

Bu dosyalar nasil yapilir ?

Yazilim programlama dilleri ile tasarlanir ve yazilir,programlama dili de nedir? derseniz.Programlama dilleri, bilgisayarinizin donanimini(ekran karti, ses karti, modem, mouse, klavye...) sizin en rahat biçimde kullanabileceginiz düzeye getirmeye çalisir. Yani bilgisayarin o soguk 1010110 gibi rakamlarini sizin zevkle kullandiginiz programlara, isletim sistemlerine, oyunlara çevirir.

Örnegin kullanilmakta olan Windows isletim sistemi onbinlerce sayfa milyonlarca bilgisayar kodunun biraraya gelmesinden olusur. Iste isin tüm zorlugu, o kodlarin arasinda dolasan, hata mesajlarini günlerce kodlari gözden geçirerek arayan, sandalye tepesinde saatlerce ayni ekrana bakarak ilginç görüntüler sergileyen programcilarin üzerindedir...

Bilgisayar programcilari isini zevkle yapan ve isini bir hobi edinmis insanlardan olusur, en azindan öyle olmali. Aksi halde yogun konsantrasyon ve sabir isteyen bu isi yapmak asiri zorlasir. Neyse... Programlama dillerinden bahsediyorduk Programlama dilleri kendi aralarinda siniflara ayrilmislardir. Insanin en zor ögrenebilecegi, anlayabilecegi yani 1100101 gibi makina kodlarina yakin diller en düsük seviyeli(low level) programlama dilleri, insanin en kolay anlayip kullanabilecegi ve insan diline yakin özellikler gösteren diller ise en yüksek seviyeli(high level) programlama dilleridir. Simdi bu siniflandirmaya örnekler verelim;

* Çok yüksek seviyeli diller : VisualBasic, VB.NET, Acces , Foxpro ...
* Yüksek seviyeli diller: Pascal ,Basic ,Fortran...
* Orta seviyeli diller: C ,C++, C# , Java ,ADA...
* Düsük seviyeli diller: Assembly...
* Makina dilleri: Bilgisayarin çalisma dilleri 1 ve 0'lardan olusur...

Bu dillerin kullanildigi alanlara örnek verirsek;

* Bilim ve Mühendislikte: Pascal ,C ,C++ ,Java ,Fortran...
* Veritabani Programciliginda: Dbase ,Acces ,Foxpro ,Sql...
* Yapay Zeka Kullaniminda: Prolog ,Lisp...
* Sistem Programciliginda: C ,C++ ,Java ve sembolik makina dilleri...

Bir bilgisayar programi nasil yazilir ?

Bir yazilim degisik dillerle olusturulabilir fakat izlenen yöntemler genelde birbirine benzer.Örnegin Algoritma...

Algoritma, elimizdeki sorunun çözümüne gidebilmek için tasarlanan yollar,yöntemlerdir. Örnegin bir arkadasiniza daha önce gitmedigi bir yerdeki bir postaneyi tarif edeceksiniz. Bunun için anlatimda genelden özele giden bir yol izlersiniz. Önce gidecegi semti sonra caddeyi sonra postanenin oldugu yönü tarif eder son olarak da kolay bulmasi için postanenin çevresindeki göze batan özelliklerden bahsedersiniz.Iste bu yaptiklariniz bir algoritmadir. Ve amaciniz arkadasiniza postaneyi bu algoritma yardimiyla tarif etmektir...

Bilgisayar programlama dilleri de programcilikta bunu gibi yöntemler kullanarak çözüme gider. Algoritmanin uzunlugu kullanilan programlama dilinin seviyesi ve problemin karmasikligi ile dogru orantilidir.

Yapilan algoritma ve tasarimdan sonra yazilim asamasina gelinir ve bu asamada yapilacak programin kullanim ömrü, programin kullanim düzeyi ve hangi amaçla kullanilacagi gibi sorularin cevaplarina bakilarak programlama dili seçilir. Dil seçimi bazi kriterlere göre yapilmaktadir, örnegin kisa sürmesi ve görsel tasarim içermesi, veritabani iletisimi yogun kullanilmasi gereken bir program yapmamiz gerekiyor olsun. Bu durumda Assembly dili ile yola çiktigimizda bahsedilen proje birkaç kisilik deneyimili bir programci grubu ile birkaç yil alir. C ile iki programci ayni isi üç dört ayda VisualBasic veya Delphi ile bir programci bahsedilen isi bir iki aya yakin bir sürede yapabilir.

Baska bir açidan örnek verirsek örnegin bir ekran karti programlamamiz gerekiyor ve bu kartin driver'ini ( sürücüsünü ) biz yazacagiz. Bu durumda bu isi VB veya Delphi ile yapmamiz imkansizdir, kullanmamiz gereken diller öncelikle Assembly ve C/C++ olmalidir.

Evet, programlama dillerinin kendi alanlari vardir ve her dil kendi bransinda kullanildigi sürece basarili ve etkili kullanilmis olur. Buraya kadar anlattigimi özetlersem.

Bir bilgisayar programi yazmak için belli asamalar vardir ve bu asamalar geçildiginde kodlamaya baslanabilir. Bunlar:

* Analiz
* Algoritma
* Dil Seçimi
* Kodlama

Analiz ile gerçeklestirilmek istenen proje tasarimlanir ve parametreleri arastirilir.Algoritma ile adimlar tayin edilir. Dil seçimi ile en uygun programlama dili seçilir. Ve kodlamaya baslanir...

Kod yazildiktan sonra da bazi asamalardan geçer bunlar da genel olarak :

* Test ve Debug
* Pilot denemeler ve ilk versiyon denemeleri
* Hazir halde çalisir programi sunma

Programlama Dilleri

Bu bölümde programlama dillerinin kullanildiklari alanlari ve özelliklerini inceleyecegiz. Programlama dilleri uygulama alanlarina göre dörde ayrilir:

* Bilimsel ve Mühendislik Alaninda : Üniversitelerde ve bilimsel kuruluslarda mühendislik veya matematik hesaplari için kullanilan bu dillere örnek; Pascal, C, C++, Java dilleridir.
* Veritabani Kullaniminda : Genellikle Personel kayitlari, fabrika stok veya depo denetimi gibi veritabani gerektiren islemlerde kullanilan diller;DBASE,SQL,FOXPRO,PARADOX gibi veritabani dilleridir.
* Sistem Programciliginda : Isletim sistemlerinin ve sistem programlarinin yaziliminda kullanilan dillere örnek, C ,C++ ,Java ve makina dilleridir.
* Genel Amaçli kullanim : Çesitli konularda uygulama gelistirmek için kullanilan dillere örnek,C ,C++ ,Java ,VB ve Pascal'i verebiliriz.

Son yillarda programlama dillerinde nesneye yönelik tasarimlar yapilmis ve bu dillerin çogunun nesneye yönelik programlama yapabilen uyarlamalari çikmistir. Nesneye yönelik programlama, programcinin kendi sinifini ve nesnesini olusturup bunun üzerinde islemler yapmasina olanak saglayan ve programlama dillerinin geldigi son asamalardan birisidir. Bu konu oldukça kapsamli olup bunun genis açiklamasini burada yapmayacagim.

OOP(Object Oriented Programming) yani Nesneye Yönelik Programlama'nin kullanilmasiyla ve Visual programciligin da gelismesi ile beraber ortaya oldukça güzel görünümlü ve kullanisli programlar çikmaya basladi. Bu bilgisayar programlarina olan ilgiyi arttirdi ve bu konulardaki arastirmalari hizlandirdi. Sonuçta su anda, pekçok dilin artik nesneye yönelik olan ve visual özellikler içeren sürümleri kullanilmakta ve tercih edilmektedir. Örnegin: C++ ,Visual C++ ,C++ Builder ,Delphi ,Java...

Internet'in de yayginlasmasiyla programlama dillerine yeni özellikler eklendi ve internet'te kullanilabilecek nitelikte görsel özellikli diller çikarildi. Örnegin HTML, kullanicinin dikkatini çeken renkli ve hareketli arabirimiyle her geçen gün yeni ekler ile gelismektedir. JavaScript ve VBScript iki script dili olarak HTML'ye getirdigi ek özelliklerle çokça kullanilir oldu. Ve asp ile veri tabanini aktif kullanima sunma, aktif sayfalar hazirlama olanagi elde edildi.

Görüldügü gibi özellikle internet'in gelismesi ile birlikte programlama dillerinin yapilacak ise veya kullanilacak platforma göre degisik özellikler gösteren uyarlamalari çikti. Bu durumda web teknolojisini izleyen ve internet üzerinde yazilim gelistirmek isteyen bir programcinin javascript ,vbscript ,java ,HTML gibi dilleri bilmesi ve bu konularda kendini gelistirmesi gerekir. Uygulama programlarina ,ticari programlara, veya isletim sistemlerinin kullanimina yönelik yazilim gelistirmek isteyen programcilarin da C++ ,Java ,Delphi gibi son zamanlarin en popüler dilleri üzerinde çalismasi, bunlari ögrenmesi gerekir.

Internet programciligi, esnek mimari, OOP gibi konularda söylenmesi gereken önemli bir nokta da Java'nin programlama dünyasina getirdigi önemli bir özelliktir. Java nin çikmasi ile atilan önemli bir adim da platform'dan yani isletim sisteminden bagimsiz olarak çalisan, her sistemde çalisabilen, programlarin yazilabilmesidir. Ileriye yönelik bir bakis açisi ile bakildiginda cep bilgisayarlarinin, kablosuz cihazlarin, cep telefonlarinin siklikla kullanilacagi ve artik PC lerin döneminin kapanmaya basladigi düsünülürse birçok cihazda çalisabilecek programlarin yazilmasinin önemi anlasilabilir. Java son yillarda programlama dünyasina gelmis en iyi programlama aracidir ve yeni çikacak programlama dillleri de Java'nin birçok özelliginden esinlenmektedir.

Simdi programlama dillerine özet bir bakis yapalim;
C

Yapisal programlama dilleri arasindadir. Ögrenilmesi zaman almasina ragmen oldukça kullanisli ve esnek yapisi ile adindan yillarca bahsettirmis, bilgisayar programciliginin temel dillerinden biridir. C ile bilgisayariniza bir sistem yazmaktan bir oyun yazmaya veya printer kontrolü yapmaya kadar her türlü islem yapilabilir ve bu özelligi sayesinde kullanim alani çok genis bir dildir.
C++

Nesneye yönelik programlama yapabilen diller arasindadir. C'nin saydigimiz tüm özelliklerine ek olarak güçlendirilmis nesne yönetim özelligi ile su anda bilgisayar dünyasinin en çok kullanilan dillerinden biridir
C#

Nesneye dayalidir(OOP). C++ in ve Java'nin pozitif yönlerini bünyesinde birlestirmis yeni bir dildir. Programciya internet uygulamalari ve yerel uygulamalar yazmakta bazi kolayliklar getirmistir. Ileriye dönük olarak microsoft'un java teknolojisine rakip olarak ortaya sürdügü bir programlama dilidir ve microsoft'un bu konulardaki (internet uygulamalari) yelpazesini genisletmeye yönelik bir atilimdir. Microsoft teknolojileri kullanacak programcilarin C#'i ögrenmeleri zamanla gerekecektir ve öncelikle ögrenilmeye baslanmasi da avantaj getirecegi açiktir.
Java

Nesneye yönelik dillerdendir. Son yillarda gelistirilmis bir dil olup modern ve yenlikçi altyapisi ve visual özellikleri ve sürekli gelisen kütüphane (library) destegi ile gün geçtikçe kullanimi artan bir dil olmustur. Java dili hemen hemen her alanda kullanilabilen esnek ve güçlü bir dildir.
VB.NET

Nesneye dayali bir dildir. VisualBasic(VB) teki biçok özellik bu dilde yeniden yapilandirilarak degismistir. Yapisina bakilirsa VB den ayri yeni bir dil gelistirilmis denilebilir. Eklenen bazi özellikler ile VB de yapilamayan birçok islem artik yapilabilmektedir ve OOP nin özellikleri desteklenerek daha verimli kod yazmaya olanak saglanmistir. VB programcilarinin VB.NET'e geçisleri kolay olmayacak olsa da VB yerine VB.NET kullanimi gün geçtikçe artacaktir. VB.NET internet uygulamalarindan yerel uygulamalara kadar kullanim imkani genis bir dildir.
Delphi

Pascal tabanli bir dil olup nesneye yönelik programlama yapabilme özelligi tasir. Ögreniminin çok zor olmayisi ve üniversitelerde pascal egitiminin agirlikli verilmesi nedenleriyle çogu bilgisayar programlama ögrencisinin tercih ettigi bir dildir.Visual programlama özelligi tasir.
Pascal

Pascal Yapisal bir dildir, C 'ye benzerlik gösterir. Ögrenilmesinin zor olmayisi ve bilgisyar egitimi veren okullarda okutulan bir ders olmasi sebebiyle kullanim alani genelde üniversiteler ve bilimsel hesaplamalar yapan kurumlardir.
VisualBasic

Basic tabanli bir dil olup ögrenilmesi kolay, kullanim alani genis bir dildir. Özellikle görsel uygulamalarda projenin arabiriminin hizli yazilmasini sagladigi için genelde kullanici arabirimi tasarimlarinda kullanilir. Kapsamli veya çok kullanicili uygulamalarda kullanilmaz. Kullanici sayisi az olan veya kisa sürede bitmesi gereken küçük ölçekl projelerde tercih edilen bir programlama aracidir. Yogun olarak kullanilmaktadir

Programlama dillerinin hepsini incelemeye imkan olmadigindan çok kullanilan bir kisim dilden bahsettim. Her dilin kullanim amaci ve yönelimi farkli olabilir önemli olan hedeflediginiz konularda size yardimci olacak dili seçip onunla çalismanizdir.

...

Gönderen

Gönderen Konu: Bilgisayar Programciligi (Okunma Sayısı: 407)

syndata
Normal Üye
Çevrimdışı
İleti Sayısı: 16
Makale Sayısı: 0





İletiyi İndir | Yazıcı Görüntüsü | 2008-03-16 22:22:21 alıntı ile cevapla

teşekkürler WeBCiX sonuna kadar okudum. çok faydalı, detaylı güzel bir yazı.

olmak yada olmamak...

Gönderen Konu: Bilgisayar Programciligi (Okunma Sayısı: 407)

altayalp
Yönetici
Çevrimdışı
İleti Sayısı: 20
Makale Sayısı: 91





İletiyi İndir | Yazıcı Görüntüsü | 2008-03-16 23:30:22 alıntı ile cevapla

sağol webcix. güzel bir yazı. eline sağlık.

Kim bildiklerini başkalarına öğretirse, ALLAH da ona bilmediklerini öğretir Hadis-i Şerif...

Gönderen Konu: Bilgisayar Programciligi (Okunma Sayısı: 407)

cimilli
Normal Üye
Çevrimdışı
İleti Sayısı: 8
Makale Sayısı: 0

Üye resmi bulunmuyor



İletiyi İndir | Yazıcı Görüntüsü | 2008-03-18 00:17:02 alıntı ile cevapla

güzel bir yazı olmuş. baştan sona okudum

...

Cevap Yaz
ÜYE GİRİŞİ
Kullanıcı Adı:              Şifre:             
Yükleniyor İşlem Yapılıyor Lütfen Bekleyin...
  Şifremi Unuttum , Yeni Üye Kaydı

Sayfa: Yazıcı Görüntüsü

Forum Ana Sayfa | Makaleler | Bilgisayar Programciligi


Tüm AYYILDIZ sevdalılarına, Aziz ŞEHİTLERE, VATAN kutsaldır diyen yiğitlere ithaf olunmuştur.


© altayalp 2007 Her Hakkı Saklıdır
İzinsiz kullanılamaz. Enderûn İçerik Yönetim Sistemi
Çalmak, Çırpmak Haliyle Yasaktır
ve maalesef en iyi internet explorer ile izlenir
eXTReMe Tracker