twitterrss
 

Programlamaya giriş   

  Etiketler: programlama, c#, program
30 Mar 2013
image

Programlama ilk ders notları,programlama tanıtım ve ders notları, programlama nedir, c# nerelerde kullanılır, neden c# kullanılmalı, düzeylerine göre programlama dilleri

  

   

 

Programlama Nedir?

Programlama ya da diğer adıyla yazılım, bilgisayarın donanımına nasıl davranacağını anlatan, bilgisayara yön veren komutlar, kelimeler, aritmetik işlemler kısaca her şeydir.

Diğer bir tanım verecek olursak programlama, bilgisayar programlarının yazılması, test edilmesi ve bakımının yapılması sürecine verilen isimdir.

Programlama, bir programlama dilinde yapılır.

Programlama gerçek hayata benzetilebilir. Bir program yazmak veya bir problemi çözmek için öncelikle komutları unutmak ve çözümü gerçek hayatta yapıyormuş gibi düşünmek gerekir. Komutlar sadece araçtır.

Programlama dili de diğer ülke dilleri gibi "dil" olarak kabul edilebilir.

Düzeylerine Göre Programlama Dilleri

 Script dilleri, derlenmek (compile) yerine sadece yorumlanarak (interpret) çalıştırılan dillerdir. Bu diller “browser” denilen yorumlayıcılara ihtiyaç duyarlar. HTML kodlarının arasına gömülerek kullanılabilir.

Yüksek düzeyli diller ise yeterince esnek değildir ve büyük boyutlu programlarda kısıtları bulunmaktadır.

Düşük düzeyli dillerde ise yazılımdan gelen zorluklar mevcuttur ve kod yazmak zaman alıcıdır. C# ile hem alt hem de üst düzeyli programlar yazılabilir. C#’ın söz dizimi C++ ve Java’dan gelmiştir.

Programlama dillerinde uygulama geçmişi

·         Yazılım sektöründe program geliştirme konusunda günümüze kadar birçok yaklaşım denenmiştir. Bunların ilki programın baştan aşağıya sırası ile yazılıp çalıştırılmasıdır. Bu yaklaşımla BASIC dili kullanılarak birçok program yazıldığını biliyoruz. Burada sorun program kodu bir kaç bin satır olunca, kodu okumak ve yönetmek gerçekten çok büyük sorun oluyordu.

·         İkinci yaklaşım ise prosedürel yaklaşımdır. Programlarda birçok işin tekrar tekrar farklı değerleri kullanılarak yapıldığı fark edildi.

·         Mesela herhangi bir programda iki tarih arasında ne kadar gün olduğunu bulmak birçok kez gerekebilir. Bu durumda başlangıç ve bitiş tarihlerini alıp aradaki gün sayısını veren bir fonksiyon yazılabilir ve bu fonksiyon ihtiyaç duyulduğu yerde uygun parametrelerle çağrılıp istenen sonuç elde edilebilir. Prosedürel yaklaşım Pascal ve C dillerinde uzun yıllar başarı ile kullanılmıştır.

·         Ama her geçen gün programların daha karmaşık bir hal alması, program kodunun kurumsal uygulama projelerinde on binlerce satırı bulması ve yazılım geliştirme maliyetinin çok arttığını gören bilim adamları, programcılara yeni bir yaklaşımın kullanılabilineceğini öğrettiler. Bu yaklaşımın ismi Nesne Yönelimli Programlama(Object Oriented Programming)dır.

Nesne Yönelimli Programlama Tekniği

Nesne yönelimli programlama tekniği, diğer yaklaşımlara nazaran, yazılım geliştiren insanlara büyük avantajlar sağlamaktadır.

Karmaşık yazılım projelerinin üretilmesini ve bakımını kolaylaştırıyor olmasıdır.

Program kodunun tekrar kullanılabilmesine (codereusability) olanak sağlamasıdır. Bu noktada program kodunun tekrar kullanılabilmesi profesyonel yazılım şirketlerinin maliyetlerini azaltmıştır. Dolayısıyla programların lisans ücretleri düşmüş ve sektörün sürekli olarak canlı kalmasına ve rekabet içinde gelişmesine yardımcı olmuştur. C#’da nesne yönelimliliği tam destekleyen en iyi dillerdendir.

C# dışında .NET ortamını destekleyen yüzlerce dil bulunmaktadır. C# dilini, Borland firmasının Delphi yazılımcısı Anders Hejlsberg ekibi ile birlikte Microsoft’a geçerek yaratmıştır.

C# Kullanma Nedenleri

·         C# öğrenilmesi kolay bir dildir: Az sayıda anahtar kelime içerir ve basit kontrol yapıları ile çalışır.

·         Nesne yönelimli programlamaya tam destek: C++ tam anlamıyla nesne yönelimli olmamasına karşın C# gerçek anlamda (object oriented) nesne yönelimlidir. VB.NET de artık nesne yönelimli olsa da atası BASIC olduğundan dolayı ciddi anlamda programlama için uygun bir dil değildir.

·         Yüksek verim: C ve C++ dilleri daha zor, hataya yapmaya daha açık ve program hazırlama süreleri daha uzundur. Fakat C# tasarlanırken sık yapılan hataları önlemek için tedbirler alınmıştır.

·         Güç ve kolaylık arasındaki denge: VB, kullanımı kolay bir dil olmasına rağmen C++’a göre hem yavaş hem de yetenekleri azdır. Buna karşın C++ güçlü bir dil olmasına rağmen birçok işi programcıya bıraktığı için kullanımı zor bir dildir. C# ile VB kadar hızlı hazırlanan ve C++’daki kadar güçlü programlar hazırlamak mümkündür.

 

C# Kullanma Nedenleri

·         XML (Extensible Markup Language) desteği: Farklı platformların birbiri arasında veri alışverişi yaparken ortak bir dil ile konuşmaları bir ihtiyaç olmuştur. Bu dilin XML olduğu ve giderek yaygınlaştığı görüldüğü için C# içine XML desteği eklenmiştir. Özellikle dağıtık uygulama geliştirmede büyük faydalar sağlamaktadır.

·         Yönetilmeyen kod (Unmanaged Code): C# ile değil de eski versiyonlarda yazılmış kodlar da (COM ve DLL gibi) yönetilemese de okunarak çalıştırılabilir.

·         VB’deki Olay (event) ve Form mantığını destekler: C++ dilinin zorluğunun yanında MFC (Microsoft Foundation Class Library) ile Windows’un kullanıcı grafik ara yüzünün elemanlarını kullanarak programlamayı öğrenmek ve program geliştirmek çok zordu. VB de form tabanlı yazılım geliştirme modeli ile programlar çok hızlı hazırlanabiliyordu. Ama bunlarda yavaş çalışan ve az yetenekli programlardı. C# ile Windows veya ASP.NET programı geliştirmek Form mantığı sayesinde hem daha hızlıdır hem de geliştirilen uygulamalar daha güçlüdür.

·         C# Modern bir dil: Tüm bu maddeler dikkate alındığında C#, diğer dillerin güzel yanlarını alıp dezavantajlarını bertaraf eden modern bir dildir. Ayrıca eskiden yazılmış bileşenlerle (COM ve DLL) anlaşır ve gerekirse onlarla aynı dili konuşur.

 

Programlama Platformları

Yazılan kaynak kodu genellikle bir derleyici ve bağlayıcı yardımıyla belirli bir sistemde çalıştırılabilir hale getirilir. Ayrıca kaynak kodu, bir yorumlayıcı yardımıyla derlemeye gerek duyulmadan satır satır çalıştırılabilir.

Derleyici, yazılan programları okuyup içerisinde mantıksal veya yazınsal hatalar olup olmadığını bulan, bulduğu hataları kullanıcıya göstererek programın düzeltilmesine yardım eden, hata yoksa programı çalıştırıp sonucunu gösteren, ayrıca çeşidine göre pek çok başka özelliği barındırabilen (bir değişkenin üzerine mouse ile gelindiğinde değişkenin özelliklerini gösterme, fonksiyonun üzerine gelindiğinde kod içerisinde fonksiyonu bulup yazıldığı satıra gidebilme, kodların daha kolay okunabilmesi için etiketler yardımıyla kodları toparlayacak bölgeler oluşturabilme...) birer platformdur.

 

C#’ın .Net’deki Yeri ve Kullanım Alanları

·         Konsol uygulaması geliştirme aracı: Windows uygulaması geliştirme ve ASP.NET uygulaması geliştirme noktaları dikkate alındığında konsol uygulaması geliştirmeye gerek kalmayacağı düşünülebilir. Fakat dilin temel özelliklerini tam anlamı ile öğrenmek için konsol uygulamaları gerekmektedir.

·         Windows için program yazma: Programımızın çalıştığı sistemde .NET platformu yüklü ise Windows için gelişmiş, güçlü, hızlı ve güvenli programlar yazılabilir.

·         ASP.NET için en uygun dil: .NET’in tamamı C# ile yazılmıştır. Bu sebeple Web Form (ASP.NET’in diğer adı) ile daha becerikli ve hızlı uygulamalar geliştirilebilir. Ayrıca ASP.NET artık ASP gibi script yorumlamalı değil, tam olarak nesne yönelimli derlenen (compiled) ve çalıştırılan (executable) bir model haline gelmiştir.

·         Web Servisleri: Web servisleri yani web üzerinden servis veren program parçacıkları, http protokolünü kullanmaktadır. Bu servisleri yazmak için de C# uygun bir tercih olacaktır.

·         Mobil Uygulama Geliştirme: .NET ile tüm IP (internet protokolü) tabanlı (cep telefonları ve PDA‐personel data assistant gibi) cihazlara erişmek mümkündür. Bu cihazlara yazılım geliştirmek için ayrı bir dil veya platforma ihtiyaç yoktur. Sadece .NET Mobil Geliştirme Aracı ve C# ile mobil cihazlara yönelik yazılımlar geliştirilebilir.

·         DLL yazılabilir: C# programları ve .NET desteği olan diller için güçlü, hızlı ve esnek dll (Dynamic Link Library) bileşenleri yazılarak birçok yerde kullanılabilir.

 

Sunuyu indirmek için tıklayınız


 
Bilgisayar Ağları

Bilgisayar Ağları, Yerel Bilgisayar Ağları, Geniş Alan Bilgisayar Ağları, Şehirsel Bilgisayar Ağları, Bilgisayar Ağlarının Amaçları, Ağ Bağlantısının Sağladıkları

devamı...