2007-2008 Bahar. BM 211 Programlama Dilleri 3 1



Benzer belgeler
GÖRSEL PROGRAMLAMA - I

Windows Programlama Güz Dönemi

C #

C# nedir,.net Framework nedir?

C# Eğitimi-1 (Giriş) Melih Hilmi Uludağ

BİLGİSAYAR PROGRAMLAMA (C#) DERS NOTU 1

HSancak Nesne Tabanlı Programlama I Ders Notları

4. Bölüm Programlamaya Giriş

Mühendislik Fakültesi Elektrik-Elektronik Mühendisliği C Programlama 1. Bölüm C# Programlamaya Giriş

PROGRAMLAMAYA GİRİŞ. Öğr. Gör. Ayhan KOÇ. Kaynak: Algoritma Geliştirme ve Programlamaya Giriş, Dr. Fahri VATANSEVER, Seçkin Yay.

Programlama Dilleri II. Bilgisayar ve Öğretim Teknolojileri Öğretmenliği

Görsel Programlama DERS 01. Görsel Programlama - Ders01/ 1

Bölüm1. İlk Bilgiler ISBN

BİL 458 Web Programlama dersi. Yrd. Doç. Dr. Murat YEŞİLYURT

Bilgisayarda Programlama. Temel Kavramlar

«BM364» Veritabanı Uygulamaları

5. PROGRAMLA DİLLERİ. 5.1 Giriş

Program Nedir?(1) Programlamaya Giriş

Bilgi ve İletişim Teknolojileri (JFM 102) Ders 10. LINUX OS (Programlama) BİLGİ & İLETİŞİM TEKNOLOJİLERİ GENEL BAKIŞ

Dr. Fatih AY Tel: fatihay@fatihay.net

ASP.NET TEMELLERİ. Öğr. Gör. Emine TUNÇEL Kırklareli Üniversitesi Pınarhisar Meslek Yüksekokulu

Bölüm 1. Ön Hazırlıklar ISBN

EĞİTİM : .NET UYGULAMA GELİŞTİRME PLATFORMU. Bölüm :.NET Uygulama Geliştirme Platformu. Konu :.NET Framework Nedir? Page 1 of 17

Programlama Dillerinde Kullanılan Veri Tipleri

Java 2 Standart Edition SDK Kurulum ve Java ya Giriş

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

JAVA PROGRAMLAMA DİLİ ÖZELLİKLERİ

Bilgisayar Mühendisliğine Giriş. Yrd.Doç.Dr.Hacer KARACAN

Nesne Tabanlı Programlama Dersi Edirne Kız Teknik ve Meslek Lisesi

C++ Dersi: Nesne Tabanlı Programlama

PROGRAMLAMA TEMELLERİ

HSancak Nesne Tabanlı Programlama I Ders Notları

Öğr. Gör. Serkan AKSU 1

BİLGİSAYAR ORGANİZASYONU

public static int Toplam int x, int y

1.1. Yazılım Geliştirme Süreci

WEB İŞLEMLERİ. .NET Platformu:

MAT213 BİLGİSAYAR PROGRAMLAMA I DERSİ Ders 1: Programlamaya Giriş

Programlama Temelleri

BİLGİSAYAR PROGRAMLAMAYA GİRİŞ

1. Aşağıdaki program parçacığını çalıştırdığınızda result ve param değişkenlerinin aldığı en son değerleri ve programın çıktısını yazınız.

Asp.Net Veritabanı İşlemleri

Yazılım Çeşitleri. Uygulama Yazılımları. İşletim Sistemleri. Donanım

Bil101 Bilgisayar Yazılımı I. M. Erdem ÇORAPÇIOĞLU Bilgisayar Yüksek Mühendisi

7.1- C#.net Giriş Çıkış İşlemleri ve Visual Studio. M.İLKUÇAR - 1

Java Temel Özellikleri

Yazılım Mühendisliğine Giriş 4. Hafta 2016 GÜZ

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

C PROGRAMLAMA DİLİ. Hedefler

Java Programlamaya Giriş

Lambda İfadeleri (Lambda Expressions)

VERİ YAPILARI VE PROGRAMLAMA (BTP104)

C# Programlama Dili. İlk programımız Tür dönüşümü Yorum ekleme Operatörler

Tarih Saat Modül Adı Öğretim Üyesi. 01/05/2018 Salı 3 Bilgisayar Bilimlerine Giriş Doç. Dr. Hacer Karacan

Bilgisayar Programlama Dilleri

Görsel Programlama DERS 03. Görsel Programlama - Ders03/ 1

YZM 2105 Nesneye Yönelik Programlama

BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ

PROGRAMLAMA DERSİ 1. İNTERNET

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

Programlama Dilleri III 1

1 PROGRAMLAMAYA GİRİŞ

Programlama Dilleri 1

WebInstaller. 1. Kurulum Đçin Gereksinimler

C++ Dersi: Nesne Tabanlı Programlama

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

TEMEL BİLGİSAYAR BİLİMLERİ. Programcılık, problem çözme ve algoritma oluşturma

YZM 2105 Nesneye Yönelik Programlama

Programlama Yazılımı ile Web Sitesi Oluşturma

ALGORİTMA VE PROGRAMLAMA I

PROGRAMLAMAYA GİRİŞ FONKSİYONLAR

İNÖNÜ ÜNİVERSİTESİ MALATYA MESLEK YÜKSEKOKULU DERS TANITIM FORMU. Kredisi AKTS Eğitim Dili Tipi: Zorunlu/ Saat

Çoktan Seçmeli Değerlendirme Soruları Akış Şemaları İle Algoritma Geliştirme Örnekleri Giriş 39 1.Gündelik Hayattan Algoritma Örnekleri 39 2.Say

İÇERİK 2 Java Kodlaması için Gerekli Programlar JRE, JDK kurulması ve Başlangıç Ayarları Java Kodlamayı Kolaylaştıran IDE ler Java Kod Yapısı İlk Java

ANA SINIF TÜRETİLEN BİRİNCİ SINIF TÜRETİLEN İKİNCİ SINIF

C Dersi Bölüm 1. Bilgisayar Donanımı

Temel Bilgisayar Programlama

Bağlama (Binding) Kavramı

Nesne Yönelimli Programlama

Toplama işlemi için bir ikili operatör olan artı işareti aynı zamanda tekli operatör olarak da kullanılabilir.

// hataları işaret eden referans

Yeni bir proje açarken File New - Web Site diyoruz. Gelen ekranda Visual Basic veya C# seçilebilir. Biz ders kapsamında C# programlama dilini seçtik.

Sunum İçeriği. Programlamaya Giriş

10.DERS Yazılım Gerçekleştirme

BBS515 Nesneye Yönelik Programlama. Ders 1 Zümra Kavafoğlu

Programlama dilleri. Programlama dili: İnsan-makina ve makina- makina arasındaki iletişimi sağlar.

Lecture 11: Generics

Bölüm 11. Soyut veri tipleri ve kapsülleme kavramları ISBN

Karabük Üniversitesi, Mühendislik Fakültesi... WEB TEKNOLOJİLERİ

BİL 542 Paralel Hesaplama. Dersi Projesi. MPJ Express Java Paralel Programlama

Öğr. Gör. Musa AYDIN Fatih Sultan Mehmet Vakıf Üniversitesi

İNÖNÜ ÜNİVERSİTESİ MALATYA MESLEK YÜKSEKOKULU DERS TANITIM FORMU. Kredisi AKTS Eğitim Dili Tipi: Zorunlu/ Saat

08217 Internet Programcılığı I Internet Programming I

Yazılım Nedir? 2. Yazılımın Tarihçesi 3. Yazılım Grupları 4 Sistem Yazılımları 4 Kullanıcı Yazılımları 5. Yazılımın Önemi 6

NESNEYE YÖNELİK PROGRAMLAMA

Veritabanı İşlemleri

C++ Giriş Ders 1 MSGSU Fizik Bölümü Ferhat ÖZOK Kullanılacak kaynak: Published by Juan Soulié

Özyineleme (Recursion)

GÜZ YY. - MKT103 - GÖRSEL PROGRAMLAMA DERSİ - ARA SINAVI

Transkript:

Programlama Dilleri III 2007-2008 Bahar BM 211 Programlama Dilleri 3 1

Ders Hakkında Ders Sorumlusu Öğr.Gör. Bora UĞURLU Ders Slaytları İçin http://members.comu.edu.tr/boraugurlu/ Dersle İlgili İletişim İçin boraugurlu@comu.edu.tr BM 211 Programlama Dilleri 3 2

Neler Öğreneceğiz? Nesneye yönelik programla nedir? (Metot nedir?, sınıf nedir?, nesne nedir?, nesneler nasıl türetilir?...) Nesneye yönelik programlamanın üstünlükleri ü nelerdir?.net teknolojisi nedir? Neleri bizlere sağlar ve avantajları nelerdir? BM 211 Programlama Dilleri 3 3

Haftalar 1.Hafta Dersin İçeriği İçerik.NET Mimarisi ve C# ın bu mimarideki yeri 2. Hafta Temel Veri Türleri 3. Hafta Tür Dönüşümleri 4. Hafta Operatörler 5. Hafta Akış Kontrol Mekanizmaları 6. Hafta Diziler 7. Hafta Ara Sınav 8. Hafta Metotlar ve Fonksiyonlar 9. Hafta Sınıflar, Yapılar, Numaralandırmalar 10. Hafta İsim Alanları ve System İsim Alanı 11. Hafta Temel I/O ve String İşlemleri 12. Hafta Nesne Yönelimli Programlama ve Kalıtım 13. Hafta İleri C# Konuları 14. Hafta Final BM 211 Programlama Dilleri 3 4

Kaynaklar C# ı Kavramak Tom Archer, Arkadaş, 2002 Her yönüyle C# Sefer Algan, Pusula, 2004 C# Temel Başlangıç Kılavuzu Bradley Jones, Sistem, 2003 BM 211 Programlama Dilleri 3 5

C# ve.net Nedir? BM 211 Programlama Dilleri 3 6

Bilgisayar dillerini düzeylerine göre şu şekilde sınıflandırabiliriz : Script Dilleri: JavaScript, Perl Script, VBScript Yüksek Düzeyli Diller: Vbasic, Delphi. Orta Düzeyli Diller: C# ve Java Düşük Düzeyli Diller: C/ C++ Assembly: Assembly BM 211 Programlama Dilleri 3 7

C#, C/C++ ve Java dillerinden türeyen, güçlü, basit, esnek, tip güvenli, modern ve Microsoft.NET platformu için sıfırdan geliştirilmiş bir programlama dilidir. BM 211 Programlama Dilleri 3 8

C#, eskiden beri programcıların yaygın bir biçimde kullandığı C/C++ ve Java dillerine benzerliğiğ iletanınan bir programlama dilidir. İlk aşamada çok benzer bir dil olarak görünse de bu iki dilden farklı bir çok özelliğe sahiptir. BM 211 Programlama Dilleri 3 9

C #,.NET ii için Microsoft tarafından geliştirilen il ve programlama alanında C/C++ ve Java nın güzel özelliklerini alıp, bu dillerin tehlikeli olabilecek özelliklerini dışarıda bırakan bir dildir. BM 211 Programlama Dilleri 3 10

C#, C/C++ dilinden farklı olarak tamamıyla nesneye yöneliktir. int, double gibi temel veri türleri dahi birer nesne olarak tanımlanmıştır. Java dilinden farklı olarak C# dilinde işaretçiler (pointer) kullanılabilmektedir. BM 211 Programlama Dilleri 3 11

Peki Neden C# ı ı Tercih Edelim? Öğrenilmesi kolaydır. Nesne yönelimli programlamaya tam destek vermektedir. Yüksek verim. Güç ve kolaylık arasında dengededir. Xml desteği sunmaktadır. Windows Forms mantığını destekler. Internet teknolojilerinin gelişimine ş uyum sağlayabilmişğ ş modern bir dildir. BM 211 Programlama Dilleri 3 12

C# ile Yapılabilecekler Konsol tabanlı uygulama geliştirme Windows için program yazma C# ile Windows için gelişmiş, güçlü, hızlı ve güvenli programlar yazılabilir. Fakat bunun için programın çalıştığı sistemde.net platformunun yüklü olması gerekir. ASP.NET için en uygun dildir. ASP.NET, ASP gibi script yorumlamalı olmayıp tamamen nesne yönelimli haldedir. C# bu konuda büyük kolaylıklar sağlamaktadır. C# ile Web Servisleri il igeliştirmek i oldukça kolay ve hızlı bir hl hal amaktadır. Mobil uygulama geliştirme ve DLL yazabilme. BM 211 Programlama Dilleri 3 13

.NET in Bileşenleri Microsoft.NET platformunu aşağıdaki şekilde göstermek mümkündür: BM 211 Programlama Dilleri 3 14

Önceden, geliştirilen yazılımlar direkt olarak makine koduna derlenir ve bu şekilde çalıştırılırlardı. Ayrıca bu programlar, her işletim sistemine özel olarak geliştirilmekte ş ve derlemi işlemiş işletimş sistemine göre belirlenmekteydi. Böyle bir yapıda taşınabilirlikten söz etmek mümkün değildir. Java da ise, program önce byte code a çevrilmektedir. Bu kodu JVM(Java Virtual Machine), işletim sisteminin istediği koda çevirmektedir..net platformunda da temel prensip Java ile benzerdir. BM 211 Programlama Dilleri 3 15

.NET kodu önce IL (Intermediate Language) ye derler ve bu IL kodu çalıştırılmak l it istendiği zaman.net CLR (Common Language Runtime Ortak Ot k Çalışma Platformu), JIT (Just In Time) derleticilerini kullanarak makine diline çevirir. CLR makine diline çevrilmiş olan program kodunu ön bellekte tutar. Bu büyük performans artışı sağlarken, oldukça büyük miktar belleği kullanmış olur. Temel Dil Tanımlamaları CLS (Common Language Specifications) ve Ortak Tip Sistemi CTS (Common Type System) ile.net uyumlu dillerin hepsi aynı değişkenleri ve benzer nesne yönelimli özellikleri taşır. Örn: C# ile yazılan programdaki temel veri tipleri, VB.NET tekiler ile aynı özelliklere sahiptir. Böylece farklı dillerde yazılan bileşenler birbiri ile sorunsuz çalışırlar. BM 211 Programlama Dilleri 3 16

Ortak Dil Çalışma Platformu (CLR).NET altyapısında programların çalışmasını kontrol eden, işletim sistemi ile program arasında yer alan ara birimdir. Diğer dll ve COM bileşenleri C# program kodu MSIL Assembly CLR Çalıştırlabilir Makine Kodu.NET temel sınıf kütüphanesi IL kodu, CLR tarafından çağrılınca JIT derleyicileri tarafından makine diline çevrilir ve çalıştırılır. BM 211 Programlama Dilleri 3 17

Aradil (IL) İki sayıyı toplayan bir C++ programı Intel işlemcilerde farklı, Sun Sparc işlemcilerde farklı derlenir. Fakat,.NET yapısında kod parçası derlendikten sonra elde edilen IL kodu işlemciye bağımlı bir kod değildir. IL, daha genel ve taşınabilirdir. IL içerisinde, değişken tanımları, değişkenlerin nasıl saklanacağı, metotların nasıl çalıştırılacağı, aritmetik işlemler, mantıksal işlemler, bellek kullanımı ve hata yakalama ve yönetimi dahil birçok işin nasıl yapılacağı ğ açıklanır. Bütün bunların yanında IL de Metadata olarak adlandırılan bir birim daha vardır. Metadata, programda kullanılan verilerin tiplerinin yanında oluşturulan sınıfların metotlarını ve bunların özelliklerini ve diğer bilgileri içerir. BM 211 Programlama Dilleri 3 18

JIT Derleyicileri Metadata nın içeriği çalışma zamanında JIT derleyicileri tarafından kullanılır. IL ve Metadata sı oluşturulan kod parçası,çalıştırılabilir bir yapıdadır. Kaynak Kod Derleme Derleyici Kod MSIL Metadata Native Kod İşletim JIT Derleyici Kurulum öncesi ya da her metot ilk çağrıldığında BM 211 Programlama Dilleri 3 19

C# derleyicisi ile IL e derlenen programı çalıştırırken JIT derleyicileri devreye girer. Bu derleyiciler, programın çalıştırıldığı sistemin ve işlemcinin anlayabileceği makine kodunu oluşturur. JIT derleyicilerinin Windows ortamı için 3 farklı türü vardır. Bunlar: Normal JIT: Bu derleyici, IL kodunu makine koduna çevirir ve önbellekte tutar. Pre JIT: Tüm programınkodunumakine kodunaçevirip sonraçalıştırır. Eco JIT: Derlenen ve çalıştırılan program parçaları normal JIT de hemen hafızadan silinmiyordu. Fakat Eco JIT de kullanılabilir hafıza belli bir oranın altına düştüğünde, daha önceden derlenmiş ve çalıştırılmış kısımlar hafızadan silinirler. BM 211 Programlama Dilleri 3 20

CTS ve CLS CTS sayesinde, programlama dillerinin kullandığı veri türleri arasında uyumluluk vardır. Örn: Int tipi C++.NET ve VB.NET teki tamsayı tiplerinin kapasiteleri aynıdır. Diğer bir deyişle VB de geliştirilen bir dll C# darahatlıkla kullanılabilir. CTS sayesinde;.net de tip tpgüvenli, yüksek performanslı ve kullanılan ua a programlama poga a adilinin diğer.net uyumlu diller ile entegre bir şekilde çalışması sağlanır. Birçok programlama dilinin.net mimarisinde tam nesne yönelimli olarak.netiçinprogramyazmaaracı olmasına imkan verir. Herhangi bir.net uyumlu dilde geliştirilen nesne diğer dillerde de sorunsuz olarak çalıştırılabilir. BM 211 Programlama Dilleri 3 21

.NET platformunu paylaşan dillerin sadece CTS yi desteklemeleri yetmemektedir. Bunun yanında Ortak Dil Spesifikasyonu da (CLS) desteklemeleri gerekmektedir. CLS uyumlu bir dil ile geliştirilen bir program ile farklı diller arasında etkileşim sağlanabilir..net in temel sınıf kütüphanelerinin i içerisindei i yeralan kodların büyük bir bölümü CLS uyumludur. Desteklenen Programala Dilleri APL Fortran Pascal C++ Haskell Perl C# Java Language Python COBOL Microsoft JScript RPG Component Pascal Mercury Scheme Curriculum Mondrian SmallTalk Eiffel Oberon Standard ML Forth Oz Microsoft Visual Basic BM 211 Programlama Dilleri 3 22

Assembly.NET platformu için yazılan bütün kodların sonucunda oluşan.exe ve.dll uzantılı dosyalara genel olarak assembly denilmektedir. Derlenmiş kodlar ve metadata olarak adlandırlan özniteleyici kodlar Assembly içerisinde bulunurlar. Assembly içersindeki metadata verileri, tür bilgileri ve başka kaynaklara olan bağlantıları saklar. Assembly de ayrıca versiyon bilgisi de tutulur. Assembly sayesinde programlar register edilmeye gerek kalmadan direkt kopyalanarak kurulabilirler. BM 211 Programlama Dilleri 3 23

Application Domain Application domain sayesinde aynı anda çalışan birden fazla program veya process birbirinden izole edildiği halde sistemde herhangi bir aksaklığa yol açmadan aralarında veri alış verişi yapabilirler. BM 211 Programlama Dilleri 3 24

İsim Alanları ve.net Sınıf Kütüphanesi.NET Framework ün programcılara sunduğu birtakım temel türler ve sınıflar mevcuttur. Bütün bu sınıfları ve türleri iyi organize edebilmek için.net, isim alanı (namespace) kavramını kullanmaktadır. İsimi Alanları, l.net Framework sınıf kütüphanesindeki ki veri türlerini ve sınıfları kullanabilmek için C# dilinde using anahtar sözcüğü ile birlikte kullanılır ve derleyiciye bildirilir..net teki sınıf kütüphaneleri bir dilden bağımsızbir yapıdadır. Program geliştirilirken birbiri ile ilgili olan sınıfların aynı isim alanı içerisine konulması programdaki hataları bulma ve anlaşılabilirlik açısından oldukça önemlidir. BM 211 Programlama Dilleri 3 25

.NET sınıf kütüphanesinde bulunan ve en sık kullanılan sınıf kütüphaneleri şunlardır: System:.NET ile çalışırken ş gerekli temel sınıfları içerir. Ayrıca diğer tüm sınıf kütüphaneleri bu isim alanı içinde kümelenmiştir. Konsol temelli uygulamalarda temel giriş çıkış işlemleri için gerekli temel sınıf Console, bir çok matematiksel fonksiyonu içindei barındıran Math sınıfı da Systemisimalanı içersinde yeralır. System.Data: Veritabanı işlemlerinin tamamı için hazır gelen sınıf kütüphanesine buisimalanı ileerişilir. ş BM 211 Programlama Dilleri 3 26

System.Xml: Veri biçimlendirme ve internetten veri paylaşımı için en çok kullanılan teknolojilerden biri olan XML ile çalışmak ş için gerekli sınırları içerir. System.Net: Dağıtık uygulama geliştirmek için gerekli olan ağ bileşenlerini içeren isim alanıdır. System.IO: Dosyalarla çalışmak (okuma/yazma) için gerekli işlemlerini içerir. System.Windows.Forms: Windows temelli uygulamalarda kullanılangörsel kontrolleri barındıran isim alanıdır. BM 211 Programlama Dilleri 3 27

Örn: using System; namespace Ornekalan1 { public class Program1 { static void Main(string[] args) { } } public class Program2 { public void foksiyon1() { public void fonksiyon2() { } } } namespace Ornekalan2 { public class Program3 { } } } BM 211 Programlama Dilleri 3 28

C# Komut Satırı Derleyicisi C# ile yazılan programları ya komut satırı derleyicisi ya da Visual Studio.NET yardımıyla derleyip çalıştırabiliriz. C# derleyicisinin ismi csc.exe dir. BM 211 Programlama Dilleri 3 29

BM 211 Programlama Dilleri 3 30

BM 211 Programlama Dilleri 3 31