Programlamaya Giriş [C#.NET]

Veteran 7

El Patrón
26 Ara 2011
11,501
12,854
Programlamaya Giriş (C# .NET)


Bu makalede, bir programcının bilmesi gerek temel programlama kavramlarına giriş yapılacaktır. Bir programı oluşturan öğeler, çalışma süreci tamamlanana kadar geçtiği aşamalar ayrı ayrı işlenecektir. Bu kavramlar programcının ve programlama dillerinin tanımlanmasına yardımcı olacaktır.


Bu makalenin sonunda:

  • Bir programın çalışma prensibini açıklayabilecek,
  • Programcı kavramını tanımlayabilecek,
  • Değişik programlama dillerinin gelişimini açıklayabilecek,
  • Derleme işlemini tanımlayabileceksiniz.



Konu 1: Program nedir?


Günümüzde bilgisayarların kullanım alanları büyük ölçüde artmıştır. Dolayısıyla işlerimizi daha hızlı ve düzenli bir şekilde yapmamız, bilgisayarları ne kadar iyi kullandığımıza bağlıdır. Bunun için ise, çeşitli amaçlara göre yazılan programları kullanırız.


Program, bilgisayarın belli bir işi yapması için tasarlanan komutların tümüdür.
Kullanım amaçları ve yerlerine göre birçok değişik program türü vardır:


Sistem programları


Her program, bir işletim sistemi üzerinde çalışır. İşletim sistemi, diğer programların çalışması için gerekli olan kaynakları ve ortamı sağlar.


Sürücüler (Driver)


İşletim sistemi ile donanım aygıtları arasında iletişim sağlayan programlardır. Klavye ile yazılan yazıların algılanması için, klavyenin sürücü programı kullanılır.


Uygulamalar


İşletim sistemi üzerinde çalışan, kullanıcıların ihtiyaç duyduğu işlevleri sağlayan programlardır.



Bir internet sitesini gezmek istediğimizde, Internet Explorer tarayıcısı kullanılabilir. Bu uygulama, işletim sistemine sitenin istenilen sayfadaki yazı ve resimleri almasını ister. İşletim sistemi, ağ kartıyla (Ethernet) sürücü programı sayesinde internet sitesinin sunucusuna isteği gönderir.




gqxZbq.png



Programların çalışma modeli


Programların kullanılmasındaki amaç, girilen bilgilerin işlenip istenilen şekilde sonuçların üretilmesidir.


Veri girişi


Program, kullanıcıların veri girmesi ile başlar. Girilen veriler daha sonra işlenmek üzere hafızada saklanır.


İşlem


Veriler, programın yazılma şekline göre bir dizi işlemden geçirilir.


Sonuç


İşlenen veriler kullanıcıya aktarılır.


Programlar, belli kurallar çerçevesinde yazılır. Bu yazım kuralları sayesinde bilgisayar, programın işleyişini anlar ve gerekli sonuçları çıkartır. Yazılan programlar, belirtilen yazım kuralları kontrol edilerek derlenir. Bu derleme işlemi sonunda, yazılan kaynak kodlar bilgisayarın anlayacağı tek dile çevrilir. Makine dili denilen bu dil, sadece 1 ve 0 sayılarından oluşmaktadır.



Örnek: ATM makinesinden para çekmek


1. Kullanıcı ATM makinesine kartını yerleştirir

2. Şifresini girer.

3. ATM cihazında çalışan uygulama kartta yazan bilgileri okur

4. Şifre kontrolü işlemi yapılır.

5. Şifre doğru girilmişse kullanıcı çekmek istediği miktarı girer.

6. Bankadaki hesap kontrol edilir.

7. Uygunsa kullanıcıya ödeme yapar.


Konu 2: Programcı Kimdir?


Programcı, belirli işlevlere sahip programlar geliştirebilen uzmanlardır. Bir programcının, üzerinde çalıştığı platformu, kullandığı teknolojileri iyi tanıması ve bilgisayarın anlayacağı mantıksal dilde düşünebilmesi gerekmektedir. Programcıların çoğu genellikle aynı işi gerçekleştirse de, üstlendikleri görevlere göre üç gruba ayrılabilir:


Mimar


Programların yazılması için gerekli teknolojileri belirleyen, gerekli durumlarda programın daha kolay yönetilmesi için küçük parçalara ayıran programcıdır.


Geliştirici

Programı yazan kişidir.


Test mühendisi

Programın geliştirilmesi aşamasında, hatanın kaynaklarını bulan ve geliştiricilere raporlayan programcıdır.


SgPIrQ.png



Konu 3: Programlama Dilleri


Dünyada konuşulan her dilin amacı iletişim sağlamaktır. Farklı kültürlerden insanların anlaşabilmesi için ortak konuştukları bir dil gerekir. Programla dillerinin amacı da bilgisayar ile programcının haberleşmesidir. Programcı, bilgisayara hangi komutların çalıştırması gerektiğini bilgisayarın anlayacağı dilden konuşarak söyler.

Bilgisayarda, programlar makine diline çevrildikten sonra çalışır. 1 ve 0 sayılarından oluşan bu makine dili, en alt seviye dildir. Dolayısıyla programların bu dilde yazılması oldukça zordur. Programcılar konuşma diline daha yakın, kolay anlaşılabilecek diller kullanmaktadır. Bu dillere yüksek seviye programla dilleri denir. Programlama dillerinin seviyeleri makine diline yakın olup olmaması ile ölçülür.



Bir programlama dili şu unsurlardan oluşur:


Söz dizimi (Syntax)

Bir dil, kendine ait kelimeler ile konuşulur. Programlama dillerinin de benzer bir davranışı vardır. Programlama dillerindeki bu kelimeler, programlama dilinin anahtar kelimeleridir - komutlarıdır.


Gramer

Programlama dillerini kullanmak için sadece kelimeleri bilmek yeterli değildir. Eğer anlamlı bir şekilde bir araya getirilemiyorsa, bu kelimeler hiçbir anlam ifade etmez.


Semantik (anlamsal)

Bir dili, kelimeleri doğru bir gramer kullanımı ile bir araya getirerek kullanabiliriz. Ancak konuşulan kelimelerin ne için kullanıldığı da önemlidir. Bir programlama dilinin özelliklerinin nasıl ve ne için kullanıldığı da, bu dilin semantiğidir.


Örneğin bir finans programı, Yeni Türk Lirası cinsinden bir miktarı dolara çevirecektir. Yapılacak işlem o andaki parite değerini merkez bankasından çektikten sonra, girilen miktarı bu değerle çarpıp kullanıcıya göstermektir. Kullanılan programlama dili ÇARP, GÖSTER, EŞİTLE komutları ile bu işlemi gerçekleştirecektir.



ÇARP EŞİTLE GÖSTER miktar parite sonuç


Bu şekilde yazılan program söz dizimi açısından doğrudur. Girilen veriler ve komutlar dışında, programlama dilinin anlamayacağı bir kelime kullanılmamıştır. Ancak komutlar yanlış sırada kullanılmıştır. ÇARP komutu hangi sayıları çarpması gerektiğini bilemeyecektir.


parite EŞİTLE sonuç ÇARP miktar


GÖSTER parite



Komutları ve değişkenleri, programlama dilinin gramerine göre doğru yerlerde kullanmamız gerekir. Bu şekilde kullanılan komutlar doğru bir şekilde çalışır. Fakat GÖSTER komutunun ne için kullanıldığı yani semantiği de önemlidir. İstenilen, miktar ile pariteyi çarpmak, sonuca eşitlemek ve sonucu göstermektir.


sonuç EŞİTLE miktar ÇARP parite


GÖSTER sonuç



Şu ana kadar 2500den fazla programlama dili yazılmıştır. (Ref: The History of Programming Languages - O'Reilly Media) Bunlardan bazıları Pascal, Basic, C, C++, Java, Java******, Cobol, Perl, Python, Ada, Fortran, Visual Basic .NET, Microsoft Visual C# programlama dilleridir.


Yüksek seviye programlama dillerine Visual Basic .NET, Microsoft Visual C++ dillerini örnek verebiliriz. C ile işletim sistemi yazılabilindiğinden daha alt seviye bir dil olarak değerlendirilir.



mktNFk.png



Programlama Dillerinin Tarihçesi


Bilgisayarlar, icat edilmeleriyle birlikte belli bir işi yapmak için bir dizi komutlara ihtiyaç duymuşlardır. En başta çok basit işlemler yapan bu komutlar zamanla nesneye yönelme (object orientation) gibi ileri seviyede özellikler kazanmıştır.


İlk programlama dilleri, bilgisayarların üzerinde bazı araçların yerlerini değiştirerek veya yeni bileşenler eklenerek yapılıyordu. Programın işlemesi için bir devinime ihtiyaç vardı. Eskiden programlar fiziksel olarak yazılıyordu. Daha sonra fiziksel programlama yerini elektrik sinyaline bıraktı. Artık, kurulan elektronik devrelere düşük ya da yüksel voltajda akım gönderilerek bilgisayarın davranışı belirlenmeye başlandı. Yüksel voltaj 1, düşük voltaj 0 sayılarını ifade ediyordu. Böylelikle bugün de kullanılan makine dilinin ortaya çıkması için ilk adımlar atılmış oldu.


Ancak bu şekilde programlar yazmak, sistemi oluşturan elektronik devrelerin her program için baştan kurulmasını gerektiriyordu. Böylelikle programlar bazı kavramlar çerçevesinde yazılmaya başlandı. Öncelikle bilgisayar donanımı her program için baştan kurulmamalı, bunun yerine basit bir donanımın üzerine yazılan komutlar kullanılmalıdır. Daha sonra, programlar tek bir komutlar zinciri yerine, küçük parçalar halinde yazılmalıdır. Bu parçaların programın içinde defalarca kullanılabilmesi
yordam (subroutine) kavramını ortaya çıkarmıştır. Bu modelin kullanılması ise mantıksal karşılaştırmaları, döngülerin kullanılmasını ve yazılan kodlar tekrar kullanıldığı için kütüphane (library) mantığını ortaya çıkarmıştır.


1957 yılında IBM, düşük seviye (makine diline yakın) bir programlama dili olan FORTRAN dilini ortaya çıkardı. FORTRAN ile beraber basit mantıksal karşılaştırmalar, döngüler, (true-false) lojik ve (integer, double) sayısal değişkenler kullanılmaya başlandı.


1959 yılında, bu programlama dilinin özelliklerini alıp, giriş çıkış (Input Output IO) gibi yeni işlevler sağlayan COBOL dili ortaya çıktı. Daha sonra 1968 yılında, COBOL ve FORTRAN dillerinin en iyi özelliklerini alarak Pascal ortaya çıktı. Ayrıca Pascal dili, hafızadaki adresler üzerinde işlem yapmaya olanak veren işaretçi (pointer) kavramını beraberinde getirdi.


1972 yılında C, Pascal dilindeki birçok hatayı gidererek ortaya çıktı. C dili ilk defa Unix işletim sistemini yazmak için kullanılmaya başlanmıştır. C, düşük seviye bir dil olması, kuvvetli giriş çıkış işlemleri sağlaması gibi birçok özelliği ile işletim sistemleri yazılmasında tercih edilmiştir.


Bütün programlama dilleri birçok özelliğe sahip olmasına rağmen, modüler programlamanın birçok eksiğini gidermek amacıyla, yeni bir programlama modeli olan nesneye yönelik programlama -
OOP (object oriented programming) ortaya çıkarıldı. C dilinin ve OOP modelinin tüm özellikleriyle C++ dili oluşturuldu.


C++ dilini, Sun Microsystems tarafından çıkartılan Java takip etti. Java dilinin kullanım alanları, nesneye yönelik bir programlama dili olması ve beraberinde getirdiği çöp toplama
GC (garbage collection) gibi performans arttırıcı özellikleri ile büyük ölçüde genişledi.


Microsoft, 2000 yılında .NET platformunu sunarak, otuzdan fazla programlama dilini aynı çatı altına topladı. VisualBasic.NET ve VisualC# .NET platformunu kullanan günümüzdeki en güçlü yüksek seviyeli programlama dilleri arasında yer almışlardır.



(Ref: Programming Languages & Compilers | Computer Science Department at Princeton University)


bDIFLI.png



Konu 4: Programın Derlenmesi


Programlar yazıldıktan sonra, çalışmaya uygun hale getirilene kadar bir dizi işlemden geçer. Bu işlemi gerçekleştiren, programlama dilinin derleyicisidir. (Compiler)


Programlar, bir programlama dilinin gramer ve söz dizimi yapısına uygun bir şekilde yazılır.

Yazılan kodlar o dilin derleyicisi tarafından kontrol edilir.

Kontrol işleminden sonra, bu kodlar bilgisayarın anlayacağı makine diline çevrilir. Ancak bir yazım ve ya mantık hatası varsa, programcıya gerekli hata mesajını verilerek derleme işlemi iptal edilir.

Makine diline çevrilen kodlar çalıştırılır.



Makale Sonu Soruları & Alıştırmalar


1. Var olan bir metin dosyasını (.txt) görüntülemek için Notepad programını kullanabiliriz. İşletim sistemi, dosyayı kullanıcılara göstermek için monitör ile iletişim kurar. Monitör işletim sisteminden gelen verilerle gerekli görüntüleme işlemlerini yapar.


Bu senaryodaki program çeşitlerini belirtin.


2. Bir arkadaşımıza e-posta yollamak istediğimizde, e-posta adresi, konu, mesaj bilgilerini gireriz. Daha sonra e-posta uygulaması mesajımızı verilen adrese yollar.


Programın çalışma modelinin aşamalarını belirtin.


3. C dilini kullanarak yazdığınız kodların bilgisayar tarafından çalıştırılabilir hale gelmesi için hangi aşamaların gerçekleşmesi gerekir?
 
Moderatör tarafında düzenlendi:
  • Beğen
Tepkiler: THO

AIXY

Yeni üye
9 Tem 2015
7
0
Beyler bana yardım edecek war mı yazdıklarınızı okuyorum ama anlama sıkıntım war biraz yani görselde cok iyi anlıyorum video çekip atma şansınız war mı ????
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.